Skip to content

Commit 18553aa

Browse files
authored
chore(release): release v0.4.0 (#53)
- Bump version to v0.4.0 - Update changelog with latest changes - Update documentation for release
1 parent c4709e2 commit 18553aa

12 files changed

+808
-31
lines changed

.markdownlint.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
"MD013": {"line_length": 160},
33
"MD018": false,
44
"MD024": false,
5+
"MD029": false,
56
"MD033": false,
67
"MD038": false,
7-
"MD041": false
8+
"MD041": false,
9+
"_comment": "MD029 disabled - we prefer manual numbering over lazy numbering (1. 1. 1.) for better readability"
810
}

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
99

10+
## [v0.4.0](https://github.com/acgetchell/delaunay/compare/v0.3.5...v0.4.0) - 2025-08-22
11+
12+
### Merged Pull Requests
13+
14+
- Feature/convex hull [`#50`](https://github.com/acgetchell/delaunay/pull/50)
15+
16+
### Fixed Issues
17+
18+
- **implements incremental delaunay triangulation**
19+
20+
- **refactors tds to use incrementalboyerwatson**
21+
22+
- **adds bowyer-watson algorithm documentation**
23+
24+
- **improves bowyer-watson algorithm with convex hull**
25+
26+
- **improves numerical robustness in triangulation**
27+
28+
- **improves numerical robustness of triangulation**
29+
30+
- **improves delaunay triangulation with incremental bowyer-watson**
31+
32+
- **ensures tds consistency after insertion**
33+
34+
- **improves debugging and testing.**
35+
36+
- **standardizes statistics tracking for algorithms**
37+
38+
- **bump msrv to 1.89.0 and enhance robustness**
39+
40+
- **improves numerical robustness and code quality**
41+
42+
- **improves numerical stability and robustness**
43+
44+
- **refactors triangulation data structure for performance**
45+
46+
- **improves code quality and documentation**
47+
48+
- **handles non-finite floats in point serialization**
49+
1050
## [v0.3.5](https://github.com/acgetchell/delaunay/compare/v0.3.4...v0.3.5) - 2025-08-15
1151

1252
### Merged Pull Requests

CONTRIBUTING.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ delaunay/
140140
│ ├── README.md # Examples documentation
141141
│ ├── boundary_analysis_trait.rs # Boundary analysis examples
142142
│ ├── check_float_traits.rs # Floating-point trait examples
143+
│ ├── convex_hull_3d_50_points.rs # 3D convex hull extraction and analysis example
143144
│ ├── implicit_conversion.rs # Type conversion examples
144145
│ ├── point_comparison_and_hashing.rs # Point operations examples
145146
│ ├── test_alloc_api.rs # Allocation API examples
@@ -157,6 +158,7 @@ delaunay/
157158
├── tests/ # Integration tests
158159
│ ├── bench_helpers_test.rs # Tests for benchmark helper functions
159160
│ ├── convex_hull_bowyer_watson_integration.rs # Integration tests for convex hull and Bowyer-Watson
161+
│ ├── coordinate_conversion_errors.rs # Coordinate conversion error handling tests
160162
│ ├── robust_predicates_comparison.rs # Robust vs standard predicates comparison tests
161163
│ ├── robust_predicates_showcase.rs # Robust predicates demonstration tests
162164
│ └── test_cavity_boundary_error.rs # Cavity boundary error reproduction tests
@@ -165,13 +167,15 @@ delaunay/
165167
│ │ ├── README.md # Templates documentation
166168
│ │ └── changelog.hbs # Custom changelog template
167169
│ ├── code_organization.md # Code organization patterns
168-
│ └── optimization_recommendations.md # Performance optimization guide
170+
│ ├── numerical_robustness_guide.md # Numerical robustness and stability guide
171+
│ ├── optimization_recommendations.md # Performance optimization guide
172+
│ └── RELEASING.md # Release process documentation
169173
├── scripts/ # Development and CI scripts
170174
│ ├── README.md # Scripts documentation
171175
│ ├── benchmark_parser.sh # Shared benchmark parsing utilities
172176
│ ├── compare_benchmarks.sh # Performance regression testing
173177
│ ├── generate_baseline.sh # Create performance baselines
174-
│ ├── generate_changelog.sh # Generate changelog with commit dates
178+
│ ├── generate_changelog.sh # Generate changelog with commit dates and squashed PR expansion
175179
│ ├── hardware_info.sh # Hardware information and system capabilities
176180
│ ├── run_all_examples.sh # Validate all examples
177181
│ └── tag-from-changelog.sh # Create git tags from changelog content
@@ -194,7 +198,7 @@ delaunay/
194198
├── .gitignore # Git ignore patterns
195199
├── .markdownlint.json # Markdown linting configuration
196200
├── .yamllint # YAML linting configuration
197-
├── CHANGELOG.md # Version history
201+
├── CHANGELOG.md # Version history with enhanced squashed PR support
198202
├── CODE_OF_CONDUCT.md # Community guidelines
199203
├── CONTRIBUTING.md # This file
200204
├── Cargo.lock # Dependency lockfile

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "delaunay"
3-
version = "0.3.5"
3+
version = "0.4.0"
44
edition = "2024"
55
rust-version = "1.89.0"
66
authors = ["Adam Getchell <[email protected]>"]

README.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ lightweight alternative to [CGAL] for the [Rust] ecosystem.
2424

2525
- [x] Arbitrary data types associated with vertices and cells
2626
- [x] d-dimensional [Delaunay triangulations]
27-
- [x] d-dimensional convex hulls
27+
- [x] d-dimensional [Convex hulls]
2828
- [x] Serialization/Deserialization of all data structures to/from [JSON]
2929
- [x] Tested for 3-, 4-, and 5-dimensional triangulations
3030

@@ -60,8 +60,22 @@ cargo clippy --all-targets --all-features
6060

6161
# Run examples
6262
./scripts/run_all_examples.sh
63+
64+
# Run a specific example
65+
cargo run --example triangulation_3d_50_points
66+
cargo run --example convex_hull_3d_50_points
6367
```
6468

69+
## 📋 Examples
70+
71+
The `examples/` directory contains several demonstrations:
72+
73+
- **`triangulation_3d_50_points`**: Complete 3D Delaunay triangulation with 50 random points
74+
- **`convex_hull_3d_50_points`**: 3D convex hull extraction and analysis with performance benchmarks
75+
- **`boundary_analysis_trait`**: Demonstrates boundary facet analysis using the trait system
76+
- **`implicit_conversion`**: Shows coordinate conversion patterns and utilities
77+
- **`test_circumsphere`**: Comprehensive geometric predicate testing suite
78+
6579
For comprehensive guidelines on development environment setup,
6680
testing, benchmarking, performance analysis, and development workflow, please see [CONTRIBUTING.md](CONTRIBUTING.md).
6781

@@ -109,3 +123,4 @@ The library's geometric predicates and algorithms are based on established compu
109123
[Delaunay triangulations]: https://en.wikipedia.org/wiki/Delaunay_triangulation
110124
[Constrained Delaunay triangulations]: https://en.wikipedia.org/wiki/Constrained_Delaunay_triangulation
111125
[Voronoi diagrams]: https://en.wikipedia.org/wiki/Voronoi_diagram
126+
[Convex hulls]: https://en.wikipedia.org/wiki/Convex_hull

cspell.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
"oneline",
9292
"orderedeq",
9393
"Overmars",
94+
"pastable",
9495
"phpcs",
9596
"phpmd",
9697
"phpstan",

docs/RELEASING.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ This PR should ONLY include: version bumps, changelog updates, and documentation
4444
git checkout -b release/$TAG
4545
```
4646

47-
1. Bump versions
47+
2. Bump versions
4848

4949
Preferred (if cargo-edit is installed):
5050

@@ -68,7 +68,7 @@ Update references in documentation (search, then manually edit as needed):
6868
rg -n "\bv?[0-9]+\.[0-9]+\.[0-9]+\b" README.md docs/ || true
6969
```
7070

71-
1. Generate changelog using a temporary local tag (DO NOT PUSH this tag)
71+
3. Generate changelog using a temporary local tag (DO NOT PUSH this tag)
7272

7373
```bash
7474
# Create a temporary annotated tag locally to enable changelog generation
@@ -79,7 +79,7 @@ git tag -a "$TAG" -m "delaunay $TAG"
7979
./scripts/generate_changelog.sh
8080
```
8181

82-
1. Stage and commit release artifacts
82+
4. Stage and commit release artifacts
8383

8484
```bash
8585
git add Cargo.toml CHANGELOG.md docs/
@@ -91,7 +91,7 @@ git commit -m "chore(release): release $TAG
9191
- Update documentation for release"
9292
```
9393

94-
1. Push the branch and open a PR
94+
5. Push the branch and open a PR
9595

9696
```bash
9797
git push -u origin "release/$TAG"
@@ -115,7 +115,7 @@ git checkout main
115115
git pull --ff-only
116116
```
117117

118-
1. Recreate the final annotated tag using the changelog content
118+
2. Recreate the final annotated tag using the changelog content
119119

120120
```bash
121121
# Remove the temporary local tag if it exists
@@ -125,19 +125,26 @@ git tag -d "$TAG" 2>/dev/null || true
125125
./scripts/tag-from-changelog.sh "$TAG" --force
126126
```
127127

128-
1. (Optional) Verify tag message content
128+
3. (Optional) Verify tag message content
129129

130130
```bash
131131
git tag -l --format='%(contents)' "$TAG"
132132
```
133133

134-
1. Push the tag
134+
4. Push the tag
135135

136136
```bash
137137
git push origin "$TAG"
138138
```
139139

140-
1. Publish to crates.io
140+
5. Create the GitHub release with notes from the tag annotation
141+
142+
```bash
143+
# Requires GitHub CLI (gh) and authenticated session
144+
gh release create "$TAG" --notes-from-tag
145+
```
146+
147+
6. Publish to crates.io
141148

142149
```bash
143150
# Sanity check before publishing
@@ -147,13 +154,6 @@ cargo publish --dry-run
147154
cargo publish
148155
```
149156

150-
1. Create the GitHub release with notes from the tag annotation
151-
152-
```bash
153-
# Requires GitHub CLI (gh) and authenticated session
154-
gh release create "$TAG" --notes-from-tag
155-
```
156-
157157
---
158158

159159
## Notes and tips

docs/numerical_robustness_guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ This typically happens with:
3333

3434
## Current Implementation Status
3535

36-
As of version 0.3.5, the delaunay library includes several robustness improvements:
36+
As of version 0.4.0, the delaunay library includes several robustness improvements:
3737

3838
### ✅ Implemented Features
3939

0 commit comments

Comments
 (0)