mirror of
https://github.com/fastmail/Squire.git
synced 2024-12-22 15:23:29 -05:00
fe0dfdf6c4
This is a massive refactor to port Squire to TypeScript, fix a bunch of small bugs and modernise our tooling. The development was done on an internal repository, so apologies to anyone following externally for the commit dump; updates from here should come as real commits again. Co-authored-by: Joe Woods <woods@fastmailteam.com>
56 lines
2.5 KiB
Markdown
56 lines
2.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file, starting from v2.0.0.
|
|
|
|
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).
|
|
|
|
## [2.0.0] - 2023-01-23
|
|
|
|
### Added
|
|
|
|
- Builds as an ES module.
|
|
|
|
### Changed
|
|
|
|
- All code ported to Typescript and ES modules for compatibility with modern
|
|
frontend projects and future maintainability.
|
|
- New off-the-shelf tooling for the build process and code quality assurance.
|
|
- Config option `sanitizeToDOMFragment` no longer takes an `isPaste`
|
|
argument.
|
|
- Custom events (e.g. `pathChange`) use the browser native CustomEvent class,
|
|
which means the custom properties (e.g. `path`) are now available on the
|
|
`detail` property of the event object, rather than directly added to the
|
|
event object.
|
|
- When the user pastes an image, instead of simulating drag/drop events,
|
|
Squire now fires a custom `pasteImage` event, with a `clipboardData`
|
|
property on the `detail`
|
|
- When there is a selection and you paste text that looks like a URL, it will
|
|
now make the selection a link rather than replacing it with the URL text.
|
|
- In the object returned by the `getFontInfo` method, the font size property
|
|
is now called "fontSize" instead of "size", and the font family property is
|
|
now called "fontFamily" instead of "family". This means all properties now
|
|
use the same name as in the CSSStyleDeclaration API.
|
|
- The `key` function for setKeyHandler now uses the same names
|
|
(including case) as the KeyboardEvent.key property
|
|
(https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key).
|
|
For example, `"enter"` is now `"Enter"` and `"left"` is now `"ArrowLeft"`.
|
|
|
|
### Fixed
|
|
|
|
- Fixed iOS autocorrect/text substitution fails to activate when hitting
|
|
"enter".
|
|
- Fixed Samsung keyboard on Android causes bizarre changes to the input,
|
|
making it unusable.
|
|
- Fixed bug trimming insignificant trailing white space, which could result
|
|
in some formatting actions behaving oddly.
|
|
- Fixed spaces "vanish" sometimes after deleting text.
|
|
|
|
### Removed
|
|
|
|
- Support for any version of IE.
|
|
- Support for using an iframe document as the editor, rather than just a
|
|
normal DOM node.
|
|
- Support for using it without an HTML sanitiser - this is essential for
|
|
security, so it's now required.
|
|
- `isInsertedHTMLSanitized` and `isSetHTMLSanitized` config options - as per
|
|
the above, the HTML is always sanitised on insertion for security.
|