v1.2.0
v1.2.0 (2026-05-24)
This release is published under the Apache 2.0 License.
Bug Fixes
-
cachedclient: Stringify oversized ints before parquet write (
3209272) -
harvester: Cooperative cancellation between symbols/pages (
a41b338) -
harvester: Correct financial_symbols endpoint and stop retrying permanent errors (
9b8e72d) -
harvester: Live-run lessons round 2 — mixed columns, empty structs, 5xx retry (
14e2fec) -
harvester: Live-run lessons — RPM margin, 429 retry, paywall threshold, atomic parquet (
d44bfaa) -
harvester: Partial persist, news pagination, CLI config fallback, doc (
83d81db) -
harvester: Payload-aware symbol filter for indexes universe (
7705597) -
harvester: Quiet remaining paywall warnings (
853954c) -
harvester: Register aiofmp CLI entry point (
38b1774) -
harvester: Retry 5xx responses per retry.on_5xx policy (
70baca0) -
harvester: Statements safety-net seeding and separate category row (
dfa084b)
Chores
-
Ruff lint + format fixes for CI (
6ba2c17) -
harvester: Add pyyaml dependency (
9eb9e1b) -
harvester: Gitignore local harvester.yaml and pr-body scratch files (
c78573d) -
harvester: Ruff auto-fixes (F401, UP037, E402, E702, format) (
4c35f85)
Documentation
-
Add harvester v2 design spec (
873bde9) -
Add harvester v2 implementation plan (
6e7442a) -
Extend harvester v2 spec with commodities, forex, indexes, dcf (
cb903a0) -
harvester: Add commodities, forex, indexes, dcf categories (
07a070c) -
harvester: README section + example config (
9b03fd8)
Features
-
cachedclient: Add PAGE_WALK temporal pattern (read-only for users) (
4bdc5d0) -
cachedclient: Register chart endpoints under commodity/forex/indexes (
ef967da) -
cachedclient: Register PAGE_WALK endpoints for analyst/insider/form13f (
7fe047e) -
cachedclient: SnapshotStore for P4 snapshot-overwrite pattern (
b157da4) -
harvester: Aiofmp harvest + harvest-status CLI commands (
8aef5b5) -
harvester: Analyst_estimates category (P2 per-symbol walk) (
17f61f1) -
harvester: Analyst_snapshots category (P4 overwrite) (
01a7813) -
harvester: BudgetTracker (soft/hard cap, ledger attribution) (
34a9fd6) -
harvester: CategoryHarvester ABC with retry/budget/state plumbing (
edec011) -
harvester: Chart_eod category (P3 gap-fill) (
7aa0602) -
harvester: Config dataclasses and interval parser (
9970c17) -
harvester: Dcf category (P4 snapshot overwrite) (
eedb794) -
harvester: Economics category (treasury + indicators) (
e2e6c00) -
harvester: Form13f category (P2 global walk, per-CIK shard) (
520456e) -
harvester: GapFillHarvester DRY base for P3 categories (
29de191) -
harvester: HarvesterManager lifecycle and signal handling (
81fbfb3) -
harvester: Insider_trades category (P2 global walk, per-symbol shard) (
2d807ba) -
harvester: Intraday + commodities/forex/indexes P3 categories (
0744876) -
harvester: News category (P3 multi-variant) (
74c07ab) -
harvester: On_response_size hook, current_harvest_category contextvar, FMPBudgetError (
6878377) -
harvester: Per-category paywall memory with re-probe TTL (
f619da7) -
harvester: Plan-aware per-endpoint paywall awareness from live probe (
4041de1) -
harvester: Plan-aware rate limiter, paywall handling, and US-only filter (
dacffdb) -
harvester: Scaffold harvester package and test dir (
7198f25) -
harvester: Short-circuit categories on consecutive HTTP 402 paywalls (
dc8c3de) -
harvester: SQLite state store with schema migrations (
e142eff) -
harvester: Statements category (P1 + monthly safety-net) (
6806367) -
harvester: SymbolCatalog with lazy discovery and TTL refresh (
117a9e7) -
harvester: Technical_indicators category (off by default) (
c5bdd5c) -
harvester: Wire bandwidth callback + hard-cap enforcement (
c83ff04) -
harvester: YAML loader for HarvestConfig (
c635c16)
Testing
-
harvester: _run_once_and_record paywall-memory paths (
1045974) -
harvester: End-to-end smoke covering all 17 categories (
6146f86)
Detailed Changes: v1.1.0...v1.2.0