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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- 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
Uh oh!
There was an error while loading. Please reload this page.
Summary by CodeRabbit
New Release
Bug Fixes
Performance
Documentation