The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
This version reverts the `.presentationBackgroundInteraction` addition that caused the format sheet to appear behind the keyboard.
This version drops support for iOS 14, tvOS 14, macOS 11 and watchOS 7.
This version also consolidates all separate attribute readers and writers into the base attribute reader/writer protocols.
### ✨ Features
* `RichTextColor` is a new enum that defines supported colors that can be set.
* `RichTextColorPicker` now works on all platforms.
* `RichTextCommandButton` is a new button for commands.
* `RichTextCommandButtonGroup` is a new button group for commands.
* `RichTextContext` has new enum-based style and color functions.
* `RichTextAttributeReader` can handle more colors and superscripting.
* `RichTextAttributeWriter` can handle more colors and superscripting.
### 💡 Adjustments
* `RichTextAttributeReader` now has all specific getter functions.
* `RichTextAttributeWriter` now has all specific setter functions.
* `RichTextKeyboardToolbar` now opens the format sheet in medium size on iPhone.
### 🗑️ Deprecations
* All specific attribute reader/writer protocols are deprecated in favor of the base protocols.
* Many getter/setter functions have been prefixed with `richText`.
* `RichTextAttributeWriter` renames functionality and omits `to:` param name.
* `RichTextColorPicker` initializer has been cleaned up and simplified.
* `RichTextColorPicker.PickerColor` has been deprecated.
* `RichTextColorPickerColor` has been deprecated.
* `RichTextContext` replaces a lot of action-based functions with `handle(_:)`.
* `RichTextIndent` has been deprecated.
* `RichTextIndentPicker` has been deprecated.
* `RichTextViewComponent` and omits `to:` param name.
### 💥 Breaking Changes
* The rich text indent feature has been rewritten to use steps.
* Some `richTextMenu*` images are renamed to `richTextAction*`.
* `RichTextContext` replaces a lot of action-based functions with `handle(_:)`.
This version makes the observable trigger properties internal. These properties were never made to be used from the outside, and all have context functions that set them, so use these functions instead.
`IMPORTANT` The `safeRange` adjustment may lead to crashes, although I haven't been able to make it crash. If so, investigate. If you use the safe range yourself, to access attributes, make sure to set the new attribute parameter to true. It's hopefully temporary.
### ✨ Features
* `RichTextContext` has a new `attributedString` property.
* `RichTextContext`'s paste functions now use the selected range index as default index.
### 💡 Adjustments
* `RichTextReader` `safeRange` no longer subtracts 1 from the string length.
* `RichTextReader` will now move the cursor after the pasted text, if it's pasted at selected range.
* `RichTextViewComponent` image pasting has been rewritten.
* `RichTextViewComponent` will now clear the selected range when pasting in images using that range.
### 🐛 Bug Fixes
* `RichTextReader` safe range fix makes pasting text at the end behave better.
* `RichTextViewComponent` now properly restores the font size after pasting an image.
### 🗑️ Deprecations
* `RichTextContext` trigger properties have been made internal.
This version makes the keyboard toolbar menu prefer fixed menu order.
### ✨ Features
* `RichTextColorPicker` now supports hiding the icon.
* `RichTextColorPicker` now supports specifying quick colors.
* `RichTextColorPickerColor` is a new enum with curated colors.
### 💡 Adjustments
* `RichTextFormatSheet` adds curated colors to its color pickers.
* `RichTextFormatSidebar` adds curated colors to its color pickers.
### 🗑️ Deprecations
* `RichTextColorPickerStack` has been deprecated.
### ✨ Features
* `RichTextColorPicker` now supports hiding the icon.
* `RichTextColorPicker` now supports specifying quick colors.
* `RichTextColorPickerColor` is a new enum with curated colors.
### 💡 Adjustments
* `RichTextFormatSheet` adds curated colors to its color pickers.
* `RichTextFormatSidebar` adds curated colors to its color pickers.
### 🗑️ Deprecations
* `RichTextColorPickerStack` has been deprecated.
This version is a hot fix that fixes some performance issues in 0.6.
### ✨ Features
* Thanks to [@jamesbradleym](https://github.com/jamesbradleym), RichTextKit now supports text indentation.
* `Image` has new `richTextIndentDecrease` and `richTextIndentIncrease` actions.
* `NSTextAttachment` has a new `attachedImage` property.
* `RichTextAction` has new `increaseIndent` and `decreaseIndent` actions.
* `RichTextActionButtonGroup` is a new view that groups multiple action buttons together.
* `RichTextAttributeWriter` now supports affecting the entire text by default.
* `RichTextButtonGroup` is a new view that groups multiple buttons together.
* `RichTextColorWriter` now supports affecting the entire text by default.
* `RichTextContext` has new `canDecreaseIndent` and `canIncreaseIndent` properties.
* `RichTextContext` has new `decreaseIndent()` and `increaseIndent()` functions.
* `RichTextContext` has new `resetAttributedString()` and `setAttributedString()` functions.
* `RichTextFontWriter` now supports affecting the entire text by default.
* `RichTextFormatSheet` now groups related buttons and also adds indent buttons.
* `RichTextIndent` is a new enum for handling text indent changes.
* `RichTextIndentPicker` is a new enum for picking a text indent.
* `RichTextIndentReader` is a new type for managing text indents.
* `RichTextIndentWriter` is a new type for managing text indents.
* `RichTextKeyboardToolbar` now supports modofying the format sheet before presenting it.
* `RichTextStyleToggleGroup` is a new view that groups multiple toggles together.
* `RichTextStyleWriter` now supports affecting the entire text by default.
### 💡 Adjustments
* Thanks to [@msrutek-paylocity](https://github.com/msrutek-paylocity), some typos are fixed and some tests cleaned up.
### 🐛 Bug Fixes
* This version fixes a bug where setting up an editor with a text that had image attachments, didn't resize the images until the user typed in the text editor.
### 💥 Breaking Changes
* `RichTextKeyboardToolbar` `height` and `spacing` has been moved to `RichTextKeyboardToolbarStyle`.
### ✨ Features
* Thanks to [@jamesbradleym](https://github.com/jamesbradleym), RichTextKit now supports text indentation.
* `Image` has new `richTextIndentDecrease` and `richTextIndentIncrease` actions.
* `NSTextAttachment` has a new `attachedImage` property.
* `RichTextAction` has new `increaseIndent` and `decreaseIndent` actions.
* `RichTextActionButtonGroup` is a new view that groups multiple action buttons together.
* `RichTextAttributeWriter` now supports affecting the entire text by default.
* `RichTextButtonGroup` is a new view that groups multiple buttons together.
* `RichTextColorWriter` now supports affecting the entire text by default.
* `RichTextContext` has new `canDecreaseIndent` and `canIncreaseIndent` properties.
* `RichTextContext` has new `decreaseIndent()` and `increaseIndent()` functions.
* `RichTextContext` has new `resetAttributedString()` and `setAttributedString()` functions.
* `RichTextFontWriter` now supports affecting the entire text by default.
* `RichTextFormatSheet` now groups related buttons and also adds indent buttons.
* `RichTextIndent` is a new enum for handling text indent changes.
* `RichTextIndentPicker` is a new enum for picking a text indent.
* `RichTextIndentReader` is a new type for managing text indents.
* `RichTextIndentWriter` is a new type for managing text indents.
* `RichTextKeyboardToolbar` now supports modofying the format sheet before presenting it.
* `RichTextStyleToggleGroup` is a new view that groups multiple toggles together.
* `RichTextStyleWriter` now supports affecting the entire text by default.
### 💡 Adjustments
* Thanks to [@willmorris44](https://github.com/willmorris44) and [@diniska](https://github.com/diniska), the UIKit and AppKit `RichTextView`s now update whenever the text changes.
* Thanks to [@msrutek-paylocity](https://github.com/msrutek-paylocity), some typos are fixed and some tests cleaned up.
### 🐛 Bug Fixes
* This version fixes a bug where setting up an editor with a text that had image attachments, didn't resize the images until the user typed in the text editor.
### 💥 Breaking Changes
* `RichTextKeyboardToolbar` `height` and `spacing` has been moved to `RichTextKeyboardToolbarStyle`.
### 🐛 Bug Fixes
* Initial text color is only applied when setting up rich text with an empty string.
### 💥 Breaking Changes
* All deprecated types have been removed.