{"version":"https://jsonfeed.org/version/1.1","title":"AtlasForge Financial — Platform Changelog","home_page_url":"https://atlasforgefinancial.com/changelog","feed_url":"https://atlasforgefinancial.com/api/changelog.json","description":"Every meaningful change to AtlasForge Financial — Safe to Spend, Ember360, and the APIs for Banks & Fintechs.","language":"en","items":[{"id":"https://atlasforgefinancial.com/changelog#v2.3.0","url":"https://atlasforgefinancial.com/changelog#v2.3.0","title":"API subdomain live — atlasforgefinancial.com (v2.3.0)","content_html":"<ul><li><strong>Feature:</strong> Canonical API endpoint is now https://atlasforgefinancial.com — Stripe-style subdomain separation between marketing site and API</li><li><strong>Feature:</strong> Cloudflare Custom Hostname auto-provisions SSL for the subdomain (TLS 1.3)</li><li><strong>Improvement:</strong> All curl examples, Developer Docs, Integration Guide, Portal Settings links updated to atlasforgefinancial.com</li><li><strong>Improvement:</strong> Apex https://atlasforgefinancial.com/api/v1/* remains valid as a fallback (same backend pod)</li><li><strong>Fix:</strong> Portal frontend now points REACT_APP_ATLAS_API_BASE at atlasforgefinancial.com</li></ul>","content_text":"- Feature: Canonical API endpoint is now https://atlasforgefinancial.com — Stripe-style subdomain separation between marketing site and API\n- Feature: Cloudflare Custom Hostname auto-provisions SSL for the subdomain (TLS 1.3)\n- Improvement: All curl examples, Developer Docs, Integration Guide, Portal Settings links updated to atlasforgefinancial.com\n- Improvement: Apex https://atlasforgefinancial.com/api/v1/* remains valid as a fallback (same backend pod)\n- Fix: Portal frontend now points REACT_APP_ATLAS_API_BASE at atlasforgefinancial.com","date_published":"2026-06-18T00:00:00Z","tags":["feature","fix","improvement"],"_atlasforge":{"version":"v2.3.0"}},{"id":"https://atlasforgefinancial.com/changelog#v2.2.1","url":"https://atlasforgefinancial.com/changelog#v2.2.1","title":"Inline 'Download CSV' on Dashboard + End-users (v2.2.1)","content_html":"<ul><li><strong>Feature:</strong> Dashboard now has &apos;Download usage CSV&apos; + &apos;Download linked accounts CSV&apos; buttons next to the title</li><li><strong>Feature:</strong> End-users page has &apos;Download CSV&apos; button (linked accounts of the signed-in environment)</li><li><strong>Improvement:</strong> All CSV downloads share /app/frontend/src/lib/atlas-csv.js — one place to evolve the export flow</li><li><strong>Fix:</strong> Dashboard &apos;Estimated bill&apos; stat card and Reports usage card now render with proper deep-green contrast</li></ul>","content_text":"- Feature: Dashboard now has 'Download usage CSV' + 'Download linked accounts CSV' buttons next to the title\n- Feature: End-users page has 'Download CSV' button (linked accounts of the signed-in environment)\n- Improvement: All CSV downloads share /app/frontend/src/lib/atlas-csv.js — one place to evolve the export flow\n- Fix: Dashboard 'Estimated bill' stat card and Reports usage card now render with proper deep-green contrast","date_published":"2026-06-18T00:00:00Z","tags":["feature","fix","improvement"],"_atlasforge":{"version":"v2.2.1"}},{"id":"https://atlasforgefinancial.com/changelog#v2.2.0","url":"https://atlasforgefinancial.com/changelog#v2.2.0","title":"Portal Reports — CSV exports for calculations, usage & webhooks (v2.2.0)","content_html":"<ul><li><strong>Feature:</strong> New /portal/reports page with three branded download cards</li><li><strong>Feature:</strong> /api/v1/reports/calculations.csv — every cached safe-to-spend with full breakdown, filterable by date range</li><li><strong>Feature:</strong> /api/v1/reports/usage.csv — per-month call counts, unique users, estimated bill (last 3/6/12/24 months)</li><li><strong>Feature:</strong> /api/v1/reports/webhooks.csv — delivery log with status + date filters</li><li><strong>Improvement:</strong> Reports are scoped to the environment matching your signed-in key (sandbox or production)</li></ul>","content_text":"- Feature: New /portal/reports page with three branded download cards\n- Feature: /api/v1/reports/calculations.csv — every cached safe-to-spend with full breakdown, filterable by date range\n- Feature: /api/v1/reports/usage.csv — per-month call counts, unique users, estimated bill (last 3/6/12/24 months)\n- Feature: /api/v1/reports/webhooks.csv — delivery log with status + date filters\n- Improvement: Reports are scoped to the environment matching your signed-in key (sandbox or production)","date_published":"2026-06-18T00:00:00Z","tags":["feature","improvement"],"_atlasforge":{"version":"v2.2.0"}},{"id":"https://atlasforgefinancial.com/changelog#v2.1.0","url":"https://atlasforgefinancial.com/changelog#v2.1.0","title":"Partner Portal v2 backend is live — 15 endpoints (v2.1.0)","content_html":"<ul><li><strong>Feature:</strong> /api/v1/me, /usage, /secrets, /key/rotate, /ingest/{calculations,calculation/{id},user/{id}}, /webhooks (CRUD + rotate-secret + deliveries), /usage/alerts (CRUD), POST /ingest</li><li><strong>Feature:</strong> X-API-Key auth resolves the partner + environment from the key prefix (afg_test_/afg_live_)</li><li><strong>Feature:</strong> Per-partner ingest secret returned by GET /api/v1/secrets (separate from the platform-wide ingest secret used by /api/ingest/*)</li><li><strong>Feature:</strong> Demo partner Acme Pilot Bank seeded on every startup with deterministic keys + 10 sample end-users — paste afg_test_acme_pilot_bank_demo_2026 at /portal/login to see the portal alive</li><li><strong>Feature:</strong> MongoDB indexes on every collection touched by the v1 surface for sub-50ms queries</li><li><strong>Improvement:</strong> Portal API base URL is configurable via REACT_APP_ATLAS_API_BASE, defaulting to REACT_APP_BACKEND_URL so the portal automatically hits the production host after deploy</li><li><strong>Improvement:</strong> 10 new pytest cases covering auth, pagination, GDPR delete, webhook lifecycle, alert CRUD, key rotation</li></ul>","content_text":"- Feature: /api/v1/me, /usage, /secrets, /key/rotate, /ingest/{calculations,calculation/{id},user/{id}}, /webhooks (CRUD + rotate-secret + deliveries), /usage/alerts (CRUD), POST /ingest\n- Feature: X-API-Key auth resolves the partner + environment from the key prefix (afg_test_/afg_live_)\n- Feature: Per-partner ingest secret returned by GET /api/v1/secrets (separate from the platform-wide ingest secret used by /api/ingest/*)\n- Feature: Demo partner Acme Pilot Bank seeded on every startup with deterministic keys + 10 sample end-users — paste afg_test_acme_pilot_bank_demo_2026 at /portal/login to see the portal alive\n- Feature: MongoDB indexes on every collection touched by the v1 surface for sub-50ms queries\n- Improvement: Portal API base URL is configurable via REACT_APP_ATLAS_API_BASE, defaulting to REACT_APP_BACKEND_URL so the portal automatically hits the production host after deploy\n- Improvement: 10 new pytest cases covering auth, pagination, GDPR delete, webhook lifecycle, alert CRUD, key rotation","date_published":"2026-06-18T00:00:00Z","tags":["feature","improvement"],"_atlasforge":{"version":"v2.1.0"}},{"id":"https://atlasforgefinancial.com/changelog#v2.0.0","url":"https://atlasforgefinancial.com/changelog#v2.0.0","title":"Partner Portal v2 — API-key auth, wired to the external AtlasForge API (v2.0.0)","content_html":"<ul><li><strong>Feature:</strong> New /portal/* shell with sidebar nav: Dashboard, End-users, Webhooks, Usage alerts, API Keys, Settings</li><li><strong>Feature:</strong> Sign in by pasting your afg_live_/afg_test_ key — no passwords</li><li><strong>Feature:</strong> Top-bar key-mode pill (🟢 PRODUCTION / 🟡 SANDBOX) derived from the key prefix</li><li><strong>Feature:</strong> One-time-reveal modal for any secret returned by the API (webhook secret, new API key, ingest secret) with copy + acknowledgement</li><li><strong>Feature:</strong> GDPR-delete on end-users, paginated via next_cursor</li><li><strong>Feature:</strong> Webhook delivery log with filter pills + rotate-secret + delete actions</li><li><strong>Feature:</strong> Usage alerts: add/remove threshold rows + notify email, with current-month readout</li><li><strong>Feature:</strong> API Keys page: rotate live/sandbox keys (persists new key in localStorage when rotating the active one), reveal ingest secret</li><li><strong>Feature:</strong> Mobile-responsive at 375px</li><li><strong>Improvement:</strong> Navbar + Footer Partner Portal link now points at /portal/login</li></ul>","content_text":"- Feature: New /portal/* shell with sidebar nav: Dashboard, End-users, Webhooks, Usage alerts, API Keys, Settings\n- Feature: Sign in by pasting your afg_live_/afg_test_ key — no passwords\n- Feature: Top-bar key-mode pill (🟢 PRODUCTION / 🟡 SANDBOX) derived from the key prefix\n- Feature: One-time-reveal modal for any secret returned by the API (webhook secret, new API key, ingest secret) with copy + acknowledgement\n- Feature: GDPR-delete on end-users, paginated via next_cursor\n- Feature: Webhook delivery log with filter pills + rotate-secret + delete actions\n- Feature: Usage alerts: add/remove threshold rows + notify email, with current-month readout\n- Feature: API Keys page: rotate live/sandbox keys (persists new key in localStorage when rotating the active one), reveal ingest secret\n- Feature: Mobile-responsive at 375px\n- Improvement: Navbar + Footer Partner Portal link now points at /portal/login","date_published":"2026-06-18T00:00:00Z","tags":["feature","improvement"],"_atlasforge":{"version":"v2.0.0"}},{"id":"https://atlasforgefinancial.com/changelog#v1.4.0","url":"https://atlasforgefinancial.com/changelog#v1.4.0","title":"Integration Guide hosted directly on AtlasForge (v1.4.0)","content_html":"<ul><li><strong>Feature:</strong> Brand-styled HTML viewer at /api/integration-guide (deep-green toolbar with Print &amp; Save PDF)</li><li><strong>Feature:</strong> Real PDF download at /api/integration-guide.pdf (filename: atlas-forge-integration-guide.pdf)</li><li><strong>Feature:</strong> Standalone HTML + raw markdown downloads</li><li><strong>Improvement:</strong> Source of truth is /app/backend/integration_guide.md — edit once, all formats update</li><li><strong>Fix:</strong> Removed dead links to atlasforgefinancial.com (subdomain wasn&apos;t deployed yet)</li></ul>","content_text":"- Feature: Brand-styled HTML viewer at /api/integration-guide (deep-green toolbar with Print & Save PDF)\n- Feature: Real PDF download at /api/integration-guide.pdf (filename: atlas-forge-integration-guide.pdf)\n- Feature: Standalone HTML + raw markdown downloads\n- Improvement: Source of truth is /app/backend/integration_guide.md — edit once, all formats update\n- Fix: Removed dead links to atlasforgefinancial.com (subdomain wasn't deployed yet)","date_published":"2026-06-18T00:00:00Z","tags":["feature","fix","improvement"],"_atlasforge":{"version":"v1.4.0"}},{"id":"https://atlasforgefinancial.com/changelog#v1.3.1","url":"https://atlasforgefinancial.com/changelog#v1.3.1","title":"Removed /api/v1 — partner keys belong to your external app (v1.3.1)","content_html":"<ul><li><strong>Improvement:</strong> AtlasForge is now firmly the dashboard layer; your external app owns API key issuance + rotation</li><li><strong>Improvement:</strong> Developer Docs endpoint examples now point at atlasforgefinancial.com/v1 (your platform)</li><li><strong>Improvement:</strong> Partner Portal API key section now explains keys come from your external app — rotating them in your app does not break the portal</li><li><strong>Fix:</strong> Deleted aspirational Plaid sandbox layer that would have desynced from external key rotation</li></ul>","content_text":"- Improvement: AtlasForge is now firmly the dashboard layer; your external app owns API key issuance + rotation\n- Improvement: Developer Docs endpoint examples now point at atlasforgefinancial.com/v1 (your platform)\n- Improvement: Partner Portal API key section now explains keys come from your external app — rotating them in your app does not break the portal\n- Fix: Deleted aspirational Plaid sandbox layer that would have desynced from external key rotation","date_published":"2026-06-17T00:00:00Z","tags":["fix","improvement"],"_atlasforge":{"version":"v1.3.1"}},{"id":"https://atlasforgefinancial.com/changelog#v1.3.0","url":"https://atlasforgefinancial.com/changelog#v1.3.0","title":"Plaid sandbox is live behind the partner key (v1.3.0)","content_html":"<ul><li><strong>Feature:</strong> New /api/v1 surface: POST /link/token/create, POST /accounts/link, GET /accounts, GET /transactions</li><li><strong>Feature:</strong> Partner test keys (afg_test_…) authenticate against Plaid sandbox; live keys return 402 until production is enabled</li><li><strong>Feature:</strong> Every account link + transaction sync auto-records into your partner dashboard</li><li><strong>Improvement:</strong> Developer Docs rewritten to reflect the real Plaid Link flow + /transactions/sync</li><li><strong>Security:</strong> Backend returns a clear 503 when Plaid is unconfigured instead of leaking framework errors</li></ul>","content_text":"- Feature: New /api/v1 surface: POST /link/token/create, POST /accounts/link, GET /accounts, GET /transactions\n- Feature: Partner test keys (afg_test_…) authenticate against Plaid sandbox; live keys return 402 until production is enabled\n- Feature: Every account link + transaction sync auto-records into your partner dashboard\n- Improvement: Developer Docs rewritten to reflect the real Plaid Link flow + /transactions/sync\n- Security: Backend returns a clear 503 when Plaid is unconfigured instead of leaking framework errors","date_published":"2026-06-17T00:00:00Z","tags":["feature","improvement","security"],"_atlasforge":{"version":"v1.3.0"}},{"id":"https://atlasforgefinancial.com/changelog#v1.2.1","url":"https://atlasforgefinancial.com/changelog#v1.2.1","title":"Public changelog + RSS / JSON feeds (v1.2.1)","content_html":"<ul><li><strong>Feature:</strong> New /changelog page powered by the backend (single source of truth)</li><li><strong>Feature:</strong> RSS 2.0 feed at /api/changelog.rss and JSON Feed 1.1 at /api/changelog.json</li><li><strong>Improvement:</strong> SLA page wired at /sla with footer + legal sidebar links</li></ul>","content_text":"- Feature: New /changelog page powered by the backend (single source of truth)\n- Feature: RSS 2.0 feed at /api/changelog.rss and JSON Feed 1.1 at /api/changelog.json\n- Improvement: SLA page wired at /sla with footer + legal sidebar links","date_published":"2026-06-17T00:00:00Z","tags":["feature","improvement"],"_atlasforge":{"version":"v1.2.1"}},{"id":"https://atlasforgefinancial.com/changelog#v1.2.0","url":"https://atlasforgefinancial.com/changelog#v1.2.0","title":"Ingest API for server-to-server event streaming (v1.2.0)","content_html":"<ul><li><strong>Feature:</strong> New POST /api/ingest/event and /api/ingest/events/batch endpoints</li><li><strong>Feature:</strong> Secret-protected ingestion via X-Atlas-Ingest-Secret header (up to 500 events per batch)</li><li><strong>Improvement:</strong> Developer Docs now include curl, Node, and Python examples for ingest</li></ul>","content_text":"- Feature: New POST /api/ingest/event and /api/ingest/events/batch endpoints\n- Feature: Secret-protected ingestion via X-Atlas-Ingest-Secret header (up to 500 events per batch)\n- Improvement: Developer Docs now include curl, Node, and Python examples for ingest","date_published":"2026-06-16T00:00:00Z","tags":["feature","improvement"],"_atlasforge":{"version":"v1.2.0"}},{"id":"https://atlasforgefinancial.com/changelog#v1.1.4","url":"https://atlasforgefinancial.com/changelog#v1.1.4","title":"Admin: full platform-wide tracking + partner deletion (v1.1.4)","content_html":"<ul><li><strong>Feature:</strong> Admin dashboard now shows aggregate KPIs, daily sparklines, and a per-partner usage table</li><li><strong>Feature:</strong> Per-partner and platform-wide CSV downloads (partners, daily summary, all events)</li><li><strong>Feature:</strong> Hard-delete partner action with typed confirmation</li></ul>","content_text":"- Feature: Admin dashboard now shows aggregate KPIs, daily sparklines, and a per-partner usage table\n- Feature: Per-partner and platform-wide CSV downloads (partners, daily summary, all events)\n- Feature: Hard-delete partner action with typed confirmation","date_published":"2026-06-15T00:00:00Z","tags":["feature"],"_atlasforge":{"version":"v1.1.4"}},{"id":"https://atlasforgefinancial.com/changelog#v1.1.2","url":"https://atlasforgefinancial.com/changelog#v1.1.2","title":"Partner-managed API keys (v1.1.2)","content_html":"<ul><li><strong>Feature:</strong> API key fields start blank — partners paste the keys you email them</li><li><strong>Feature:</strong> Partner can edit/save sandbox + live keys at any time</li><li><strong>Improvement:</strong> Admin button renamed to Clear key — clears the slot back to blank</li></ul>","content_text":"- Feature: API key fields start blank — partners paste the keys you email them\n- Feature: Partner can edit/save sandbox + live keys at any time\n- Improvement: Admin button renamed to Clear key — clears the slot back to blank","date_published":"2026-06-14T00:00:00Z","tags":["feature","improvement"],"_atlasforge":{"version":"v1.1.2"}},{"id":"https://atlasforgefinancial.com/changelog#v1.1.0","url":"https://atlasforgefinancial.com/changelog#v1.1.0","title":"Partner Portal launch (v1.1.0)","content_html":"<ul><li><strong>Feature:</strong> Self-signup, JWT auth, brute-force lockout</li><li><strong>Feature:</strong> Live partner dashboard: active users, accounts linked, transactions, volume, top categories</li><li><strong>Feature:</strong> Range filter (7/14/30/90d) and CSV downloads</li><li><strong>Security:</strong> Admin auto-seeded from env vars on startup; partner endpoints isolated by role</li></ul>","content_text":"- Feature: Self-signup, JWT auth, brute-force lockout\n- Feature: Live partner dashboard: active users, accounts linked, transactions, volume, top categories\n- Feature: Range filter (7/14/30/90d) and CSV downloads\n- Security: Admin auto-seeded from env vars on startup; partner endpoints isolated by role","date_published":"2026-06-13T00:00:00Z","tags":["feature","security"],"_atlasforge":{"version":"v1.1.0"}},{"id":"https://atlasforgefinancial.com/changelog#v1.0.4","url":"https://atlasforgefinancial.com/changelog#v1.0.4","title":"Branding + UX polish (v1.0.4)","content_html":"<ul><li><strong>Improvement:</strong> Renamed Ember → Ember360 across the site</li><li><strong>Improvement:</strong> Custom AtlasForge / Safe to Spend / Ember360 logos integrated</li><li><strong>Improvement:</strong> Footer email no longer wraps; Contact page email scales fluidly</li><li><strong>Fix:</strong> Removed &apos;Made with Emergent&apos; badge</li></ul>","content_text":"- Improvement: Renamed Ember → Ember360 across the site\n- Improvement: Custom AtlasForge / Safe to Spend / Ember360 logos integrated\n- Improvement: Footer email no longer wraps; Contact page email scales fluidly\n- Fix: Removed 'Made with Emergent' badge","date_published":"2026-06-12T00:00:00Z","tags":["fix","improvement"],"_atlasforge":{"version":"v1.0.4"}},{"id":"https://atlasforgefinancial.com/changelog#v1.0.0","url":"https://atlasforgefinancial.com/changelog#v1.0.0","title":"Initial release — atlasforgefinancial.com (v1.0.0)","content_html":"<ul><li><strong>Feature:</strong> Public corporate site: Home, Safe to Spend, Ember360, APIs, Developer Docs, Status, About, Contact</li><li><strong>Feature:</strong> 7 legal pages (Terms, Privacy, Security, Cookies, Acceptable Use, API Terms, DPA)</li><li><strong>Feature:</strong> Live API status dashboard with 60-day history bars and past incidents</li></ul>","content_text":"- Feature: Public corporate site: Home, Safe to Spend, Ember360, APIs, Developer Docs, Status, About, Contact\n- Feature: 7 legal pages (Terms, Privacy, Security, Cookies, Acceptable Use, API Terms, DPA)\n- Feature: Live API status dashboard with 60-day history bars and past incidents","date_published":"2026-06-10T00:00:00Z","tags":["feature"],"_atlasforge":{"version":"v1.0.0"}}]}