Releases: slab/quill
Version 2.0.0-beta.1
- Fix syntax label from "Javascript" to "JavaScript".
- Fix typing errors for emitter.
- Inline SVG images for easier bundler setup.
- Improve typing for Registry.
Version 2.0.0-beta.0
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
- @parthdesai93 made their first contribution in #2073
- @fengyuanchen made their first contribution in #2087
- @MicahLyle made their first contribution in #2122
- @bflatmajor made their first contribution in #2143
- @1c7 made their first contribution in #2219
- @vojtechsebo made their first contribution in #2223
- @RyanV made their first contribution in #2226
- @dgreensp made their first contribution in #2252
- @leandrogaspar made their first contribution in #2269
- @lixiaoyan made their first contribution in #2278
- @jbbakst made their first contribution in #2279
- @sisidovski made their first contribution in #2301
- @jfix made their first contribution in #2327
- @jonathanlloyd made their first contribution in #2439
- @philraj made their first contribution in #2452
- @bjenkins24 made their first contribution in #2457
- @Percipient24 made their first contribution in #2491
- @alecgibson made their first contribution in #2581
- @tboevil made their first contribution in #2569
- @unitehenry made their first contribution in #2675
- @DillonBroadus made their first contribution in #2710
- @edhowler made their first contribution in #2682
- @d4l-w4r made their first contribution in #2674
- @A-gambit made their first contribution in #3005
- @timgates42 made their first contribution in #3003
- @haqer1 made their first contribution in #3043
- @mashuDuek made their first contribution in #3221
- @ndNovaDev made their first contribution in #3295
- @gan-h made their first contribution in #3314
- @tzyl made their first contribution in #2882
- @Dora1604 made their first contribution in #3337
- @joelcarrier made their first contribution in #3581
- @derrickreimer made their first contribution in #3477
- @SCG82 made their first contribution in #3656
- @diegohaz made their first contribution in #3426
- @eltociear made their first contribution in #3400
- @anish2690 made their first contribution in #2851
- @xavivars made their first contribution in #3755
- @kalys made their first contribution in #3514
- @taozhou-glean made their first contribution in #3780
- @cmrd-senya made their first contribution in #3615
- @bmakuh made their first contribution in #3845
- @fstrelczuk made their first contribution in #3609
- @dlitsman made their first contribution in #3877
- @fnlctrl made their first contribution in #3899
Full Changelog: v1.3.6...v2.0.0-beta.0
Version 1.3.7
Security related bug fixes.
Thank you @danfuzz, @danielw93, @jonathanlloyd, and @k-sai-kiranmayee for your contributions to this release.
Version 1.3.6
Thanks to @berylw and @erinsinger93 for contributions to this release!
Version 1.3.5
- Fix indent preservation of a checked checklist item #1818
- added as a shortcut to trigger bullet list formatting #1819
- Fix pasting text-align styles #1873
- Fix cursor position after dangerouslyPasteHTML #1886
- Fix value of history stack in text-change handler #1906
- Workaround for Webkit locking up when navigating around images using hotkeys #1910
Thank you @araruna, @bryanrsmith, @haugstrup, @icylace, @leimig, @LFDM, @nikparo, @rafpaf and @vk2sky for your contributions to this release.
Version 1.3.4
Thanks to @danfuzz and @SoftVision-CarmenFat for contributions to this release!
Version 1.3.3
- Fix
getFormat
with no parameters while editor is not focused #1548 - Remove automatic highlighting across embeds #1691
- Support checking checklist on mobile #1693
- Fix list creation keyboard shortcuts #1723
- Show KaTex rendering errors #1738
Thank you @altschuler, @arrocke, @guillaumepotier, @sferoze and @volser for your contributions to this release.
Version 1.3.2
- Pasting into code block should always paste as code #1624
- Fix removing embed selection when arrow keys change selection #1633
- Fix selection restoration after image insertion #1649
- Fix selection-change firing after dragging off screen #1654
- Fix placeholder text spacing #1677
Thanks to @abramz, @amitm02, @eamodio, @HWliao, @mmitis, @nelsonpecora, @nipunjain87, and @ValueBerry for contributions to this release!
Version 1.3.1
Thank you @Natim and @stephenLYao for your contributions to this release.
Version 1.3.0
Add matchVisual
configuration to Clipboard.
- Use DOM API to determine selected
<select>
option #1576 - Add
:focus
styles to toolbar #1540 - Allow users to undo automatic keyboard completions #1538
- Use github-pages gem to make development environment consistent #1536 #1544
- Fix composing Chinese with preformatting #1514
- Fix example clipboard module in docs #1502
- Fix list layout in RTL mode #1498
- Clarify documentation for scrollingContainer #1496
- Add
tel
to default link whitelist #1436 - Fix cursor interaction with custom contenteditable=false embeds #1172 #1181
- Fix rendered cursor in Chrome when interacting with scrollbar #1114
Thanks to @alexkrolick, @amitm02, @Christilut, @danielschwartz, @emanuelbsilva, @ersommer, @fiurrr, @jackmu95, @jmzhang, @mdpye, @ralrom, @sferoze, @simon-at-fugu, and @yogadzx for contributions to this release!