Skip to content
This repository has been archived by the owner on Jun 15, 2021. It is now read-only.

Latest commit

 

History

History
334 lines (179 loc) · 12.9 KB

CHANGELOG.md

File metadata and controls

334 lines (179 loc) · 12.9 KB

3.3.0

Merges a range of bug fixes including removing the dependency on lodash, use of ES6 const not inserting <br> tags into custom elements and a sanity check to ensure a listElement exists before inserting a list.

Thank you Dan Burzo, James Lawson, code-smith, Nazar Mokrynskyi, Rob Rees and Oliver J Ash for contributing to these fixes.

We hope to move towards more granular releases from now on.

3.2.0

This changes the key bindings for undo and redo so that they are more specific and should no longer capture the key sequence for certain Polish letters. See #448 for details.

Thank you Dan Burzo for contributing this fix.

3.1.0

Updates the version of Immutable Scribe uses to 3.8.x.

3.0.0

Replaces the last Lodash call with Object.assign. This was already available in the browsers Scribe is targeted at but in addition the build process has been changed to use later versions of Node.

2.3.0

Introduces a destroy event that plugins can use to clean up after themselves.

This re-implements an initial implementation by Craig Speath, thanks for the contribution.

2.2.5

Switches the events from literal strings to using identities from an events module.

2.2.4

Attempts to simplify the code in the inline-elements-mode plugin as per the suggestions from Rasmus Schultz.

This change also covers the code with a unit test in case it needs to be modified in future.

2.2.3

Removes unneeded paramters from calls to setStartAfter and setEndAfter.

Thanks to Rasmus Schultz for reporting the issue.

2.2.2

Removes the observable check function introduced in 2.1.0. As this was not exported I'm treating it as a non-breaking change.

2.2.1

Corrects a small style issue where one of the tests was relying on the default coercion of the empty string to the false boolean. The test is now explicit.

2.2.0

Addresses issue #456 where one of the core plugins (enforce-p-elements) would wrap empty text nodes in paragraph elements. This behaviour was hidden by the use of the HTML Sanitizer.

Text nodes consisting just of whitespace are not changed now when the plugin runs.

Thanks to Rasmus Schultz for reporting the issue.

2.1.2

Fixes an issue where the undo manager could not be disabled due to an unconditional execution of the manager code in the setHTML method (issue #452).

2.1.1

Fixes an issue where the window global was still being referenced so the module still couldn't be used server-side.

2.1.0

Changes the way the mutation observer is determined and changes the way that nodes with certain classes are checked for. Both of these changes are aimed at offerring better support for server-side rendering.

Thank you Sergey Zyablitsky and Simon Degraeve for your contributions towards this goal.

2.0.2

Adds a workaround to allow paste events to work on Android. Thanks to crasu for the contribution.

2.0.1

The code for handling manual navigation in list elements now passes the event to its associated command for plugins to use in their response.

Thank you to Josh Moore for contributing this change. Please raise issues on how you think this should work generally if you are interested.

2.0.0

A split text node will no longer be replaced by a non-breaking backspace but instead should be a regular space character.

Thanks Jeffrey Wear for this change/fix

1.4.15

Stripping of Chrome artifacts has been consolidated into a single function. Thanks Regis Kuckaertz

1.4.14

The undo manager has been re-written to use Immutable data structures. Thanks Regis Kuckaertz

1.4.13

A more elegant fix for #401 from Alexy Golev, thanks!

1.4.12

Restores scribe.element (lost in release 1.4.9) to avoid breaking backwards compatibility

1.4.11

Another attempt to fix #401, this time using Immutable data and Array.prototype.slice.

1.4.10

The NS_ERROR_UNEXPECTED is now caught and supressed. This exeception is being thrown by Firefox and seems to be a browser specific bug to do with element focus. This change just avoids lots of supurious errors being thrown.

We should remove it once the bug has been fixed.

1.4.9

Consolidates a number of api operations into the node module.

Restructing by Regis Kuckaertz

1.4.8

Short-circuits the mutation evaluation via use of Array.prototype.some

Regis Kuckaertz

1.4.7

Not a valid build, issues between Bower and NPM

1.4.6

Treat the clipboard data types variable as an array to avoid issues with future releases of Chrome (and other browsers). Resolves #401.

1.4.5

Corrects the NPM version of the ImmutableJS dependency

1.4.4

Replaces some of the use of Lodash contains with Immutable data structures and includes.

1.4.3

Changes the require alias so that the Immutable import path is simplified.

1.4.2

A number of performance improvements have been contributed by Regis Kuckaertz. Primarily these include avoiding TreeWalker where it isn't needed and moving a number of function definitions to the parse phase. See the individual PRs for details.

1.4.1

Small optimisation to avoid a relayout as a result of placing Scribe markers.

Thanks for improvement Brad Vogel

1.4.0

Changes the cleanup for Chrome inline style tags that happens in the patch for the insertHTML command. Previously span tags were aggressively stripped whereas now they are less aggressively removed to limit the fix just to the type of spans that Chrome inserts.

Thanks Christopher Liu for contributing this change.

1.3.9

Stops Scribe failing on a focus event if the content of the Scribe element is set to empty. Previously the code assumed that a child node is available, now the focus node will be the parent element if there are no children.

Based on contributions from Ryan Fitzgerald

1.3.7

Fixes a bug where em tags were being stripped where we meant to strip Scribe markers instead.

Thanks Abdulrahman Alsaleh for the fix

1.3.6

Fixes a bug preventing individual events being switched off events in the event-emitter Bumps Lodash to 3.5.0 in the NPM package description for those using CommonJS builds

Thanks Ryan Fitzgerald!

1.3.5

Fixes event-emitter off behaviour when un-binding events

1.3.4

Reverts the change to 3.5.0 as Bower and NPM-based packagers were not behaving consistently.

1.3.3

All plugins, formatters and commands can now be overridden via options.

Thanks David Tobin

Lodash has been bumped to 3.5.0

1.3.2

Option handling (defaults and overrides) have now been moved to their own module

1.3.1

Adds a null check to selection.js to help with issues when Scribe is being run in ShadowDOM. Thanks Shaun Netherby

1.3.0

Introduces a new time-based undo manager and improvements to allow multiple Scribe instances to share or have a separate undo manager. Thanks to Abdulrahman Alsaleh for providing the code and spending a lot of time working with us on the tests.

1.2.11

Added configuration for removing scribe.undoManager

1.2.10

Bugfixes for selections that are 'reversed' (i.e. selected from right to left) from Deains. Thanks

1.2.9

Clarifies the use of nodeName in the Command implementation. Thanks Christopher Liu

1.2.8

Event waterfall / Event Namespacing

1.2.7

ShadowDOM fixes for Chrome from ShaunNetherby, thanks

1.2.5

IE11 compatiability changes from Deains, thank you

1.2.4

Changes the way that root nodes are detected, the code now uses the element that the Scribe instance is bound to rather than looking for contenteditable attributes.

1.2.3

Changes the EventEmitter to store callbacks in sets to enforce uniqueness and avoid duplicate calls

1.2.1

Fixes a typo with the use of options in the default command patches that was breaking Browserify

1.2.0

Allows the default command patches to be over-ridden in the options. This will allow users to customise what gets loaded to address issues like the behaviour of the bold patch where the default behaviour is not what is required.

1.1.0

Introduces ImmutableJS (which is also exposed via scribe.immutable) and starts to convert some the internal workings of Scribe to use immutable data structures.

Adds 55K of needless bloat according to @theefer but I am heartless and laugh at his tears.

1.0.0

This is a non-backwards compatible change as we are removing the use of Scribe Common. The Node and Element apis that were available in that project are now exposed via the scribe object itself (scribe.node and scribe.element).

Existing plugins should not break for this release but please re-write your plugins if you use 1.0.0 as a dependency.

0.1.26

0.1.25

0.1.24

0.1.23

0.1.22

0.1.21

0.1.20

0.1.19

0.1.18

0.1.17

  • Allow entering multiple consecutive spaces (c4ba50eb #232)

0.1.16

0.1.15

0.1.14

0.1.13

0.1.12

0.1.11

0.1.10

0.1.9

0.1.7

  • Prevent mutation observers from failing if an error occurs (9c843e52)

0.1.6

  • Fix issue with breaking out of P mode in Firefox (ddecae91 #97)

0.1.5

  • Added subscript and superscript commands (cba4ee23)