VERSION REGISTRY
Release History
Every release strictly adheres to Semantic Versioning and Keep a Changelog principles. Keystroke reliability, zero telemetry noise, and data sovereignty are guaranteed.
v0.9.0Sprint 5 — Current Baseline
2026-09-27Images, Attachments & Offline Resilience
Added
- Local-first attachment repository persisted in user-scoped IndexedDB databases (stack_user_{subHash}) storing binary blobs.
- Multi-note relative attachment isolation: two notes can reference identical relative paths (e.g. ./assets/screenshot.webp) without cross-contamination.
- Binary immutability guarantee: attachmentId represents an immutable binary object, preventing stale object URLs.
- Undo/Redo attachment safety: removing Markdown references preserves binary in IndexedDB; Redo restores rendering without broken images.
- Durable and resumable upload queue: restores pending uploads on startup, network reconnection, and explicit retry.
- Client-side image optimization pipeline enforcing max 2560px edge, WebP compression, and 25MB pre-read file limit.
- Interactive public demo workspace at /demo operating in complete isolation under stack_demo_workspace and stack_demo_layout.
Changed
- Aligned canonical username contract across frontend schemas, onboarding copy, and profile modal to ^[a-z0-9._-]{3,32}$.
- WorkspaceView cleans up object URL caches on sign-out and purges attachments on permanent note deletion.
Fixed
- Fixed username availability check collapsing non-2xx responses or network errors into false "already taken" collisions.
- Fixed updateProfile dropping updates when initial profile state was null during onboarding completion.
v0.8.0Sprint 4
2026-09-27Authoritative Markdown Editor UX & Slash Commands
Added
- Authoritative CodeMirror Markdown-first editing engine maintaining raw Markdown text as the sole source of truth.
- Pure Markdown transformation service supporting 15 formatting actions with placeholder insertion and clean heading toggles.
- Compact formatting toolbar with active syntax detection and mobile horizontal scrolling.
- Keyboard-first Slash Command palette triggered by "/" at line start with fuzzy keyword filtering and arrow navigation.
- Editor action bar with native Undo/Redo, Explicit Save (Ctrl+S), and Copy All Markdown.
- 500ms debounced autosave pipeline with revision safety and truthful save state machine.
v0.7.0Sprint 3
2026-09-27Workspace Organization, Hierarchy & Persistence
Added
- Nested folder system supporting arbitrary depths with cycle prevention (wouldCreateCycle).
- Safe folder deletion workflow reparenting only direct notes and immediate folders, never flattening descendants.
- Note and folder sibling reordering with visual drop indicators powered by Pragmatic Drag and Drop.
- Accessible keyboard and touch alternative "Move to..." modal.
- Active-note tag editing UI and sidebar active tag roster with real-time frequency counts.
- Strict note state lifecycle precedence: Trash > Archive > Active.
- Three sidebar layout modes: Expanded (resizable 220px–420px), Compact (56px rail), and Zen fullscreen.
- User-scoped layout settings persistence (stack_layout_{hashSub(sub)}).
v0.6.0Sprint 2
2026-09-27Profile, Security & Device Lock
Added
- Canonical profile query state (useCurrentUserProfile) propagating immediate updates across workspace and navbar.
- Client-side avatar crop and WebP compression with persistent S3 key structure.
- Atomic username updates guarded by 6-digit email security challenges.
- Sensitive email challenge protocol with server HMAC-SHA256 digests and 3-attempt lockout.
- Local Device Lock (6-digit PIN) powered by Web Crypto PBKDF2/SHA-256 with auto-lock timeouts.
- Danger Zone permanent account deletion destroying cloud and local storage records.
v0.5.0Sprint 1 Acceptance
2026-09-27Modula Registry & Production Acceptance
Added
- Public project registry route (/modula-project) exhibiting systems under the Modula Project umbrella.
- Backend-authoritative identity contract where backend extracts claims.sub from API Gateway authorizer.
- Verified cross-user isolation: User A notes are completely invisible to User B.
v0.4.0Sprint 1
2026-09-27Auth0 Identity & Per-User Workspace Partitioning
Added
- Auth0 integration via @auth0/auth0-react supporting Google, GitHub, and Universal Login.
- Email verification gate blocking private workspace until email is verified.
- First-run identity onboarding with strict username normalization.
- Hard per-user IndexedDB workspace partitioning (stack_user_{hash(sub)}).
- Comprehensive 10-step logout cleanup protocol clearing caches and closing DB connections.
v0.3.0Foundation Cutover
2026-09-27Domain Cutover & Core Architecture
Added
- Production custom domain cutover to https://stack-md.online.
- Three sidebar layout modes (expanded, compact, zen).
- Shared MarkdownRenderer across Split preview and Read mode.
- PWA standalone installation across Windows, Linux, and macOS.
v0.1.0Initial Foundation
2026-09-26Initial Project Foundation & Design System
Added
- React 19, TypeScript, React Router Framework Mode, Vite, and Tailwind CSS v4.
- Post-war industrial steel design tokens (Background, Surface, Slate Metal, Bone White, Red Slate).
- Brand logo compiled into lossless WebP and PWA manifest icons.
- Interactive UI mockup with Write, Split, and Read modes.
- Prerendered public routes (/docs, /help, /changelog) and CSR /app workspace.
