Skip to content

Commit 3e24979

Browse files
committed
Update changelog and bump to 0.3.0
1 parent 157ecb5 commit 3e24979

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [0.3.0] - 2025-11-27
11+
12+
**The Predictive Astrology Release** - Completes the "predictive trinity" with Returns, Progressions, and a massive performance improvement.
13+
1014
### Added
1115

1216
#### Secondary Progressions Auto-Calculation (November 27, 2025)
@@ -38,6 +42,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3842
- Backwards compatibility with legacy API
3943
- Edge cases: negative age, fractional age, large ages
4044

45+
- **Progressions Cookbook** (`examples/progressions_cookbook.py`): 15 comprehensive examples covering all progression types, angle methods, and analysis techniques
46+
4147
Example usage:
4248

4349
```python
@@ -61,7 +67,7 @@ for aspect in prog.cross_aspects:
6167
print(f"Progressed {aspect.object2.name} {aspect.aspect_name} Natal {aspect.object1.name}")
6268
```
6369

64-
#### Planetary Returns Support (November 28, 2025)
70+
#### Planetary Returns Support (November 27, 2025)
6571

6672
- **ReturnBuilder**: New fluent builder for calculating planetary return charts
6773
- **Solar Returns**: `ReturnBuilder.solar(natal, year)` - Annual birthday charts
@@ -246,7 +252,15 @@ sr_tokyo = ReturnBuilder.solar(natal, 2025, location="Tokyo, Japan").calculate()
246252
- Added `ayanamsa: str | None = None` (only used for sidereal)
247253
- Smart `__post_init__` validation: defaults to "lahiri" if sidereal but no ayanamsa specified
248254

249-
- Removed get_stats() (cache) call from metadata for every chart calculate() -- this was causing massive slowdowns because it was scanning the entire cache file collection EVERY time. Now considerably faster to make charts.
255+
### Fixed
256+
257+
#### Major Performance Improvement (November 27, 2025)
258+
259+
- **60x Faster Chart Calculations**: Removed expensive `get_stats()` call from `ChartBuilder.calculate()`
260+
- **Root cause**: `get_stats()` was scanning 100,000+ cache files with `rglob("*.pickle")` on EVERY chart calculation
261+
- **Impact**: Each chart was taking ~1000ms instead of ~10ms
262+
- **Fix**: Removed automatic cache stats from chart metadata (rarely needed, now available via `stellium.utils.cache.get_cache_stats()`)
263+
- **Result**: Full test suite dropped from ~5 minutes to ~5 seconds
250264

251265
### Technical Notes
252266

src/stellium/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
>>> chart = ChartBuilder.from_native(native).calculate()
1414
"""
1515

16-
__version__ = "0.2.0"
16+
__version__ = "0.3.0"
1717

1818
# === Core Building Blocks (Most Common) ===
1919
# === Convenience Re-exports ===

0 commit comments

Comments
 (0)