What shipped and when. No marketing, just the actual changes.
Deltex is now split into two independent Fastly Compute services — a thin public API layer and an internal engine layer. This improves isolation, enables independent deployments, and adds a sentinel header to prevent direct engine access.
deltex-api and deltex-engine Cargo workspace cratesX-Deltex-Internal: 1 sentinel header — engine rejects all unauthenticated requests with 403GET /bench benchmarking endpoint on API layer/*+ CACHE(TTL=N) */ hintFull window function support with PARTITION BY, ORDER BY within frames, and all 15 window functions. Recursive CTEs now handle arbitrary depth with cycle detection.
RANK(), DENSE_RANK(), NTILE(n), PERCENT_RANK(), CUME_DIST()LAG(expr, offset, default) and LEAD(expr, offset, default)FIRST_VALUE(), LAST_VALUE(), NTH_VALUE()SUM/AVG/COUNT/MIN/MAX OVER (...)WITH RECURSIVE with cycle detection via CYCLE clauseROWS BETWEEN and RANGE BETWEEN window frame specsPARTITION BY with NULL values now groups correctlyComplete rewrite of the storage scan layer using Wasm SIMD128 intrinsics. Bitmap-based predicate evaluation now processes 128 bits per instruction, substantially speeding up filtered scans.
columnar.rs, 2,644 lines)v128.and, v128.or, i32x4 predicate evaluationIN (…) membership — skip full scan for non-matching keys+bulk-memory Wasm feature for fast column memcpy+relaxed-simd for approximate float operations on SIMD lanesCOUNT(*) on large tables 8× faster via popcount on bitmap wordsPostgreSQL-style JSON access operators, a JSONB column type, and a broad set of JSON scalar functions. JSON path queries execute inline without serialization overhead.
-> (object field by key) and ->> (field as text) operatorsJSON_EXTRACT / JSONB_EXTRACT_PATH; containment via JSON_CONTAINS / JSON_OVERLAPSJSON_EACH, JSON_TABLE, JSON_KEYS, JSON_VALID, JSON_TYPEJSONB column type — stored as MessagePack, queried via operatorsJSON_OBJECT, JSON_ARRAY construction functionsARRAY_APPEND, ARRAY_CAT, ARRAY_DISTINCT, UNNESTNULL propagation through JSON operators now matches Postgres behaviourNULL instead of error