chore(release): release v0.4.4#188
Conversation
- Bump crate, utility package, citation, and documentation metadata - Publish the v0.4.4 changelog and release performance comparison - Refresh reproducible LU-solve benchmarks and archived performance reports - Include exact-conversion and LDLT performance improvements - Harden version-sync checks and generated Markdown formatting
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
🚧 Files skipped from review as they are similar to previous changes (5)
📝 WalkthroughWalkthroughThe v0.4.4 release updates package metadata, documentation, benchmark measurement and reporting workflows, validation scripts, archived performance artifacts, and numerical exact-arithmetic and LDLT behavior. ChangesRelease and correctness updates
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #188 +/- ##
==========================================
- Coverage 97.87% 97.86% -0.02%
==========================================
Files 8 8
Lines 4947 4969 +22
==========================================
+ Hits 4842 4863 +21
- Misses 105 106 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
scripts/tests/test_postprocess_changelog.py (1)
90-111: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winCover the
postprocess_text()integration path.These tests exercise
_strip_dependabot_metadata()directly but do not verify the new call frompostprocess_text(). Add an assertion throughpostprocess_text()so wiring and ordering regressions are detected.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/tests/test_postprocess_changelog.py` around lines 90 - 111, Add an integration test in TestDependabotMetadata that invokes postprocess_text() with Dependabot metadata and asserts the footer is removed while the expected changelog content remains. Keep the existing direct _strip_dependabot_metadata() coverage and ensure the assertion verifies the new call is wired into postprocess_text() in the correct order.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@benches/vs_linalg.rs`:
- Around line 222-244: The three LU solve benchmarks use inconsistent input
ownership, so their timings include different copy costs. Update
la_stack_lu_solve, nalgebra_lu_solve, and faer_lu_solve to use the same
input-copying or borrowing protocol for both matrices and right-hand sides,
while preserving equivalent representative inputs. Regenerate the README and
release artifacts, and record comparable results using the same command,
features, inputs, and environment.
In `@CHANGELOG.md`:
- Around line 8-109: Regenerate the v0.4.4 section through the repository’s
prescribed changelog workflow instead of editing CHANGELOG.md directly. Preserve
the release entries while using the workflow’s generated formatting, provenance,
and reproducibility behavior.
In `@scripts/check_docs_version_sync.py`:
- Around line 261-265: Update _README_TAG_LINK_RE so version and revision
matches cannot terminate at a word boundary inside a longer tag; require the
token to end at “/” or an explicit non-tag-character boundary that excludes dots
and other semver/tag characters. Add a regression test covering dotted or
otherwise non-semver tags such as v1.2.3.4, ensuring they are not accepted as
v1.2.3.
In `@scripts/postprocess_changelog.py`:
- Around line 767-809: The _strip_dependabot_metadata function currently removes
matching YAML markers inside fenced code examples. Track fenced-code state while
scanning lines and only strip Dependabot metadata when the separator and
updated-dependencies block are outside fences; preserve all fenced content
unchanged. Add a regression test through postprocess_text covering a fenced YAML
example containing ---, updated-dependencies:, and ...
In `@src/exact.rs`:
- Around line 1298-1310: Update the public exact-solve documentation near the
existing independent-scaling description to state the conditional invariant:
matrix and RHS use a shared minimum scale when their independent scale exponents
differ by at most MAX_SHARED_SCALE_GAP_BITS (64), otherwise they retain
independent scales. Keep the documentation aligned with the logic in
ScaleExponent::for_decomposed and the matrix_scale/rhs_scale selection.
---
Nitpick comments:
In `@scripts/tests/test_postprocess_changelog.py`:
- Around line 90-111: Add an integration test in TestDependabotMetadata that
invokes postprocess_text() with Dependabot metadata and asserts the footer is
removed while the expected changelog content remains. Keep the existing direct
_strip_dependabot_metadata() coverage and ensure the assertion verifies the new
call is wired into postprocess_text() in the correct order.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 18ba6368-686b-487e-9b91-4734f9651f97
⛔ Files ignored due to path filters (4)
Cargo.lockis excluded by!**/*.lockdocs/assets/bench/vs_linalg_lu_solve_median.csvis excluded by!**/*.csvdocs/assets/bench/vs_linalg_lu_solve_median.svgis excluded by!**/*.svguv.lockis excluded by!**/*.lock
📒 Files selected for processing (25)
AGENTS.mdCHANGELOG.mdCITATION.cffCargo.tomlREADME.mdbenches/vs_linalg.rsdocs/BENCHMARKING.mddocs/PERFORMANCE.mddocs/RELEASING.mddocs/archive/performance/README.mddocs/archive/performance/v0.4.3-vs-v0.4.2.mddocs/assets/bench/vs_linalg_lu_solve_median.provenance.jsonjustfilepyproject.tomlscripts/bench_compare.pyscripts/check_docs_version_sync.pyscripts/criterion_dim_plot.pyscripts/postprocess_changelog.pyscripts/tests/test_bench_compare.pyscripts/tests/test_check_docs_version_sync.pyscripts/tests/test_criterion_dim_plot.pyscripts/tests/test_postprocess_changelog.pysrc/exact.rssrc/ldlt.rstests/vs_linalg_inputs.rs
- Reject tag prefixes embedded in longer non-semver revisions - Preserve fenced examples when stripping Dependabot metadata - Document the conditional exact-solve scaling invariant - Regenerate the v0.4.4 changelog through the release workflow
Summary by CodeRabbit
New Release
Bug Fixes
Performance
Documentation