Download Latest Version v5.4.2 source code.zip (2.0 MB)
Home / v5.4.1
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-10-17 1.8 kB
v5.4.1 source code.tar.gz 2026-10-17 997.2 kB
v5.4.1 source code.zip 2026-10-17 2.0 MB
Totals: 3 Items   3.0 MB 0

Issue Fixes

  • Kotlin stdlib collections are readable again after upgrading to 5.4.0 (#1330)
  • The MVStore deserialization allowlist added in 5.4.0 covered only org.dizitart.no2.**;java.**, so a document written by a Kotlin app holding emptyList(), emptySet() or emptyMap() - stored as kotlin.collections.EmptyList, EmptySet and EmptyMap - could no longer be read. kotlin.collections.** is now allowed by default, in the store filter and in the v1 migration filter.
  • A class refused by the filter is no longer treated as file corruption. NitriteMVStore.openMVMap used to roll the store back one version per failed attempt, discarding committed data and ending in Chunk N not found, which hid the real cause. It now fails at once with a NitriteSecurityException that names the rejected class and points to MVStoreModuleBuilder.allowedClasses(...), and leaves the file untouched.
  • Thanks to @DarkAtra for the report and the fix (#1331).
  • Closing an MVStore database no longer fails intermittently with AssertionError: 0 != 1 (Windows CI, TransactionTest.testRollbackDropCollection)
  • H2 drops a released version only if deregisterVersionUsage() gets the store lock with tryLock(). When the background writer held the lock, the drop was skipped, oldestVersionToKeep stayed behind, and H2's close-time assertion oldestVersionToKeep == currentVersion failed. The 5.4.0 fix released every outstanding version but could still lose that race.
  • NitriteMVStore.close() now stops the background writer before it releases the outstanding versions, then forces one uncontended drop.
Source: README.md, updated 2026-10-17