Skip to content

Commit 10fedab

Browse files
authored
Prepare for v0.7.0 release (#470)
Prepare for v0.7.0 release. - Depends on: #469 - Updates the changelog for v0.7.0 - Bumps versions of `parley` and `fontique` --------- Signed-off-by: Nico Burns <nico@nicoburns.com>
1 parent ae98071 commit 10fedab

File tree

5 files changed

+83
-11
lines changed

5 files changed

+83
-11
lines changed

CHANGELOG.md

Lines changed: 77 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,69 @@ Subheadings to categorize changes are `added, changed, deprecated, removed, fixe
88

99
# Changelog
1010

11-
The latest published Parley release is [0.6.0](#060---2025-10-06) which was released on 2025-10-06.
12-
You can find its changes [documented below](#060---2025-10-06).
11+
The latest published Parley release is [0.7.0](#060---2025-11-24) which was released on 2025-11-24.
12+
You can find its changes [documented below](#060---2025-11-24).
1313

1414
## [Unreleased]
1515

16-
This release has an [MSRV] of 1.82.
16+
This release has an [MSRV] of 1.83.
17+
18+
## [0.7.0] - 2025-11-24
19+
20+
This release has an [MSRV] of 1.83.
21+
22+
### Highlights
23+
24+
[#448][] by [@taj-p][]) and ([#449][] by [@nicoburns][] collectively fix a significant performance bug that occurred when laying
25+
out large paragraphs of text.
26+
Previously the time to perform layout was non-linear with respect to the input size and laying out
27+
paragraphs of text with more than ~1k characters was very slow.
28+
29+
The new `TextWrapMode` style implements the semantics of the [`text-wrap-mode`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-wrap-mode)
30+
CSS property and allows text-wrapping to be disabled completely for a span of text.
31+
32+
### Migration
33+
34+
Some modules have been moved:
35+
36+
- `parley::editor` and `parley::layout::editor` are now `parley::editing`.
37+
- `parley::layout::cursor` is now `parley::cursor`.
38+
39+
Fontique no longer sets the `dlopen` feature of `yeslogic-fontconfig-sys` by default. If you wish to run Fontique on a Linux system
40+
without fontconfig installed then you will need to enable the new `fontconfig-dlopen` feature of the `fontique` crate.
41+
If you wish to compile Fontique on a Linux system without the `fontconfig-dlopen` enabled then you will need the fontconfig dev
42+
package (e.g. `libfontconfig1-dev` on Ubuntu) installed.
43+
44+
### Added
45+
46+
#### Parley
47+
48+
- Add `TextWrapMode` style. This allow line wrapping to be disabled completely for a span of text (excluding explicit line breaks). ([#367][] by [@nicoburns][])
49+
- Add `Cluster::from_point_exact` method for hit-testing spans of text. This is useful for implementing "hover" or "click" functionality. ([#447][] by [@nicoburns][])
50+
51+
### Changed
52+
53+
#### Parley
54+
55+
- Split off various modules into "editing" folder. ([#440][] by [@PoignardAzur][])
56+
- Split contents of layout/mod.rs file. ([#444][] by [@PoignardAzur][])
57+
58+
#### Fontique
59+
60+
- Make the yeslogic-fontconfig-sys/dlopen feature optional. [#467][] by [@ogoffart][])
61+
62+
### Fixed
63+
64+
#### Parley
65+
66+
- Running line height calculation. ([#448][] by [@taj-p][])
67+
- Optimise line height computation. ([#449][] by [@nicoburns][])
68+
- Add word and letter spacing to text layout based on style properties. ([#468][] by [@dolsup][])
69+
- Hang trailing whitespace preceding explicit newline. ([#276][] by [@wfdewith][])
70+
71+
#### Fontique
72+
73+
- Fix build on platforms without 64bit atomics. ([#451][] by [@nicoburns][])
1774

1875
## [0.6.0] - 2025-10-06
1976

@@ -270,10 +327,13 @@ This release has an [MSRV][] of 1.70.
270327
[@dfrg]: https://github.com/dfrg
271328
[@dhardy]: https://github.com/dhardy
272329
[@DJMcNab]: https://github.com/DJMcNab
330+
[@dolsup]: https://github.com/dolsup
273331
[@kekelp]: https://github.com/kekelp
274332
[@mwcampbell]: https://github.com/mwcampbell
275333
[@nicoburns]: https://github.com/nicoburns
276334
[@NoahR02]: https://github.com/NoahR02
335+
[@ogoffart]: https://github.com/ogoffart
336+
[@PoignardAzur]: https://github.com/@PoignardAzur
277337
[@richardhozak]: https://github.com/richardhozak
278338
[@spirali]: https://github.com/spirali
279339
[@taj-p]: https://github.com/taj-p
@@ -331,6 +391,7 @@ This release has an [MSRV][] of 1.70.
331391
[#264]: https://github.com/linebender/parley/pull/264
332392
[#268]: https://github.com/linebender/parley/pull/268
333393
[#271]: https://github.com/linebender/parley/pull/271
394+
[#276]: https://github.com/linebender/parley/pull/276
334395
[#280]: https://github.com/linebender/parley/pull/280
335396
[#294]: https://github.com/linebender/parley/pull/294
336397
[#296]: https://github.com/linebender/parley/pull/296
@@ -352,6 +413,7 @@ This release has an [MSRV][] of 1.70.
352413
[#348]: https://github.com/linebender/parley/pull/348
353414
[#353]: https://github.com/linebender/parley/pull/353
354415
[#362]: https://github.com/linebender/parley/pull/362
416+
[#367]: https://github.com/linebender/parley/pull/367
355417
[#368]: https://github.com/linebender/parley/pull/368
356418
[#369]: https://github.com/linebender/parley/pull/369
357419
[#378]: https://github.com/linebender/parley/pull/378
@@ -368,8 +430,18 @@ This release has an [MSRV][] of 1.70.
368430
[#413]: https://github.com/linebender/parley/pull/413
369431
[#414]: https://github.com/linebender/parley/pull/414
370432
[#418]: https://github.com/linebender/parley/pull/418
371-
372-
[Unreleased]: https://github.com/linebender/parley/compare/v0.5.0...HEAD
433+
[#440]: https://github.com/linebender/parley/pull/440
434+
[#444]: https://github.com/linebender/parley/pull/444
435+
[#447]: https://github.com/linebender/parley/pull/447
436+
[#448]: https://github.com/linebender/parley/pull/448
437+
[#449]: https://github.com/linebender/parley/pull/449
438+
[#451]: https://github.com/linebender/parley/pull/451
439+
[#467]: https://github.com/linebender/parley/pull/467
440+
[#468]: https://github.com/linebender/parley/pull/468
441+
442+
[Unreleased]: https://github.com/linebender/parley/compare/v0.7.0...HEAD
443+
[0.7.0]: https://github.com/linebender/parley/compare/v0.6.0...v0.7.0
444+
[0.6.0]: https://github.com/linebender/parley/compare/v0.5.0...v0.6.0
373445
[0.5.0]: https://github.com/linebender/parley/compare/v0.4.0...v0.5.0
374446
[0.4.0]: https://github.com/linebender/parley/compare/v0.3.0...v0.4.0
375447
[0.3.0]: https://github.com/linebender/parley/compare/v0.2.0...v0.3.0

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ repository = "https://github.com/linebender/parley"
2727
accesskit = "0.21.1"
2828
bytemuck = { version = "1.24.0", default-features = false }
2929
databake = { version = "0.2", default-features = false, features = ["derive"] }
30-
fontique = { version = "0.6.0", default-features = false, path = "fontique" }
30+
fontique = { version = "0.7.0", default-features = false, path = "fontique" }
3131
harfrust = { version = "0.3.2", default-features = false }
3232
hashbrown = "0.16.1"
3333
icu_codepointtrie_builder = { version = "0.5.1", default-features = false, features = ["wasm"] }
@@ -43,7 +43,7 @@ icu_provider_export = { version = "2.1.1", default-features = false }
4343
icu_provider_source = { version = "2.1.1", default-features = false }
4444
icu_segmenter = { version = "2.1.1", default-features = false }
4545
linebender_resource_handle = { version = "0.1.1", default-features = false }
46-
parley = { version = "0.6.0", default-features = false, path = "parley" }
46+
parley = { version = "0.7.0", default-features = false, path = "parley" }
4747
unicode_data = { path = "unicode_data", default-features = false }
4848
unicode_data_gen = { path = "unicode_data_gen" }
4949
parley_dev = { default-features = false, path = "parley_dev" }

fontique/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fontique"
3-
version = "0.6.0" # Keep in sync with workspace dependency specification
3+
version = "0.7.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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "parley"
3-
version = "0.6.0"
3+
version = "0.7.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)