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.