12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- ---
- title: Upgrading to 2.0
- ---
- Quill has been significantly modernized. Leveraging the latest browser-supported APIs, Quill now delivers a more efficient and reliable editing experience.
- ## Quill
- The Quill repository has been rewritten in TypeScript, providing an official TypeScript definition file.
- - If you have `@types/quill` installed, uninstall it, as it is no longer needed
- - SVG icons are now inlined in the source code, eliminating the need to set up loaders for .svg files in your bundler.
- ### Options
- - `strict` *removed*
- Previously some changes that were small in practice (renames) but would warrant a semver major bump would be hidden under this configuration.
- This ended up being more confusing than helpful as we will no longer make use of this.
- - `registry` - added to allow multiple editors with different formats to coexist on the same page. [Learn more](/docs/registries).
- - `scrollingContainer` *removed*
- Quill will now automatically detect the scrollable ancestor, eliminating the need to provide this option. This new behavior is more robust and works seamlessly with nested scrollable elements.
- ## Clipboard
- - `convert` - API changed to include both HTML and text and previous functionality is broken into multiple method calls (`convert`, `onCapturePaste`) to allow more surface to hook into.
- - `onCapturePaste` - Added
- ### Configuration
- - `matchVisual` *removed* - Previously there was a choice between using visual or semantic interpretation of pasted whitespace; now just the semantic interpretation is used. Visual matching was expensive, requiring the DOM renderer which is no longer available in the new clipboard rewrite.
- - `pasteHTML` *removed* - Deprecated alias to `dangerouslyPasteHTML`.
- ## Keyboard
- - Binding `key` is no longer case insensitive. To support bindings like `key: '@'`, modifiers are taken into account so the shift modifier will affect case sensitivity.
- - Binding `key` now supports an array of keys to easily bind to multiple shortcuts.
- - Native keyboard event object is now also passed into handlers.
- ## Parchment
- - All lists use `<ol>` instead of both `<ul>` and `<ol>` allowing better nesting between the two. Copied content will generate the correct semantic markup for paste into other applications.
- - Code block markup now uses `<div>` to better support syntax highlighting.
- - Static `register` method added to allow dependent chains of registration.
- - Static `formats` method now passes in `scroll`.
- - Blot constructor now requires `scroll` to be passed in.
- - Attributors are exported as top-level classes.
- Instead of accessing class attributor via `Parchment.Attributor.Class`, you now use it at `Parchment.ClassAttributor`.
- Similarly, `Parchment.Attributor.Style` is now `Parchment.StyleAttributor`, and `Parchment.Attributor.Attribute` is now `Parchment.Attributor`.
- - Exports are using full names.
- Instead of `Parchment.Scroll`, you now use `Parchment.ScrollBlot`. The similar change applies to `Parchment.Embed`, `Parchment.Text`, `Parchment.Block`, `Parchment.Inline`, and more.
- ## Delta
- - Support for the deprecated delta format, where embeds had integer values and list attributes had different keys, is now removed
- ## Browser
- - Internet Explorer support is dropped.
|