What's Changed Bug Fixes 🛠 Export Delta, AttributeMap and other related objects by @luin in #4220 Handle consecutive spaces when copying and pasting by @jhchen in #4502 Documentation 📚 Fixed a few typos in docs/installation.mdx by @erinnmclaughlin in #4219 Other Changes Add username links in CHANGELOG.md by @luin in #4204 Move Quill to Slab organization by @luin in #4225 Clipboard support for E2E tests by @luin in #4263 Avoid unnecessary local map creations by @luin in #4328 Config Git correctly for releasing by @luin in #4506 New Contributors @erinnmclaughlin made their first contribution in #4219 Full Changelog : v2.0.2...v2.0.3
Read more →What's Changed Bug Fixes 🛠 Fix typing errors for Quill.register by @hzgotb in #4127 Fix event source when deleting a link with shortcuts by @luin in #4200 Avoid side effects for Enter/Backspace when composing in Safari by @luin in #4201 Ignore pasting images when image format is disallowed by @luin in #4202 Other Changes Respond to /docs route and do redirection by @younggglcy in #4174 Consolidate README for sub packages by @luin in #4176 Use labels for changelog generating by @luin in #4198 Regenerate CHANGELOG from GitHub releases by @luin in #4199 Upgrade Node.js to 20 for CI by @luin in #4203 New Contributors @hzgotb made their first contribution in #4127 Full Changelog : v2.0.1...v2.0.2
Read more →Bug Fixes Prevent overriding of theme's default toolbar settings mistakenly #4120 Improve typings for methods that return a Delta #4136 Fix toolbar icons for h3-h6 #4131 Other Changes CHANGELOG: 2.0.0 by @luin in #4117 Update website for 2.0 by @jhchen in #4121 image selector fix by @medi6 in #4120 Improve typings for methods that return a Delta by @GODLiangCY in #4136 Fix toolbar icons for h3-h6 by @mr3wi in #4131 New Contributors @medi6 made their first contribution in #4120 @GODLiangCY made their first contribution in #4136 @mr3wi made their first contribution in #4131 Full Changelog : v2.0.0...v2.0.1
Read more →We are thrilled to announce the release of Quill 2.0! Please check out the announcement post . Major Improvements Quill is now a valid ESM package for better ecosystem (e.g. bundlers) and tree-shaking support 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 Clipboard : Improve support for pasting from Google Docs and Microsoft Word 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 Improve keyboard docs by @thomsbg in #2057 Fixed a very very minor typo on line 102. :) by @parthdesai93 in #2073 fix typo by @fengyuanchen in #2087 Invalid } on line 171 in api/contents.md by @parthdesai93 in #2108 Corrected delta displayed in video code block in Medium clone guide by @MicahLyle in #2122 Correct typo by @bflatmajor in #2143 Fix unmatched braces by @bflatmajor in #2145 Fix typo: Draft -> Quill by @1c7 in #2219 Update formats.md by @vojtechsebo in #2223 Use DOMParser to safely parse html without script execution by @RyanV in #2226 bypass uploader if clipboardData has rich text by @RyanV in #2227 fix sauce labs + travis for PRs by @jhchen in #2250 Generate more accurate deltas from typing by @dgreensp in #2252 Prevent code-token attribute in deltas by @dgreensp in #2259 Prevent icon-picker from triggering unnecessary layout reflow by @leandrogaspar in #2269 fix insert text before block embed by @lixiaoyan in #2278 Emit single change when typing enter on empty list line by @jbbakst in #2279 Fix invalid URL on the documentation by @sisidovski in #2301 Use new quill-delta from SHA by @dgreensp in #2311 Fix a typo by @jfix in #2327 Remove custom diff logic in favor of improved Delta#diff by @dgreensp in #2348 Fix Cursor blot restoration and selection preservation by @dgreensp in #2354 Fix tabnabbing vulnerability in Snow theme by @jonathanlloyd in #2439 setSelection missing default length values in docs by @philraj in #2452 Update cloning-medium-with-parchment.md by @bjenkins24 in #2457 clearer language by @philraj in #2456 Add link table to dev setup guide by @Percipient24 in #2491 Fix collaborative undo correctness (fixes #2105 ) by @dgreensp in #2500 Correctly convert mixed lists by @alecgibson in #2581 fix: Inconsistent with code by @tboevil in #2569 Move drag blocking to Scroll by @alecgibson in #2596 Fix direction button in the demo by @benbro in #2649 Update delta.md by @unitehenry in #2675 Small edits for grammar and readability by @DillonBroadus in #2710 fix for #2585 by @edhowler in #2682 Fix tab nabbing vulnerability in formatted links by @d4l-w4r in #2674 Unblocks Grammarly by @A-gambit in #3005 docs: Fix simple typo, returing -> returning by @timgates42 in #3003 Backspace at the header beginning should keep the format by @luin in #3013 Fix length mismatch when copying code by @luin in #3028 Fix pasting in checklist does not preserve indentation by @luin in #3064 Keep list numbers continuous when separated by certain elements by @luin in #3086 Handle native undo/redo by @luin in #3115 Update keyboard.md by @haqer1 in #3043 Ignore mutations happens in nested Quill instance by @luin in #3223 Update keyboard.md by @mashuDuek in #3221 Header/paragraph doesn't reset list numbering in Firefox by @luin in #3272 Cut across lines shouldn't affect the formatting of the line above by @luin in #3286 Fix checkbox not checkable on Firefox by @luin in #3293 fix extension.md by @ndNovaDev in #3295 fix extension.md by @ndNovaDev in #3294 Update quickstart.md typo by @gan-h in #3314 Fix insert inline embed with delete before block embed by @tzyl in #2882 Discontinue inline formats on enter by @luin in #3428 getLeaf() should ignore non-leaf blots by @luin in #3489 Fix getBounds of empty text nodes by @luin in #3491 Other list types should also reset list numbers by @luin in #3506 Move code escaping to html() by @luin in #3531 Keep cursor unlinked to avoid elements being pushed down inside by @luin in #3534 Avoid fetching selections when possible by @luin in #3538 No need to setContents when container is empty by @luin in #3539 Support OT for table by @luin in #3590 Issue/3336 repeated style by @Dora1604 in #3337 Improve Tab handling in code block by @luin in #3593 typo by @joelcarrier in #3581 Fix selection-change not firing on DOM mutations by @luin in #3591 Initial TypeScript setup by @luin in #3598 Migrate remaining files to TypeScript by @luin in #3631 TypeScript compatibility improvement by @luin in #3651 Fix typo in themes docs by @derrickreimer in #3477 Tooling updates by @luin in #3681 Keep newlines in pre tag by @luin in #3687 Declare module '*.svg' by @SCG82 in #3656 Fix clipboard typing by @luin in #3686 Use Playwright for E2E tests by @luin in #3695 Add missing typing for Quill.find by @luin in #3705 Small doc fix by @diegohaz in #3426 Fix typo in comparison-with-other-rich-text-editors.md by @eltociear in #3400 Add SMS to link protocol whitelist by @anish2690 in #2851 Refactor Selection#scrollIntoView() by @luin in #3717 🏷️ Add @types/lodash.clonedeep types by @alecgibson in #3736 🏷️ Fix Toolbar Handler type by @alecgibson in #3730 🐛 Allow string selector for container by @xavivars in #3755 Upgrade quill-delta for semantic cleanups by @luin in #3778 Fix applyDelta with block embed by @luin in #3777 Lint test files by @luin in #3782 Fix embed inherits formats unexpectedly by @luin in #3783 🏷️ Fix Quill.getText() arguments by @alecgibson in #3737 🏷️ Fix Block.moveChildren() signature by @alecgibson in #3735 🏷️ Fix Quill.getFormat() arguments by @alecgibson in #3731 🏷️ Add overload for Clipboard.dangerouslyPasteHTML() by @alecgibson in #3734 Fix HTML and Delta not matching by @luin in #3784 Upgrade TypeScript and Webpack by @luin in #3787 🏷️ Add module DEFAULTS types by @alecgibson in #3733 Enable strictNullChecks by @luin in #3791 Fix inline embed insertions with applyDelta() by @luin in #3793 🐛 Fix inserting newlines into formatted text by @alecgibson in #3582 Add a standalone page for performance testing by @luin in #3788 🏷️ Fix TypeScript error by @alecgibson in #3803 Upgrade Parchment to fix typings by @luin in #3805 Use babel-loader for building by @luin in #3808 Handle text replacements explicitly by @luin in #3807 🏷️ Fix addModule() types by @alecgibson in #3814 🏷️ Fix BaseTooltip.edit() signature by @alecgibson in #3816 Introduce fuzzing testing by @luin in #3789 Increase timeout for fuzz testing by @luin in #3818 Fix fuzz testing running condition by @luin in #3819 Refactor composition to allow overriding by @luin in #3820 Expose quill for E2E testing by @luin in #3822 Improve inserting performance by @luin in #3815 Pass source for history actions by @kalys in #3514 Compile ts files with a separate config by @luin in #3824 Fix block embed attributor errors by @luin in #3825 Make sure blot is attached before calling formatAt by @luin in #3826 Record selection in history module by @luin in #3823 Migrate tests to Vitest by @luin in #3832 Fix insertContents for prepending block embeds by @luin in #3842 fix: restore focus on cancel by @taozhou-glean in #3780 Auto detect scrolling container by @luin in #3840 Toolbar: add aria-pressed to toolbar buttons by @cmrd-senya in #3615 getHTML() should include outer tag when range is entire line by @luin in #3850 Turn on noImplicitAny and fix all errors by @bmakuh in #3845 Enable verbatimModuleSyntax for project by @luin in #3854 Upgrade prettier and enforce styles by @luin in #3855 fix styling for bubble tooltip close by @fstrelczuk in #3609 Add aria labels to toolbar by @luin in #3861 Add role to toolbar by @luin in #3862 Update landing page to use const instead of var in the example by @dlitsman in #3877 Fix list IME support in Safari by @luin in #3875 Update docs and guides to use const vs var by @dlitsman in #3876 Fix indent not working by @fnlctrl in #3899 Ignore JS files in nested folder by @luin in #3900 Normalize UI node selection by @luin in #3898 Handle multiple navigation shortcuts by @luin in #3911 Refactor: switch to lodash-es by @fnlctrl in #3910 Migrate to a monorepo by @luin in #3913 Update package.json fields by @luin in #3921 Release 2.0 Beta by @luin in #3901 Improvements for Quill website by @luin in #3923 Fix docs typo by @luin in #3924 Update Prism usage for website by @luin in #3946 Migrate to GA 4 by @luin in #3947 Fix typing errors for emitter by @luin in #3948 Inline SVG images for easier bundler setup by @luin in #3950 Update release script by @luin in #3951 Support dry-run and experimental versions by @luin in #3955 Improve typings for attributor by @luin in #3954 Upgrade Parchment by @luin in #3956 Update README for 2.0 usages by @luin in #3960 Update quick start documentation by @luin in #3961 Tweak website content by @luin in #3963 Website improvements for 2.0 by @luin in #3964 Update local development guide by @luin in #3965 Add migration guide for 2.0 by @luin in #3966 Implement version dropdown by @luin in #3967 Enable SSL for dev env by @luin in #3971 Fix IME not working correctly in Safari by @luin in #3972 Support paste and match style by @fnlctrl in #3927 Fix Quill.getText not respecting length by @luin in #3979 Fix redo shortcut not working on Linux and Windows by @luin in #3980 Convert newlines between inline elements to a space by @luin in #3983 Support highlight.js 10 and 11 by @luin in #3985 Avoid generating unsupported formats on paste by @luin in #3988 Improve support for pasting from Google Docs and Microsoft Word by @luin in #3989 Ignore whitespace between pasted empty paragraphs by @luin in #3990 Add link, image, video, formula to the formats array example by @benbro in #3991 Add { 'list': 'check' } to the formats array example by @benbro in #3993 Merge develop branch to main by @luin in #3994 Change default branch by @luin in #3995 Fix documentation link by @N-M in #3998 Remove unnecessary lodash usages by @luin in #4004 Add clipboard test cases for plain text by @luin in #4005 Merge from develop branch by @luin in #4009 🐛 Fix Selection.getBounds() when starting range at end of text node by @luin in #4010 Update playground for website by @luin in #4011 Add an example for using Quill with React by @luin in #4012 Preserve es modules in babel config by @fnlctrl in #4013 Fix getSemanticHTML for list items by @luin in #4016 Fix example for content and delta in playground by @JayaKrishnaNamburu in #4020 Remove unnecessary Firefox workaround by @luin in #4028 Make Quill an ESM package by @luin in #4047 Fix redundant newlines when pasting from external sources by @luin in #4050 Make option parsing type safe by @luin in #4052 Upgrade Parchment for better typings by @luin in #4055 Upgrade TypeScript by @luin in #4056 Add formats option for specifying allowed formats by @luin in #4053 Include source maps for Parchment by @luin in #4057 Support pasting links copied from iOS share sheets by @luin in #4064 Fix config parsing where undefined values were kept by @luin in #4068 Upgrade to Parchment RC by @luin in #4069 Expose types for Quill options by @luin in #4075 Remove empty .css.js files generated by bundlers by @luin in #4076 Fix function overloads for formatText by @luin in #4086 Add support for v1 list attributes by @justinbhopper in #4082 Expose types needed in public APIs by @luin in #4099 Allow ref for insertBefore to be null by @luin in #4100 Use stable version of Parchment by @luin in #4116 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 @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 @luin made their first contribution in #3013 @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 @N-M made their first contribution in #3998 @JayaKrishnaNamburu made their first contribution in #4020 @justinbhopper made their first contribution in #4082 Full Changelog : v1.3.7...v2.0.0
Read more →Clipboard Add support for Quill v1 list attributes Fix overload declarations for quill.formatText() and other methods Expose Bounds type for getBounds() Expose Range type Allow ref for insertBefore to be null
Read more →Include source maps for Parchment Clipboard Support pasting links copied from iOS share sheets Fix config parsing where undefined values were kept Expose types for Quill options Remove empty .css.js files generated by bundlers
Read more →Fix Quill#getSemanticHTML() for list items Remove unnecessary Firefox workaround Clipboard Fix redundant newlines when pasting from external sources Add formats option for specifying allowed formats
Read more →Fix toolbar button state not updated in some cases Narrower BubbleTheme.tooltip type Fix Selection#getBounds() when starting range at end of text node Improve compatibility with esbuild
Read more →Clipboard Convert newlines between inline elements to a space. Clipboard Avoid generating unsupported formats on paste. Clipboard Improve support for pasting from Google Docs and Microsoft Word. Clipboard Ignore whitespace between pasted empty paragraphs. Syntax Support highlight.js v10 and v11.
Read more →Access Quill changelog updates through our uniform API. Same JSON structure across all sources — no adapter-specific parsing needed.
GET https://watchchangelog.com/api/v1/entries?source=quill.releases{
"source": "quill.releases",
"vendor": "Quill",
"id": "tag:github.com,2008:Repository/5239185/v2.0.3",
"published_at": "2024-11-30T12:19:43.000Z",
"title": "Version 2.0.3",
"url": "https://github.com/slab/quill/releases/tag/v2.0.3",
"summary": "What's Changed Bug Fixes 🛠 Export Delta, AttributeMap and other related objects by @luin in #4220 Handle consecutive spaces when copying and pasting by @jhchen in #4502 Documentation 📚 Fixed a few typos in docs/installation.mdx by @erinnmclaughlin in #4219 Other Changes Add username links in CHANGELOG.md by @luin in #4204 Move Quill to Slab organization by @luin in #4225 Clipboard support for E2E tests by @luin in #4263 Avoid unnecessary local map creations by @luin in #4328 Config Git correctly for releasing by @luin in #4506 New Contributors @erinnmclaughlin made their first contribution in #4219 Full Changelog : v2.0.2...v2.0.3",
"tags": [
"Quill",
"quill.releases",
"editor",
"wysiwyg",
"rich-text"
]
}Sign up to access the full changelog API. All public sources are free — no credit card required.
Sign Up Free →+2 more
+2 more
+2 more
+2 more
+2 more
+2 more