v0.1.1
✨ Added
- The published README is the newcomer page: install, a default-exported schema,
okm push, thenokm generateandokm migrate apply, a shared client, insert, find with an include, andsafe/OkmError. bun run checkfails whenREADME.mdcontains a relative link or an image.bun run verifyruns the Postgres suite against Docker on this machine. One version by default (POSTGRES_VERSION, or 17).--allruns every supported major. CI stays the authority for a release.- A connected client implements
Symbol.asyncDisposewhen the runtime has it, soawait usingcloses the pool.close()can be called again.
♻️ Changed
tooling
- The quickstart test runs
okm push, andokm generatefollowed byokm migrate apply, against Postgres in the postgres job. - The Release workflow publishes only from the tag
vplus thepackage.jsonversion, and the message names that tag when it refuses. - Supported Postgres majors are 15, 16, 17, and 18. 13 is past end of life, 14 ends in November 2026, and 15 is the floor. A pull request runs the suite on 15 and 18 and the tarball job on 18. The release and a weekly run cover every supported major for both, and the release waits for that matrix and for a fresh install of the packed tarball. A file that cannot run on the topology is named, with the reason, in one list.
- CI runs on a pull request and on a push to main, so a pushed branch with a pull request runs once. A newer run cancels the older one on the same ref.
- The topology no longer rewrites passwords for Postgres 13. Replication still uses scram-sha-256, the server default from Postgres 14 on.
- After publish, a smoke install of that version from npm runs the quickstart against Postgres and fails when the version or its provenance is missing. The GitHub Release notes are the matching changelog section. Third-party actions are pinned by commit SHA, and two releases cannot run at the same time.
- npm metadata now has a description, keywords, a homepage, and a bugs URL.
- A pull request that cuts one bare version to the next, with the notes under the new
## vX.Y.Zheading, is accepted with an empty Unreleased section.
docs
- The README and the package description say okmodel is catalog-first and PostgreSQL first, that version 0.1 supports PostgreSQL only, and that the schema is the single source for migrations and queries. A table of contents and a 0.1–0.5 roadmap replace the limits table. Size keeps the runtime entry, app startup, and cold import.
🐛 Fixed
findwith a to-oneincludereturned null for the related row when that table had no primary key. The first projected column is the presence check in that case.- Identity columns failed in
okm pushandokm generateand are fixed. - A script that never calls
close()exits after its last query. A plain postgres.js pool unrefs its sockets and does not start the idle timer. A process that stays up keeps its connections. A pool opened withsslstill uses the driver's socket and the 30 second idle timer.