Skip to content

Version 2.0.0-beta.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@luin luin released this 08 Dec 02:05
· 120 commits to develop since this release

In the upcoming 2.0 release, Quill has been significantly modernized. Leveraging the latest browser-supported APIs, Quill now delivers a more efficient and reliable editing experience.

Major Improvements

  • Nested Quill support #3590
  • Improved IME and spell corrector support #3807
  • Semantic cleanups for TEXT_CHANGE event #3778
  • History: Record selection in history module #3823
  • Auto detect scrolling container #3840

Performance Improvements

Quill 2.0 includes many performance optimizations, the most important of which is the improved rendering speed for large content.

  • Improve inserting performance #3815
  • Avoid fetching selections when possible #3538
  • No need to setContents when container is empty #3539

Code Modernization

  • Migrated to TypeScript
  • Provided official TypeScript declarations
  • Migrated to Vitest for unit testing
  • Migrated to Playwright for E2E testing
  • Migrated website to Gatsby

All Changes

  • Fix UI node interactions with line-level navigation shortcuts #3898
  • Use <strike> instead of <s> for Strike format Commit
  • Keyboard: Backspace will keep the format when previous line is empty #3013
  • Keyboard: Discontinue inline formats on enter #3428
  • Fix length mismatch when copying code #3028
  • Keep list numbers continuous when separated by certain elements #3086
  • Header/paragraph doesn't reset list numbering in Firefox #3272
  • Fix Quill#setContents() on block embed ending Commit
  • Track all implicit newline indexes and shift for delete Commit
  • Clipboard: Fix pasting in checklist does not preserve indentation #3064
  • Clipboard: Prefer file over html when uploading Commit
  • Clipboard: Keep newlines in pre tag #3687
  • Clipboard: Cut across lines shouldn't affect the formatting of the line above #3286
  • getLeaf() should ignore non-leaf blots #3489
  • Selection: Fix getBounds of empty text nodes #3491
  • Keep cursor unlinked to avoid elements being pushed down inside #3534
  • Fix combineFormats with multiple values repeated #3336
  • Fix selection-change not firing on DOM mutations #3591
  • Improve Tab handling in code block #3593
  • Add SMS to link protocol whitelist #2851
  • Fix embed inherits formats unexpectedly #3783
  • Fix HTML and Delta not matching #3784
  • Fix inline embed insertions with applyDelta() #3793
  • Fix inserting newlines into formatted text #3582
  • History: Pass source for history actions #3514
  • History: Handle native undo/redo #3115
  • Fix block embed attributor errors #3825
  • Clipboard: getHTML() should include outer tag when range is entire line #3850

New Contributors

Full Changelog: v1.3.6...v2.0.0-beta.0