Repository navigation
Changes
TLibs 2.6.1 fixes SQLite transaction cleanup when a transaction body throws, including JVM Error and checked failures. Confirmed rollback preserves the original RuntimeException or Error; checked body failures are reported as SqliteDatabaseException.
SQLite can automatically roll back a transaction while JDBC still reports auto-commit disabled. After a failed rollback, TLibs now retains the connection only when a same-connection SQLite probe proves there is no active transaction. Proven auto-rollback keeps the connection usable with its settings intact. If rollback state remains uncertain, TLibs discards the connection without restoring auto-commit or automatically reconnecting; the owning plugin needs a restart or a new store.
Public APIs, character/estate encoding, database schemas and dependency pins are unchanged from 2.6.0. The bundled SQLite driver remains 3.49.1.0. This patch protects future transactions; it does not repair data already written by an older failed migration.
Validation: the exact tag release build passed 251 tests with zero missed lines under Java 21. Real SQLite rollback and follow-up-write probes passed with drivers 3.49.1.0 and 3.53.0.0. The final Cooking 0.5.0 consumer proof passed 1,187 tests plus four migration/estate/automatic-rollback probes against the same compiled provider classes.
Changes: #47. Full changelog.
Downloads
JAR SHA-256: 7d791b57d1e19255353367d2c84a5eca88352ccab56be1dbdffbbeb5c0e7f07c.