Skip to content

Commit f59c98b

Browse files
nicoburnsxStrom
andauthored
Prepare Parley and Fontique 0.3.0 (#266)
Signed-off-by: Nico Burns <[email protected]> Co-authored-by: Kaur Kuut <[email protected]>
1 parent 3946cf6 commit f59c98b

File tree

5 files changed

+76
-15
lines changed

5 files changed

+76
-15
lines changed

CHANGELOG.md

+70-9
Original file line numberDiff line numberDiff line change
@@ -8,45 +8,77 @@ Subheadings to categorize changes are `added, changed, deprecated, removed, fixe
88

99
# Changelog
1010

11-
The latest published Parley release is [0.2.0](#020---2024-10-10) which was released on 2024-10-10.
12-
You can find its changes [documented below](#020---2024-10-10).
11+
The latest published Parley release is [0.3.0](#030---2025-02-27) which was released on 2025-02-27.
12+
You can find its changes [documented below](#030---2025-02-27).
1313

1414
## [Unreleased]
1515

1616
This release has an [MSRV] of 1.82.
1717

18-
### Added
18+
## [0.3.0] - 2025-02-27
1919

20-
#### Fontique
20+
This release has an [MSRV] of 1.82.
2121

22-
- `FontStretch`, `FontStyle`, and `FontWeight` get helper functions `from_fontconfig` ([#212][] by [@waywardmonkeys][])
22+
### Added
2323

2424
#### Parley
2525

2626
- `Generation` on `PlainEditor` to help implement lazy drawing. ([#143] by [@xorgy])
2727
- Support for preedit for input methods in `PlainEditor` ([#192][], [#198][] by [@tomcur][])
2828
- `PlainEditor` method to get a cursor area for use by the platform's input method ([#224][] by [@tomcur][])
2929
- `Layout` methods to calculate minimum and maximum content widths. ([#259][] by [@wfdewith][])
30-
31-
### Changed
30+
- `PlainEditor` now implements `Clone` ([#133][] by [@nicoburns])
31+
- Navigation and byte selection operations for `PlainEditor`. ([#146][] by [@xorgy])
32+
- AccessKit integration ([#166][] by [@mwcampbell])
33+
- `first_style` method to `Cluster` ([#264][] by [@nicoburns])
3234

3335
#### Fontique
3436

35-
- Breaking change: `Stretch`, `Style`, and `Weight` renamed to `FontWidth`, `FontStyle`, `FontWeight` ([#211][], [#223][] by [@waywardmonkeys][])
37+
- `FontStretch`, `FontStyle`, and `FontWeight` get helper functions `from_fontconfig` ([#212][] by [@waywardmonkeys][])
38+
- Impl `bytemuck` traits for `GenericFamily` ([#213][] by [@waywardmonkeys][])
39+
40+
### Changed
3641

3742
#### Parley
3843

44+
- Breaking change: The cursor API has been completely reworked ([#170][] by [@dfrg])
45+
- Breaking change: `PlainEditor`s API is now method-based rather than enum based ([#154][] by @mwcampbell)
3946
- Breaking change: `PlainEditor`'s semantics are no longer transactional ([#192][] by [@DJMcNab][])
4047
- Breaking change: `Alignment::Start` and `Alignment::End` now depend on text base direction.
4148
`Alignment::Left` and `Alignment::Right` are introduced for text direction-independent alignment. ([#250][] by [@tomcur][])
4249
- Breaking change: `Layout` is no longer `Sync`. ([#259][] by [@wfdewith][])
50+
- Breaking change: `PlainEditor`'s width is now `Option<f32>` rather than `f32` ([#137][] by [@nicoburns])
51+
- Breaking change: Make alignment when free space is negative configurable ([#241][] by [@nicoburns])
52+
53+
#### Fontique
54+
55+
- Breaking change: `Stretch`, `Style`, and `Weight` renamed to `FontWidth`, `FontStyle`, `FontWeight` ([#211][], [#223][] by [@waywardmonkeys][])
56+
- Depend on `read-fonts` instead of `skrifa` ([#162][] by [@nicoburns][])
4357

4458
### Fixed
4559

4660
#### Parley
4761

4862
- Fix alignment of right-to-left text. ([#250][], [#268][] by [@tomcur][])
4963
- Performing line breaking or aligning a layout again, after justified alignment had been applied previously, now lead to the correct results. ([#271][] by [@tomcur][])
64+
- Fix placement of inline boxes ([#163][] by [@spirali][])
65+
- Cursor position for lines that are not left-aligned ([#169][] by [@mwcampbell])
66+
- Fix `Cursor::from_point` to use the line's offset ([#176][] by [@DJMcNab])
67+
- Fix off-by-one error in `PlainEditor::cursor_at` ([#187][] by [@tomcur])
68+
- Fix binary search in `Layout::line_for_offset` ([#188][] by [@tomcur])
69+
- Fix whitespace collapsing at the start of inline spans ([#191][] by [@nicoburns])
70+
- Fix collapsing selection ([#201][] by [@tomcur])
71+
- Ignore affinities in `Selection::is_collapsed` ([#202][] by [@nicoburns])
72+
- Misc. inline box layout fixes ([#207][] by [@nicoburns])
73+
- Allow Bidi `base_level` to be determined from text ([#245][] by [@nicoburns])
74+
- Fix linebreaking for lines without text runs ([#249][] by [@wfdewith])
75+
- Correctly calculate trailing whitespace for all lines ([#256][] by [@wfdewith])
76+
- Strip whitespace following a newline when whitespace collapsing is enabled ([#254][] by [@nicoburns])
77+
- Account for inline boxes when collapsing whitespace after newlines ([#280][] by [@nicoburns])
78+
79+
#### Fontique
80+
81+
- Skip adding font family as fallback if it has zero coverage for given script ([#182][] by [@richardhozak]
5082

5183
## [0.2.0] - 2024-10-10
5284

@@ -103,7 +135,9 @@ This release has an [MSRV] of 1.70.
103135

104136
[@dfrg]: https://github.com/dfrg
105137
[@DJMcNab]: https://github.com/DJMcNab
138+
[@mwcampbell]: https://github.com/mwcampbell
106139
[@nicoburns]: https://github.com/nicoburns
140+
[@spirali]: https://github.com/spirali
107141
[@tomcur]: https://github.com/tomcur
108142
[@waywardmonkeys]: https://github.com/waywardmonkeys
109143
[@wfdewith]: https://github.com/wfdewith
@@ -121,18 +155,45 @@ This release has an [MSRV] of 1.70.
121155
[#106]: https://github.com/linebender/parley/pull/106
122156
[#126]: https://github.com/linebender/parley/pull/126
123157
[#129]: https://github.com/linebender/parley/pull/129
158+
[#133]: https://github.com/linebender/parley/pull/133
159+
[#137]: https://github.com/linebender/parley/pull/137
124160
[#143]: https://github.com/linebender/parley/pull/143
161+
[#146]: https://github.com/linebender/parley/pull/146
162+
[#154]: https://github.com/linebender/parley/pull/154
163+
[#162]: https://github.com/linebender/parley/pull/162
164+
[#163]: https://github.com/linebender/parley/pull/163
165+
[#166]: https://github.com/linebender/parley/pull/166
166+
[#169]: https://github.com/linebender/parley/pull/169
167+
[#170]: https://github.com/linebender/parley/pull/170
168+
[#176]: https://github.com/linebender/parley/pull/176
169+
[#182]: https://github.com/linebender/parley/pull/182
170+
[#187]: https://github.com/linebender/parley/pull/187
171+
[#188]: https://github.com/linebender/parley/pull/188
172+
[#191]: https://github.com/linebender/parley/pull/191
125173
[#192]: https://github.com/linebender/parley/pull/192
174+
[#194]: https://github.com/linebender/parley/pull/194
126175
[#198]: https://github.com/linebender/parley/pull/198
176+
[#201]: https://github.com/linebender/parley/pull/201
177+
[#202]: https://github.com/linebender/parley/pull/202
178+
[#207]: https://github.com/linebender/parley/pull/207
127179
[#211]: https://github.com/linebender/parley/pull/211
128180
[#212]: https://github.com/linebender/parley/pull/212
181+
[#213]: https://github.com/linebender/parley/pull/213
129182
[#223]: https://github.com/linebender/parley/pull/223
130183
[#224]: https://github.com/linebender/parley/pull/224
184+
[#241]: https://github.com/linebender/parley/pull/241
185+
[#245]: https://github.com/linebender/parley/pull/245
186+
[#249]: https://github.com/linebender/parley/pull/249
131187
[#250]: https://github.com/linebender/parley/pull/250
188+
[#254]: https://github.com/linebender/parley/pull/254
189+
[#256]: https://github.com/linebender/parley/pull/256
132190
[#259]: https://github.com/linebender/parley/pull/259
191+
[#264]: https://github.com/linebender/parley/pull/264
133192
[#268]: https://github.com/linebender/parley/pull/268
134193
[#271]: https://github.com/linebender/parley/pull/271
194+
[#280]: https://github.com/linebender/parley/pull/280
135195

136-
[Unreleased]: https://github.com/linebender/parley/compare/v0.2.0...HEAD
196+
[Unreleased]: https://github.com/linebender/parley/compare/v0.3.0...HEAD
197+
[0.3.0]: https://github.com/linebender/parley/releases/tag/v0.3.0
137198
[0.2.0]: https://github.com/linebender/parley/releases/tag/v0.2.0
138199
[0.1.0]: https://github.com/linebender/parley/releases/tag/v0.1.0

Cargo.lock

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ clippy.wildcard_dependencies = "warn"
6868
[workspace.dependencies]
6969
accesskit = "0.17"
7070
bytemuck = { version = "1.21.0", default-features = false }
71-
fontique = { version = "0.2.0", default-features = false, path = "fontique" }
71+
fontique = { version = "0.3.0", default-features = false, path = "fontique" }
7272
hashbrown = "0.15.2"
73-
parley = { version = "0.2.0", default-features = false, path = "parley" }
73+
parley = { version = "0.3.0", default-features = false, path = "parley" }
7474
peniko = { version = "0.3.1", default-features = false }
7575
skrifa = { version = "0.26.6", default-features = false }
7676
read-fonts = { version = "0.25.3", default-features = false }

fontique/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fontique"
3-
version = "0.2.0" # Keep in sync with workspace dependency specification
3+
version = "0.3.0" # Keep in sync with workspace dependency specification
44
description = "Font enumeration and fallback."
55
keywords = ["font", "text"]
66
categories = ["gui", "os"]

parley/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "parley"
3-
version = "0.2.0"
3+
version = "0.3.0"
44
description = "Parley provides an API for implementing rich text layout."
55
keywords = ["text", "layout"]
66
categories = ["gui", "graphics"]

0 commit comments

Comments
 (0)