We are glad to annonce the immediate release of MediumEditor 5.0.0. This is a major release and lots of things moved since the last 4.12.x version.

This version introduces a significantly simpler system for building custom extensions as well as extending existing buttons and extensions. As part of moving towards this extendable model, there were significant changes to the way options are passed to MediumEditor, as well as the extensions and buttons themselves.

In addition to extension related changes, there were several other potential breaking changes related to API methods, as well as utility helper methods.

We strongly encourage you to read the UPGRADE file.

And now the full changelog:

  • All deprecated functions have been removed
  • Keyboard Shorcuts are now part of an extension and not attached to specific button/commands
  • Placeholders are now part of an extension with its own dedicated options
  • Toolbar is now an extension with its own dedicated options
  • firstHeader and secondHeader are gone you should use h1 thru h6
  • Support pre-releases
  • Buttons
    • The array of buttons can now contain objects, for overriding any part of the button object
      • This replaces the custom object value for the buttonLabels option
  • API
    • Unique id for MediumEditor instance will now remain unique (regardless of how many instances are created)
    • .statics references are gone
    • .trigger supports triggering events without needing to declare the event
    • .callExtensions(), .setToolbarPosition(), and .hideToolbarDefaultActions() have been removed
  • Extension
    • .window & .document are now exposed as members of the Extension
    • .init() no longer is passed MediumEditor instance as first argument
  • CSS
    • All classes are now medium-editor prefixed
  • Util
    • getProp, derives, getSelectionData, setObject & getObject are gone
    • getSelectionRange & getSelectionStart are now in Selection

Next step is about killing bugs

Since this major release is out, we are going to focus on fixing issues. As we were working on the v5 we didn’t fix as many issues and the number of issues is now approching 100. Our focal point will be resolving as many issues as we can to stabilize MediumEditor.

Thanks every one for the support and suggestion!