diff --git a/CHANGELOG.md b/CHANGELOG.md index 69509acc..09e03d1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [0.12.0] - 2026-07-03 + +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. + +- Update `read-fonts` to 0.41.0 (#403). +- Saturate AAT kerning position accumulation to avoid overflow (#400). +- Regenerate the Unicode data tables with the latest `packtab` (#401). +- Keep GPOS variation-index deltas fractional to match HarfBuzz, avoiding + sub-font-unit advance and placement differences on variable fonts (#403). +- Keep AAT `trak` tracking fractional to match HarfBuzz (#404). + ## [0.11.0] - 2026-06-29 This release matches HarfBuzz [v14.2.0](https://github.com/harfbuzz/harfbuzz/releases/tag/14.2.0), @@ -219,7 +231,8 @@ This release matches HarfBuzz [v11.2.1][harfbuzz-11.2.1], and has an MSRV (minim 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.11.0...HEAD +[Unreleased]: https://github.com/harfbuzz/harfrust/compare/0.12.0...HEAD +[0.12.0]: https://github.com/harfbuzz/harfrust/compare/0.11.0...0.12.0 [0.11.0]: https://github.com/harfbuzz/harfrust/compare/0.10.0...0.11.0 [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 diff --git a/Cargo.toml b/Cargo.toml index 9175573d..ac298c6a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["harfrust", "hr-shape", "fuzz"] resolver = "2" [workspace.package] -version = "0.11.0" +version = "0.12.0" edition = "2021" rust-version = "1.85" # should match https://github.com/googlefonts/fontations/blob/main/Cargo.toml description = "A complete HarfBuzz shaping algorithm port to Rust." @@ -23,7 +23,7 @@ inherits = "release" [workspace.dependencies] read-fonts = { version = "0.41.0", default-features = false, features = ["experimental_font_api"] } -harfrust = { version = "0.11.0", path = "./harfrust", default-features = false } +harfrust = { version = "0.12.0", path = "./harfrust", default-features = false } [workspace.lints.rust] unused_qualifications = "warn" diff --git a/scripts/bump-version.sh b/scripts/bump-version.sh deleted file mode 100755 index c0248ce1..00000000 --- a/scripts/bump-version.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -if [[ $# -ne 1 ]]; then - echo "usage: $0 " >&2 - exit 1 -fi - -new_version="$1" - -if [[ ! "$new_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo "error: version must match .." >&2 - exit 1 -fi - -script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -repo_root="$(cd "$script_dir/.." && pwd)" - -cargo_toml="$repo_root/Cargo.toml" -hr_shape_toml="$repo_root/hr-shape/Cargo.toml" -changelog="$repo_root/CHANGELOG.md" - -current_version="$( - perl -ne 'print "$1\n" if /^\s*version = "([^"]+)"\s*$/' "$cargo_toml" | head -n1 -)" - -if [[ -z "$current_version" ]]; then - echo "error: failed to read current workspace version from $cargo_toml" >&2 - exit 1 -fi - -if [[ "$current_version" == "$new_version" ]]; then - echo "error: version is already $new_version" >&2 - exit 1 -fi - -today="$(date +%F)" - -OLD_VERSION="$current_version" NEW_VERSION="$new_version" perl -0pi -e ' - my $old = $ENV{OLD_VERSION}; - my $new = $ENV{NEW_VERSION}; - s/^version = "\Q$old\E"$/version = "$new"/m - or die "failed to update workspace version\n"; -' "$cargo_toml" - -NEW_VERSION="$new_version" perl -0pi -e ' - my $new = $ENV{NEW_VERSION}; - s/version = "=[^"]+"/version = "=$new"/ - or die "failed to update hr-shape harfrust dependency\n"; -' "$hr_shape_toml" - -OLD_VERSION="$current_version" NEW_VERSION="$new_version" TODAY="$today" perl -0pi -e ' - my $old = $ENV{OLD_VERSION}; - my $new = $ENV{NEW_VERSION}; - my $today = $ENV{TODAY}; - - s{^## \[Unreleased\]\n}{## [Unreleased]\n\n## [$new] - $today\n\n}m - or die "failed to add changelog release heading\n"; - - s{^\[Unreleased\]: https://github\.com/harfbuzz/harfrust/compare/\Q$old\E\.\.\.HEAD$}{[Unreleased]: https://github.com/harfbuzz/harfrust/compare/$new...HEAD\n[$new]: https://github.com/harfbuzz/harfrust/compare/$old...$new}m - or die "failed to update changelog compare links\n"; -' "$changelog" - -echo "bumped version: $current_version -> $new_version"