Skip to content

tep 0.11.5

Latest

Choose a tag to compare

@OriPekelman OriPekelman released this 17 Jun 16:58
· 8 commits to main since this release
6177b35

First release carrying the PostgreSQL opt-in work — unblocks native toy serve on the latest Spinel engine.

Highlights

  • PG is now opt-in (#216): an app that needs Postgres does require "tep/pg". Non-PG apps no longer link libpq or carry the 74 tep_pg_* FFI symbols (full DCE). bin/tep splices lib/tep/pg.rb in on the require.
  • Boot-safe seeds (#199 boot-hazard): the type-seed block no longer reads /etc/hostname at module load (→ /dev/null), which crashed native binaries on bare containers (e.g. Upsun) under the engine's now-correct ENOENT-raising File.read.
  • spinel_kit is a declared runtime dependency (#220) — clears the double-bundle (#213) that blanked SpinelKit::Json keys on consumers of 0.11.4.
  • sphttp OpenSSL via pkg-config (#208); Postgres compose port bound to loopback (#210).

Known temporary workarounds (REMOVE WHEN matz/spinel#1434 LANDS)

Two clearly-marked whole-program-miscompile workarounds let the PG path build on current Spinel master: the PG::Connection#initialize Hash-conninfo branch and the pg_hello error route. They're behavior-preserving for all current callers (every connect passes a String conninfo).

Full SPINEL_PIN re-pin remains deferred (tracked in #196) pending the upstream regressions in matz/spinel#1434.