You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Milestone DX4 of the developer-experience program (Spec/2064g/dx/00-overview.md). Specs: dx/07, dx/08, dx/09 §2, dx/13 §1, §3. Runs with M4 (#5).
Go and the JVM, which between them are most of the server-side install base, plus the Arrow path that makes every other tool able to talk to us without a driver.
The JVM baseline moved as a result of the 2026 audit (AUDIT-2026-08.md §2.4). FFM was finalised in JDK 22, which is what the spec originally keyed on, but 22 has been EOL since September 2024; the current LTS is 25. More importantly, from JDK 24 a downcall from a module without granted native access warns and is on a path to becoming an error, and JNI is restricted on the same schedule, so both artifacts need the manifest attribute and the documented flag. A JVM warning printed three frames from any of our code is not a diagnosis a user can act on, so the binding detects the ungranted state at Database.open and throws a message containing the exact flag.
Go SDK v1 (dx/07):
github.com/tamnd/zu-go, go 1.26.6 floor
context.Context first on every blocking call, error last, never a panic
errors.Is/errors.As with *zu.Error carrying Code, Position, DocURL, Retryable
database/sql driver as the zusql subpackage, with its limits stated
vendored static libs per platform under build tags, cross-compilation recipes including the zig cc one
zulint analyzer: columnar view after Close, missing rows.Err(), *zu.Conn shared across goroutines
Java SDK v1 (dx/08):
Panama provider targeting JDK 25 LTS, JNI provider for 17-21
Enable-Native-Access manifest attribute, the documented --enable-native-access flag, and a clear throw when it is missing
sealed value types and records, Stream results, AutoCloseable everywhere
JPMS module, Maven Central publishing, GraalVM reachability metadata
CI on 17, 21, 25, 26
bulk loader and appender, columns handed over without a copy when they come as direct buffers
C++ wrapper (dx/09 §2):
header-only, RAII, ranges, an std::expected mirror of the error model
Arrow (dx/13 §3):
Arrow export in all five SDKs: the C Data Interface in Rust, Python, Go and the JVM, IPC bytes in Node because JavaScript has no importer for the C one
ADBC driver v0 over ArrowArrayStream
language server (dx/13 §1):
zu lsp --stdio shipped in the CLI binary: diagnostics, completion, hover, formatting, semantic tokens
VS Code extension bundling it
corpus:
complete at ~1230 cases: graph values, concurrency, Arrow
done when:
five tier-1 SDKs, each with a scorecard and a named maintainer
Milestone DX4 of the developer-experience program (Spec/2064g/dx/00-overview.md). Specs: dx/07, dx/08, dx/09 §2, dx/13 §1, §3. Runs with M4 (#5).
Go and the JVM, which between them are most of the server-side install base, plus the Arrow path that makes every other tool able to talk to us without a driver.
The JVM baseline moved as a result of the 2026 audit (AUDIT-2026-08.md §2.4). FFM was finalised in JDK 22, which is what the spec originally keyed on, but 22 has been EOL since September 2024; the current LTS is 25. More importantly, from JDK 24 a downcall from a module without granted native access warns and is on a path to becoming an error, and JNI is restricted on the same schedule, so both artifacts need the manifest attribute and the documented flag. A JVM warning printed three frames from any of our code is not a diagnosis a user can act on, so the binding detects the ungranted state at
Database.openand throws a message containing the exact flag.Go SDK v1 (dx/07):
github.com/tamnd/zu-go,go 1.26.6floorcontext.Contextfirst on every blocking call,errorlast, never a panicrows.All() iter.Seq[Row],zu.Collect[T],zu.Iter[T]errors.Is/errors.Aswith*zu.Errorcarrying Code, Position, DocURL, Retryabledatabase/sqldriver as thezusqlsubpackage, with its limits statedzulintanalyzer: columnar view after Close, missingrows.Err(),*zu.Connshared across goroutinesJava SDK v1 (dx/08):
Enable-Native-Accessmanifest attribute, the documented--enable-native-accessflag, and a clear throw when it is missingStreamresults,AutoCloseableeverywhereC++ wrapper (dx/09 §2):
std::expectedmirror of the error modelArrow (dx/13 §3):
ArrowArrayStreamlanguage server (dx/13 §1):
zu lsp --stdioshipped in the CLI binary: diagnostics, completion, hover, formatting, semantic tokenscorpus:
done when: