Skip to content

FreeMix Changelog

All notable changes to FreeMix are documented in this file.

Format follows Keep a Changelog. Versioning follows Semantic Versioning adapted for a platform product (see Versioning Convention below).


FreeMix uses semver with the following meaning:

  • MAJOR (X.0.0): Phase boundary or breaking changes to the platform’s core model (auth, licensing, commerce)
  • MINOR (1.X.0): New feature batches, new content types, new license tiers, significant UI additions
  • PATCH (1.0.X): Bug fixes, polish, non-functional improvements found during testing
VersionPhaseMilestone
1.x.xAlphaCore upload/browse/remix/license, invite-only
2.x.xBetaPublic invite codes, wider audience, security hardened
3.x.xCommerceRoyalty cascade, payments, Pro tier

  • My Library — sidebar, filters, search, navigation
  • Quick Start video for alpha onboarding
  • Homepage “How It Works” section
  • Bluesky embed player whitelist
  • Security audit (pre-beta)

Alpha 1.1.0 — Self-hosted identity, granular permissions, record verification, key detection, and UI polish.

  • Namespace migration: Migrated all lexicons to fm.freemix.* per ATProto namespace authority rules
  • Granular permission sets: Replaced legacy transition:generic with a purpose-built permission set covering all FreeMix record types, with explicit scopes for Bluesky social primitives
  • Lexicon publishing: 8 lexicons published and verified via DNS TXT records
  • Self-hosted PDS: FreeMix PDS live with user handles as yourname.freemix.fm. Invite-only registration with full account creation flow
  • CID snapshots: Every record’s content identifier is captured at creation time for tamper detection
  • Periodic verification: Automated checks detect if records have been modified or deleted on-PDS
  • Remote attestation: Independent attestation proofs created for all license grants, attributions, tracks, and stems — stored in a separate repo that content owners cannot delete
  • Key detection: Musical key detection now live via WASM-powered audio analysis. Filters atonal/percussive content automatically. Full pipeline now covers fingerprint, BPM, key, waveform, and preview generation
  • Complete audio analysis: Every upload is analyzed for tempo, musical key, audio fingerprint, and generates a waveform visualization and preview MP3
  • Add stems after upload: “Add Stems” button on Track Detail page lets track owners add stems to existing tracks (up to 12 per track)
  • Download All: One-click download of all stems as a ZIP file via server-side streaming
  • Cross-post idempotency: Sharing to Bluesky is now idempotent — prevents duplicate posts on double-click
  • New tier: FM:Samples — 0% royalty tier for samples (building blocks for production). Samples are distinct from stems
  • Renamed: FM:Stems Only → FM:Stems for clarity
  • Tier ordering: Open > Remix > Stems/DJ > Samples > NonCommercial
  • Playback progress: Time display now shows current progress (0:42 / 7:07) when a track is playing, across all card types and the track detail page
  • Activity feed waveforms: Upload, like, and repost activity cards now include interactive waveform visualizations with hover-to-play
  • Activity feed artwork: Track artwork positioned on right side of activity cards with hover-to-play
  • Independent playback: Playing a track from one location no longer triggers play state on the same track elsewhere on the page
  • Metadata icons: BPM (pulse), Key (note), and Duration (clock) icons for quick visual scanning across all track displays
  • Profile page: Horizontal compact track cards with cover art
  • Footer redesign: Clean 3-column layout with navigation and copyright
  • Login copy: Updated to reference both FreeMix and Bluesky accounts
  • Third code audit: 10-section comprehensive audit. Zero critical issues, consistent auth guards on all mutation routes, clean environment configuration, no dead code or unused dependencies
  • Zero any types: Strict TypeScript maintained across the entire codebase
  • Dev/prod separation: Fully isolated development and production environments with separate databases, storage buckets, and visual indicators
  • Environment-aware audio URLs: Audio playback works correctly across all environments
  • NDA finalized for alpha testers
  • PRO blanket licenses: Determined non-blocking by legal counsel
  • License Framework v07: Updated with hosting provisions, reviewed by attorney

Alpha 1.0.0 — Core platform functional. First successful demo.

  • ATProto OAuth 2.0 authentication with Bluesky identity
  • Track upload with metadata, license selection, cover art
  • Stem upload tied to parent tracks
  • Remix upload with source attribution (creates remix tree)
  • Audio processing pipeline: BPM, fingerprint, waveform, preview generation
  • Browse page with genre filters, sort, search
  • Track detail page with waveform player, stems, remix tree
  • Profile pages with activity feed
  • Global activity feed (uploads, downloads, remixes, stems)
  • Download tracking with mutual visibility model
  • Social features: likes, reposts, follows
  • 5 base tiers: Open, Remix, NonCommercial, Stems Only, DJ
  • Modifiers: Credit, ShareAlike, NoAI, Royalty (1-100%)
  • License cascade enforcement with comprehensive test coverage
  • ~57 valid license combinations
  • Multipart upload for large files
  • Chunked downloads with retry logic
  • Pending file reuse for fast re-processing
  • Malware scanning on all uploads
  • Stem waveforms on Track Detail
  • Download activity with mutual visibility
  • Remix activity cards with horizontal node layout
  • Stem activity cards with generative art and hover-to-play
  • Three-column responsive layout
  • Generative placeholder art system (deterministic from seed data)
  • DMCA agent registered
  • Terms of Service, Privacy Policy, DMCA page live
  • 18+ age requirement (licenses are binding contracts)