(5.20.1 was skipped because of a bad release)
- Fix test failure in Chrome 51 #1114
- Fix slow CSS selector #1115
- Improve documentation for toolbar.relativeContainer option #1122
- Fix cursor rendering incorrectly in Firefox #1113
- Fix anchor-preview bug where click preview no longer prefills href into anchor form
- Add getEditorFromElement for retrieving an editor instance from an editor element
- Respect form.reset for textarea elements within forms passed into the editor
- Add getContent + resetContent helpers for retrieving/reverting content of editors
- Add support for extensions preventing blur on editor when user interacts with extension elements
- Add feature for toggling anchor preview for empty or # links
- Fix keyboard paste to properly fire editablePaste
- Standardize editablePaste to always fire with mock event object
- Add support calling document.execCommand with arbitrary argument from execAction
- Also deprecate custom execAction option names in favor of standard .value
- Fix error from addElements when initializing editor with no elements
- Improved paste handling
- Includes proper support for keyboard paste in firefox
- More cleanup when pasting from Word
- Introduce support for adding and removing elements from an existing editor instances
- New addElements and removeElements methods
- Add checkContentChanged method for manually triggering editableInput
- Add selection.selectRange helper method
- Fix incorrect word breaking
- Add support for multiple targets for attaching/detach event handlers
- Add support for chaining calls to attach/detach events
- Fix issue with click anchor-preview when using showWhenToolbarIsVisible
- Fix IE issue with line-breaking within editor
- Fix Firefox error when using elements other than divs as editor
- Fix link validation in anchor extension
- Improve performance when dealing with a lot of data
- Enable functions to be used as keyboard commands
- Use class instead of inline style for hiding/showing anchor form
- Add helpers for hiding/showing form into form extension base class
- Fix issue where auto-link extension re-enabled IE's built-in auto-link when other instances still existed
- Fix anchor form to display form before attempting to position correctly
- Add new selection.clearSelection() helper method for moving cursor to beginning/end of selection
- editableInput event fixes
- Fix issue with event not triggering when dragging in images
- Fix issue with event not triggering on autolink
- Fix issue with event not triggering on insertHTML in Edge
- Fix issue with hitting enter when directly inside figcaption and other block elements
- Fix behaviour of "Open in new window" checkbox for Firefox
- Added instruction to disable file dragging all together
- Fix issue with image dragging and dropping at end of target
- Fix issue with extra space when space already exists
- Support Microsoft Edge
- Fallback to custom insertHTML command instead of built-in command for Edge
- Use shim code for detecting input on contenteditable for Edge
- Fix issue with converting blockquotes to paragraphs in Edge
- Update documentation, fix tests, and include Edge in browser testing
- Fix issue with saving selection after newline and whitespace text nodes
- Fix import/export selection to prefer start of nodes over end of nodes
- Fix for getClosestBlockContainer utility function
- Fix for getTopBlockContainer utility function
- Deprecate getFirstTextNode utility function
- Added pre clean replacements
- Fixed an infinite loop
- Handled enter event for empty h2/h3 tag
- Added stickyTopOffset option to keep on the screen a sticky toolbar
- Fixed misplacement of buttons when selection is near to the right edge
- Updated dev dependencies
- Added reference to README for who is using medium-editor
- Fix issue with image-only selections
- Trim src when using the image toolbar button
- Fix auto linking with comments
- Documented the process of releasing a new version
- Updated table extension demo
- Removed the carriage return character from a demo file
- Updated checkLinkFormat function to support more schemes
- Fixed issue with disableExtraSpaces option to allow space at the end of line
- Use editableInput instead of input event for textarea syncing
- Fixed style for correct positioning of placeholder
- Allowed to remove blockquote by pressing delete at beginning of the quote
- Fixed failing test cases in IE9 and IE10
- Added disableExtraSpaces option for preventing errant spaces
- Added editalbeKeydownSpace event
- Fix issue with return key at the end of text with bad formatting
- Added new font name extension (beta)
- Documentation updates and cleanup
- Add showWhenToolbarIsVisible option for displaying anchor-preview when toolbar is visible
- Remove trailing whitespace when creating links via anchor extension
- Fix issue with escaping list items via pressing enter
- Fix font-awesome links in demo pages
- Updates to documentation around creating links
- Fix changing link on images
- Fix type of elements which can contain auto-links
- Fix inconsistancies and errors in isDescendant utility method
- Added relativeContainer options for the toolbar
- Fix issue with auto-linking across consecutive list-items
- Added beagle theme
- Fix backwards compatability issue with how keyboard commands extension handles 'alt'
- Rewrite which event placeholder extension listens to for hiding/showing placeholder
- Fix issue where placeholder is not hidden when calling setContent()
- Fix issue where placeholder is displayed incorrectly when hideOnClick option is true
- Ensure textarea ids are unique on entire page
- Fix broken auto-link within block elements other than paragraphs
- Fix issue with editor element being removed in IE11
- Remove references to global variables from internal code
- Fix a regression in the paste extension related to
pasteHTML
function
- Fix issue with creating anchors and restoring selection at the beginning of paragraphs
- Fix issue with creating anchors and restoring selection within list items and nested blocks
- Ensure CTRL + M is respected as a way to insert new lines
- Add new 'tim' theme for medium-editor toolbar
- Fix issue Chrome generated comment tags when pasting
- Fix issue where 'editableInput' is triggered multiple times when creating links
- Fix issue with anchor and selection inconsitencies in IE
- Fix issue with replacing a pre-existing link
- Fix issue with selection after creating a link after empty paragraphs
- Fix issue where block elements where cleaned up incorrectly when pasting
- Fix anchor form checkboxes to reflect status of selected link
- Fix issue with creating links in same paragraph as another link
- Fix issue with creating links after empty paragraphs
- Ensure all attributes are copied from textareas to divs
- Fix appearance of anchor form when checkboxes are present
- Fix breaking issue with standardizeSelectionStart option
- Add setContent method into core API, which triggers editableInput
- Fix issue where custom anchor-preview extensions weren't overriding built-in anchor preview
- Add documentation from wiki into the source code
- Add support for including 'alt' key in keyboard-commands
- Fix issue with disabling image drag & drop via imageDragging option
- Deprecate image-dragging extension
- Introduce file-dragging extension
- Ensure autolink urls respect targetBlank option
- Expose importSelection and exportSelection as generic Selection helpers
- Move allowMultiParagraphSelection into toolbar options
- Deprecate global allowMultiParagraphSelection option
- Fix issue with allowMultiParagraphSelection option over empty elements
- Fix issue with creating links producing multiple anchor tags
- Fix issue where anchor preview displays while toolbar is visible
- Add demo pages for example extension and example button
- Add showToolbarDefaultAction helper method to form extension
- Ensure elements generated for textareas have a unique id
- Ensure all added attributes are removed during destroy
- Cleanup divs generated by Chrome during justify actions
- Add parameter to anchorPreview.positionPreview for reusability
- 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
- The array of buttons can now contain objects, for overriding any part of the button object
- 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
- All classes are now
- Util
- getProp, derives, getSelectionData, setObject & getObject are gone
- getSelectionRange & getSelectionStart are now in Selection
- Fix issue with restoring selection within nested block elements
- Ensure auto-link will never select an empty element (br, hr, input, etc.)
- Fix bug with un-linked auto-links causing unexpected cursor positioning
- Fix broken keyboard shortcuts
- Fix break with updateOnEmptySelection option for static toolbars
- Fix pasting links when targetBlank option is being used
- Fix for spellcheck option after destroy
- Fix over-reaching keyboard shortcuts for commands
- Expose new 'positionToolbar' custom event
- Add new isKey() helper in util
- Add cleanup on destroy for auto-link and placeholder extensions
- Base extension changes
- Add getEditorElements(), getEditorId(), and getEditorOption() helpers
- Add on(), off(), subscribe(), and execAction() helpers
- Introduce destroy() lifecycle method + deprecate deactivate()
- Fix issue with auto-linked text after manually unlinking
- Fix some incorrect TLDs for auto-link
- Add hideToolbar and showToolbar custom events
- Add hideOnClick option for placeholder extension
- Fix issue with linebreaks in Safari
- Fix issue with calling setup again after destroy
- Add support for CDN hosting
- Pass window and document to each extension
- Deprecate .parent property of extensions
- Auto-Link Fixes
- Don't auto-link text after it is manually unlinked
- Trigger auto-linking when focus is lost (ie Tab key)
- Fix issue where link appears and immediately disappears when hitting Enter in IE11
- Fix issue where hostname with more than three w's only auto-links final three w's in the name
- Fix issue where valid urls were not auto-linked
- Fix issue where some text was auto-linked when it shouldn't be
- Fix paste issue with plain-text containing multiple paragraphs
- Fix issue with incorrect cursor positon after creating a list
- Fix disabledDoubleReturn option within a sentence
- Allow for nested contenteditables
- New style of passing options for anchor-preview and anchor
- Introduce extensions.button + extensions.form as extendable base extensions
- Convert anchor, fontsize, and anchor-preview to updated extensions model
- New auto-link support for detecting urls and converting them to links
- Fix target _blank issue for links in Firefox
- Don't show placeholders for empty lists
- Allow for overriding image drag and drop via extension
- Fix error thrown when loading MediumEditor js from head
- Expose new 'editableInput' event for monitoring changes to editor
- Cleanup contenteditable elements created for textareas
- Update version number in dist files
- Add shortcut to insert a link (ctrl/cmd + k)
- Fix
this.getAttribute is not a function
error
- Make anchor preview wrap for long links
- Fix issue when clean pasting spans with child nodes
- Expose importSelection + exportSelection helper methods
- Fix issue with initialization of MediumEditor using textarea
- Introduce jscs
-
Add 'beta' version of fontSize button/form
-
Add option for enabling/disabling spellcheck
-
Add titles to toolbar buttons for tooltips
-
Use actual anchor tag in anchor preview
-
Fix anchor preview issue with tags nested inside anchors
-
Speed up travis builds
-
Convert paste handler into overrideable extension
- Fix blur event detection when clicking on elements that don't clear focus
- Fix broken 'paste.cleanPastedHtml' option and rename to 'paste.cleanPastedHTML'
- Expose 'unsubscribe' for custom events
- Detach custom events when editor is destroyed
- Fix fontawesome url in demo page
- Expose smart 'blur' and 'focus' events which account for toolbar interaction
- Expose selectElement method for selecting text and updating toolbar
- Fix always wrapping pasted text in a
tag
- Add override options for pasteHTML and cleanPaste
- Support overriding of scss theme variables
- Fix for justify button states in IE
- New helpers for manipulating nested objects
- Internal tooling prep for options and defaults
- Add textarea support
- Fix .version issue
- Expose Util and Selection methods externally via MediumEditor.util and MediumEditor.selection
- Expose MediumEditor.version for version info
- Add support for custom cleaning of attributes and tags for .pasteHTML
- Move from jslint to jshint
- Introduce 'removeFormat' button, for removing formatting from selection
- Fix issues with focus/blur when using standardizeSelectionStart option
- Fix bug causing toolbar to disappaer on click in safari (rollback fix from 4.0.1)
- Break up anchor form extension logic into more overrideable parts
- Fix issue with dragged in image sizes
- Fix issues with focus/blur when using standardizeSelectionStart option
- Introduced custom events (consumable externally)
- Reduce API surface area
- Deprecated activate & deactivated. Exposed setup and destroy as replacements
- Updated documentation to reflect API changes
- HTML standardization around list items
- Fixed throttling
- Added superscript & subscript css
- Added better paste cleaning for Microsoft Word
- Convert anchor preview into overrideable extension
- Added disableAnchorPreview option
- Extract toolbar
- Extract anchor preview
- MIT License
- Use code from selection.js which is duplicated in core.js
- Fix bug in paste handling + increase paste coverage
- Ensure static toolbar won't render outside window + minimize when toolbar overflows
- Fix flashing static-toolbar bug
- Fix bug with sticky-toolbar when scrolling past bottom of contenteditable
- Fix css declaration of linear-gradient
- Fix AMD "Uncaught TypeError: undefined is not a function" issue
- Account for 'full' actions when doing queryCommandState
- Fix bugs in modified queryCommandState calls
- Extract anchor form code from core code and convert into an extension
- Expose onShowToolbar and onHideToolbar as options
- Change button method names (now
setActive
andsetInactive
) to differentiate from core'sactivate
anddeactivate
- Simplify blur check selection
- Add Sauce Labs configuration to automate cross-browser testing
- Add IE9 polyfill to repo
- Let 'meta' key trigger shortcuts
- Add basic support to keyboard shortcuts
- Fix main file reference in npm package
- Introduce full content actions
- Fix disableDoubleReturn option
- Fix isListItemChild call
- Split source code into several files for better development flow
- Make saveSelection and restoreSelection more consistant cross browser
- Use document.queryCommandState for some button toolbar states
- Add selection storage
- Call extensions deactivate when deactivating the editor
- Turn Anchor button into an extension
- Fix various selection and positioning bugs
- Introduce commands as combination of buttons and extensions
- Update aria label so that setting secondHeader activates the toolbar
- Don't use styles for detecting underline + strikethrough
- Fix 'imageDragging: false' option
- Fix list item tab identation
- Add extension onHide command
- Fix bug in getSelectedParentElement + Fix tests in browsers
- Fall back to shimmed insertHTML in cases where firefox throws when calling insertHTML
- Prevent "Argument not optional" error
- Prevent infinite loop after findAdjacentTextNodeWithContent
- Remove cleanups from contenteditable false areas
- Firefox fix: Don't modify value of input before calling execCommand()
- Fix selection issue for clean pasted html test case in firefox
- Add image drag and drop support
- Fix issue with multiple elements with the same class on the same editor instance
- Specify default npm registry (
http://registry.npmjs.org
)
- Adds support for newlines in placeholder attribute
- Adds support and documentation for new toolbar extensions
- Adds support for changing 'open in new window' label text
- Fixes bug where
nodeValue
could unexpectedly be null - A couple of fixes to make tests a bit more reliable when run in the browser
- Handles ESC key in link editor
- Standardizes usage of setTimeout for UX delays vs debouncing vs deferring
- Adds an optional onShowToolbar method
- Supports enabling/disabling checkSelection updates externally
- Standardizes where in the DOM a range begins
- Adds ARIA role information
- Fixes off() not removing any event listeners
- Misc minor bug fixes and improvements
- Adds static toolbar feature
- Now uses textContent instead of innerText
- Fixes plain text paste on IE
- Hides placeholder on mouse click
- Adds a 'collapse' option to 'selectElementContents' helper
- Allows toolbar button states to change when selection is collapsed
- In hideToolbarActions, calls an optional 'onHideToolbar' method
- Ensures that ul.id and anchor.id are unique
- Avoids grabbing selection on keypress for contenteditable except for spacebar
- Supports disabling anchorForm, avoiding unnecessary event handling and element creation
- Supports disabling placeholders, including not attaching event handlers when not needed
- Various minor bug fixes and improvements
- Adds a strikethrough option in buttonLabel
- Now uses
options.elementsContainer
to calculate ID - Removes events during deactivate
- Adds custom doc and win functionality, now you can specify the editor container
- Minor bugfixes
- Fixes 'this' out of scope
- Adds justify buttons
- Fix #308 by passing clipboard content through self.htmlEntities before inserting
- Minor bug fixes
- Adds support for tab based indenting and outdenting of
- and
- Adds a save button to the anchor form
- Improves toolbar positioning
- Adds anchorButton and anchorButtonClass options
- Extensions
- Disables the toolbar when selecting within an element that has contenteditable="false"
- Fixes hidden placeholder content override
- Fixes bug where if you had an empty blockquote the placeholder would still be active
- Fixes bug that would create link without values
- Exposes save/restoreSelection()
- Allows customization of active/first/last button classes
- Adds a script to run app from the cli
- Adds protocols to checkLinkFormat regex
- Fixes unlink behavior on Firefox
- Fixes white space behavior at the end of anchors
- Adds non-minified CSS files to bower.json
- Changes to the element list or element selector now take effect on reactivation
- Changed innerHTML to textContent to prevent XSS through twisted href values
- Checks for data-disable-return on element on paste
- Adds disableEditing and elementsContainer options
- Removes anchor preview listeners on deactivate
- Implements clean paste
- Adds an option to validate links
- Adds a basic extensions support
- Misc minor fixes
- Fixes isActive toggling
- Removes anchor preview default value
- Fixes activate/deactivate behavior
- Removes DOM elements created by MediumEditor on deactivate
- Prevents new lines with shift+enter when disableReturn is set to true
- Removes compass dependency by using grunt with libsass
- Fixes subscript button markup
- Fixes anchor preview behavior for empty links and anchors
- Adds a new option to disable double returns
- Allows initialization with a single DOM node
- Adds indent and outdent buttons
- fixes some minor paste bugs
- adds a delay option for anchor toolbar
- fixes anchor toolbar initial positioning
- fixes heading and blockquote on IE
- fixes case where clicking anchor preview and then clicking into the anchorInput causes hideToolbarActions to be called
- fixes window resize when toolbar element is not created
- Reorganizes CSS files
- Removes unused method bindElementToolbarEvents
- Adds a preview toolbar for anchors
- Removes paste event binding on deactivate
- Fixes filenames for main in bower.json
- Removes window resize event listener on deactivate
- Adds bootstrap theme
- Adds image button that converts selected text into an image tag
- Removes normalize.css dependency
- Adds 3 new themes: Roman, Mani e Flat
- Adds ability to set custom labels on buttons
- Updates uglify
- Fixes bug where pressing enter on formatted list item would generate a new list instead of a new list item
- Adds new extra buttons: pre and strikethrough
- Fixes placeholder bug on paste
- Various code improvements
- Prevents returns using shift when disableReturn is set to true
- Improves CSS to avoid conflicts
- Fixes problem with text selection ending outside the container div
- Implements serialize method
- Adds a targetBlank option
- Fixes Firefox box-sizing declarations
- Fixes toolbar binding button issue with multi-editor mode
- Fixes data-disable-return not preventing paragraph creation
- Improves getSelectionElement() to work in any case
- Fixes multi element selection bug
- Fixes Issues #88 & #89
- Improves binding for multiple editor instance, checkSelection() is called only once per instance
- Improves allowMultiParagraphSelection filter by removing empty tags elements before counting
- Considers header tags has a paragraph too (same as medium)
- Removes blur event listener when disabling the toolbar
- Adds a light gradient opacity to the toolbar
- Fixes bug that would keep toolbar alive when moving out of the anchor input
- Fixes empty selectionNode.el bug
- Prevents toolbar opening when changing to selection elements with the toolbar disabled
- Adds a transition to the toolbar when moving across elements
- Fixes issue on deactivation without enabled toolbar
- Fixes checkSelection error when disableToolbar option is enabled
- Adds new option to disable multiple paragraph selection
- Prevents paragraph creation on paste when disableReturn is set to true
- Adds extra buttons: superscript, subscript, ordered list and unordered list
- Changes buttons blacklist to whitelist
- Exports MediumEditor as module
- Changes "Underline" button to display "U" instead of "S"
- Pasted text is now wrapped into P elements
- Changes the editor to use the formatBlock command to handle block elements
- Fixes placeholder for empty elements
- Normalizes styles and scripts
- Improves bower manifest
- Adds an option to disable the toolbar and maintain only the contenteditable behavior
- Adds an option to disable returns
- Adds an placeholder option for the contenteditable areas
- Fixes toolbar positioning on screen top
- Adds the possibility to pass an element list directly into initialization
- Fixes issue with initial positioning when some actions are disabled
- Don't rely on :last-child to style first/last element, as they may be hidden
- Changes demo texto to something more friendly
- Fixes shift+enter behavior
- Initial release