v0.13.1: Signed macOS Builds, a Postgres Explain That Finally Runs, and Pagination That Honors Your OFFSET TabularisDB released v0.13.1, fixing three major bugs: macOS builds are now signed and notarized, eliminating Gatekeeper warnings; PostgreSQL EXPLAIN plans now work after a column type mismatch was corrected; and pagination now respects user-specified OFFSET values. The release includes contributions from four external developers. v0.13.1: Signed macOS Builds, a Postgres Explain That Finally Runs, and Pagination That Honors Your OFFSET v0.13.1 is a short follow-up to v0.13.0 /blog/v0130-kubernetes-tunnels-quick-navigator-dml-tabs . Where the last release was about reach — Kubernetes tunnels, a Quick Navigator, MCP into plugin drivers — this one is about correctness : a sweep of features that shipped but quietly didn't work, plus the distribution-level fix Mac users have been asking for since the first DMG. No new surface area. Several things that were broken, fixed. Four external contributors land in this tag. Signed and Notarized on macOS Until now, opening Tabularis on macOS meant a trip through Gatekeeper: the "tabularis cannot be opened because the developer cannot be verified" dialog, or an xattr -c incantation copied from the install docs. The app was never signed, so every Mac treated it as quarantined. PR 289 https://github.com/TabularisDB/tabularis/pull/289 wires the release workflow to sign and notarize the macOS build. The .app and .dmg are now signed with a Developer ID Application certificate and submitted to Apple's notarization service during the release build — the App Store Connect API key is decoded from a secret into a temp file on the macOS runners only, and the Apple env vars are inert on the Linux and Windows jobs since Tauri only consumes them when bundling for macOS. What this means for you: a notarized .dmg opens with the normal "downloaded from the internet" confirmation and nothing more. No xattr , no Privacy & Security override, no "unverified developer" wall. If you've been keeping the workaround command in a note, you can delete it. Postgres Explain Plan, Now Actually Running The Visual Explain /wiki/visual-explain feature has worked on MySQL, MariaDB, and SQLite since it shipped. On PostgreSQL it failed every single time with error deserializing column 0 — and it turns out it never worked on any Postgres version. @NewtTheWolf https://github.com/NewtTheWolf Dominik Spitzli and the maintainer track it down in PR 279 https://github.com/TabularisDB/tabularis/pull/279 closes 276 https://github.com/TabularisDB/tabularis/issues/276 . EXPLAIN FORMAT JSON returns the plan in a single column, and on Postgres that column is typed as json OID 114 , not text . The code read it straight into a String , and tokio-postgres refuses to deserialize a json column into a String — so the call errored out before the plan was ever parsed. This is server-side behavior that's been stable since the FORMAT option landed in PG 9.0, which is why the report reproduced on both PG 16 and PG 18. The fix reads the column as a serde json::Value and re-serializes it for the existing parser, with a String fallback for Postgres-compatible engines that hand the plan back as plain text. If you've ever clicked "Explain Plan" on a Postgres connection and gotten an error, that was this. Video unavailable Pagination That Honors Your OFFSET When the grid paginates a SELECT , it rewrites the query: it strips your trailing LIMIT / OFFSET , then re-appends LIMIT