Changelog
What we've shipped lately.
The platform milestones we want public visitors to know about. For SDK release notes, see @getfluxly/sdk-js on npm.
April 2026
Faster control-plane reads with cache layers
- Added a control-plane read cache: process-local L1 plus Redis L2 with read-through caching.
- Cache headers on cached management API responses.
- Browser-side stale snapshots for the dashboard, project overview, API-key metadata, profiles, events, and identity links.
- Version-bump invalidation on writes so project creation and API-key create or revoke clear stale reads cleanly.
April 2026
Management APIs and self-serve project setup
- First real management APIs: current user, platform user create, project create / list / get, API key create / list / revoke.
- Browser-based control-plane testing surface so project and API key setup no longer needs Postman or terminal work.
- Supabase user-token handling on management requests, with lazy platform-user sync.
- Tighter API-key lookup rules: deleted and expired keys are rejected cleanly; clearer 401 responses on lookup failure.
March 2026
Cold-start performance: sub-second ingestion
- Added the identity-safeguard worker to repair unresolved analytics rows when Postgres already knows the canonical profile.
- Reworked control-plane API key auth into four layers: in-process cache, shared Redis cache, pooled Postgres, and Supabase standby fallback.
- Prewarmed active API key mappings into Redis on startup so the first request hits the warm path.
- Warmed the queue Redis client on control-plane startup so first enqueue does not pay the initial connection cost.
- Outcome: cold ingestion requests dropped from multi-second to sub-second behavior on the current deployment.
February 2026
Identity and enrichment hardening
- Canonical profile resolution and cross-anonymous deduplication.
- Hot Redis identity lookups for external_id, anonymous_id, and project / API-key resolution.
- Server-owned session resolution with timeout-based caching.
- identity_processed_at field on analytics events so you can tell whether identity was resolved at ingest time or asynchronously.
- Persisted external_id, ip_address, and user_agent through the analytics path, with standardized sliding TTL on hot cache keys.
December 2025 to January 2026
End-to-end analytics ingestion
- End-to-end ingestion path through Redis and Go workers.
- Split analytics and identity processing into separate workers so the request path stays fast.
- Asynchronous identity-link intake, early profile resolution, and lazy profile creation in the identity flow.
- Outcome: ingestion accepts requests quickly; the full enrichment work happens in workers.
Want to be notified as we ship? Apply for the private beta.