diff --git a/CHANGELOG.md b/CHANGELOG.md index d624da8..bdd9e62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,48 @@ 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). +## [0.10.0] - 2023-10-19 + +### Added + +- Added `Buffer::set_rich_text` method +- Add `Align::End` for end-based alignment +- Add more `Debug` implementations +- Add feature to warn on missing glyphs +- Add easy conversions for tuples/arrays for `Color` +- Derive `Clone` for `AttrsList` +- Add feature to allow `fontdb` to get `fontconfig` information +- Add benchmarks to accurately gauge improvements +- Add image render tests +- Allow BSD-2-Clause and BSD-3-Clause licneses in cargo-deny + +### Fixed + +- Fix `no_std` build +- Fix `BufferLine::set_align` docs to not mention shape reset is performed +- Fix width computed during unconstrained layout and add test for it +- Set `cursor_moved` to true in `Editor::insert_string` +- Fix `NextWord` action in `Editor` when line ends with word boundaries +- Fix building `editor-libcosmic` with `vi` feature +- Respect `fontconfig` font aliases when enabled +- Fix rendering of RTL words + +### Changed + +- Unify `no_std` and `std` impls of `FontSystem` +- Move `hashbrown` behind `no_std` feature +- Require either `std` or `no_std` feature to be specified +- Use a scratch buffer to reduce allocations +- Enable `std` feature with `fontconfig` feature +- Enable `fontconfig` feature by default +- Refactor code in `ShapeLine::layout` +- Set MSRV to `1.65` +- Make `Edit::copy_selection` immutable +- Rewrite `PreviousWord` logic in `Editor` with iterators +- Use attributes at cursor position for insertions in `Editor` +- Update all dependencies +- Use `self_cell` for creating self-referential struct + ## [0.9.0] - 2023-07-06 ### Added diff --git a/Cargo.toml b/Cargo.toml index 33b1fb5..b04f5fa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "cosmic-text" description = "Pure Rust multi-line text handling" -version = "0.9.0" +version = "0.10.0" authors = ["Jeremy Soller "] edition = "2021" license = "MIT OR Apache-2.0" @@ -10,18 +10,18 @@ repository = "https://github.com/pop-os/cosmic-text" rust-version = "1.65" [dependencies] -fontdb = { version = "0.14.1", default-features = false } -libm = "0.2.7" +fontdb = { version = "0.15.0", default-features = false } +libm = "0.2.8" log = "0.4.20" -rustybuzz = { version = "0.10.0", default-features = false, features = ["libm"] } +rustybuzz = { version = "0.11.0", default-features = false, features = ["libm"] } swash = { version = "0.1.8", optional = true } syntect = { version = "5.1.0", optional = true } sys-locale = { version = "0.3.1", optional = true } unicode-linebreak = "0.1.5" unicode-script = "0.5.5" unicode-segmentation = "1.10.1" -rangemap = "1.3.0" -hashbrown = { version = "0.14.0", optional = true, default-features = false } +rangemap = "1.4.0" +hashbrown = { version = "0.14.1", optional = true, default-features = false } rustc-hash = { version = "1.1.0", default-features = false } self_cell = "1.0.1" @@ -53,7 +53,7 @@ harness = false members = ["examples/*"] [dev-dependencies] -tiny-skia = "0.11" +tiny-skia = "0.11.2" criterion = { version = "0.5.1", default-features = false, features = [ "cargo_bench_support", ] }