Skip to content

Truss v0.0.46

Choose a tag to compare

@github-actions github-actions released this 21 Oct 20:53
· 80 commits to main since this release
4c9a2a7

Truss v0.0.46

Release scope

This release adds explicit, one-shot installation and probing for an isolated
local PostgreSQL 18.6 fixture through the Python CLI. It targets Python 3.11+
and the pinned pgserver-pg18==18.6.1 executable distribution. Installation
requires --install; it retains each selected data directory across process
restarts and does not run Truss schema migrations implicitly.

Audience and channels

Python developers using the package guide can install from a source checkout or
use the package-only uvx quickstart without cloning the repository. The
versioned release asset isolated-runtime-constraints.txt pins the complete
local runtime dependency set, including pgserver-pg18==18.6.1. Its SHA-256 is
recorded in both release-pins.json and SHA256SUMS.

Highlights and changes

  • Run truss-local-postgres --data-dir PATH --install --probe to create or
    inspect a retained fixture. Repeated invocations target the same selected
    data directory.
  • Each fixture uses a private Unix socket directory and disables TCP listening.
    Distinct data directories can therefore use the same Unix-socket port.
  • The CLI reports the connection URI, socket directory and port after a
    successful probe.
  • --install explicitly installs the current Truss schema and routines.
    Starting the PostgreSQL runtime alone does not install Truss, and neither
    path migrates an existing installation.
  • The published package-only quickstart uses the versioned constraints asset,
    avoiding an implicit dependency resolution outside the pinned runtime set.

Required actions and compatibility

Choose and retain a dedicated data directory for each fixture. Keep its
directory private and use the emitted connection URI for local clients. The
fixture is PostgreSQL 18.6; it is not a managed-service compatibility claim.
The CLI requires the local and native package extras.

Breaking changes and actions

There are no changes to Truss database SQL or business semantics. Existing
LocalPostgres(data_directory) callers retain their data-directory behavior;
installation remains explicit and does not migrate an existing Truss schema.

Migration or rollback guidance

This release adds an opt-in fixture workflow. Existing databases and package
installations do not need migration. To stop using a fixture, close its runtime
and preserve or remove its selected data directory according to the operator's
normal data-retention policy.

Qualification and known issues

The available local qualification used CPython 3.11.17 on macOS ARM64 with
pgserver-pg18==18.6.1. The focused suite passed eight tests, and a clean
one-shot install was followed by a second invocation that confirmed the same
retained installation. Linux-native release qualification remains a required
CI gate before publication. Windows and managed PostgreSQL environments are
outside this release's qualified scope.

References and support

See the package guide,
local installation migration plan,
and implementation plan.