Repository navigation
Replicant 1.3.0
The casting-contract release. Full details in the CHANGELOG and ADR-0008.
Fixed
- Multidimensional arrays of every casted type now deliver nested terms instead of halting (
numeric[][],timestamptz[][],jsonb[][], …; onlyint[]/float[]recursed before). interval[]is no longer silently corrupted to integers (the"2 mons 3 days" → 2prefix-clause trap).- The array parser is quote-aware and strict where Postgres is strict (braces inside quoted elements are element data; empty elements error; unquoted
NULLABLE-style elements are ordinary text). moneyis locale-honest — strict C/en-US shapes deliver aDecimal; any otherlc_monetaryform delivers the original string, never a silently-wrong Decimal.timetzdelivers the raw string (fraction + offset preserved).- Signed
type_modifier(-1stays-1), strict malformed-frame decoding (TRUNCATElengths,TYPENUL), clean terminating halt on a missing snapshot window, streaming-gated ack buffers, honest fault attribution for keyless backfill I/O faults.
Changed
- ⚠
Replicant.lsn_from_string/1returns{:ok, lsn} | {:error, :invalid_lsn}(was a raise). Unwrap the tuple on upgrade.
Added
- The complete third-party reference set: a 30-event telemetry table, a halt-reason operator guide, and the value-casting contract (usage-rules); README casting section; ADR-0008; the full getting-started Livebook tour with a live casting demo whose values its CI asserts on every push.