Skip to content

Changelog

igcp-aforro ships under CalVer in the format YYYY.MMDD.PATCH. Monthly Euribor refreshes become YYYY.MMDD.0 releases; same-day patch releases bump the trailing component (.1, .2, …).

The canonical changelog is the GitHub Releases page, auto-generated by the release workflow on every workflow_dispatch. This page mirrors the high-level entries.

  • Documentation home splash copy now mentions Série B alongside other series (package.json description aligned).
  • CI: Cloudflare Pages deploy path updates (Wrangler-integrated workflow, docs install flags).
  • Public HTTP API + MCP. Cloudflare Worker with /v1/* routes (safe* semantics, open CORS, legal disclaimer header), igcp-aforro-mcp stdio package for Cursor/Claude — see HTTP API.
  • Calendar-year roll-up (IRS helper). rollupTaxYears(), getTaxYearRollup(), rollupTaxYearsFromPortfolio(), getPortfolioTaxYearRollup(); CLI aforro tax-year; docs playground card with year selector.
  • Playground. Quarterly schedule CSV export and three inline SVG charts (rate, balance, cash flow); property-based core tests plus CI coverage gate; Node 22 requirement for Wrangler engine checks.
  • aforro portfolio multi-cohort simulation; shareable portfolio playground URLs (row=series,date,units).
  • safe* non-throwing library wrappers returning SafeResult.
  • --csv on rates and cohort CLI commands.
  • Docs playground i18n parity, accrued-net JSX/layout fixes, and shared module path cleanup.
  • Série B: TBA-aligned base rates, Euribor 12M data, perpetual simulation behaviour.
  • Série C highlighted on Portuguese documentation home; matured-badge styling fix.
  • Playground portfolio URL validation hardening (Set-based allowed series).
  • Série C support (EUR historical backfill, goldens; research and parameters are documented under the Portuguese Série C — research page).
  • aforro current: tier gross rates and optional cohort scoping.
  • simulatePortfolio() plus portfolio types, validation, and aggregate reconciliation tests/docs.
  • Stricter Euribor window for base-rate lookups and simulation edge cases.
  • simulateRedemption() and aforro redeem (minimum holding period, maturity rules, accrued forfeiture); SeriesMetadata.minimumHoldingMonths.
  • Shareable URLs for the single-cohort docs playground scenarios.
  • Data-refresh CI gated on IGCP publication timing.
  • Série D support end-to-end (rates.json includes series.D).
  • Documentation: bilingual Starlight shell, IGCP compare and contributing guides, tighter test/coverage thresholds, CLI contract tests.
  • Playground series selector (E/F) and refreshed copy.
  • Documentation hosting links and reusable docs deploy workflow (Cloudflare Pages).
  • Série E support (spread-before-clamp base rate, metadata, Euribor backfill, compare harness --series).
  • Behaviour change — IGCP-aligned capitalization: intermediate compounding at full precision with per-unit net quote (5 decimals) driving booked position value (currentUnitQuote, ScheduleRow.unitQuoteAfter); schedule cents still reconcile with aggregate totals.
  • Calculator/compare documentation and tolerance updates for quote parity vs aforro.net.
  • Initial public scaffold: TypeScript library + aforro CLI + static rates.json snapshot.
  • Série F supported end-to-end (base rate, premium tiers, quarterly compounding, IRS withholding).
  • Bundled Euribor 3M dataset sourced from Deutsche Bundesbank (BBIG1, redistributing EMMI EURIBOR® fixings).
  • Astro Starlight documentation site (this site).