Skip to content

Latest commit

 

History

History
242 lines (165 loc) · 18.4 KB

File metadata and controls

242 lines (165 loc) · 18.4 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Note

The previous CHANGELOG.md has been archived.

Added

  • Added QuillEditorConfig.showCodeBlockLineNumbers (defaults to true). When set to false, code-block line numbers are hidden and the left gutter shrinks to match the code block's right indent, giving the block symmetric horizontal padding instead of a flush-left edge. customLeadingBlockBuilder remains available for finer control and still takes precedence when both are set.

Fixed

  • Fixed an issue where bullet points became visually detached from the text body when toggling text direction formatting (RTL) by locking the list leading block to the editor's base text direction.
  • Fixed a brief toolbar flicker when tapping a checkbox: the header, inline, and color buttons momentarily reflected the tapped line's style and the checklist button briefly toggled before the selection was restored. The checkbox tap's gesture-driven caret move is now ignored and the checkbox is formatted silently.
  • Fixed typed text being inserted at the previous caret position on Android after moving the caret with a tap/mouse by keeping the platform IME's editing state in sync with the selection even when the keyboard is hidden.
  • Added transformLink callback to QuillEditorConfig (and RawEditorConfig) to allow customizing how a link string is transformed before it is launched on tap. When null, the previous default behavior (prepending https:// to scheme-less links) is preserved #2727.
  • Whole-word search now matches non-ASCII text (Cyrillic, CJK, accented Latin).
  • Fixed dragging the right selection handle horizontally extends the selection into the line below instead of staying on the current line.
  • Code block line numbers were not visible for non-indented code blocks because the leading-gutter width was reserved at zero pixels in TextBlockUtils.defaultIndentWidthBuilder. The gutter is now sized correctly so line numbers are visible by default. Nested indent levels continue to rotate the numbering style through Arabic, lowercase letters, and lowercase Roman numerals, matching ordered-list behavior.
  • Fixed the selection (Cut/Copy/Paste) context menu not appearing when the selection extends beyond the visible viewport — e.g. selecting a range taller than the viewport, scrolling a selection out of view, or Select All on a long document. The context menu anchors are now clamped into the editor's visible region so it stays on-screen, matching the behavior of a multiline TextField.
  • Reveal the caret when the bottom view inset (on-screen keyboard) changes, so it is no longer hidden behind the keyboard when it appears or changes height mid-edit (e.g. on app resume, IME/emoji switch, rotation, split-screen or foldable resize). QuillRawEditorState now overrides didChangeMetrics and re-reveals the caret once the inset settles.

Deprecated

  • Deprecated QuillController.toolbarButtonToggler. It was an internal-only workaround for syncing a few toolbar block buttons during checkbox taps and no longer has any effect now that the flicker is fixed at its source. Toolbar button state derives from getSelectionStyle(). It will be removed in future versions.

Removed

  • Removed the already-@Deprecated and @internal linkPrefixes constant from the public API surface (it is hidden from the flutter_quill.dart export). Use LinkValidator.linkPrefixes instead.

Changed

  • Search dialog buttons now adopt the toolbar's QuillIconTheme; bar height and spacing tightened.
  • Tightened the code-block leading gutter: its reserved width is now slightly narrower than the ordered-list gutter (by fontSize / 4), pulling the right-aligned line number closer to the left edge of the block.
  • Reduced the right-side padding inside the code-block leading container from fontSize to fontSize / 2, shrinking the gap between the line number and the code text to match ordered/unordered lists.
  • Reduced the left content padding inside the code-block decoration from 16 to 4, so the line number sits closer to the left edge of the grey code-block box.
  • Made the code-block content padding symmetric (EdgeInsets.symmetric(horizontal: 4, vertical: 16), previously 16 on the right), and added a fontSize / 2 right indent to code blocks in TextBlockUtils.defaultIndentWidthBuilder so the code text no longer runs to the right edge of the box. The right indent is part of the default indentWidthBuilder, so a custom indentWidthBuilder can override it.

11.5.1 - 2026-05-20

Added

  • Added localization support for mn (Mongolian, Mongolia)

Changed

  • Updated minimum supported SDK version to Flutter 3.44/Dart 3.12.
  • Implemented the new TextInputClient.onFocusReceived method required by Flutter SDK 3.44+ (returns false).

11.5.0 - 2025-10-18

Fixed

  • Fixed View.of(context) calls throwing when used with the screenshot package #2662.

Added

  • Add missing Brazilian Portuguese translations

11.4.2 - 2025-07-22

Fixed

  • App crash on desktop platforms when using Flutter 3.32.0-0.5.pre and newer.
    Fixed by passing the required viewId for experimental multi-window support #2579.

11.4.1 - 2025-05-15

Added

  • copyWith methods to HorizontalSpacing, VerticalSpacing, DefaultTextBlockStyle, and DefaultListBlockStyle for immutable updates of properties #2550.
  • Finnish (fi) language translation #2564.

11.4.0 - 2025-04-23

Added

  • Accept mailto, tel, sms, and other link prefixes by default in the insert link toolbar button #2525.
  • validateLink in QuillToolbarLinkStyleButtonOptions to allow overriding the link validation #2525.

Fixed

  • Improve doc comment of customLinkPrefixes in QuillEditor #2525.

Changed

  • Deprecate linkRegExp in favor of the new callback validateLink #2525.

11.3.0 - 2025-04-23

Fixed

  • Can't select text when readOnly is true #2529.

Added

  • Display magnifier using RawMagnifier widget when dragging on iOS/Android #2529.

11.2.0 - 2025-03-26

Added

  • Cache for toPlainText in Document class to avoid unnecessary text computing #2482.

11.1.2 - 2025-03-24

Fixed

  • [iOS] QuillEditor doesn't respect the system keyboard brightness by default #2522.
  • Add a default empty list for characterShortcutEvents and spaceShortcutEvents in QuillRawEditorConfig #2522.
  • Deprecate QuillEditorState.configurations in favor of QuillEditorState.config #2522.

11.1.1 - 2025-03-19

Fixed

  • Explicitly schedule frame on secondary click to ensure context menu is shown on Windows #2507.

11.1.0 - 2025-03-11

Fixed

  • Remove unnecessary content change listeners in read-only mode to avoid triggering infinite loops of FocusNode callbacks #2488.
  • Remove unicode from QuillText element that causes weird caret behavior on empty lines #2453.
  • Focus and open context menu on right click if unfocused #2477.
  • Update QuillController length extension method deprecation message #2483.

Added

  • Rule is now part of the public API, so that Document.setCustomRules can be used.
  • decoration property in DefaultTextBlockStyle for the header attribute to customize headers with borders, background colors, and other styles using BoxDecoration #2429.

11.0.0 - 2025-02-16

Important

See the migration guide from 10.0.0 to 11.0.0 for the full breaking changes and migration. Ensure to read the breaking behavior section to avoid unexpected changes.

Fixed

  • [iOS] Localize the Cupertino link menu actions.
  • Export QuillToolbarSelectLineHeightStyleDropdownButtonOptions, fixing #2333.
  • Clipboard images pasting as plain text on Android #2384.
  • Avoid using url_launcher_string.dart which is strongly discouraged #2403.
  • The color picker dialog's hex field does not use the correct value of the selected text in the editor #2415.

Added

  • New localization strings for the image save functionality #2403.
  • Insert video string in quill_en.arb to support localization for flutter_quill_extensions. Currently available only in English.
  • QuillClipboardConfig class with customizable clipboard paste handling callbacks, partial fix to #2350.
  • The option to enable/disable rich text paste (from other apps) in QuillClipboardConfig.
  • Insert video string in quill_en.arb to support localization for flutter_quill_extensions. Currently available only in English.
  • onKeyPressed in QuillEditorConfig to customize key press handling in the editor #2368.
  • Croatian (hr) language translation #2431.
  • enableClipboardPaste flag in QuillToolbarClipboardButton to determine if the button defaults to null, which will use ClipboardMonitor, which checks every second if the clipboard has content to paste #2427.

Changed

  • Rewrite the image save functionality for flutter_quill_extensions #2403.
  • Migrate quill_native_bridge to 11.0.0 #2403.
  • Avoid using deprecated APIs in Flutter 3.27.0 #2416:
  • Ignore unreachable_switch_default warning (introduced in Dart 3.6) #2416.
  • Update intl dependency to support versions 0.19.0 and 0.20.0 #2416.
  • Restore base button options, now works without the inherited widgets, and support buttons of flutter_quill_extensions.
  • The option to enable/disable rich text paste (from other apps) in QuillClipboardConfig.
  • Improve README.md.
  • Simplify the example app.
  • Update the minimum supported SDK version to Flutter 3.0/Dart 3.0 for compatibility, fixing #2347.
  • Improve dependencies constraints for compatibility.
  • Improve README.md.
  • Always call setState() in _markNeedsBuild() in QuillRawEditorState (revert to the old behavior).
  • BREAKING: Update configuration class names to use the suffix Config instead of Configurations.
  • BREAKING: Refactor embed block interface for both the EmbedBuilder.build() and EmbedButtonBuilder.
  • Minor cleanup to magnifier feature.
  • The QuillSimpleToolbar base button options now support buttons of flutter_quill_extensions.
  • Mark shouldNotifyListeners as experimental in QuillController.replaceText().
  • Mark the method QuillController.clipboardSelection() as experimental.
  • Improve pub topics in package metadata.
  • Update the minimum required version of the dependency quill_native_bridge from 10.7.9 to 10.7.11.
  • Address warnings of unreachable_switch_default (introduced in Dart 3.6).
  • BREAKING: Clipboard action buttons in QuillSimpleToolbar are now disabled by default. To enable them, set showClipboardCut, showClipboardCopy, and showClipboardPaste to true in QuillSimpleToolbarConfig.
  • BREAKING: Change the options parameter class type from QuillToolbarToggleStyleButtonOptions to QuillToolbarClipboardButtonOptions in QuillToolbarClipboardButton. To migrate, use QuillToolbarClipboardButtonOptions instead of QuillToolbarToggleStyleButtonOptions #2433. This change was made for the PR #2427.
  • BREAKING: Change the onTapDown to accept TapDownDetails instead of TapDragDownDetails (revert #2128 due to regressions).
  • BREAKING: Change the onTapUp to accept TapUpDetails instead of TapDragUpDetails (revert #2128 due to regressions).
  • BREAKING: Revert Copy TapAndPanGestureRecognizer from TextField PR #2128, restoring editor behavior to match versions before 10.4.0 due to the regressions #2413.
  • BREAKING: Replace QuillClipboardConfig.onDeltaPaste with QuillClipboardConfig.onRichTextPaste which is more specific and provides an additional parameter isExternal to determine whether the Delta content is from an external app.
  • Bosnian (bs), Macedonian (mk) and Gujarati (gu) language translations #2455.
  • textSpanBuilder to QuillEditorConfig to allow overriding how text content is rendered.

Removed

  • BREAKING: The quill shared configuration class.
  • The dependency equatable.
  • The experimental support for spell checking. See #2246.
  • BREAKING: The magnifier feature due to buggy behavior #2413. See #2406 for a list of reasons.

10.8.5 - 2024-10-24

Fixed

  • Allow all correct URLs to be formatted #2328.
  • [macOS] Implement actions for ExpandSelectionToDocumentBoundaryIntent and ExpandSelectionToLineBreakIntent to use keyboard shortcuts, along with unrelated cleanup #2279.

9.4.0 - 2024-06-13

Added

  • Korean translations #1911.

Changed

  • Rework search bar/dialog for Material 3 UI with on-the-fly search #1904.
  • Support for subscript and superscript across all languages.
  • Improve pasting of Markdown and HTML file content from the system clipboard #1915.

Removed

  • Apple-specific font dependency for subscript and superscript functionality from the example.
  • BREAKING: The super_clipboard plugin, To restore legacy behavior for super_clipboard, use flutter_quill_extensions package and FlutterQuillExtensions.useSuperClipboardPlugin().