-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathCHANGELOG.md
More file actions
252 lines (167 loc) · 10.4 KB
/
Copy pathCHANGELOG.md
File metadata and controls
252 lines (167 loc) · 10.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# Change Log
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
## [0.10.0] - 2026-06-20
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Add support for the new `read-fonts` Font API behind the `experimental_font_api`
feature flag in both `read-fonts` and `harfrust`, and update `read-fonts` to 0.40.2.
- Reject recursive extension lookups.
- Bound ligature cache construction.
## [0.9.0] - 2026-06-15
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Fix GPOS attachment offset overflow #384
- Require read-fonts 0.40.
## [0.8.4] - 2026-06-02
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Use bytes instead of str storage for language tag table.
## [0.8.3] - 2026-06-01
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Add method for appending bulk glyph infos to UnicodeBuffer.
## [0.8.2] - 2026-05-31
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Allow setting pre- and post-context from codepoints.
- Added `Language::new` constructor that accepts strings or bytes.
- Re-export `GlyphId` so that `FontFuncs` implementors don't need to add extra dependencies
to name the type.
- Reify glyph flags into a `GlyphFlags` type. Existing methods on `GlyphInfo` remain for now
to avoid a breaking change but will be removed in a future version.
- Fix AAT in place glyph deletion.
## [0.8.1] - 2026-05-28
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Added support for font function overrides to enable injection of hinted metrics and control
over character mapping. See `FontFuncs` and `ShapeOptions::font_funcs`.
- Added internal scaling support. See `ShapeOptions::scale` and `ShapeOptions::scale_separate`.
## [0.8.0] - 2026-05-26
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Refactor ot shape context functions into methods.
- Added `ShapeOptions` type as argument to shape calls, preparation for being
able to pass font functions. `ShapeOptions` accepts shape plan, point size, features.
`shape_with_plan()` function removed in favor of new builder-style API.
- Document release process to avoid missing LICENSE files.
Release 0.7.1 was released prematurely and yanked from crates.io.
## [0.7.1] - 2026-05-26
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Document release process to avoid missing LICENSE files.
## [0.7.0] - 2026-05-21
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Make core_maths dependency optional and add new libm feature to control it. One of libm or std
features is now required to build harfrust, matching the behavior of the fontations crates.
This is a breaking change.
## [0.6.2] - 2026-05-21
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Do not hardcode requirement on libm for read-fonts dependency. Libm is required for read-fonts
only in nostd environments.
## [0.6.1] - 2026-05-21
This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0),
and has an MSRV (minimum supported Rust version) of 1.85.
- Blocklist broken fonts in GDEF. This ports feature from HarfBuzz that was missing before.
- Add LICENSE file symlink to each crate.
## [0.6.0] - 2026-04-09
This release matches HarfBuzz [v14.1.0][harfbuzz-14.1.0], and has an MSRV (minimum supported Rust version) of 1.85.
Roll to `read-fonts` 0.39.0.
## [0.5.2] - 2026-03-04
This release matches HarfBuzz [v13.0.0][harfbuzz-13.0.0], and has an MSRV (minimum supported Rust version) of 1.85.
Fix `hr-shape` dependency, so we can publish on crates.io.
## [0.5.1] - 2026-03-04
This release matches HarfBuzz [v13.0.0][harfbuzz-13.0.0], and has an MSRV (minimum supported Rust version) of 1.85.
- New command-line tool `hr-shape` that is a limited counterpart to HarfBuzz `hb-shape`, in its own `hr-shape` crate.
- As a result of the above, source directory turned into a workspace, with new `harfrust` and `hr-shape` directories.
- Fix bug regarding cluster-level=3.
- Various small performance improvements.
- We stand by the people of Iran.
## [0.5.0] - 2026-01-07
This release matches HarfBuzz [v12.3.0][harfbuzz-12.3.0], and has an MSRV (minimum supported Rust version) of 1.85.
- Update to read-fonts 0.37.0 (and bump MSRV to 1.85).
- Various performance improvements.
## [0.4.1] - 2025-12-08
This release matches HarfBuzz [v12.2.0][harfbuzz-12.2.0], and has an MSRV (minimum supported Rust version) of 1.82.
- Make Script::from_iso15924_tag const.
- Avoid panic when saving syllable indices.
## [0.4.0] - 2025-11-10
This release matches HarfBuzz [v12.2.0][harfbuzz-12.2.0], and has an MSRV (minimum supported Rust version) of 1.82.
- Enable more HarfBuzz tests.
- Fix bug from [HarfBust puzzle](https://github.com/harfbuzz/harfbuzz/issues/5535).
- Update to read-fonts 0.36.0.
## [0.3.2] - 2025-10-15
This release matches HarfBuzz [v12.1.0][harfbuzz-12.1.0], and has an MSRV (minimum supported Rust version) of 1.82.
- Fix "would apply" logic for chained sequence context format 3. This bug was preventing accurate classification of
characters in Indic syllables for some fonts.
- Various optimizations.
## [0.3.1] - 2025-09-12
This release matches HarfBuzz [v11.5.0][harfbuzz-11.5.0], and has an MSRV (minimum supported Rust version) of 1.82.
- Actually bump MSRV from 1.80 to 1.82.
## [0.3.0] - 2025-09-12
This release matches HarfBuzz [v11.5.0][harfbuzz-11.5.0], and has an MSRV (minimum supported Rust version) of 1.82.
- Update to read-fonts 0.35.0.
- Bump MSRV from 1.80 to 1.82.
## [0.2.1] - 2025-09-12
This release matches HarfBuzz [v11.5.0][harfbuzz-11.5.0], and has an MSRV (minimum supported Rust version) of 1.80.
- Update to Unicode 17.0.
- Fix panic when processing chained sequence context format 3.
- Add accessors for script, language and direction to `ShapePlan`.
- Various optimizations.
## [0.2.0] - 2025-08-29
This release matches HarfBuzz [v11.4.4][harfbuzz-11.4.4], and has an MSRV (minimum supported Rust version) of 1.80.
- Major optimizations to speed up AAT shaping.
## [0.1.2] - 2025-08-20
This release matches HarfBuzz [v11.3.3][harfbuzz-11.3.3], and has an MSRV (minimum supported Rust version) of 1.80.
- Major optimizations to speed up shaping.
- Initial support for shape plan caching in the form of `ShapePlanKey`.
## [0.1.1] - 2025-08-11
This release matches HarfBuzz [v11.3.3][harfbuzz-11.3.3], and has an MSRV (minimum supported Rust version) of 1.75.
- Major optimizations to speed up shaping.
## [0.1.0] - 2025-06-10
This release matches HarfBuzz [v11.2.1][harfbuzz-11.2.1], and has an MSRV (minimum supported Rust version) of 1.75.
- Initial Release of HarfRuzz.
HarfRust is a fork of RustyBuzz.
See [their changelog](https://github.com/harfbuzz/rustybuzz/blob/main/CHANGELOG.md) for details of prior releases.
[Unreleased]: https://github.com/harfbuzz/harfrust/compare/0.10.0...HEAD
[0.10.0]: https://github.com/harfbuzz/harfrust/compare/0.9.0...0.10.0
[0.9.0]: https://github.com/harfbuzz/harfrust/compare/0.8.4...0.9.0
[0.8.4]: https://github.com/harfbuzz/harfrust/compare/0.8.3...0.8.4
[0.8.3]: https://github.com/harfbuzz/harfrust/compare/0.8.2...0.8.3
[0.8.2]: https://github.com/harfbuzz/harfrust/compare/0.8.1...0.8.2
[0.8.1]: https://github.com/harfbuzz/harfrust/compare/0.8.0...0.8.1
[0.8.0]: https://github.com/harfbuzz/harfrust/compare/0.7.1...0.8.0
[0.7.1]: https://github.com/harfbuzz/harfrust/compare/0.7.0...0.7.1
[0.7.0]: https://github.com/harfbuzz/harfrust/compare/0.6.2...0.7.0
[0.6.2]: https://github.com/harfbuzz/harfrust/compare/0.6.1...0.6.2
[0.6.1]: https://github.com/harfbuzz/harfrust/compare/0.6.0...0.6.1
[0.6.0]: https://github.com/harfbuzz/harfrust/compare/0.5.2...0.6.0
[0.5.2]: https://github.com/harfbuzz/harfrust/compare/0.5.1...0.5.2
[0.5.1]: https://github.com/harfbuzz/harfrust/compare/0.5.0...0.5.1
[0.5.0]: https://github.com/harfbuzz/harfrust/compare/0.4.1...0.5.0
[0.4.1]: https://github.com/harfbuzz/harfrust/compare/0.4.0...0.4.1
[0.4.0]: https://github.com/harfbuzz/harfrust/compare/0.3.2...0.4.0
[0.3.2]: https://github.com/harfbuzz/harfrust/compare/0.3.1...0.3.2
[0.3.1]: https://github.com/harfbuzz/harfrust/compare/0.3.0...0.3.1
[0.3.0]: https://github.com/harfbuzz/harfrust/compare/0.2.1...0.3.0
[0.2.1]: https://github.com/harfbuzz/harfrust/compare/0.2.0...0.2.1
[0.2.0]: https://github.com/harfbuzz/harfrust/compare/0.1.2...0.2.0
[0.1.2]: https://github.com/harfbuzz/harfrust/compare/0.1.1...0.1.2
[0.1.1]: https://github.com/harfbuzz/harfrust/compare/0.1.0...0.1.1
<!-- The last release of RustyBuzz before 0.1.0. -->
[0.1.0]: https://github.com/harfbuzz/harfrust/compare/8c52723ff75e91a33ae36e527baed871097e64bf...0.1.0
[harfbuzz-11.2.1]: https://github.com/harfbuzz/harfbuzz/releases/tag/11.2.1
[harfbuzz-11.3.3]: https://github.com/harfbuzz/harfbuzz/releases/tag/11.3.3
[harfbuzz-11.4.4]: https://github.com/harfbuzz/harfbuzz/releases/tag/11.4.4
[harfbuzz-11.5.0]: https://github.com/harfbuzz/harfbuzz/releases/tag/11.5.0
[harfbuzz-12.1.0]: https://github.com/harfbuzz/harfbuzz/releases/tag/12.1.0
[harfbuzz-12.2.0]: https://github.com/harfbuzz/harfbuzz/releases/tag/12.2.0
[harfbuzz-12.3.0]: https://github.com/harfbuzz/harfbuzz/releases/tag/12.3.0
[harfbuzz-13.0.0]: https://github.com/harfbuzz/harfbuzz/releases/tag/13.0.0
[harfbuzz-14.1.0]: https://github.com/harfbuzz/harfbuzz/releases/tag/14.1.0
[@khaledhosny]: https://github.com/khaledhosny
[#65]: https://github.com/harfbuzz/harfrust/pull/65