Skip to content

Drivine 0.4.1 - #178

Merged
jasperblues merged 1 commit into
mainfrom
drivine-4j-0.4.1
Nov 2, 2026
Merged

jasperblues merged 1 commit into
mainfrom
drivine-4j-0.4.1

Conversation

@jasperblues

Copy link
Copy Markdown
Contributor

Closes #177

Moves Drivine from 0.4.0 to 0.4.1 (Drivine 2026.11):

  • pom.xml: drivine.version 0.4.0 to 0.4.1 (dice-storage uses drivine4j-spring-boot-starter).
  • dice-storage/codegen-gradle/build.gradle.kts: the standalone fallback for drivineVersion 0.4.0 to 0.4.1 (the Maven build passes -PdrivineVersion).
  • CHANGELOG.md: an Unreleased entry, Compatibility: behavioral, as for 0.4.0.

No source changes.

Binary compatibility (0.4.0 to 0.4.1)

Checked against the released jars on Maven Central.

  • drivine4j-spring, drivine4j-spring-boot-starter, drivine4j-codegen, drivine4j-codegen-java and drivine4j-coroutines are byte-identical between 0.4.0 and 0.4.1. drivine4j-codegen-model differs only in its version properties file. Their poms differ only in the version.
  • In drivine4j, a descriptor-level javap -protected -s diff finds members removed or changed only in Drivine's internals: the SQL backends' *Predicates constructors, *RowSources.steps/OracleRowSources.reached, NodeWrites, WritePlan.patch, JdbcConnection's constructor (a new parameter), the Cypher AST's Clause.Call and Value.Json, Temporals.truncate, FragmentField, CypherGenerator.buildWhereClause (internal), and the IndexManager constructors (they now take a PersistenceManager). SqlCypherCompiler gains an abstract listOrder. The schema specs (UniquenessConstraintSpec, RangeIndexSpec, TextIndexSpec, VectorIndexSpec) keep every constructor and copy they had, and add ignoreCase overloads. @Unique, @RangeIndex and @TextIndex gain ignoreCase() with a default.
  • None of those members is called by embabel-agent-rag-graph, embabel-chat-store or dice-storage. javap -v on their snapshots built on 0.4.0 (the deploys of 2026-10-29) finds no reference to any removed member, and every org/drivine reference they make resolves in 0.4.1. The Drivine starter and codegen 0.4.0 jars make no such reference either.

So 0.4.1 is a drop-in for code built on 0.4.0, and each project can move on its own.

Built and tested

./mvnw -U -B test verify (CI's command), with Testcontainers: all ten modules pass, 0 failures, 0 errors, 0 skipped. dice-metamodel 308 tests, dice 1763, dice-storage 492, dice-storage-autoconfigure 76, dice-report 21, dice-ingestion 8, dice-mcp-autoconfigure 20, dice-integration-tests 12. KSP codegen ran on 0.4.1.

Neither 0.4.1 behaviour change shows up here: no test fails on Oracle randomUUID() (liberation-data/drivine4j#402, which needs Oracle 23.9) or on the stricter kind checks (liberation-data/drivine4j#448).

Moves Drivine from 0.4.0 to 0.4.1, and sets dice-storage's codegen
subproject's standalone fallback to the same version. 0.4.1 links with
dice-storage built on 0.4.0, so this needs no lockstep with
embabel-chat-store or embabel-agent-rag-graph.
@jasperblues
jasperblues merged commit 65fcf48 into main Nov 2, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update drivine4j to 0.4.1 (Drivine 2026.11)

1 participant