Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2025-03-18¶
Added¶
- Year-by-year college cost projection engine in nominal dollars.
- Single-child projection via
project_child_plan(). - Multi-child household projection with shared funding pool via
project_household_plan(). - Bisection solver to find required annual savings via
solve_required_savings(). - Sensitivity sweep across assumption grids via
run_sensitivity(). - Three built-in cost profiles: private school, public in-state, public out-of-state.
- Age-based glide path support with Vanguard Target Enrollment preset.
- Shared fund allocation policies: EQUAL_SPLIT, OLDEST_FIRST, PROPORTIONAL_TO_NEED.
- Fisher equation for real/nominal return conversion via
normalize_assumptions(). deflate()helper for converting nominal projections to today's dollars.- JSON and dict serialization via
to_dict()andto_json(). - Comprehensive input validation with descriptive error messages.
- Frozen dataclass models with
slots=Truefor all domain objects. - PEP 561
py.typedmarker for type checker support. - Full test suite (63 tests) with strict mypy and ruff linting.