Switches input change test to use async wait for reliable value assertion.
Restores and enhances test setup with matchMedia mock to support media query-dependent components in jsdom.
Eliminates all 4%-rule related overlays, buttons, and UI elements from the calculator for a simpler experience. Introduces hydration of calculator inputs from URL search params, enabling sharing of form state via URLs and restoring state on page reload. Updates the form's share button styling and ensures all necessary URL parameters are set for sharing.
Also refactors tests to remove 4%-rule tests and adds mocks for next/navigation.
Simplifies calculator behavior and improves accessibility for stateful URLs.
Introduces two in-depth learning articles: one guiding users on global, low-cost portfolio construction and tax-optimized account selection; another explaining home bias risks and practical diversification steps. Updates the learning hub to highlight both articles for improved user education on investment risk and allocation.
Introduces a unified testing setup using Vitest for unit tests
and Playwright for E2E tests. Updates dependencies, adds sample
unit and E2E tests, documents test workflow, and codifies
testing and code standards in project guidelines.
Enables fast, automated test runs and improves code reliability
through enforced standards.
Introduces Monte Carlo simulation mode with customizable market volatility, allowing users to visualize probabilistic retirement balances (median and percentiles) and estimate FIRE plan success rates. Adds fields for Coast FIRE age and Barista FIRE income to support more flexible FIRE scenarios. Updates forms, chart tooltips, and chart areas to display new data, improving the accuracy and insightfulness of retirement projections for advanced use cases.