Skip to content

Releases: titanbaserun/titanbase

0.7.0

Choose a tag to compare

@madeburo madeburo released this 11 Jul 09:04

Added

  • Added a shared 20 MB browser import limit for Titan JSON, PostgreSQL SQL, and compare files.
  • Added confirmation dialogs for destructive table, relation, index, and enum deletion, including cascade impact details.
  • Added reusable dialog focus management and keyboard focus trapping for editor modals.
  • Added precomputed schema visual indexes for foreign-key and index badges.
  • Added a PostgreSQL-first dialect capability notice in the Project Overview and export warnings for non-PostgreSQL workflows.
  • Added CSP and stricter renderer navigation rules to Titanbase Desktop.
  • Added dependency-audit checks to core CI.

Changed

  • Reduced canvas hot-path work by tracking dirty state through immutable schema identity and serializing only during save/autosave.
  • Aligned the browser editor React and React type ranges with the installed React 19.2 release.

0.6.0

Choose a tag to compare

@madeburo madeburo released this 08 Jul 16:38

Added

Export Presets

  • Added local PostgreSQL export presets for Supabase and Neon.
  • Added Supabase and Neon tabs to the export modal with clear local-first warnings.
  • Added preset-specific SQL headers and .supabase.sql / .neon.sql default filenames.

Editor

  • Added a file-changed-on-disk prompt for desktop-opened .titan.json files.
  • Added support for reloading an externally changed file or continuing with the in-editor version.
  • Added shared editor hooks for browser autosave, desktop document bridging, schema export generation, and asset path handling.
  • Added desktop-safe relative asset paths so packaged Electron builds load logos and static assets from the bundled renderer.

Examples

  • Added onboarding PostgreSQL sample files in examples/sql for Blog, SaaS, Supabase-style PostgreSQL, and Neon/PostgreSQL workflows.
  • Added importer coverage that verifies the onboarding SQL samples import successfully and produce no error-level diagnostics.

Changed

  • Improved Recent Schemas UI with timestamps and clearer desktop-local copy.
  • Updated README and desktop documentation to reflect the current local-first desktop and SQL import/export workflow.

Fixed

  • Fixed packaged desktop builds loading web-style absolute asset paths instead of local bundled assets.
  • Fixed desktop file-change detection surfacing only as status text by adding a proper reload/keep-editing prompt.

titanbase-desktop@0.2.0

Choose a tag to compare

@madeburo madeburo released this 08 Jul 16:38

titanbase-desktop@0.2.0 - Desktop Polish

Added

  • Added file-change reload prompts for opened .titan.json files.
  • Added improved Recent Schemas presentation with last-opened timestamps.
  • Added Supabase and Neon export preset support to desktop native file export.

Changed

  • Improved packaged renderer asset loading for offline desktop builds.
  • Kept desktop builds unsigned until Developer ID signing and notarization are available.

titanbase-desktop@0.1.0

Choose a tag to compare

@madeburo madeburo released this 23 Jun 06:41

titanbase-desktop@0.1.0 - Desktop App

  • Released the Electron desktop package as titanbase-desktop@0.1.0.

Desktop App

  • Added the free OSS apps/desktop Electron application using the shared visual editor and schema packages.
  • Added file-backed open, save, Save As, SQL import, compare, migration-draft export, and all schema export workflows through native dialogs.
  • Added a narrow typed preload bridge with context isolation, renderer sandboxing, and Node integration disabled.
  • Added native application menus and shortcuts, recent files, OS file-open events, drag and drop, unsaved-change prompts, and safe close handling.
  • Added deterministic desktop file-state and filesystem safety helper tests.
  • Added a larger default desktop window, draggable topbar regions, runtime app icons, and Electron Builder targets for macOS dmg/zip, Windows nsis, and Linux AppImage/deb.
  • Added dedicated desktop icon assets in apps/desktop/build.
  • Added desktop-native recent-file menu routing that preserves renderer unsaved-change prompts before opening files.
  • Added desktop app documentation covering status, local-first behavior, security model, limitations, and roadmap.
  • Added a shared desktop file adapter to @titanbase/editor while preserving existing browser picker and download behavior.
  • Clarified that Titanbase Desktop loads its bundled local renderer in production and does not depend on the hosted website.
  • Changed desktop Save As defaults to use a slugified project-name .titan.json filename.
  • Added source-kind context to the editor file status so desktop users can distinguish blank, template, .titan.json, and SQL-imported schemas.

0.5.0

Choose a tag to compare

@madeburo madeburo released this 22 Jun 12:41

Added

Schema Diff

  • Added the framework-independent diffSchemas() API to @titanbase/core.
  • Added deterministic project, table, column, relation, index, enum, and enum-value changes with stable matching and conservative rename detection.
  • Added destructive and breaking change classification, matching warnings, summary counters, and semantic metadata filtering.
  • Added a local Compare action and schema diff modal with grouped changes, severity badges, before/after values, object selection, and invalid-file handling.

PostgreSQL Migration Drafts

  • Added the deterministic generatePostgresMigrationDraft() API to @titanbase/export-postgres.
  • Added draft SQL for table, column, constraint, foreign-key, index, enum-addition, rename, and comment changes.
  • Added destructive and breaking metadata plus explicit review warnings for data loss, casts, inferred constraint names, locking, and enum limitations.
  • Added a migration preview flow from Schema Diff with warning review, SQL copy, and .sql download actions.
  • Added focused migration-draft tests and PostgreSQL import-to-migration integration coverage.

Changed

  • Extracted shared PostgreSQL identifier, type, column, table, index, and foreign-key formatting helpers for consistent full exports and migration drafts.

0.4.0

Choose a tag to compare

@madeburo madeburo released this 21 Jun 15:50

Added

Editor

  • Added per-action call-to-action affordances on the start screen cards (Create schema, Browse templates, Open file, Import SQL) that reveal on hover.
  • Added an explicit responsive viewport configuration for correct mobile rendering and safe-area handling.
  • Added actionable project, table, column, relation, index, enum, and metadata diagnostics.
  • Added diagnostic entity context, help text, severity counts, issue codes, and direct object selection.
  • Added local PostgreSQL .sql import entry points to the start screen, toolbar, empty canvas, and Project Overview.
  • Added a non-blocking import report for unsupported SQL and a failure state that preserves the current schema.

Importers

  • Added @titanbase/import-postgres with deterministic browser-safe PostgreSQL DDL parsing.
  • Added support for enums, tables, column and table constraints, foreign keys, indexes, comments, quoted identifiers, and namespaces.
  • Added line-aware warnings for unsupported statements, expression indexes, unsupported constraints, and unresolved references.
  • Added 25 importer tests, including a PostgreSQL import/export integration scenario.

Changed

  • Reworked the start screen action cards into a balanced, uniform grid with consistent icons, a refined "Recommended" badge, and equal heights.
  • Made the start screen scrollable on mobile and stacked the hero, header, and cards for small viewports.
  • Compacted the editor toolbar (smaller logo, tighter spacing and controls) and moved the Website and Docs links to the end of the toolbar as icon-only buttons with tooltips.
  • Shortened the toolbar "Import SQL" action label to "Import".
  • Made the editor toolbar horizontally scrollable so all actions stay reachable on narrow screens.

Fixed

  • Fixed the start screen cards rendering as an unbalanced 3 + 1 layout; they now reflow cleanly across breakpoints (4 → 2 → 1 columns) with no orphaned card.
  • Fixed the editor canvas not panning on touch devices by removing the oversized shell min-width that pushed content beyond the viewport.
  • Fixed the inspector sidebar being clipped off-screen and its collapse control becoming unreachable on narrower windows.
  • Fixed the start screen header overlapping the Docs/GitHub actions on small screens.
  • Fixed the oversized website mark icon by setting explicit dimensions.

v0.3.0

Choose a tag to compare

@madeburo madeburo released this 21 Jun 11:17

Added

Exporters

  • Added @titanbase/export-mermaid for Mermaid ER diagrams.
  • Added @titanbase/export-prisma for Prisma schema files.
  • Added @titanbase/export-drizzle for Drizzle PostgreSQL schema files.
  • Added shared ExportFile, ExportWarning, and ExportResult contracts to @titanbase/core.
  • Added deterministic exporter coverage across all example schemas.
  • Added reserved-word, identifier-collision, enum, relation, index, default, and empty-schema tests.

Editor

  • Added Mermaid, Prisma, and Drizzle tabs to the export modal.
  • Added per-target warnings, previews, copy actions, and file downloads.
  • Added Clipboard API fallback behavior for restricted browsers.
  • Added pinnable, collapsible, and hover-preview inspector behavior.
  • Added project overview, blank-schema flow, richer table cards, relation labels, and compact status bar.

Changed

  • Light mode is now the default theme for new and reset editor settings.
  • Improved Mermaid identifier collision handling and relation diagnostics.
  • Improved Prisma identifier mapping, enum defaults, unique constraints, and ambiguous relation handling.
  • Improved Drizzle dependency ordering, reserved identifiers, safe defaults, minimal imports, and cyclic relation warnings.
  • Updated README and roadmap to reflect the available local exporters and current product scope.

Fixed

  • Prevented generated Prisma relations from referencing non-unique target fields.
  • Prevented duplicate Prisma unique constraints when a column is already unique.
  • Prevented unsafe Drizzle forward and self references from producing brittle generated code.
  • Prevented long exporter warnings from overflowing the export modal.

v0.1.0

Choose a tag to compare

@madeburo madeburo released this 20 Jun 10:18

What's included

Core (@titanbase/core)

  • Portable .titan.json schema format
  • Zod validation with 15+ diagnostic checks
  • Schema normalization for deterministic output

Visual Editor (@titanbase/editor)

  • ReactFlow-based canvas with drag-and-drop tables
  • Full CRUD: tables, columns, relations, indexes, enums
  • Cascade delete (removing a table cleans up relations and positions)
  • Undo/redo (80 levels, snapshot-based)
  • Dark mode, keyboard shortcuts (Ctrl+Z/Y/S/F, Delete)
  • Search/filter, auto-layout, multi-select (Shift+click)
  • Relation hover preview with column details
  • Cloud-ready API: onSave, onSchemaChange, cloudMode props

PostgreSQL Export (@titanbase/export-postgres)

  • CREATE SCHEMA, TYPE, TABLE, INDEX, FOREIGN KEY
  • COMMENT ON for tables, columns, types, indexes, constraints
  • Safe identifier quoting, deterministic output
  • Warnings for unsupported types (graceful fallback to text)

Examples

  • Blog, E-commerce, SaaS, Messaging (Slack-like), Project Management (Linear-like)