v4.3.0
Wave 3 (design-first) of the 2026-07 perf & stability campaign, the July
compat round 2, and a supply-chain hardening pass:
- Typed write-conflict errors — same-row write conflicts now surface as a
typedWriteConflicterror carrying table/row/holder context and map to
SQLSTATE 40001 (serialization_failure) on the wire (previously a
generic 25000), so PostgreSQL drivers' retry machinery engages. Timeout and
locking behavior are unchanged. - Performance attribution instrumentation (all zero-cost when disabled):
lock-contention census behind the newlock-censuscargo feature +
[performance] lock_censusknob (heliosdb_lock_censussystem view);
per-statement-class write-volume byte accounting ([performance] write_volume_stats→heliosdb_write_volume); COPY wall-time phase
breakdown ([performance] copy_phase_stats→heliosdb_copy_phase_stats).
Measured verdicts and next-step designs live in
docs/plans/PERF_STABILITY_2026_07/W3_*_DESIGN.md(notable: the version
chain is 65% of single-INSERT byte volume; CHECK evaluation is 35% of
constrained-COPY time; the c≥32 wire plateau is not mutex-blocking). - Compatibility round 2 (12 fixes + 1 hardening):
CREATE/DROP DOMAIN
no-op intercepts,CREATE TABLE … INHERITSclause stripping, and other
pg-dialect gaps;catch_unwindisolation extended to the extended-protocol
DML-RETURNING path (an erroringUPDATE … RETURNINGno longer kills the
connection). - Supply chain: the openssl stack is fully out of the default dependency
graph (reqwest/oauth2moved to rustls with the system trust store) —
this also unblocks manylinux Python-wheel builds; thecargo denygate was
repaired (config had rotted unparseable) and now enforces hard bans on
openssl/native-tls, an explicit license allowlist, and remediated
advisories (aws-lc-rs 1.17, bytes 1.12.1, rustls-webpki 0.103.13,
tokio-postgres 0.7.18, rand 0.8.7, time 0.3.53, crossbeam-epoch 0.9.20). - Python wheel:
heliosdb-nano-embedded(abi3, manylinux_2_28) now builds
in CI and publishes to PyPI via thepy-v*tag lifecycle. - The CI perf-gate baseline (
benches/public/ci_baseline.json) was
regenerated post-W1/W2 — the previous 2026-06-11 baseline sat 1.9–3.9×
below current throughput, leaving the 2.5× cliff-catcher unable to catch
anything.