Repository navigation
2.1.2 – Sep 25, 2026
2.1.2 (2026-09-25)
Bug Fixes
tracking: retain deadlines that fire during wait registration (
ecb2f2c)Recheck an elapsed deadline after publishing its waiting request so an early scheduler callback cannot leave a read or segment claim pending. Match request identity before removing a waiter to protect replacements from delayed callbacks.
tracking: release incomplete payloads before joining consumers (
d22dec8)Fail abandoned chunk streams before waiting for tracker termination. Preserve complete bodies and the ordinary async-result grace period, let concurrent external closers await cleanup, and avoid joining an active shutdown from internal failure callbacks.
serialization: retain type indexes across incremental javac builds (
57785a7)Compiler file objects may report a zero timestamp for existing resources. Read prior indexes and class outputs directly so incremental compilation retains existing types while still pruning deleted classes.
testing: restore fast isolated IntelliJ test runs (
462be99)Avoid response grace periods during automatic fixture cleanup while preserving explicit shutdown behavior and complete resource closure. Run SDK modules concurrently in isolated IDE processes and make lifecycle probes, proxy body-limit checks, and migration tests independent of runner timing.
Performance Improvements
configuration: cache bounded environment variable name conversions (
f163f9a)Reuse immutable normalized names while resolving property values afresh on every lookup. Bound retained keys and preserve source precedence, Unicode conversion and application isolation.
testing: bound workers and remove timing-dependent waits (
4d0dd46)Control JWT time and cache retention in contract tests. Reduce JIT startup work for short IntelliJ module runs while preserving full tiered compilation in Maven, and keep CI forks within a small runner budget.
Build System
java: require a patched JDK for reliable timers (
b8f89f3)Pin the development toolchain with mise and reject early Java 25 builds that contain JDK-8370887. Keep the bytecode target at Java 25 and resolve current Temurin patches in CI.
testing: refresh shared IntelliJ configuration paths (
ac8fa37)Re-register the module configurations after stale worktree copies have shadowed them. Document exclusion of nested checkouts so project reopening keeps the active checkout options.
Tests
sdk: run the complete suite in one IntelliJ session (
6066cd6)Isolate test service providers and generated resources so all modules can share one classpath. Preserve test contracts while reducing repeated compiler setup and RSA key generation, and keep a full-JIT run available.