This commit is contained in:
Jeremy Soller 2026-01-29 09:48:18 -07:00
parent d907e41bf3
commit bdd6657fd7
No known key found for this signature in database
GPG key ID: 670FDFB5428E05CA
7 changed files with 52 additions and 35 deletions

View file

@ -5,6 +5,23 @@ 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/), 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). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.17.0] - 2026-01-29
### Fixed
- Fix variable font weight for SwashCache::get_outline_commands()
- Allow fallback to fonts with mismatched stretch or style
- Shape as fake italic if no matching italic font exists
- Prevent line break opportunities from splitting ligatures
### Changed
- Update all dependencies to latest versions
### Removed
- Attrs::matches was removed as it is not compatible with new fallback logic
## [0.16.0] - 2025-12-29 ## [0.16.0] - 2025-12-29
### Added ### Added

View file

@ -1,7 +1,7 @@
[package] [package]
name = "cosmic-text" name = "cosmic-text"
description = "Pure Rust multi-line text handling" description = "Pure Rust multi-line text handling"
version = "0.16.0" version = "0.17.0"
authors = ["Jeremy Soller <jeremy@system76.com>"] authors = ["Jeremy Soller <jeremy@system76.com>"]
edition = "2021" edition = "2021"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@ -10,35 +10,35 @@ repository = "https://github.com/pop-os/cosmic-text"
rust-version = "1.80" rust-version = "1.80"
[dependencies] [dependencies]
bitflags = "2.4.1" bitflags = "2.10.0"
core_maths = { version = "0.1.1", optional = true } core_maths = { version = "0.1.1", optional = true }
cosmic_undo_2 = { version = "0.2.0", optional = true } cosmic_undo_2 = { version = "0.2.0", optional = true }
fontdb = { version = "0.23", default-features = false } fontdb = { version = "0.23", default-features = false }
harfrust = { version = "0.4.1", default-features = false } harfrust = { version = "0.2.1", default-features = false }
hashbrown = { version = "0.16", optional = true, default-features = false } hashbrown = { version = "0.16", optional = true, default-features = false }
libm = { version = "0.2.8", optional = true } libm = { version = "0.2.16", optional = true }
linebender_resource_handle = { version = "0.1.1", default-features = false } linebender_resource_handle = { version = "0.1.1", default-features = false }
log = "0.4.20" log = "0.4.29"
modit = { version = "0.1.4", optional = true } modit = { version = "0.1.5", optional = true }
rangemap = "1.4.0" rangemap = "1.6.0"
rustc-hash = { version = "1.1.0", default-features = false } rustc-hash = { version = "2.1.1", default-features = false }
self_cell = "1.0.1" self_cell = "1.2.2"
skrifa = { version = "0.39.0", default-features = false } skrifa = { version = "0.36.0", default-features = false }
smol_str = { version = "0.2.2", default-features = false } smol_str = { version = "0.3.2", default-features = false }
syntect = { version = "5.1.0", optional = true } syntect = { version = "5.3.0", optional = true }
sys-locale = { version = "0.3.1", optional = true } sys-locale = { version = "0.3.2", optional = true }
unicode-linebreak = "0.1.5" unicode-linebreak = "0.1.5"
unicode-script = "0.5.5" unicode-script = "0.5.8"
unicode-segmentation = "1.10.1" unicode-segmentation = "1.12.0"
[dependencies.swash] [dependencies.swash]
version = "0.2.0" version = "0.2.6"
default-features = false default-features = false
features = ["render", "scale"] features = ["render", "scale"]
optional = true optional = true
[dependencies.unicode-bidi] [dependencies.unicode-bidi]
version = "0.3.13" version = "0.3.18"
default-features = false default-features = false
features = ["hardcoded-data"] features = ["hardcoded-data"]
@ -75,8 +75,8 @@ harness = false
members = ["examples/*"] members = ["examples/*"]
[dev-dependencies] [dev-dependencies]
tiny-skia = "0.11.2" tiny-skia = "0.11.4"
criterion = { version = "0.5.1", default-features = false, features = [ criterion = { version = "0.7.0", default-features = false, features = [
"cargo_bench_support", "cargo_bench_support",
] } ] }

View file

@ -8,8 +8,8 @@ publish = false
[dependencies] [dependencies]
cosmic-text = { path = "../../" } cosmic-text = { path = "../../" }
env_logger = "0.10" env_logger = "0.11"
fontdb = "0.13" fontdb = "0.23"
log = "0.4" log = "0.4"
orbclient = "0.3.35" orbclient = "0.3.50"
unicode-segmentation = "1.7" unicode-segmentation = "1.12"

View file

@ -8,12 +8,12 @@ publish = false
[dependencies] [dependencies]
cosmic-text = { path = "../..", features = ["syntect"] } cosmic-text = { path = "../..", features = ["syntect"] }
env_logger = "0.10" env_logger = "0.11"
fontdb = "0.13" fontdb = "0.23"
log = "0.4" log = "0.4"
softbuffer = "0.4" softbuffer = "0.4"
tiny-skia = "0.11" tiny-skia = "0.11"
unicode-segmentation = "1.7" unicode-segmentation = "1.12"
winit = "0.29" winit = "0.29"
[features] [features]

View file

@ -8,10 +8,10 @@ publish = false
[dependencies] [dependencies]
cosmic-text = { path = "../.." } cosmic-text = { path = "../.." }
env_logger = "0.10" env_logger = "0.11"
fontdb = "0.13" fontdb = "0.23"
log = "0.4" log = "0.4"
softbuffer = "0.4" softbuffer = "0.4"
tiny-skia = "0.11" tiny-skia = "0.11"
unicode-segmentation = "1.7" unicode-segmentation = "1.12"
winit = "0.29" winit = "0.29"

View file

@ -8,10 +8,10 @@ publish = false
[dependencies] [dependencies]
cosmic-text = { path = "../.." } cosmic-text = { path = "../.." }
env_logger = "0.10" env_logger = "0.11"
fontdb = "0.13" fontdb = "0.23"
log = "0.4" log = "0.4"
softbuffer = "0.4" softbuffer = "0.4"
tiny-skia = "0.11" tiny-skia = "0.11"
unicode-segmentation = "1.7" unicode-segmentation = "1.12"
winit = "0.29" winit = "0.29"

View file

@ -7,8 +7,8 @@ license = "MIT OR Apache-2.0"
publish = false publish = false
[dependencies] [dependencies]
colored = "2.0" colored = "3.1"
cosmic-text = { path = "../../" } cosmic-text = { path = "../../" }
env_logger = "0.10" env_logger = "0.11"
fontdb = "0.13" fontdb = "0.23"
log = "0.4" log = "0.4"