# Change log All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Unreleased ## 3.13.0 - 2021-10-06 ### Added - Added new `rollback` prop for changing the delay after which a rollback is performed (when value and editor content don't match) or disabling it completely. ## 3.12.8 - 2021-10-06 ### Changed - Wait 10 seconds (increased from 1) for the target element to be in the DOM before giving up. ### Fixed - Updated dependencies. ## 3.12.7 - 2021-10-05 ### Fixed - The integration will now initialize in a shadow dom. - Updated dependencies ## 3.12.6 - 2021-05-20 ### Fixed - As the tinymce dependency is only used for types allow all versions after 5.5.1 when types were first added, but prefer the latest when unspecified. ## 3.12.5 - 2021-05-20 ### Fixed - Fixed ignoring the `toolbar` prop when it contains a falsy value when it should only be ignored if it is undefined or null. - Ensure that the editor is initialized attached to a document. - Updated dependencies ## 3.12.4 - 2021-05-12 ### Fixed - Allow use of react version "^16.7.0" as well as "^17.0.1" to correct the unintended breaking change introduced in release 3.9. - Updated dependencies ## 3.12.3 - 2021-04-30 ### Fixed - Avoid trying to get a bookmark for an unfocused inline editor - Recreated the storybook examples in the new recommend format as the format we were using broke on an upgrade - Updated dependencies ## 3.12.2 - 2021-04-01 ### Fixed - Slowed down the change rollback to 200 milliseconds to allow async frameworks a chance to set the value. #INT-2475 - Fixed cursor position recording for rolling back formatting-only changes. - Updated dependencies ## 3.12.1 - 2021-03-30 ### Fixed - Re-added change event as a trigger of `onEditorChange` so toggling formatting will be detected. #INT-2473 - Defer evaluating browser capabilities until after the component has mounted to allow server side rendering. #INT-2472 ## 3.12.0 - 2021-03-26 ### Added - Storybook demo for a controlled component with a fixed value. INT-2352 - Storybook demo for a controlled component with a maximum length. INT-2462 ### Changed - When used as a controlled component the editor will rollback a change if it is not set via the `value` prop within a millisecond. INT-2352 ## 3.11.1 - 2021-03-24 ### Fixed - Stopped inline editor grabbing focus when the value is set - Caught exceptions thrown while trying to restore selection after setting content ## 3.11.0 - 2021-03-23 ### Changed - Updates to `initialValue` after editor initialization will now be detected and applied and will result in a complete reset of undo state. #INT-2367 - During `componentDidUpdate` the `value` prop will be applied if it is different to the current editor content even when it is not different to the previous value of the `value` prop. #INT-2372 ### Fixed - Apply changes to `initialValue`, `value` and `disabled` which occur between editor setup and initialization that were previously ignored. #INT-2371 - An attempt will be made to retain the cursor position when the `value` prop forces an update to the editor content. If the cursor position can not be found it will return to the start of the document as before. #INT-2370 - Internal tracking of the current content is now always done in HTML so `outputFormat` should not cause any unexpected behavior. #INT-2369 ### Deprecated - The `outputFormat` prop will be removed in a future release. If text output is required call `editor.getContent({ format: 'text' })` in any of the event callbacks. #INT-2368 ## [3.10.4] - 2021-03-10 ### Fixed - Check for editor changes on `"compositionend"` event to more accurately trigger `onEditorChange`. #INT-2348 - Updated dependencies to latest available ## [3.10.3] - 2021-03-04 ### Fixed - Updated dependencies to latest available ## [3.10.2] - 2021-02-20 ## Fixed - Event handlers are registered at setup time so props like `onBeforeRenderUI` will now be called. #INT-2325 ## [3.10.1] - 2021-02-01 ### Fixed - Fixed CI build ## [3.10.0] - 2021-02-01 ### Fixed - Fixed event binding to lookup handlers at call time instead of rebinding on every change. ## [3.9.0] - 2021-01-11 ### Changed - Adopted beehive-flow branching and versioning process/tooling. - Changed the changelog formatting - Updated dependencies to latest available ## [3.8.4] - 2020-12-16 ### Fixed - Updated dependencies to latest available ## [3.8.3] - 2020-12-08 ### Changed - Updated TinyMCE types to 5.6 release. ### Fixed - Fixed event binding to only rebind handler on changes to the specific property instead of any property. ## [3.8.2] - 2020-12-03 ### Fixed - Fixed external changes not generating undo levels ## [3.8.1] - 2020-10-22 ### Fixed - Fixed an issue where the component would throw an error when unmounted while loading ## [3.8.0] - 2020-10-08 ### Added - Added types from TinyMCE 5.5 release. ## [3.7.0] - 2020-09-28 ### Added - Added `scriptLoading` prop with settings `async`, `defer` and `delay` to modify the loading behaviour of the TinyMCE script tag ## [3.6.1] - 2020-09-07 ### Fixed - Upgraded dependencies to latest available. ## [3.6.0] - 2020-05-07 ### Fixed - Fixed an issue that allowed events to be fired during `componentWillUnmount` ## [3.5.1] - 2020-04-30 ### Fixed - Remove `util` module from dependencies by purging usage in code. - Upgraded jquery in dev dependencies in response to security alert. ## [3.5.0] - 2020-02-24 ### Added - Added new `tinymceScriptSrc` prop for specifying an external version of TinyMCE to lazy load ## [3.4.0] - 2020-01-31 ### Added - Added new `outputFormat` prop for specifying the format of the content emitted via the `onEditorChange` event ## [3.3.2] - 2019-08-29 ### Fixed - Fixed an issue that caused `onEditorChange` to fire multiple times ## [3.3.1] - 2019-08-16 ### Fixed - Changed referrer policy to origin to allow cloud caching ## [3.3.0] - 2019-07-29 ### Fixed - Fixed an issue that made the editor ignore new event handlers provided through props - Removed use of deprecated lifecycle hooks `componentWillMount` and `componentWillReceiveProps` ## [3.2.0] - 2019-06-04 ### Fixed - Changed the CDN URL to use `cdn.tiny.cloud` ## [3.1.1] - 2019-05-10 ### Changed - Removed preinstall script ## [3.1.0] - 2019-05-10 ### Changed - Added the editor as a second argument to `onEditorChange` - Exported Typescript prop types ## [3.0.1] - 2019-02-11 ### Changed - Updated readme on cloud channels. ## [3.0.0] - 2019-02-11 ### Changed - Changed default cloudChannel to `'5'`. ## [2.6.1] - 2019-02-07 ### Fixed - Changed `react` and `react-dom` to be peerDependencies and devDependencies. ## [2.6.0] - 2019-02-07 ### Fixed - Changed `react` and `react-dom` to be peerDependencies. ## [2.5.0] - 2019-01-24 ### Changed - Loosened cloudChannel proptype to take any string to be able to use the locked version channels. ## [2.4.0] - 2018-11-02 ### Added - Added `textareaName` prop that sets the name attribute on the textarea for use in forms. ## [2.3.0] - 2018-10-01 ### Added - Added `disabled` prop that sets the editor into readonly mode. ## [2.2.6] - 2018-09-03 ### Fixed - Fixed broken links in readme. ## [2.2.5] - 2018-04-23 ### Fixed - Added a nullcheck in componentWillUnmount to check that tinymce is available before running remove. ## [2.2.4] - 2018-04-06 ### Fixed - Removed onPreInit shorthand as it never worked. ## [2.2.3] - 2018-04-06 ### Fixed - Fixed a bug with onInit not working. ## [2.2.2] - 2018-04-05 ### Fixed - Fixed a bug with values set while the editor was initializing. ## [2.2.1] - 2018-04-03 ### Fixed - No change, pushed to fix missing readme on npm. ## [2.2.0] - 2018-02-19 ### Added - Added functionality so you can use the editor as a controlled component by setting the `value` property and using the `onEditorChange` event. ## [2.1.4] - 2018-02-16 ### Fixed - Fixed bug where is wasn't possible to set inline in the init object, only on the shorthand. ## [2.1.3] - 2018-01-17 ### Added - Added `plugins` and `toolbar` shorthands. ## [2.1.2] - 2018-01-08 ### Changed - Use `target` on element instead of `selector` in init config. ## [2.1.1] - 2018-01-03 ### Added - Fix so init setup callback gets called like it should. ## [2.1.0] - 2017-12-18 ### Added - Added auto-loading of TinyMCE from TinyMCE Cloud ## [2.0.3] - 2017-11-22 ### Fixed - Added check for `initialValue` prop to prevent javascript error that was shown when `tinymce.setContent` was called with undefined. ## [2.0.2] - 2017-11-22 ### Fixed - Accidentally published 2.0.1 without building first, published this version to fix that and added prepare hook to prevent the same thing from happening again. ## [2.0.1] - 2017-11-21 ### Added - Added description to package.json and improved readme wording. ## [2.0.0] - 2017-11-08 ### Added - Add support for `tagName` prop when using editor inline to define what element you want to initialize the editor on. ### Changed - *BREAKING!* Switched `value` prop to `initialValue` to make it clearer what it actually does. ### Fixed - Only bind whitelisted events. ## [1.0.0] - 2017-11-07 ### Added - Initial Release.