Releases: k-tomaszewski/eternal-db
v1.6.0 - added option to flush and the ReadOnlyDatabase class
Added option to set flushing condition.
v1.5.1 - bug fix release
NPE bug was fixed in FileLinesSpliterator class. It was affecting scenarios when data where read from a database with time filtering.
v1.5.0 - Fix for issue #1, configuration option added in BasicFileNaming
Users of all previous versions should upgrade to this release, as it contains a fix for issue #1 (possible memory/resource leak in long run). In this release one can configure if database files are created for each hour when records are added in given hour (default) or one can choose if database files are created for each day when records are added in given day:
Database<MyRecord> db = new Database<>(
new DatabaseProperties<>(Path.of("/home/db"), 100)
.setFileNaming(new BasicFileNaming(BasicFileNaming.Mode.DAILY)));
Full Changelog: 1.4.0...1.5.0
v1.4.0 - correcting a corrupted data file, improved log messages
A valid database file always has a new line character at the end, thus appending a next record always should start from a new line. This was not always the true when it happened a database object was not closed before JVM exist. In such a case a database file could be left corrupted by missing a new line character at the end.
In this release the database is detecting missing new line characters when opening already existing data file. A new line character is appended if missing, so appending record is written properly starting with a new line. A WARN log message is generated in such a case:
File {} was present and missing a new line at the end (corruption). Some data from previous run may be lost!
v1.3.0 - added support for customizing ObjectMapper used by JacksonSerialization
README.md updated to cover Jackson ObjectMapper customization support.
1.2.0 - support for writing objects having timestamp among its attributes
First release
v1.1.0 is first release version having configuration for publishing the artifact in GitHub Packages.