Skip to content

feat: registry-listing manifest fields, screenshots, and README polish - #18

Merged
aesslinger merged 4 commits into
mainfrom
feature/registry-manifest-fields
Aug 14, 2026
Merged

feat: registry-listing manifest fields, screenshots, and README polish#18
aesslinger merged 4 commits into
mainfrom
feature/registry-manifest-fields

Conversation

@aesslinger

@aesslinger aesslinger commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Prepares this plugin for its eventual Tabularium registry submission. Registry publication requires an approved .tabularium manifest, hosted release assets, and a /submit flow verified via OAuth against this repo — this PR covers the manifest and README side of that; it does not submit anything. Three separate, independently-reviewable commits:

  1. Registry-listing manifest fields (f8a6d4b) — .tabularium had every runtime-required field but none of the registry-listing ones every published sibling plugin has: category, tags, license, readme, homepage, documentation_url, support.issues_url, color. Confirmed these are purely presentational for the registry's plugin-card/detail page — the builtin driver's own definition (tabularis's src/hooks/useDrivers.ts) has none of them, so no version bump is warranted here. Also refreshed the README/CLAUDE.md's stale "pending sign-off" language (tabularis PR #577's checklist is now fully checked, though the PR itself is still open/unmerged) and fixed the README's release badge, which showed "no releases or repo not found" because every release so far is flagged prerelease: true and GitHub's /releases/latest API excludes those by design.

  2. Real UI screenshots (a2ff1d7) — 7 real captures (not mockups), taken against a live build of this plugin (v1.0.0-beta.4) connected to an actual PostgreSQL instance: fresh install → database picker → connection form → successful test connection → saved connection card → multi-schema browsing → a data grid showing a real enum column value (sad) — that last one doubles as live proof the enum-extraction fix (issue execute_query returns null for PostgreSQL enum column values #7) actually works end-to-end. Wired into .tabularium's new screenshots array and added a matching gallery section to the README.

  3. README header polish (11ae1f8) — added a plus icon between the Tabularis and PostgreSQL logos so the header reads "Tabularis + PostgreSQL" at a glance (had to be an image, not a styled text character — GitHub's README sanitizer strips inline style attributes). Also self-hosted a copy of the PostgreSQL project's 3-colors logo instead of hotlinking wiki.postgresql.org, matching why postgresql-icon.svg is already self-hosted rather than pointed at a third party.

  4. min_runtime_version declaration (f65df25) — added min_runtime_version: "0.20.0" to .tabularium, per debba's guidance in a private reply: tabularis 0.20.0 is the first release expected to actually ship the #614/#577 host-side fixes this plugin depends on (capability-driven identifier quoting via sql_dialect, etc.). Declaring this means the host refuses to load the plugin on older runtimes rather than silently misbehaving.

Remaining steps before the plugin can actually reach the public registry

This PR is prep work only — merging it does not publish anything.

  1. tabularis PR #577 merges. Done — merged 2026-08-14 (f3a8d48). It's the sign-off vehicle for promoting this repo to the primary PostgreSQL plugin home.
  2. Resolve the #614 fix-order conflict first. Resolved cleanly, no action needed. tabularis PR #588 (the narrower, literal-string fix) merged 2026-08-13, one day before #577 — the risky order I'd flagged. Checked upstream/main after both landed: shouldQuoteIdentifiers in src/utils/identifiers.ts now has #577's capability-driven check (caps.sql_dialect === "postgres") as the primary path, with #588's literal-string check (driver === "postgres" || driver === "postgresql") surviving intact as the legacy fallback for when no capabilities object is available. Neither fix clobbered the other.
  3. Merge this PR (#18) — unblocked now that #577 is in. Still awaiting the go-ahead to merge (held open as of 2026-08-14 pending a separate decision).
  4. Submit at https://registry.tabularis.dev/submit. Requires OAuth login against this repo's GitHub identity for ownership verification — whoever submits needs push/owner access to TabularisDB/tabularis-postgresql-plugin. The registry pre-validates the manifest via POST /api/manifest/validate; a bad manifest is rejected with HTTP 422, no silent fallback. Our .tabularium already validates clean against the live schema as of this PR.
  5. Wait for manual admin approval. Every plugin currently listed on the registry (12/12, checked via /api/plugins) shows status: "approved" — this is a real human-reviewed gate, not a formality. Check /requests on the registry after submitting to track status.

Separately, filed tabularis#632 during this work (external plugin icons not rendering outside the database picker) — confirmed still open/unfixed as of 2026-08-14, not a blocker for anything here, just tracked for visibility.

Verification

  • npx @tabularium/cli validate .tabularium --registry https://registry.tabularis.dev --kind driverok (validated after each commit)
  • npx markdownlint-cli README.md CHANGELOG.md → clean
  • Screenshots captured against a real v1.0.0-beta.4 build, confirmed the plugin's branded icon renders correctly in the "Choose a database" picker (surfaced a separate tabularis-side bug along the way — filed as tabularis#632 — where that same icon fails to render everywhere except the picker, due to a missing URL-handling branch in getDriverIcon)

Test plan

  • Manifest validates clean against the live registry schema after every commit
  • README/CHANGELOG markdownlint-clean
  • Screenshots are real captures against a live build + live database, not mockups
  • tabularis PR #577 has landed (2026-08-14) — merge itself still held pending explicit go-ahead, see "Remaining steps" above

Versioning

CI's version-suggestion bot classifies this PR as feat:minor:beta → next tag v1.0.0-beta.5 (confirmed via its comment on this PR). That classification is correct — this genuinely adds new plugin capability (registry-listing readiness), not a fix or pure maintenance.

The version bump itself does not live in this branch. Following the pattern used for every prior release (beta.2.3.4, each its own "Bump version to X" commit made directly on main after the corresponding feature PR merged, not baked into the feature branch), .tabularium/Cargo.toml/Cargo.lock will be bumped to 1.0.0-beta.5 in a dedicated commit on main once this PR actually merges — which, per "Remaining steps" above, won't happen until tabularis PR #577 lands. Bumping the version now, while this PR is deliberately held open, would let a beta tag sit reserved on an unmerged branch indefinitely and could conflict with whatever unrelated PR merges to main first in the meantime.

…sion

.tabularium was missing every registry-listing field (category, tags,
license, readme, homepage, documentation_url, support, color) -- present
on already-published sibling plugins but absent here since the plugin
has only ever shipped via GitHub Releases directly, never submitted to
registry.tabularis.dev. The builtin driver's own definition has none of
these either, confirming they're presentational-only for the registry's
plugin-card/detail page, not consumed by Tabularis at runtime -- so no
version bump is warranted here.

Also updated README/CLAUDE.md's stale "pending sign-off" language (PR
#577's checklist is now fully checked, though the PR itself is still
open/unmerged), added a "From the Tabularium registry" placeholder
install section matching the pattern used by already-published sibling
plugins, and fixed the README's release badge -- it showed "no releases
or repo not found" because every release so far is flagged prerelease:
true and GitHub's /releases/latest API excludes those by design; switched
to the ?include_prereleases badge variant.
Added 7 real screenshots (not mockups) captured against a live build of
this plugin (v1.0.0-beta.4) connected to a real PostgreSQL instance:
fresh install, database picker, connection form, successful test
connection, saved connection card, multi-schema browsing, and a data grid
showing a real enum column value -- the last one doubling as a live
demonstration that the enum-extraction fix (issue #7) actually works.

Wired the screenshots array into .tabularium (needed for the eventual
Tabularium registry submission) and added a matching gallery section to
the README so they're visible directly on GitHub too.
Added a plus icon (assets/plus.svg, matching the lucide icon set
tabularis's own frontend uses) between the Tabularis and PostgreSQL logos
so the header reads as "Tabularis + PostgreSQL" at a glance -- GitHub's
README sanitizer strips inline style attributes, so this had to be an
image rather than a styled text glyph to render reliably.

Also self-hosted a copy of the PostgreSQL project's 3-colors logo
(assets/postgresql-logo-3colors.png) instead of hotlinking
wiki.postgresql.org, matching why postgresql-icon.svg is already
self-hosted rather than pointed at a third party.
@aesslinger aesslinger added the prerelease:beta Version suggestion targets a beta prerelease label Aug 13, 2026
@github-actions

Copy link
Copy Markdown

Version suggestion

Based on this PR's title (feat) and the prerelease:beta label:

Current 1.0.0-beta.4
Suggested next tag v1.0.0-beta.5

This is informational only — no tag or release is created automatically yet.

tabularis 0.20.0 is the first release expected to ship the #614/#577
host-side fixes (capability-driven identifier quoting via sql_dialect,
etc.) this plugin depends on for correct behavior under a non-"postgres"
driver id. Declaring this so older runtimes are refused outright rather
than silently misbehaving.
@aesslinger
aesslinger merged commit f86b51d into main Aug 14, 2026
14 checks passed
@aesslinger
aesslinger deleted the feature/registry-manifest-fields branch August 14, 2026 14:23
aesslinger added a commit that referenced this pull request Aug 14, 2026
Continuation of the beta line after PR #18 (registry-listing manifest
fields, real UI screenshots, README polish, min_runtime_version). First
version we intend to actually submit to the Tabularium public registry --
still tagged beta, but no longer just an internal GitHub release.

Verified: .tabularium re-validated clean against the live registry
schema; cargo build/test (85/85)/clippy/fmt all pass; markdownlint clean.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

prerelease:beta Version suggestion targets a beta prerelease

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant