All Versions
11
Latest Version
Avg Release Cycle
95 days
Latest Release
1254 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v2.0.2 Changes
January 01, 2023๐ Changes:
- ๐ป [fix] Better exception in case of file errors (such as
:efbig)
- ๐ป [fix] Better exception in case of file errors (such as
-
v2.0.1 Changes
August 30, 2022๐ Changes:
- Avoid unnecessary commits in the compaction catching up phase
- More informative error when running out of disk space
- Avoid leaking processes when stopping
CubDBduring a compaction
-
v2.0.0 Changes
June 28, 2022- [breaking] The functions
get_and_update/3andget_and_update_multi/3now return directlyresult, instead of a{:ok, result}tuple. - [breaking]
get_and_update_multi/4does not take an option argument anymore, making itget_and_update_multi/3. The only available option used to be:timeout, which is not supported anymore. - [breaking] Remove the
:timeoutoption onselect/2. This is part of a refactoring and improvement that moves read operations from an internally spawned Task to the client process. This makes the:timeoutoption unnecessary: by stopping the process callingCubDB, any running read operation by that process is stopped. - Add
snapshot/2,with_snapshot/1andrelease_snapshot/1to get zero cost read only snapshots of the database. - Add
back_up/2to produce a database backup. The backup process does not block readers or writers, and is isolated from concurrent writes. - Add
halt_compaction/1to stop any running compaction operation - Add
compacting?/1to check if a compaction is currently running - Move read and write operations to the caller process as opposed to the
CubDBserver process. - Improve concurrency of read operations while writing
โฌ๏ธ Upgrading from v1 to v2
โฌ๏ธ Upgrading from
v1tov2requires a few simple code changes:- When calling
get_and_updateorget_and_update_multi, the return value is not a{:ok, result}tuple anymore, but justresult. get_and_update_multidoes not take a fourth option argument anymore. The only available option was:timeout, which was now removed. In case you want to enforce a timeout for the update function, you can use aTaskandTask.yieldlike explained here.- The
selectfunction does not support a:timeoutoption anymore, so it will be ignored if passed. In order to enforce a timeout, you can wrap theselectin aTaskand useTask.yieldlike shown here
- [breaking] The functions
-
v2.0.0-rc.1 Changes
May 25, 2022๐ Changes from
v1.1.0โฌ๏ธ See the CHANGELOG.md and the UPGRADING.md files for details.
- [breaking] The functions
CubDB.get_and_update/3,
CubDB.get_and_update_multi/3, andCubDB.select/2now return directly
result, instead of a{:ok, result}tuple. - [breaking]
CubDB.get_and_update_multi/4does not take an option argument
anymore, making itCubDB.get_and_update_multi/3. The only available option
โฑ used to be:timeout, which is not supported anymore. - ๐ [breaking] Remove the
:timeoutoption onCubDB.select/2. This is part of
๐จ a refactoring and improvement that moves read operations from an internally
โฑ spawnedTaskto the client process. This makes the:timeoutoption
unnecessary: by stopping the process callingCubDB, any running read
operation by that process is stopped. - [breaking]
CubDB.select/2now returns a lazy stream that can be used with
functions inEnumandStream. This makes the:pipeand:reduce
๐ options unnecessary, so those options were removed. - โ Add
CubDB.snapshot/2,CubDB.with_snapshot/1and
๐CubDB.release_snapshot/1to get zero cost read-only snapshots of the
database. The functions inCubDB.Snapshotallow to read from a snapshot. - โ Add
CubDB.transaction/2to perform multiple write (and read) operations in
a single atomic transaction. The functions inCubDB.Txallow to read and
write inside a transaction. - โ Add
CubDB.back_up/2to produce a database backup. The backup process does
not block readers or writers, and is isolated from concurrent writes. - โ Add
CubDB.halt_compaction/1to stop any running compaction operation - โ Add
CubDB.compacting?/1to check if a compaction is currently running - ๐ Move read and write operations to the caller process as opposed to the
CubDBserver process. - ๐ Improve concurrency of read operations while writing
- [breaking] The functions
-
v1.1.0 Changes
October 14, 2021๐ Changes:
- โ Add
clear/1function to atomically delete all entries in the database
- โ Add
-
v1.0.0 Changes
June 24, 2021๐ See the CHANGELOG for details on changes
-
v1.0.0-rc.9 Changes
April 19, 2021๐ Changes:
- [fix] fix process (and file descriptor) leak upon compaction
-
v1.0.0-rc.8 Changes
March 08, 2021๐ Changes:
- โ Remove default GenServer timeouts
-
v1.0.0-rc.7 Changes
February 04, 2021๐ Changes:
put_and_delete_multiandput_multihave no caller timeout, consistently with the other functions.
-
v1.0.0-rc.10 Changes
April 25, 2021๐ Changes
- [fix] Fix
CubDB.cubdb_file?/1regexp, making it stricter
- [fix] Fix