← Back to Synfliq
Changelog
All notable changes to Synfliq are documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[0.6.0] — 2026-05-09
Major UI redesign per docs/strategy/synfliq_ui_architecture.md.
Left sidebar replaces the multi-purpose top bar; top bar is now
reserved for context (workspace, breadcrumb, identity).
Added
- Left sidebar shell with workspace pivot ("Personal workspace"
placeholder until v35), primary "+ New generation" action,
destinations (Home/Recent, Generate, Import), reserved slots
for Library (Phase 2), Projects (v37), and Connectors (Phase 3),
Settings, Help, and user block.
- Kebab overflow menu (⋮) in Generate and Import panel headers,
starting with Reset and extensible for future task-level actions.
- Hybrid expanded/collapsed sidebar mode, user-toggleable,
persisted via localStorage.
- Reserved future slots with "Coming in {phase}" tooltips.
Changed
- Top bar reduced to context only: logo, breadcrumb, support,
user badge. AI Generate, Import, Settings, Reset, and the plan
badge have moved out.
- Plan badge now lives in the user menu.
- User menu anchors to its trigger element — sidebar trigger
anchors near the sidebar, top-bar avatar anchors top-right.
- Credit users' plan badge shows "{N} credits" instead of literal
"Bundle Plan"; at zero credits, becomes a link to top up.
- Reset moved from the top bar to the kebab menu inside each
panel. Reset preserves the current mode (Generate stays
Generate, Import stays Import).
Fixed
- Reset now correctly clears Import state (uploaded files, import
UI surfaces) in addition to Generate state. Previously the
function only cleared Generate fields — a pre-existing oversight
exposed by relocating Reset to the per-mode kebab.
[0.5.2] — 2026-05-09
Fixed
- BYOK initialization race on fresh login. The /auth/login
response now includes
byok_expires_at, active_provider, and
hasApiKey, hydrated identically to /auth/me. The client now
calls updateModelSelector() after setting currentUser, so the
settings drawer reflects accurate BYOK status immediately on
login rather than only after page refresh or visiting account
settings.
- Silent BYOK expiry bypass. Closely tied to the above: the
byokEligible check previously read undefined byok_expires_at
as "no expiry," granting BYOK access regardless of actual status
until next state hydration. The login response now returns
explicit null for absent expiry (preserving legacy/grandfathered
semantics) and a real ISO timestamp when set.
- Misleading drawer placeholder. The static fallback in the
settings drawer now reads "Connecting…" instead of asserting
"AI provider active" before status is determined.
[0.5.1] — 2026-05-09
Fixed
- Changelog page renders inline markdown links correctly (replaced
custom regex chain with
marked library; future markdown syntax —
italics, blockquotes, tables — now supported natively).
- Footer text contrast on dark canvas — version chip and footer links
were barely legible; now use
--type-light (#E8EAF2) and --mark-mid
(#38BDF0).
- Opus BYOK selection — model string in
routes/generate.js allowlist
aligned to canonical date-suffixed form (claude-opus-4-5-20251101)
to match the adapter's advertised string.
Documentation
- Adapter section in
CLAUDE.md updated to reflect actual model
strings in use.
[0.5.0] — 2026-05-08
Added
- Branded site footer across all client pages with dynamic year, version chip, and links to privacy, terms, cookies, and status.
/api/version endpoint exposing the current package.json version.
/changelog route that renders this file as a branded HTML page.
- Cookie notice strip on every public page describing the single Cloudflare security cookie; dismissed state persisted in
localStorage.
Changed
- Cookie notice now reserves bottom padding via a
cn-visible body class so it never overlaps the footer when scrolled.
Notes
- Earlier history (Mollie integration, BYOK platform access, account redesign, roadmap voting, GDPR data export, staging environment, multi-provider AI, audit log) is summarised in
CLAUDE.md under "Recent additions". This changelog will track changes from version 0.5.0 onward.