Skip to content

Commit 8931c63

Browse files
committed
Prepare for v0.7.1 release
- Update version to 0.7.1 in pyproject.toml - Update CHANGES.md with v0.7.1 release notes following Keep a Changelog format - Document all changes since v0.7.0 including bug fixes, improvements, and new features
1 parent ddb3f0c commit 8931c63

File tree

2 files changed

+37
-21
lines changed

2 files changed

+37
-21
lines changed

CHANGES.md

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,48 @@
1-
# PRTree Improvements
1+
# Changelog
22

3-
## Critical Fixes
3+
All notable changes to this project will be documented in this file.
44

5-
### 1. Windows Crash Fixed
6-
- **Issue**: Fatal crash with `std::mutex` (not copyable, caused deadlocks)
7-
- **Fix**: Use `std::unique_ptr<std::recursive_mutex>`
8-
- **Result**: Thread-safe, no crashes, pybind11 compatible
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
97

10-
### 2. Error Messages
11-
- Improved with context while maintaining backward compatibility
12-
- Example: `"Given index is not found. (Index: 999, tree size: 2)"`
8+
## [0.7.1] - 2025-11-08
139

14-
## Improvements Applied
10+
### Added
11+
- Modernized project structure for better OSS contribution experience (#52)
12+
- Added comprehensive CONTRIBUTING.md with development guidelines
13+
- Improved development tooling configuration
14+
- Enhanced documentation for contributors
1515

16-
- **C++20**: Migrated standard, added concepts for type safety
17-
- **Exception Safety**: noexcept + RAII (no memory leaks)
18-
- **Thread Safety**: Recursive mutex protects all mutable operations
16+
### Fixed
17+
- Fixed critical Windows crash with `std::mutex` (#51)
18+
- Changed to `std::unique_ptr<std::recursive_mutex>` for thread-safe, pybind11-compatible implementation
19+
- Resolved fatal crashes and deadlocks on Windows platform
20+
- Optimized CI workflows for better reliability and performance (#51)
1921

20-
## Test Results
22+
### Improved
23+
- Expanded test coverage with comprehensive test suite (#48)
24+
- Now includes 674 unit tests covering edge cases and various scenarios
25+
- Improved test organization and structure
26+
- Added `query_intersections()` method for efficient AABB pair detection (#47)
27+
- Enables finding all pairs of intersecting bounding boxes efficiently
2128

22-
**674/674 unit tests pass**
23-
24-
## Performance
29+
### Changed
30+
- Upgraded dependency versions in CI workflows (#50)
31+
- Migrated to C++20 standard with concepts for type safety
32+
- Enhanced error messages with context while maintaining backward compatibility
33+
- Example: `"Given index is not found. (Index: 999, tree size: 2)"`
2534

35+
### Performance
2636
- Construction: 9-11M ops/sec (single-threaded)
2737
- Memory: 23 bytes/element
28-
- Parallel scaling: Limited by algorithm (Amdahl's law), not implementation
38+
- All 674 unit tests pass
39+
40+
## [0.7.0] - 2024-XX-XX
2941

30-
## Future Work
42+
### Added
43+
- Intersection bug fix
44+
- Python 3.13 support
3145

32-
- Parallel partitioning algorithm for better thread scaling (2-3x expected)
46+
### Improvements
47+
- Exception Safety: noexcept + RAII (no memory leaks)
48+
- Thread Safety: Recursive mutex protects all mutable operations

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "python_prtree"
7-
version = "0.7.0"
7+
version = "0.7.1"
88
description = "Python implementation of Priority R-Tree"
99
readme = "README.md"
1010
requires-python = ">=3.8"

0 commit comments

Comments
 (0)