@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8- ## [ Unreleased ]
8+ ## [ 0.4.3 ] - 2026-06-09
99
1010### ⚠️ Breaking Changes
1111
@@ -49,6 +49,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4949 - Return typed Unrepresentable reasons when strict exact-to-f64 conversion would round or become non-finite.
5050 - Specialize D4 exact determinants and keep determinant/error-bound zero coefficients from evaluating overflowing absent terms.
5151 - Update exact benchmark comparison reporting to compare strict and rounded APIs against legacy v0.4.2 rows.
52+ - Archive release performance reports [ ` 2817d01 ` ] ( https://github.com/acgetchell/la-stack/commit/2817d01374ad0aeab98d6f48a3dae9b30f878a8a )
53+ - Add an archive-performance utility that promotes curated benchmark reports into docs/PERFORMANCE.md while archiving prior release comparisons
54+ - Generate release comparisons in isolated temporary worktrees, including legacy command fallback for published tags
55+ - Wire release and historical archive recipes into just, Python packaging, and release documentation
56+ - Automate published performance report archiving [ ` d31e26a ` ] ( https://github.com/acgetchell/la-stack/commit/d31e26a9d7a47a6c3089028630640bcff5afe7c0 )
57+ - Track the latest curated release comparison in docs/PERFORMANCE.md and archive older comparisons under docs/archive/performance/
58+ - Let performance-archive-published discover the latest stable GitHub release and previous stable baseline automatically
59+ - Generate release comparisons in isolated temporary worktrees, with release-asset restore and local baseline fallback paths
60+ - Update benchmark and release docs to use the scripted workflow instead of manual checkout steps
61+ - Split local and release performance comparisons [ ` 7258525 ` ] ( https://github.com/acgetchell/la-stack/commit/7258525590f2ed68d41879e71c833010e408e7f7 )
62+ - Add default performance-local and performance-release workflows that infer the relevant release tags and run in temporary worktrees.
63+ - Add a performance-github-assets workflow for comparing stored GitHub Actions release benchmark assets without local cargo runs.
64+ - Normalize release tags before fetching, downloading assets, or checking out detached worktrees.
65+ - Update performance docs, release guidance, and generated report instructions to use the new benchmark workflows.
66+ - Add vs_linalg-only performance checks [ ` d7c1487 ` ] ( https://github.com/acgetchell/la-stack/commit/d7c1487115e1a8e5bb1ec4fcc7592786e300e2ce )
67+ - Add local workflows for comparing current non-exact la-stack kernels against a release baseline without rerunning current nalgebra/faer or exact benchmarks.
68+ - Route archive-performance baseline and current benchmark commands by suite, with legacy fallback support for older release worktrees.
69+ - Document the faster release-signal workflow and expand Semgrep fixtures for benchmark, example, doctest, and public panic-path rules.
5270
5371### Changed
5472
@@ -61,6 +79,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6179 - Replace mypy with strict Ty checking in the Python workflow.
6280 - Parse TOML, JSON, argparse, and Semgrep inputs into typed boundary objects before downstream use.
6381 - Reject malformed Criterion estimates, non-finite timings, invalid confidence intervals, and malformed Semgrep result shapes.
82+ - Harden Rust release hygiene [ ` 8e12c93 ` ] ( https://github.com/acgetchell/la-stack/commit/8e12c935fe54e265e8ceb640702267ec0e71b7b1 )
83+ - Promote missing documentation and dead code lints to deny-level checks.
84+ - Forbid unsafe code explicitly across Rust modules and benchmark targets.
85+ - Document the LU/LDLT empty-matrix convention for D=0.
86+ - Move exact benchmark input generation into typed helpers and consolidate exact benchmark operation dispatch.
6487
6588### Documentation
6689
@@ -82,6 +105,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
82105
83106 - Return matrix-cell metadata when inf-norm row sums or symmetry tolerance scaling overflow.
84107 - Avoid reparsing finite-by-construction RHS vectors in LU and LDLT solves.
108+ - Re-raise unexpected archive failures [ ` 7938386 ` ] ( https://github.com/acgetchell/la-stack/commit/7938386166f1f3f5cf594c5def67458d48e19a98 )
109+ - Limit archive-performance CLI error handling to expected validation, filesystem, subprocess, and runtime failures.
110+ - Let unexpected exceptions propagate so benchmark archiving bugs surface during development.
111+
112+ ### Performance
113+
114+ - Improve factorization kernel [ ` 8837df1 ` ] ( https://github.com/acgetchell/la-stack/commit/8837df1f54a9fa2c20abc1487cfce4de8c8e09c5 )
115+
116+ - Preserve the tiny-dimension update shape for D2-D5 to avoid regressing the core fixed-size path
117+ - Fuse multiplier computation with trailing updates for larger dimensions to reduce extra column walks
118+ - Rely on the LDLT factorization proof instead of a redundant final finite-storage scan
119+ - Optimize exact and factorized solve kernels [ ` 1690355 ` ] ( https://github.com/acgetchell/la-stack/commit/1690355bf27c2cbba685ba0cd70486275c7620b8 )
120+ - Split LU and LDLT solve paths so tiny matrices keep the direct kernels while larger fixed dimensions avoid extra substitution work.
121+ - Convert dyadic exact solve results directly to finite f64 and preserve UnrepresentableReason recovery semantics on strict conversion failures.
122+ - Modernize release branch commands and keep just recipes sorted.
85123
86124## [ 0.4.2] - 2026-06-04
87125
@@ -634,7 +672,7 @@ Older releases are archived by minor series:
634672- [ 0.2.x] ( docs/archive/changelog/0.2.md )
635673- [ 0.1.x] ( docs/archive/changelog/0.1.md )
636674
637- [ Unreleased ] : https://github.com/acgetchell/la-stack/compare/v0.4.2...HEAD
675+ [ 0.4.3 ] : https://github.com/acgetchell/la-stack/compare/v0.4.2...v0.4.3
638676[ 0.4.2 ] : https://github.com/acgetchell/la-stack/compare/v0.4.1...v0.4.2
639677[ 0.4.1 ] : https://github.com/acgetchell/la-stack/compare/v0.4.0...v0.4.1
640678[ 0.4.0 ] : https://github.com/acgetchell/la-stack/compare/v0.3.0...v0.4.0
0 commit comments