Skip to content

Release v0.1.5: richer schemas, multi-file import, paper look, signed macOS app - #116

Merged
Cassidy321 merged 74 commits into
mainfrom
develop
Oct 20, 2026
Merged

Cassidy321 merged 74 commits into
mainfrom
develop

Conversation

@Cassidy321

Copy link
Copy Markdown
Collaborator

Promotes everything merged into develop since v0.1.4 to main. Once merged, release-please opens chore(main): release 0.1.5, and merging that ships the release.

Richer schemas. Tables and columns gain notes, enums, indexes and type parameters such as lengths and precision, as optional fields of the schema model, so older files open unchanged and every loaded schema goes through the same integrity pass (#94). Columns are edited in a one-line list with a column editor for enums, lengths, defaults and notes, and defaults tell a value from an expression (#96). Tables get a note and an Indexes tab in the side panel (#97). The canvas shows notes, enum values and indexes (#100), SQL export writes them (#101), and the agent can read and write them through new MCP tools (#103).

Import. SQL import keeps enums, indexes, notes and pg_dump keys, and lists what it couldn't keep (#102). DBML files can be imported (#104), and the database of an imported file is detected from more of its types (#105). Several files can be imported at once from the home, one schema file each, without overwriting existing files (#106), and files can be dropped on the home (#107). A composite primary key declared one column at a time is read correctly (#108).

Look. The app takes the website's paper look: warm paper and objects, the sticker on the actions where you start, and the marker band on the open table (#109). Empty states are drawn (#111). The app's own menus replace the system dropdowns, and the Home toolbar button loses its resting fill (#112). The home's New schema button wears a lighter sticker, since it's on screen every day (#115).

Fixes. Schemas opened from the home or restored at startup save again (#95). Pressing Delete with a table selected no longer removes its relations (#113).

macOS. The app is signed with a Developer ID and notarized, the disk image too, with the hardened runtime and the JIT entitlements the bundled Bun runtime needs (#114). It installs without a Gatekeeper warning, and a signature check fails the release if any bundled executable isn't signed with our team and the runtime flag.

Tooling. Project conventions are linted in TypeScript and Rust (#98). rustls is updated for its advisories (#99), and the zip advisories are ignored until the updater ships zip 9 (#110).

v0.1.5-rc.1 was built from 0bef475, still signed ad hoc. v0.1.5-rc.2 was built from 0741ab2 with the Developer ID: both macOS builds were notarized, the downloaded disk image and app pass spctl as "Notarized Developer ID" and are stapled, and the app opened without a warning from a browser download, with the Claude chat and the MCP server from Claude Code working under the hardened runtime. The update from an ad hoc build to a Developer ID one was tested with the published 0.1.4 against a local appcast serving the rc.2 archive: Sparkle validated it, installed it on restart, and the app relaunched as 0.1.5 with the Developer ID. #115 came after rc.2 and only changes a button style.

socadb-release-bot Bot and others added 30 commits October 12, 2026 12:55
chore: sync main into develop after 0.1.4
feat: schema model for notes, indexes, enums and type lengths
fix: save schemas opened from the home or restored at startup
feat: column editor with enums, lengths, defaults and notes
feat: table notes and indexes in the side panel
chore: lint the project conventions in TypeScript and Rust
Cassidy321 and others added 29 commits October 15, 2026 16:53
feat: detect the database of imported files more often
feat: import several files from the home
feat: drop files on the home to import them
A second primary key declaration on a table now adds to the first instead
of replacing it, and the uniqueness a single-column key gave its column
goes away when the key grows. Key drops (DROP PRIMARY KEY, the PRIMARY
index, DROP CONSTRAINT with the key's name, RENAME CONSTRAINT), USING
INDEX and LIKE ... INCLUDING INDEXES are followed, so a key dropped and
declared again is replaced.
fix: read a composite key declared one column at a time
feat: give the app the website's paper look
chore(deps): ignore zip advisories until the updater ships zip 9
fix: open the app's own menu instead of the system dropdowns
fix: keep a selected table's relations when pressing delete
Release builds of the macOS app are now signed with the SocaDB Developer
ID under the hardened runtime and notarized, app and disk image, so
Gatekeeper opens them without a warning and the signature stays the same
from one update to the next.

The certificate goes into a throwaway keychain at the start of each macOS
release leg. build.ts signs the MCP server and the agent runtime with it,
since Tauri doesn't sign resources, and Sparkle's Autoupdate and
Updater.app are signed before the build because Sparkle ships them ad
hoc. After the build the disk image is notarized and uploaded again, and
a check fails the leg unless the app and the disk image are notarized and
every executable carries the team and the hardened runtime.

Local and pull request builds stay ad hoc.
feat: sign and notarize the macOS app with a Developer ID
feat: lighten the sticker on the home's New schema button
@Cassidy321
Cassidy321 merged commit 9801e5a into main Oct 20, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant