PackageTrack
Sign in Get early access

html_editor_enhanced

HTML rich text editor for Android, iOS, and Web, using the Summernote library. Enhanced with highly customizable widget-based controls, bug fixes, callbacks, dark mode, and more.

2.7.1 29K downloads/mo #1870 most downloaded on pub.dev tneotia/html-editor-enhanced

What this package is like to depend on

Last release 1 years ago

12 Jul 2025

Release timing varies

gaps range from 2 weeks to 1.3 years

Most releases are documented

notes for 25 of 29 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

29 releases · first in 2021

0 releases in the last 12 months

see the full history below

Release timeline

29 releases · Feb 2021 to Jul 2025
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 29
  1. 2.7.1 12 Jul 2025
    Release notes
    • Update dependencies
    Open source →
  2. 2.7.0 14 Jun 2025
    Release notes
    • Fix deprecations in latest Flutter versions
    • Update dependencies
    Open source →
  3. 2.6.0 18 May 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v2.5.1...v2.6.0

    Open source →
    Release notes
    • Fix build issues on Flutter 3.22.0+ due to deprecations
    • Update dependencies
    • Fix bad state error when checking height of editor
    Open source →
  4. 2.5.1 25 Jan 2023
    Release notes

    What's Changed

    • Bump version kotlin and compile SDK by @opimand in #274
    • Updated dependencies by @ksilz in #299
    • upgrade dependencies and example to support flutter 3 and android sdk 33 by @kimmanwky in #328
    • Updated pubs and replaced deprecated codes. by @altotunchitoo in #330
    • paths in pubspec.yaml as this was causing the build on apple to fail by @eliudio in #369
    • Bug fix for "No file or variants found for asset: ..." by @kimmanwky in #370

    New Contributors

    Full Changelog: v2.5.0...v2.5.1

    Open source →
    Release notes
    • Fix build issues on Flutter 3.4.0+ due to assets directory
    • Update dependencies
    Open source →
  5. 2.5.0 04 Jun 2022
    Release notes

    What's Changed

    • Support Flutter 3.0 (remove warnings) (@Cteq3132)
    • [BREAKING] Support modifying foreColorSelected and backColorSelected when using a custom dialog for font coloring
      • If you are using a custom updateStatus function for the font coloring, that function is now defined as updateStatus(Color)
    • Added disabled parameter to automatically disable editor on initial load
    • Fixed white background color appearing sometimes when pressing backspace on text
    • Added useHybridComposition parameter in case devs want to disable this behavior (improves animations of app)
    • [WEB] Fixed editor height being 0 when initialText is null (@dab246)
    • Migrated example to Android embedding V2
    • Removed woff fonts to allow iOS App Store submissions

    New Contributors

    Full Changelog: v2.4.0...v2.5.0

    Open source →
    Release notes
    • Support Flutter 3.0 (remove warnings) (@Cteq3132)
    • [BREAKING] Support modifying foreColorSelected and backColorSelected when using a custom dialog for font coloring
      • If you are using a custom updateStatus function for the font coloring, that function is now defined as updateStatus(Color)
    • Added disabled parameter to automatically disable editor on initial load
    • Fixed white background color appearing sometimes when pressing backspace on text
    • Added useHybridComposition parameter in case devs want to disable this behavior (improves animations of app)
    • [WEB] Fixed editor height being 0 when initialText is null (@dab246)
    • Migrated example to Android embedding V2
    • Removed woff fonts to allow iOS App Store submissions
    Open source →
  6. 2.4.0 30 Oct 2021
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v2.3.0...v2.4.0

    Open source →
    Release notes
    • Improved color picker
      • Added scrollable support to picker
      • Fixed issue where keyboard would disappear and prevent users from selecting a new color
    • Added support for getting selected text in Flutter Web (controller.getSelectedTextWeb())
    • Added support for spellcheck
    • Added support for custom options in summernote initialization
    • Added support for a hard stop on character limit (will not allow user to type further)
    • Fixed bug where focusing editor would scroll it back to the top and not show the caret position
    • Fixed height not updating in Flutter Web when callbacks was null
    • Updated dependencies and fixed flutter_colorpicker dependency error (@eliudio)
    Open source →
  7. 2.4.0+1 30 Oct 2021

    Nothing published for this version

  8. 2.3.0 10 Sep 2021
    Release notes
    • Potentially fixed bad state error for stream.first
    • Fixed Summernote-@-Mention not inserting text after selecting the dropdown item
    • Fixed whitespace after @ sign when inserting a mention
    • Add support for overriding URL loading on mobile with onNavigationRequestMobile callback
    • Hide keyboard when opening color picker dialog
    • Use try/catch on SystemChannel call on web to prevent exception
    • Added a character counter for text in the editor - access via controller.characterCount
    • Fixed auto adjust height not working in some cases
    • Fixed editor height not updating when focused after a TextField was previously focused
    • Updated dependencies (@JEuler)

    NOTE: If you are on Flutter Beta+, you must use dependency_overrides in pubspec.yaml!!

    dependency_overrides:
        flutter_colorpicker: ^0.5.0
    
    Open source →
  9. 2.2.0 14 Jun 2021
    Release notes
    • Fixed null safety warnings due to latest file_picker version
    • Potentially fixed editor controller creating a new instance on widget rebuild
    • Fixed issue where custom HTML files would have custom JS replaced with built-in JS
    • Fixed darkMode not applying when filePath is used on Android
    • Fixed "null" text showing as the hint when no hint is given
    • Added new onChangeSelection callback that passes the editor settings whenever the user changes their current selection (e.g. tap on a different word, create a new node, select text, etc)
    • Added support for custom JS injection on Flutter Web
    • Fixed minor bug with automatic height adjustment on mobile
    • Added new ToolbarType.nativeExpandable which allows the user to switch between the scrollview or gridview toolbar on the fly
    • Support setting the inputmode for the editor, which changes the virtual keyboard display on mobile devices (e.g. number pad, email keyboard, etc)
    • [BREAKING] renamed onChange callback to onChangeContent
    • [BREAKING] disabled a lot of the buttons by default, now only around half of the editor buttons are enabled to improve the UX. You can still re-enable the rest if you want.
    • [BREAKING] min Flutter version requirement bumped to 2.2.0
    Open source →
  10. 2.2.0+1-dev.1 15 Jun 2021

    Nothing published for this version

  11. 2.1.1 22 May 2021
    Release notes
    • Fixed bottom overflow error on AlertDialogs if the screen size is small
    • Fixed StyleButtons(style: false) would not remove the style dropdown
    • Fixed JS/Dart communication hiccup on Web (make sure postMessage data is not null)
    • Code cleanup
    Open source →
  12. 2.1.0 10 May 2021
    Release notes
    • Fixed setState and Stream.first error on page dispose
    • Fixed height adjustment not working
    • Fixed getText on Web
    • Improved dropdown UX when ToolbarPosition.belowEditor by opening upwards and making it scrollable after a certain height
    Open source →
  13. 2.1.0+1 11 May 2021
    Release notes
    • Hotfix for copyWith not defined for ScrollBehavior in v2.1.0
    Open source →
  14. 2.0.1 28 Apr 2021
    Release notes
    • Added support for setting custom UserScripts on the webview (mobile only)
    • Added support for customizing the context menu (menu when user selects text) for the webview (mobile only)
    • Added LongPressGestureRecognizer to the webview to allow users to select text via a long press (mobile only)
      • You can set the duration before the long press is recognized via HtmlEditorOptions > mobileLongPressDuration
    • Added support for placing the toolbar wherever using HtmlToolbarOptions > toolbarPosition: ToolbarPosition.custom
    • See the README if you'd like to use any of these new features. UserScript and the context menu customization have external documentation via flutter_inappwebview - the docs are linked in the README.
    Open source →
  15. 2.0.0 22 Apr 2021

    Nothing published for this version

  16. 2.0.0+1 22 Apr 2021
    Release notes
    • Transitioned to fully native controls! These are extremely customizable and have much better UX than the previous controls.
    • [BREAKING] refactored a lot of options into separate constructors
    • [BREAKING] refactored toolbar classes, so toolbar customizations will need updating
    • Added a bunch of interceptors and callbacks for button presses
    • Added the ability to make custom buttons and set their positions
    • Added native support for numerous Summernote plugins
      • [BREAKING] removed all Summernote plugins except Summernote @ Mention. The package now supports the majority of plugins out of the box.
      • Reduced package size by removing the Summernote plugin files
      • Reduced size further by using a stripped-down version of Summernote @ Mention libs
    • Added execCommand to controller to help you create custom toolbar buttons
    • Improved automatic height adjustment
    • Bumped dependencies
    • [BREAKING] Require Flutter 2.0.0+
    • As always, see the README for full documentation on these changes
    • See the Migration Guide for help migrating your v1.x.x widget code
    Open source →
  17. 1.8.0 07 Apr 2021
    Release notes
    • Add support for getSuggestionsMobile (Summernote @ Mentions Plugin) - allows you to programatically return the list of mentions.
      • Only supported on mobile.
      • [BREAKING] renamed mentions to mentionsWeb as a result of this change
    • Added support for the remainder of Summernote callbacks:
      • onBeforeCommand
      • onChangeCodeview
      • onDialogShown
      • onImageUploadError
      • onMouseDown
      • onMouseUp
      • onScroll
      • See the README for how these work.
    • Added a few new functions:
      • recalculateHeight(): recalculates the editor height and applies it
      • addNotification(): adds a notification bar to the bottom of the editor in a specified style with specified text
      • removeNotification(): removes the current notification from the bottom of the editor
    • Fixed blank space at the bottom of the editor when showBottomToolbar: false
    • Fixed 'Android resource linking failed' (bumped flutter_inappwebview to 5.3.1+1)
    Open source →
  18. 1.7.1 27 Mar 2021
    Release notes
    • Fixed bug where initial text would not be inserted and default toolbar would be shown regardless of editor options
    • Significantly improved keyboard height detection (detect when keyboard comes up and goes down)
    • Adjusted HTML processing algorithm to fix issues where " and ' would not be properly escaped on HTML insertion
      • Added processNewLineAsBr - this will replace any \n in the input string to <br/> rather than the default ""
      • Applied processing to setHint() and insertHtml() functions
    • Added support for returning the file's base64 data in onImageUpload and onFileUpload
      • Now you can use MultipartFile.fromBytes() to upload to server - example
    • Added support for onFileUploadError and onFileLinkInsert (Summernote File plugin)
    • Added support for maximumFileSize (Summernote File plugin)
    • See the README for more details on these changes
    Open source →
  19. 1.7.0 17 Mar 2021
    Release notes
    • [BREAKING]:
      • Refactored height, autoAdjustHeight, decoration, showBottomToolbar, and darkMode into new HtmlEditorOptions class - see README for how to migrate
      • Removed 'Summernote Classes' plugin
      • Sorry for all the breaking changes lately - I think I've finally figured out how I want to do the API design so there should be far less in future releases
    • Added onImageUpload callback that fires when an image is inserted via <input type="file">
    • Added onImageLinkInsert callback that fires when an image is inserted via URL
    • Added shouldEnsureVisible that scrolls the editor into view when it is focused or text is typed, kind of like TextFields
    • Added adjustHeightForKeyboard (default true) that adjusts the editor's height when the keyboard is active to ensure no content is cut off by the keyboard
    • Added filePath which allows you to provide a completely custom HTML file to load
    • If you plan on using any of the above, it is highly recommend looking at the README for more details and examples.
    • Removed disabled scroll feature since it prevented the editor from scrolling even when the editor content was larger than the height
    • Code cleanup
    Open source →
  20. 1.7.0+1 22 Mar 2021
    Release notes
    • Fixed type 'double' is not a subtype of type 'int?' in type cast on iOS
      • By extension this fixes the adjustHeightForKeyboard not working on iOS
    • Fixed Bad state: Cannot add new events after calling close exception when disposing the page containing the editor
    • Fixed web page not found when inserting a video URL (see here)
    Open source →
  21. 1.6.0 13 Mar 2021
    Release notes
    • [BREAKING] removed dispose() method on controller
      • The editor no longer uses a Stream to get text and therefore nothing needs to be disposed
    • Added onInit callback that fires once the editor is ready to function and accept JS
    • Added a few new parameters:
      • autoAdjustHeight - for HtmlEditor: default true, automatically adjusts the height of the editor to make sure scrolling is not necessary
      • processInputHtml - for HtmlEditorController: processes input HTML (e.g. new lines become <br/>)
      • processOutputHtml - for HtmlEditorController: processes output HTML (e.g. <p><br/><p> becomes "")
    • Added more plugins:
      • Summernote Case Converter
      • Summernote List Styles
      • Summernote RTL
      • Summernote @ Mention
      • Summernote Codewrapper
      • Summernote File
      • See the README for more details.
    • Added shim for dart:ui to remove the ui.PlatformViewRegistry not found error
    • Added the summernote-no-plugins.html file to load a de-bloated HTML file when no plugins are active
    • Fixed bug where two editors would be initialized in the same webview in some cases
    • Reduced the size of assets to ~650kb - ~300kb summernote libs, ~350kb plugin libs
    • Code cleanup
    Open source →
  22. 1.5.0 01 Mar 2021
    Release notes
    • Nullsafety preview
    • Added Flutter's Hybrid Composition to the HTML Editor. This significantly improves the keyboard experience on Android.
    Open source →
  23. 1.5.0+1 10 Mar 2021
    Release notes
    • Fixed getText() returning null on mobile for any device
    Open source →
  24. 1.4.0 01 Mar 2021
    Release notes
    • [BREAKING] removed HtmlParser for calling methods, instead you now must pass an HtmlEditorController to the plugin (like a TextField). All methods are accessible from that controller. See the usage section in the README for an example.
      • This allows you to have multiple independent editors on a page, whereas earlier the package would not know which editor the method should be called on.
    • Add support for certain Summernote plugins from Summernote Awesome. See the README for details on the API and the currently supported plugins.
    • Nullsafety pre-release coming soon.
    Open source →
  25. 1.3.0 23 Feb 2021
    Release notes
    • Add official support for Flutter Web
    • Add support for modifying the toolbar options. See the README for details on the API.
    • Add support for a native dark mode
    • Removed image_picker plugin and image button in toolbar because users can insert images via the image button in Summernote
      • [BREAKING] Removed the imageWidth and useBottomSheet params due to the above change
    Open source →
  26. 1.2.0 20 Feb 2021

    Nothing published for this version

  27. 1.2.0+1 20 Feb 2021
    Release notes
    • Add support for accessing InAppWebViewController via a getter
    • Add support for inserting files via the editor dialog itself
    • Add methods:
      • toggle code view
      • enable/disable editor
      • undo/redo
      • inserting plaintext/HTML/images/links
    • Add callbacks:
      • onChange
      • onEnter
      • onFocus/onBlur/onBlurCodeview
      • onKeyUp/onKeyDown
      • onPaste
    • Downgraded dependencies to non-nullsafety to prevent errors
    • Updated docs and example app to showcase new features, refer to those for info on the above changes
    Open source →
  28. 1.1.1 19 Feb 2021
    Release notes
    • Minor update to add documentation to code and completely refactor/reorganize code
    Open source →
  29. 1.1.0 19 Feb 2021
    Release notes
    • Switch webview dependency to flutter_inappwebview
    • Remove localserver, instead get Summernote HTML directly from assets (improves performance and loading speeds)
    • [BREAKING] Switch to StatelessWidget
      • You no longer need a GlobalKey for the HtmlEditorState. All of the methods are static and can be called like so:
      HtmlEditor.setEmpty(); 
      
    • Fix deprecations and update dependencies
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive