Release Notes

Everything that's changed in DynaFlow, newest first.

v1.3.0

16 September 2026

Features

  • auth: generate PKCE verifier/challenge for initiate_auth (aa63885)
  • auth: redeem a one-time code instead of trusting the deep link (e3e9ac6)

Bug Fixes

  • auth: log non-conditional redeem failures and close the gate over load_pending (28cb555)
  • auth: never render attacker-controlled OAuth error text (02c209b)
  • auth: redeem a one-time code instead of trusting deep-link parameters (f7367a9)
  • auth: stop logging deep-link argv and URLs (38e5376)
  • auth: surface a code-less callback instead of ignoring it (595ec43)
  • ci: exempt CHANGELOG.md from the access-pattern guard (1243df7)

v1.2.0

15 September 2026

Features

  • common: add shared forms component library (1065723)
  • deploy: promote infra or the website to production on its own (2d890c0)
  • dev: one-command local dev stack via just dev-stack-up (b79db1a)
  • e2e: drive Pro features natively via an e2e-only license override (9c946b8)
  • e2e: drive the UI from the CLI in browser and native modes (f709084)
  • forms: hover help on icon buttons, badges and radio groups (e2b40ae)
  • infra: add a GET /flags endpoint for the telemetry splash flag (f7f21cc)
  • marketing: capture and prepare app screenshots for the website (59bd718)
  • mcp-settings: edit the builder's saved queries in the MCP tab (f0864c1)
  • mcp: run_saved_query replaces run_access_pattern (aedb7b0)
  • query-builder: fill saved-query blanks inline and save per query (8625675)
  • releases: show release notes in-app and at dynaflow.dev/releases (0cce7ba)
  • saved-queries: one name everywhere, docs, builder e2e and stale-reference guard (fc7638d)
  • saved-queries: typed model, ${param} templates, resolver and per-query storage (d3d263f)
  • settings: add SettingsContext + ConnectionHub state layer (6e3ee3c)
  • settings: dim and disable unreachable connections in the MCP list (f99439c)
  • settings: finish the native-control sweep + deep-link regression tests (03e2ed2)
  • settings: persist the answered telemetry consent version (87bfb38)
  • settings: pill-based key format composer for access patterns (6fc44fc)
  • settings: plain-language wording for the saved queries editor (206bed7)
  • settings: replace Local & AI with a flat, scannable MCP Server tab (5ac2fba)
  • settings: standardize the settings contract on camelCase + AppSettings (c9f12ec)
  • settings: two-band MCP tab with full-width table notes (1b7f9ab)
  • settings: unify local databases and connections in a Local tab (36c153b)
  • site: add SEO essentials to marketing site (49cc5a5)
  • site: add set-download-version-dev to seed the dev download pointer (a4176ef)
  • site: enlarge a screenshot on hover, and ship them at q95 (312ec89)
  • site: name the Map & Filter tabs for what you do, not what you see (d2aba7e)
  • site: noindex dev.dynaflow.dev via dev-only worker shim (528f0f5)
  • site: route the dev site to the dev API (CORS + API base switch) (edd9270)
  • site: show each feature with its screenshot (fd43542)
  • site: show Map & Filter as two screenshots, and re-take one shot at a time (0ee474f)
  • site: stick the screenshot to the list, and open it full size on click (78849c5)
  • telemetry: ask again, now that crash reports are mandatory (57867df)
  • telemetry: ask for consent in a modal, versioned so it can be re-asked (07e48f9)
  • telemetry: crash reports are mandatory, and the switch is gone (4014945)
  • telemetry: gate export on a consent predicate, not the exporter's absence (cf79534)
  • telemetry: invite opted-out users back, behind the /flags flag (5cd2f58)
  • telemetry: recipes that prove events_v2 prunes, matches events, and is faster (e5a20a9)
  • telemetry: report recipes read events_v2 and prune by day (b331e20)
  • telemetry: schema version 3 (b25d112)
  • telemetry: the launch ping reports the consent it was sent under (024af69)

Bug Fixes

  • a11y: the Map & Filter editor announces itself as a dialog (48fcb85)
  • aws: a chosen profile is no longer overridden by a local endpoint (49bc83e)
  • ci: bump cargo-lambda to 1.9.2 so Lambda builds link on Rust 1.98 (120b7e3)
  • ci: let the stale-reference guard skip .plans (b1162a8)
  • ci: pin wrangler v4 for the site deploy (12832cf)
  • ci: stop PR CI from deleting rustup on the self-hosted runners (a76260b)
  • ci: the site test job never ran, because the workflow was rejected whole (7fd8ca1)
  • ci: undo a lockfile bump I caused, and stop the site job fighting for a port (2a8b89b)
  • deploy: promote everything deploy.yml runs, and leave shared hooks alone (a60e32c)
  • deps: catch the Tauri plugin crates up to their npm packages (e1666e1)
  • e2e: recreate the screenshot dir and correct nullable mocks (d63157d)
  • forms: number inputs commit only when the value changes (bd4ee3d)
  • infra: keep telemetry two years, and forbid destroying its bucket or table (b0298d8)
  • infra: make the plan delete guard fail closed (19fcf96)
  • local-dev: seeding installs its own dependencies first (bbd5083)
  • marketing: trim the dead strip under the detached editor window (d696c7e)
  • mcp-settings: the saved-query limit field can be cleared and retyped (1812971)
  • query-builder: send number-typed keys as numbers, and refuse backwards between ranges (3d190a9)
  • query-builder: the missing-index warning doesn't outstay its welcome (a6ba0fb)
  • release: capture git-cliff changelog output so notes stop shipping empty (4aadcd1)
  • settings: a connection dropping offline no longer discards an open draft (8090685)
  • settings: a sort-keyed index always constrains its sort key (7df4dc7)
  • settings: access-pattern clarity round 2 + tooltip clipping + discard guard (cc1c19b)
  • settings: apply MCP tab test feedback — state bug, clarity, guided patterns, config sharing (756a230)
  • settings: composer polish — static key names, drag-into-text, intro layout (ac5fcea)
  • settings: connect remaining faked data to real sources (2d76701)
  • settings: guided pattern builder no longer depends on schema lookups (e4b3120)
  • settings: keep loaded connection settings under React StrictMode (6c5c923)
  • settings: key names are always facts, and the drop caret actually renders (bc7f3cd)
  • settings: sandboxes are always reachable — running means HTTP-only (e67f147)
  • sidebar: a retired table load can no longer report its failure (a907dc5)
  • site: deploy as a Cloudflare Worker (static assets), not Pages (49d11d7)
  • site: ship the screenshots lossless so their text stays sharp (02036e6)
  • site: use named wrangler envs (production/dev) for clean deploys (0f02483)
  • splash: one overlay per launch, and the Pro splash at most once a day (042b053)
  • telemetry: drop a migration that never ran, and hold the splash for the version too (208b8b9)
  • telemetry: fail loudly when the day helper fails (efcc25a)
  • telemetry: make the parity and pruning gates tell the truth (568f8aa)
  • telemetry: offer the prompt once per app version, and not over the splash (bbcb952)
  • telemetry: one consent wording, a latched splash, and a native e2e escape hatch (b6a64af)
  • telemetry: only the webview teaches the licence-tier hint (556a946)
  • telemetry: refuse records whose identity is ambiguous (d09f01e)
  • telemetry: report the real licence tier on a Rust panic (627539a)
  • telemetry: tidy the version story, and refuse a doubled consent stamp (9dff385)
  • test: give local_connection_tests a DynamoDB Local of its own (7e55c94)

v1.1.0

1 July 2026

Features

  • mcp: expose pagination on query and scan tools (092cbbf)
  • pro: split local DB / MCP into separate features; market all pro features (c8e1d15)
  • report: bug-icon ReportButton component (9298b5c)
  • report: client request URL + error-mapping helpers (ed0e2f5)
  • report: just recipes to list and re-status reports (6e07795)
  • report: place bug button in title bar and wire report modal (1ab1a1e)
  • report: report modal with bug/feature toggle and inline feedback (bd26634)
  • report: submit_report tauri command + handler registration (7b60436)
  • settings: widen settings modal and improve responsive sizing (593443e)
  • table: add TableWorkspaceSnapshot + pure capture helpers (f436a2d)
  • table: apply pending workspace snapshot (query/scan/search/map) on load (40911a6)
  • table: expose captureState() workspace snapshot on the handle (928f21a)
  • tooling: add downloads-report recipe for website download counts (dfad282)
  • tooling: add local telemetry dashboard and downloads-report window (e431816)
  • window: carry current-table state into new windows; focus-only on reuse (7d64ba2)
  • window: wire current-table state carry-over from both hosts (c0c525e)
  • add a way to change the downloaded app version (f12f88e)
  • local databases & MCP server (dynoxide-backed sandboxes + AI access) (#86) (ae8ef64)

Bug Fixes

  • auth: guide re-auth before account linking and auto-resume the link after sign-in (f03dc69)
  • export: export displayed rows and show dropdown above the table (35350d8)
  • export: include all visible/mapped columns, not just keys (5840c3a)
  • infra: handle missing download pointer on first release (ad8301c)
  • mapping: apply map/filter regardless of result-set size (15959d7)
  • mcp: surface exposed tables at the top of the annotations list (d5187ff)
  • query: gate the high-limit warning on the query builder limit (ac6bcaf)
  • release: decouple DMG creation from updater artifact upload (6c760bd)
  • report: match bug button height to the profile dropdown (04cf5b2)
  • report: size bug button to sm to match dropdown height (c522554)
  • table: carry over active map/filter into new window (0f4d0f3)
  • table: carry the full map/filter function into new window, not just its id (c10b6d2)
  • table: don't prompt to stop a watch when opening its own table (b6eeb09)

v1.0.0

25 June 2026

Features

  • admin: dynaflow-purge-user tool to fully delete a user by email or id (46ba26f)
  • billing: frontend Subscription type, listSubscriptions, openPortal(licenseId?) (af57390)
  • billing: show per-subscription list on account page when 2+ subs (4163e39)
  • billing: subscriptions list component with per-sub manage + warning (7e00494)
  • billing: tauri list_subscriptions + open_portal license_id (133460b)
  • infra: /download/info availability endpoint (1f7d103)
  • infra: major-gated website download pointer (f51c788)
  • infra: server-side telemetry metadata allowlist (6792b05)
  • site: offer only macOS downloads on the website (22223c6)
  • site: privacy policy and terms of service pages (4e378e4)
  • site: show coming-soon until a release is available (bd3a5d8)
  • add google login and auth linking (7af04f8)
  • secure prompt to link (0b611ab)
  • website improvements and download flow (5c714a0)

Bug Fixes

  • admin: purge targets real AWS, not local DynamoDB (d2efeb1)
  • billing: audit follow-ups — verified-email only, per-license customer on resub, tiebreak, tests (d7ce894)
  • infra: correct package version reference (0245fa7)
  • infra: download pointer is prod-only and allows baseline patches (511a69d)
  • infra: timestamp telemetry logs properly (f092a02)
  • site: hide download grid until release available, roomier coming-soon card (09d3303)
  • site: make crash-report privacy wording precisely match implementation (df2ade7)
  • auth and account linking bugs (2500163)
  • auth singleton (30746f7)
  • auth token storage improvements (cf81840)
  • complete missed 'wire up' items (471f53b)
  • delete before settings keychain password (b325218)
  • more accurate telemetry (f847c13)
  • release script commits lockfile now (0e920b0)
  • restore pinned Cargo.lock and stop release.sh regenerating it (6a551f6)
  • splash flow and user record merges (b4a382a)

Reverts

  • accidental 2.0.0 version bump (bd548a9)

v0.7.0

28 May 2026

Features

  • splash: add default splash content bundle (#82) (1ca7aea)
  • add shortcut to open settings (e18eeaf)
  • add copy raw and formatted value for cells (dc500c1)
  • add eslint and correct issues (b6e7a63)
  • add tab system for table access (691e374)
  • adjust contrast for selections (2675c81)
  • check for updates button (764aedc)
  • cmd+[num] shortcuts for tab navigation (7d0171b)
  • highlight row for matching search fields in tooltips (65cf350)
  • local dynamo seeding for stress testing (e1b2aed)
  • only show new window icon while hovered (49003ab)
  • poll for updates 15 min and window size++ (36615db)
  • search prefs buttons (e656c49)

Bug Fixes

  • ci: raise mem limit (92539af)
  • ci: update es version (cc76211)
  • aspect ratio (8ebf499)
  • better update detection at boot (ec2ce89)
  • erroneous errors (4fbb334)
  • improved splash screen purchase flow (09ef3e6)
  • integration tests use dep inj for dynamo client (5453a23)
  • lint issue cleanup (bbbb939)
  • mapping fn types and field detection (587207b)
  • mapping shows all fields but can be narrowed (fce1ceb)
  • multi select while editor open now works (fc4b79d)
  • no more failing tests (385728e)
  • pin version for build (f0095ce)
  • post-payment pricing screen options correction (96a08f9)
  • product prefetching on account screen (6274f85)
  • remove complexity for splashscreen (b458ca5)
  • remove failing test files (5db40da)
  • set selection anchor on unmodified selects (833ee79)
  • splashscreen checks and logic (f0cd6e6)
  • store nonce persistently for github auth (e43e6b9)
  • tab groups, sidebar UX, and selection polish (7bedbe9)

Performance Improvements

  • optimize virtualized table rendering (88cdf9f)

v0.6.1

4 May 2026

Features

  • add button to restart after update installed (ef8daef)
  • add clear button for table search (abab52e)
  • add fts for table results (514b508)
  • add local DynamoDB connection support (82a5923)
  • better scroll indicator for table info (ad9b1f1)
  • focus the editor on open for find (40822b6)
  • minor tweaks for query watch feature (9289f0b)
  • security: sandboxing, CSP, CORS, banning (675359e)
  • table info prefetch w virtualized table list (134beee)
  • update confirmation dialog for deletes (927ebdb)
  • write protection and per-field save controls (8158547)

Bug Fixes

  • check properly for upgrade version and licenses (f2c5128)
  • columns resize again after regression (50ff7f6)
  • enter submits form and executes query (8e804bb)
  • fix history query execution (0e94aaa)
  • increase hitbox size for resize handles (f7669e0)
  • login no longer shows error...in error (86c4d97)
  • no need for history badge indicator (7b47122)
  • pregen bindings for windows build (7d7432b)
  • show all columns by default (4d1e114)

v0.6.0

20 April 2026

Features

  • ui: full shared button componant overhaul (1dcffd6)
  • ui: improvements to the table name list UI (6b70461)
  • ui: rewrite LicenseSettings with card-based layout (56f8f9b)
  • app icon update (4dd014f)
  • column resizing and auto-fitting (995c22f)
  • doc editor resize now allows closing editor (648c1d6)
  • document editor now resizes along whole top border (0ed00be)
  • document selection and deletion (de39e3d)
  • enhance App Data tab and add dev config tweaks (6b14474)
  • prefetch product pricing on app startup (c3b6974)
  • remove scan/query limit caps, add high-limit confirmation modal (d64f85a)
  • update flow improvements (09252ea)

Bug Fixes

  • ci: actually, use the same api token (0027a89)
  • ci: add arch to version check (4260889)
  • ci: correct malformed url (c74eeb8)
  • ci: debug for windows build (700ea8b)
  • ci: fix bad parens on windows (1264f1e)
  • ci: fix env vars and add debug logs (6805d16)
  • ci: fix naming and versioning for app releases (a5a9118)
  • ci: fix tests hanging after completion (3524f32)
  • ci: fix wdyr injection (0341c80)
  • ci: fix windows powershell usage (d171a20)
  • ci: remove nsis references (07aac12)
  • ci: remove unused variable (47a6538)
  • ui: some tweaks to the pricing (fd62ec5)
  • ui: use svg for all close icons (5d4b8b1)
  • ui: virtualize the documents table to improve perf (48f6d17)
  • ui: width-responsive footer (7ae329c)
  • add cancel button to sso modal (98280c0)
  • clear query button now works (e4046b8)
  • improve auth deep link reliability with focus fallback and debug logging (6cc0129)
  • prevent account modal from being closed (d26f927)
  • rendering issues due to bad rerender loops (9070ebd)
  • scroll to top when changing docs (23d3e8f)
  • update versions for compat (5868ed2)
  • update versions in auto update fns (00b603e)
  • wording update (b15fed2)