Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 17:55
· 48 commits to main since this release

2.0.0 (2026-10-14)

  • feat(connections)!: stop reading DBFORGE_CONNECTIONS (0e065a2)
  • feat(settings)!: stop reading AI settings from .env (a4d3ddd)

Bug Fixes

  • connections: don't block a disconnect on a running pg query (008476b)
  • connections: don't close a retired client under a running write (c3b20d8)
  • connections: don't retry the Settings Elasticsearch test ping (130c2d1)
  • connections: force-close on an explicit disconnect again (08d01d2)
  • connections: hold a retired client per client, not per connection (b42c1f6)
  • connections: never reject from an explicit disconnect (68790e5)
  • connections: retire an edited connection's pool in the background (1204edb)
  • envs: keep saved envs that have no connection right now (7597adb)
  • envs: let admins revoke envs that have no connection (23cee32)
  • schema: keep an introspection that raced a cache clear out of the cache (2f9681e)
  • secrets: create the key file atomically and log each bad secret once (35b3f94)
  • secrets: create the key file where hard links are unsupported (9d5b489)
  • secrets: make the no-hard-link key file fallback atomic (02a8d4e)
  • settings: accept only paths or http(s) URLs for logos and favicon (f094cb2)
  • settings: audit connection fields an update cleared (3a530a9)
  • settings: cap numeric limits at a sane maximum (4968fb6)
  • settings: close remaining secret-redirect paths (cf2df37)
  • settings: fall back to the default for out-of-range numbers (91fb2da)
  • settings: gate kept passwords on a safe-field allowlist (63f5cb8)
  • settings: guard the AI key target while a key is stored (94e3963)
  • settings: hide driver errors when a test used stored secrets (275aeee)
  • settings: keep an undecryptable connection secret intact (04381d3)
  • settings: keep an undecryptable secret unset (b86de39)
  • settings: keep production connections in a production env (fdce6d3)
  • settings: let an admin clear a stored password or URI (b395014)
  • settings: mask secrets in the logged connection-test error (f39d9ee)
  • settings: read bool settings the same way in UI and server (39b94e4)
  • settings: reject backslashes in logo and favicon URLs (1f4f086)
  • settings: reject whitespace and control characters in asset URLs (cdd11a6)
  • settings: report a stored but undecryptable AI key as set (02a85c6)
  • settings: require a unit and a positive JWT_EXPIRES_IN (03a741f)
  • settings: require secret re-entry when its target changes (b6f77f6)
  • settings: retire pools without awaiting on a timeout change (63a0c8d)
  • settings: seed connections once DBFORGE_CONNECTIONS has some (114698a)
  • settings: show a limit's clamped value in Settings (6e46656)
  • settings: show copy formats and favicon defaults (e66dc5f)
  • ui: align connection form fields (8f4423c)
  • ui: clear the active connection when the last one is deleted (5d9ca55)
  • ui: detach tabs from deleted connections through the store (deb7e9a)
  • ui: forget the remembered schema of a deleted connection (d9a5cb3)
  • ui: keep a saved orphan env pickable until the user edit is saved (ddf55f2)
  • write: bind drafts saved before the upgrade to their connection (13b0293)
  • write: bind the default schema and quote it (f2f2d68)
  • write: keep a request's env and target in step with its connection (4b426a7)

Features

  • settings: admin screens for connections, branding, limits and AI (e3ad766)
  • settings: configure the login page text (2711674)
  • settings: import connections from JSON (6f4f48e)
  • settings: import connections from JSON in the UI (18c5a56)
  • settings: operator ceilings for limits (8a78fef)
  • settings: store runtime config in the app database (3b7e275)
  • settings: tab title follows the app name (f2b99f6)
  • settings: test a connection before saving it (0911cc5)
  • settings: test connections before importing them (e5dca1a)
  • ui: hide the footer on the login screen (47492da)
  • write: bind a write request to its connection target (e700d05)

Performance Improvements

  • settings: prepare getSetting once and read MAX_ROWS once per query (0a0a0a2)
  • settings: read every connection's secret flags in one query (769a1df)

BREAKING CHANGES

  • AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_KEY,
    AZURE_OPENAI_DEPLOYMENT, AZURE_OPENAI_MODEL, AZURE_OPENAI_API_VERSION and
    AZURE_OPENAI_INSECURE_TLS are no longer read from the environment. Values
    already saved in Settings keep working; values that only lived in .env must
    be re-entered under Settings -> Azure OpenAI.
  • DBFORGE_CONNECTIONS is no longer read. An install that already
    imported it keeps its connections. A fresh install must add them in Settings ->
    Connections, or paste the old JSON array into Settings -> Connections -> Import.