Skip to content

Commit 4942d5d

Browse files
committed
release(hotfix): prepare v0.7.5 benchmark-compatibility fix release
- Bump project version to 0.7.5 and mark this patch line as a hotfix release. - Add docs/changelog/v0.7.5.md documenting the MinGW benchmark registration fix and impact scope. - Update release index with v0.7.5 entry labeled as Hotfix. - Refresh README update/benchmarking version labels to explicitly communicate the v0.7.5 hotfix context.
1 parent 5253430 commit 4942d5d

4 files changed

Lines changed: 49 additions & 6 deletions

File tree

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ endif()
77

88
# ========== Project ==========
99
project(patternia
10-
VERSION 0.7.4
10+
VERSION 0.7.5
1111
DESCRIPTION "Header-only pattern matching library for modern C++"
1212
LANGUAGES CXX
1313
)

README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
## *Update*
3030

31-
- **Performance-focused update (v0.7.4)**guarded/typed evaluation paths reduce redundant binding work, with expanded bind-count tests and variant benchmark stabilization for regression tracking.
31+
- **Hotfix update (v0.7.5)**fixes MinGW benchmark registration compatibility in variant microbench setup while preserving the stable run profile.
3232
- **Variant matching is now supported (v0.7.x)** — including `type::is`, `type::as`, and `type::alt`.
3333
- **Planned change (v0.8.x)**`match(x, cases(...))` will be removed.
3434

@@ -353,11 +353,10 @@ ctest --test-dir build -R compile_fail --output-on-failure
353353
ctest --test-dir build --output-on-failure
354354
```
355355

356-
## *Benchmarking (v0.7.4)*
356+
## *Benchmarking (v0.7.5 Hotfix)*
357357

358-
Patternia v0.7.4 keeps the heavy-bind benchmark path and adds a variant-focused
359-
microbench profile so dispatch-cost regressions are easier to detect and
360-
compare across runs.
358+
Patternia v0.7.5 hotfix keeps the same benchmark scenarios and stable profile,
359+
and fixes a MinGW compilation issue in variant benchmark registration.
361360

362361
### Heavy-Bind Principle
363362

docs/changelog/releases.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@
1616
- [v0.7.2](v0.7.2.md) - February 14, 2026
1717
- [v0.7.3](v0.7.3.md) - February 16, 2026
1818
- [v0.7.4](v0.7.4.md) - February 18, 2026
19+
- [v0.7.5](v0.7.5.md) - February 18, 2026 (Hotfix)

docs/changelog/v0.7.5.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Patternia v0.7.5 Hotfix Release Note
2+
3+
**Release Date:** February 18, 2026
4+
**Version:** 0.7.5
5+
**Type:** Hotfix
6+
7+
---
8+
9+
## Overview
10+
11+
Patternia v0.7.5 is a hotfix release for v0.7.4. It fixes a benchmark
12+
registration issue that can fail compilation on MinGW toolchains.
13+
14+
---
15+
16+
## What Is Fixed
17+
18+
### Benchmark Registration Compatibility (MinGW)
19+
- Replaced `apply_stable_variant_profile(BENCHMARK(...))` registration style
20+
with direct `BENCHMARK(...)->...` chained configuration.
21+
- Preserved the same stable variant benchmark profile:
22+
nanosecond unit, minimum run time, repetitions, and aggregate-only reporting.
23+
24+
### Benchmark Warning Cleanup
25+
- Updated the alternating-hot variant microbench path to avoid the deprecated
26+
const-reference `DoNotOptimize` usage.
27+
28+
---
29+
30+
## Impact
31+
32+
- API surface: unchanged.
33+
- Runtime semantics: unchanged.
34+
- Build behavior: benchmark target now compiles on MinGW where v0.7.4 could
35+
fail.
36+
37+
---
38+
39+
## Implementation Notes
40+
41+
- `bench/bench_match_variant.cpp`
42+
- Fixed benchmark macro registration pattern for compatibility.
43+
- Kept benchmark profile semantics unchanged.

0 commit comments

Comments
 (0)