Skip to content

Commit b72a800

Browse files
committed
Prepare Parley and Fontique 0.3.0
Signed-off-by: Nico Burns <[email protected]>
1 parent 7c8983c commit b72a800

File tree

5 files changed

+71
-10
lines changed

5 files changed

+71
-10
lines changed

CHANGELOG.md

+65-4
Original file line numberDiff line numberDiff line change
@@ -8,45 +8,79 @@ 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-28) which was released on 2025-02-28.
12+
You can find its changes [documented below](#030---2025-02-28).
1313

1414
## [Unreleased]
1515

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

18+
## [0.3.0] - 2025-02-28
19+
20+
This release has an [MSRV] of 1.82.
21+
1822
### Added
1923

2024
#### Fontique
2125

2226
- `FontStretch`, `FontStyle`, and `FontWeight` get helper functions `from_fontconfig` ([#212][] by [@waywardmonkeys][])
27+
- Impl bytemuck traits for GenericFamily ([#213][] by [@waywardmonkeys][])
2328

2429
#### Parley
2530

2631
- `Generation` on `PlainEditor` to help implement lazy drawing. ([#143] by [@xorgy])
2732
- Support for preedit for input methods in `PlainEditor` ([#192][], [#198][] by [@tomcur][])
2833
- `PlainEditor` method to get a cursor area for use by the platform's input method ([#224][] by [@tomcur][])
2934
- `Layout` methods to calculate minimum and maximum content widths. ([#259][] by [@wfdewith][])
35+
- `PlainEditor` now implements `Clone` for ([#133][] by [@nicoburns])
36+
- `PlainEditor`: Add byte selection and navigation operations. ([#146][] by [@xorgy])
37+
- AccessKit integration ([#166][] by [@mwcampbell])
38+
- Add `first_style` method to Cluster ([#264][] by [@nicoburns])
3039

3140
### Changed
3241

3342
#### Fontique
3443

3544
- Breaking change: `Stretch`, `Style`, and `Weight` renamed to `FontWidth`, `FontStyle`, `FontWeight` ([#211][], [#223][] by [@waywardmonkeys][])
45+
- Fontique: depend on read-fonts instead of skrifa ([#162][] by [@nicoburns][])
3646

3747
#### Parley
3848

49+
- Breaking change: The cursor API has been completely reworked ([#170][] by [@dfrg])
50+
- Breaking change: `PlainEditor`s API is now method-based rather than enum based ([#154][] by @mwcampbell)
3951
- Breaking change: `PlainEditor`'s semantics are no longer transactional ([#192][] by [@DJMcNab][])
4052
- Breaking change: `Alignment::Start` and `Alignment::End` now depend on text base direction.
4153
`Alignment::Left` and `Alignment::Right` are introduced for text direction-independent alignment. ([#250][] by [@tomcur][])
4254
- Breaking change: `Layout` is no longer `Sync`. ([#259][] by [@wfdewith][])
55+
- Breaking change: `PlainEditor`'s width is now `Option<f32>` rather than `f32` ([#137][] by [@nicoburns])
56+
- Breaking change: Make alignment when free space is negative configurable ([#241][] by [@nicoburns])
57+
58+
241
4359

4460
### Fixed
4561

4662
#### Parley
4763

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

5185
## [0.2.0] - 2024-10-10
5286

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

104138
[@dfrg]: https://github.com/dfrg
105139
[@DJMcNab]: https://github.com/DJMcNab
140+
[@mwcampbell]: https://github.com/mwcampbell
106141
[@nicoburns]: https://github.com/nicoburns
142+
[@spirali]: https://github.com/spirali
107143
[@tomcur]: https://github.com/tomcur
108144
[@waywardmonkeys]: https://github.com/waywardmonkeys
109145
[@wfdewith]: https://github.com/wfdewith
@@ -121,18 +157,43 @@ This release has an [MSRV] of 1.70.
121157
[#106]: https://github.com/linebender/parley/pull/106
122158
[#126]: https://github.com/linebender/parley/pull/126
123159
[#129]: https://github.com/linebender/parley/pull/129
160+
[#133]: https://github.com/linebender/parley/pull/133
161+
[#137]: https://github.com/linebender/parley/pull/137
124162
[#143]: https://github.com/linebender/parley/pull/143
163+
[#146]: https://github.com/linebender/parley/pull/146
164+
[#154]: https://github.com/linebender/parley/pull/154
165+
[#163]: https://github.com/linebender/parley/pull/163
166+
[#166]: https://github.com/linebender/parley/pull/166
167+
[#169]: https://github.com/linebender/parley/pull/169
168+
[#170]: https://github.com/linebender/parley/pull/170
169+
[#176]: https://github.com/linebender/parley/pull/176
170+
[#182]: https://github.com/linebender/parley/pull/182
171+
[#187]: https://github.com/linebender/parley/pull/187
172+
[#188]: https://github.com/linebender/parley/pull/188
173+
[#191]: https://github.com/linebender/parley/pull/191
125174
[#192]: https://github.com/linebender/parley/pull/192
175+
[#194]: https://github.com/linebender/parley/pull/194
126176
[#198]: https://github.com/linebender/parley/pull/198
177+
[#201]: https://github.com/linebender/parley/pull/201
178+
[#202]: https://github.com/linebender/parley/pull/202
179+
[#207]: https://github.com/linebender/parley/pull/207
127180
[#211]: https://github.com/linebender/parley/pull/211
128181
[#212]: https://github.com/linebender/parley/pull/212
182+
[#213]: https://github.com/linebender/parley/pull/213
129183
[#223]: https://github.com/linebender/parley/pull/223
130184
[#224]: https://github.com/linebender/parley/pull/224
131-
[#250]: https://github.com/linebender/parley/pull/250
185+
[#245]: https://github.com/linebender/parley/pull/245
186+
[#249]: https://github.com/linebender/parley/pull/245
187+
[#250]: https://github.com/linebender/parley/pull/249
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.5", 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)