Skip to content

chore(release): release v0.4.4#87

Merged
acgetchell merged 1 commit intomainfrom
release/v0.4.4
Sep 20, 2025
Merged

chore(release): release v0.4.4#87
acgetchell merged 1 commit intomainfrom
release/v0.4.4

Conversation

@acgetchell
Copy link
Owner

  • Bump version to v0.4.4
  • Update changelog with latest changes
  • Update documentation for release
  • Add performance results for v0.4.4

- Bump version to v0.4.4
- Update changelog with latest changes
- Update documentation for release
- Add performance results for v0.4.4
Copilot AI review requested due to automatic review settings September 20, 2025 15:56
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 20, 2025

Walkthrough

Promotes version to v0.4.4, updates the changelog with internal refactor notes (key-based internals, RCU cache handling), and refreshes benchmark results and narrative. No public API signature changes. Bench documents revised with new timings and rankings.

Changes

Cohort / File(s) Summary
Release bump
Cargo.toml
Version updated from 0.4.3 → 0.4.4.
Changelog update
CHANGELOG.md
Adds v0.4.4 entry (2025-09-18), documenting internal key-based API phase completion, RCU-based cache handling, boundary/facet robustness notes, CI/benchmark tooling updates, and internal cleanups; no public API signature changes.
Benchmarks refresh
benches/PERFORMANCE_RESULTS.md
Updates metadata (date, commit, version) and replaces performance tables/text for 2D–5D insphere variants; adjusts rankings and comparative figures; revises conclusions and historical comparison text.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant U as User Code
    participant API as Public API (unchanged)
    participant K as Internal Key-Based APIs
    participant S as SlotMap Storage
    participant C as Facet Cache (RCU)

    U->>API: Request operation
    API->>K: Resolve via CellKey/VertexKey
    note over K: Avoid UUID lookups in hot paths
    K->>S: Read/Write by key
    opt Cache miss or rebuild
        K->>C: Build/Update facet cache (RCU)
        C-->>K: Concurrent-safe snapshot
    end
    K-->>API: Result or error
    API-->>U: Response
Loading

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • Fix/benchmarks #76 — Also modifies benchmark/CI tooling; likely related to the refreshed benchmarking docs and processes.

Suggested labels

documentation, rust

Poem

I twitch my nose at v0.4.4’s glow,
Keys hop ahead where UUIDs once slow.
Caches knit with RCU’s gentle care,
Benchmarks thump—new numbers everywhere!
I burrow through change logs, light as air,
SlotMaps stacked like carrots I spare.
Happy hops—release declared! 🥕🐇

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "chore(release): release v0.4.4" succinctly and accurately summarizes the PR's primary intent — preparing a release by bumping the version and updating changelog, docs, and performance results — and it matches the changes in the diff. It is concise, follows conventional commit style, and is clear for teammates scanning history.
Description Check ✅ Passed The description lists the central release actions (version bump, changelog update, documentation updates, and adding performance results) which directly correspond to the modified files and PR objectives, so it is related to the changeset. Given this alignment, the description passes the lenient relevance check.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch release/v0.4.4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR releases version 0.4.4 of the delaunay library with significant performance optimizations and robustness improvements. The release focuses on completing Phase 2 optimizations that use key-based internal APIs and implementing a FacetCacheProvider for improved Bowyer-Watson algorithm performance.

  • Updates version number from 0.4.3 to 0.4.4
  • Adds comprehensive changelog entries documenting Phase 2 optimizations and performance improvements
  • Updates performance benchmark results showing improved execution times across different algorithms

Reviewed Changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.

File Description
Cargo.toml Updates package version from 0.4.3 to 0.4.4
CHANGELOG.md Adds detailed v0.4.4 release notes with optimization features and performance improvements
benches/PERFORMANCE_RESULTS.md Updates benchmark results with improved performance metrics for v0.4.4

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

when multiple tag-specific files are available.
This change ensures consistent baseline selection and improves regression test accuracy.
Also changes to the regression summary, which is an internal change.4
Also changes to the regression summary, which is an internal change.
Copy link

Copilot AI Sep 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sentence appears incomplete. It should end with proper punctuation and clarity about what changed in the regression summary.

Suggested change
Also changes to the regression summary, which is an internal change.
Additionally, the regression summary output was updated to provide clearer reporting of benchmark results and highlight performance changes between baseline and current runs.

Copilot uses AI. Check for mistakes.
Comment on lines +161 to +186
- **Changed: Complete Phase 2 Key-Based Internal APIs (internal)**

[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)

Completes the Phase 2 optimization of internal APIs by
refactoring functions to use CellKeys/VertexKeys and eliminating
UUID lookups in most hot paths.

Optimizes neighbor operations and validation with key-based
methods, maintains backward compatibility with UUID-based public
APIs, and adds key-based accessor methods. Moves remaining work
to Phase 3: Cell structure refactoring to store VertexKeys directly.

Phase 2 achieved 20-40% performance gains in neighbor
operations.

- **Changed: Completes Phase 2 optimizations**

[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)

Marks Phase 2 "Key-Based Internal APIs" as complete in the
optimization roadmap. This includes the FacetCacheProvider
implementation for Bowyer-Watson algorithms, significantly
reducing facet mapping computation time. Updates related
documentation and code to reflect the completed status.

Copy link

Copilot AI Sep 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two changelog entries appear to describe the same changes (Phase 2 completion) and reference the same commit hash. Consider consolidating them into a single entry to avoid redundancy and improve readability.

Suggested change
- **Changed: Complete Phase 2 Key-Based Internal APIs (internal)**
[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)
Completes the Phase 2 optimization of internal APIs by
refactoring functions to use CellKeys/VertexKeys and eliminating
UUID lookups in most hot paths.
Optimizes neighbor operations and validation with key-based
methods, maintains backward compatibility with UUID-based public
APIs, and adds key-based accessor methods. Moves remaining work
to Phase 3: Cell structure refactoring to store VertexKeys directly.
Phase 2 achieved 20-40% performance gains in neighbor
operations.
- **Changed: Completes Phase 2 optimizations**
[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)
Marks Phase 2 "Key-Based Internal APIs" as complete in the
optimization roadmap. This includes the FacetCacheProvider
implementation for Bowyer-Watson algorithms, significantly
reducing facet mapping computation time. Updates related
documentation and code to reflect the completed status.
- **Changed: Completes Phase 2 Key-Based Internal APIs and optimizations**
[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)
Completes the Phase 2 optimization of internal APIs by refactoring functions to use CellKeys/VertexKeys and eliminating UUID lookups in most hot paths.
Optimizes neighbor operations and validation with key-based methods, maintains backward compatibility with UUID-based public APIs, and adds key-based accessor methods.
Moves remaining work to Phase 3: Cell structure refactoring to store VertexKeys directly.
Achieved 20-40% performance gains in neighbor operations.
Marks Phase 2 "Key-Based Internal APIs" as complete in the optimization roadmap. This includes the FacetCacheProvider implementation for Bowyer-Watson algorithms,
significantly reducing facet mapping computation time. Updates related documentation and code to reflect the completed status.

Copilot uses AI. Check for mistakes.
Comment on lines +202 to +227
- **Changed: Complete Phase 2 Key-Based Internal APIs (internal)**

[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)

Completes the Phase 2 optimization of internal APIs by
refactoring functions to use CellKeys/VertexKeys and eliminating
UUID lookups in most hot paths.

Optimizes neighbor operations and validation with key-based
methods, maintains backward compatibility with UUID-based public
APIs, and adds key-based accessor methods. Moves remaining work
to Phase 3: Cell structure refactoring to store VertexKeys directly.

Phase 2 achieved 20-40% performance gains in neighbor
operations.

- **Changed: Completes Phase 2 optimizations**

[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)

Marks Phase 2 "Key-Based Internal APIs" as complete in the
optimization roadmap. This includes the FacetCacheProvider
implementation for Bowyer-Watson algorithms, significantly
reducing facet mapping computation time. Updates related
documentation and code to reflect the completed status.

Copy link

Copilot AI Sep 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an exact duplicate of the Phase 2 entries from lines 161-185. These duplicated changelog entries should be removed to maintain clean documentation.

Suggested change
- **Changed: Complete Phase 2 Key-Based Internal APIs (internal)**
[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)
Completes the Phase 2 optimization of internal APIs by
refactoring functions to use CellKeys/VertexKeys and eliminating
UUID lookups in most hot paths.
Optimizes neighbor operations and validation with key-based
methods, maintains backward compatibility with UUID-based public
APIs, and adds key-based accessor methods. Moves remaining work
to Phase 3: Cell structure refactoring to store VertexKeys directly.
Phase 2 achieved 20-40% performance gains in neighbor
operations.
- **Changed: Completes Phase 2 optimizations**
[`f592dd8df54d7c98cfcfc583f62d119f6a476544`](https://github.com/acgetchell/delaunay/commit/f592dd8df54d7c98cfcfc583f62d119f6a476544)
Marks Phase 2 "Key-Based Internal APIs" as complete in the
optimization roadmap. This includes the FacetCacheProvider
implementation for Bowyer-Watson algorithms, significantly
reducing facet mapping computation time. Updates related
documentation and code to reflect the completed status.

Copilot uses AI. Check for mistakes.
@coderabbitai coderabbitai bot added documentation Improvements or additions to documentation rust Pull requests that update rust code labels Sep 20, 2025
@codacy-production
Copy link

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.03% (target: -1.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (f592dd8) 3182 2116 66.50%
Head commit (939cfc7) 3182 (+0) 2117 (+1) 66.53% (+0.03%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#87) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

@codecov
Copy link

codecov bot commented Sep 20, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.57%. Comparing base (f592dd8) to head (939cfc7).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #87      +/-   ##
==========================================
+ Coverage   66.54%   66.57%   +0.03%     
==========================================
  Files          18       18              
  Lines        3180     3180              
==========================================
+ Hits         2116     2117       +1     
+ Misses       1064     1063       -1     
Flag Coverage Δ
unittests 66.57% <ø> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (8)
benches/PERFORMANCE_RESULTS.md (2)

56-58: Quantify the “~1.2x / ~1.8x” claims or note basis.

Either compute from table averages (geo-mean) and cite, or annotate as heuristic.


96-99: Label what these summary times represent.

If these are aggregates (e.g., geometric mean across dims/tests), add “Aggregate (geo-mean)” to avoid confusion.

CHANGELOG.md (6)

161-176: Deduplicate repeated “Complete Phase 2 Key-Based Internal APIs” block.

This section appears multiple times; keep one canonical entry to reduce noise.


202-217: Second duplicate of the same Phase 2 block.

Remove or consolidate; it’s identical in content.


228-231: “All code now compiles and passes clippy checks” repeated messaging.

Consider moving global build health notes to a single “Quality” bullet to avoid repetition.


441-457: Deprecated section wording nit.

Combine the three bullets about allow(deprecated) into one concise bullet to trim verbosity.


558-564: Large composite “performance and robustness” bullet repeats later.

Consolidate multi-line summaries into a single “Changed” item and reference commits inline.


654-669: Merge-conflict cleanups listed as user-facing “Fixed”.

Consider moving these to an internal/maintenance subsection to keep user-facing signal high.

📜 Review details

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f592dd8 and 939cfc7.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • CHANGELOG.md (7 hunks)
  • Cargo.toml (1 hunks)
  • benches/PERFORMANCE_RESULTS.md (4 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-09-04T20:03:49.896Z
Learnt from: acgetchell
PR: acgetchell/delaunay#65
File: WARP.md:249-254
Timestamp: 2025-09-04T20:03:49.896Z
Learning: The delaunay repository contains all the specialized integration tests documented in WARP.md: circumsphere_debug_tools.rs, robust_predicates_comparison.rs, convex_hull_bowyer_watson_integration.rs, and allocation_api.rs, plus additional test files like robust_predicates_showcase.rs and coordinate_conversion_errors.rs.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-08-30T02:40:22.032Z
Learnt from: acgetchell
PR: acgetchell/delaunay#55
File: CONTRIBUTING.md:152-167
Timestamp: 2025-08-30T02:40:22.032Z
Learning: The user corrected that finitecheck.rs, hashcoordinate.rs, and orderedeq.rs trait files do not exist in the current version of the delaunay repository under src/geometry/traits/. The current structure only contains coordinate.rs, which matches the documented structure in CONTRIBUTING.md.

Applied to files:

  • CHANGELOG.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: performance-regression
  • GitHub Check: Codacy Security Scan
  • GitHub Check: build (windows-latest)
  • GitHub Check: Code Coverage
🔇 Additional comments (6)
CHANGELOG.md (4)

967-969: Historical context intact; no action.

v0.4.3 section links/readability look fine.


10-10: Unreleased compare link correct — no action required.
CHANGELOG.md line 10 contains "compare/v0.4.4...HEAD" (verified).


12-12: Release header/date OK — ensure v0.4.4 tag is created after merge.

CHANGELOG verified: Unreleased → v0.4.4...HEAD and v0.4.4 entry dated 2025-09-18 (lines 10, 12). No changes required here.


595-653: Changelog claims breaking public API — confirm and fix

CHANGELOG.md (lines 595–653) states “breaking API changes to BoundaryAnalysis trait,” which requires a SemVer minor bump unless BoundaryAnalysis is not a public/exported trait. Confirm whether BoundaryAnalysis is public/exported; if it is, bump the crate version accordingly; if it’s internal, update the changelog wording to clarify it’s not a public breaking change.

benches/PERFORMANCE_RESULTS.md (1)

6-9: Verified: commit f592dd8 exists and is reachable from main.
git reports the object type as "commit" and git branch --contains lists coderabbit_87 and main, so the PERFORMANCE_RESULTS.md Git Commit metadata matches a commit reachable from the release branch.

Cargo.toml (1)

3-3: Action required — update or confirm leftover 'v0.4.3' references before approving

Multiple "v0.4.3" occurrences remain in docs, examples, and scripts/tests; update to "v0.4.4" where intended or explicitly keep as historical (e.g., CHANGELOG). Key hits: docs/code_organization.md:287; docs/numerical_robustness_guide.md:37; docs/optimization_recommendations.md:1263; examples/README.md:166; scripts/benchmark_utils.py:236, 2128; scripts/tests/test_benchmark_utils.py (many baseline‑v0.4.3 references ≈lines 2327–3099). Do not merge until addressed or confirmed.

@acgetchell acgetchell merged commit e71c132 into main Sep 20, 2025
14 checks passed
@acgetchell acgetchell deleted the release/v0.4.4 branch September 20, 2025 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants