Skip to content

Releases: cojen/TuplDB

Version 1.9.0

04 Mar 15:40

Choose a tag to compare

Main changes:

  • Depends on Java 22 and switched to the Java FFM API. Direct page access mode is now always enabled, and disabling it has no effect. This change isn't really expected to be "breaking", but it's a major change. The FFM API is slightly slower compared to using the Unsafe class directly, and so TuplDB will attempt to use one of the Unsafe classes automatically by default, falling back to the FFM API when necessary.
  • Support complex query expressions.
  • Various bug fixes and performance improvements.

See changelog for more details.

Version 1.8.0

04 Mar 15:07

Choose a tag to compare

Main changes:

  • The Table.load, insert, replace, update, merge, and delete methods now throw an exception instead of returning a boolean value. The original methods are supported in the form of newly added "try" variants: tryLoad, tryInsert, tryReplace, tryUpdate, tryMerge, and tryDelete.
  • Defined a new Query interface which directly represents a runnable query. It can be used as an alternative to passing query strings to the Table class all the time.
  • The Table methods for obtaining QueryPlan instances have been moved to the new Query interface.
  • Added new Table methods for supporting custom filtering, transformation, aggregation, grouping, joins, and views.
  • Various bug fixes and performance improvements.

See changelog for more details.

Version 1.7.0

04 Mar 19:02

Choose a tag to compare

Main changes:

  • Removed the EntryConsumer, EntryFunction, RowScanner, and RowUpdater interfaces.
  • Repurposed the Scanner and Updater interfaces to only work with tables.
  • Reading from a closed/deleted index now throws ClosedIndexException or DeletedIndexException.
  • Support remote database access.
  • Support table query ordering, which selects an appropriate index or performs a sort.

See changelog for more details.

Version 1.6.0

18 May 16:08

Choose a tag to compare

  • Fix race condition which can cause the JVM to crash when the database is closed.
  • Fix deadlock during compaction caused by releasing the wrong node latch.
  • Fix improper lock release when writing cache primer.
  • Fix improper lock release/acquire when when opening indexes.
  • Fix BoundedCursor such that it doesn't observe uncommitted deletes when initially positioning it.
  • Fix possible reporting of negative cursor count in the database stats.
  • Fix safety of using updaters that require lock mode upgrades.
  • Improve utility of the suspendCheckpoints method by waiting for an in-progress checkpoint to complete.
  • Don't reset checkpoint duration stat when thresholds aren't met.
  • Depends on Java 17.
  • Add an API for supporting relational collections of persistent rows.