Skip to content

TruffleData 0.1.0-alpha.4

Pre-release
Pre-release

Choose a tag to compare

@sgammon sgammon released this 03 Nov 14:30
6117797

TruffleData 0.1.0-alpha.4 expands shared data contracts and strengthens compiled access across static, dynamic, nested, and polymorphic models.

  • Opt into translating supported Protovalidate annotations into presence, integer-range, Unicode string-length, byte-length, and repeated-length contracts. Integer ranges can narrow static storage. Both registered extensions and descriptor sets are covered; CEL and other unsupported rules still require a full validator.
  • Generate Protobuf Native Image reflection metadata from consumer message classes, including referenced messages, builders, enums, and descriptor support. The generated-metadata native smoke test passes.
  • Gate compiled reads across nullable static fields, nested dynamic mutation, multiple producer contexts, and saturated polymorphic caches, with allocation and AST-size budgets.
  • Ingest JDBC records directly into static storage, avoiding the intermediate cell array. Add scoped contract provenance and projection guards, plus serialized host cursor cleanup.

All six libraries and the BOM are published at https://maven.elide.dev, under dev.elide, version 0.1.0-alpha.4: truffledata-core, truffledata-jdbc, truffledata-jdbc-sqlite, truffledata-jdbc-mysql, truffledata-jdbc-postgresql, truffledata-protobuf, and truffledata-bom (POM only). Java 25 and the Elide GraalVM repository at https://maven.elide.dev/gvm-elide/25.5.5-elide.5 are required.

Validation: release-source CI passed tests and coverage, CodSpeed simulation, and MySQL/PostgreSQL acceptance. The release publisher runs all eleven ordinary test targets with the release version and verifies public binary jars, source jars, and POMs against staged bytes before publishing metadata.

This remains an alpha API. Static outer storage does not guarantee immutable nested values. Protovalidate translation is a supported structural subset, not full validation. General consumer Native Image acceptance and actual Elide embedding remain ongoing work; see the production ledger.