Skip to content

Releases: qoollo/pearl

v0.21.0

18 Dec 22:52
dfa1ac9
Compare
Choose a tag to compare

Fixed

  • Fixed benchmark build error (#296)
  • Fixed build warnings (#300)
  • Fix the build by adding yanked aHash implementation (#302)

v0.9.6

20 Nov 21:00
Compare
Choose a tag to compare

Fixed

  • Fix build after aHash crate was yanked (#298)

v0.20.0

22 Sep 18:40
ef6a862
Compare
Choose a tag to compare

Added

  • Add ability to attach metadata to the deletion record (#229)

Changed

  • Receive timestamp as parameter, store it within record and return it with BlobRecordTimestamp (#231)
  • Storage::read now propagates the error further instead of hiding it (#241)
  • Storage::read now reads Entries first, select latest one and only then loads the data (#276)
  • Check blob validity on index regeneration (#289)
  • Checksum validation in Entry::load_data (#274)
  • Add fsync to header writing in blob (#243)
  • Add periodic fsync (#234)
  • Reduced internal strucutre size in memory: bloom filter Config and FileName (#260)
  • Serialize/Deserialize implementation removed from Record struct (#282)

Fixed

  • Use dep:<crate_name> syntax in feature declaration to avoid unnecessary feature flags (#272)
  • Only add a deletion record in old blobs if the key is present (#284)

Updated

  • Update tokio, bytes, async-lock and nix crate versions (#278)

v0.9.5

05 Jun 13:33
Compare
Choose a tag to compare

Changed

  • Blob file path added into context information for several errors (#286)

v0.19.0

15 May 18:18
5ac8886
Compare
Choose a tag to compare

Added

  • Use InMemoryIndex as an additional filter on Blob level (#238)
  • Windows support added (#257)
  • CI: build and test on Windows (#261)
  • Include file index memory in the calculation of occupied memory (#262)

Changed

  • Remove hard dependency on io uring (#230)
  • Update offset only when write is imminent to prevent data corruption due to async Future cancellation (#228)
  • Improved Arc placement in Storage (#185)
  • Improved visibility levels in Storage (#186)
  • Clone impl removed from Storage (#265)
  • BLOB-wide exclusive lock removed from the write path, instead the short lock on the in-memory index added (#249)
  • Include BTreeMap overhead in index calculations (#266)
  • MEM_SIZE const has been added into the Key trait for proper calculation of memory occupied by the Key struct (#270)

Fixed

  • Fix fork in test duplicating test environment (#254)
  • Bug in ObserverWorker that prevents its stop and leads to memory leak (#259)
  • Converting UnexpectedEOF errors to bincode errors before deserialize() calls (#233)

v0.18.0

25 Feb 15:44
a4b5c46
Compare
Choose a tag to compare

Added

  • Index regeneration checks record data checksum (#215)

Changed

  • ring crate replaced with sha2 crate (#246)
  • async-std replaced with async-lock to avoid redundant dependencies (#247)
  • Change locks for filters update (#218)
  • Serialization moved out of critical section (#188)
  • Removed multiple header checksum calculations (#206)
  • Rename functions to show that it returns last entry (#199)

v0.17.0

16 Jan 00:20
7899b36
Compare
Choose a tag to compare

Added

  • Special handling for large data write (#192)

Changed

  • Added different path for sync read/write (#184)

Fixed

  • Fixed skip condition in Storage::get_data_last causing incorrect NotFound result (#235)

v0.16.0

30 Dec 14:51
40f7b73
Compare
Choose a tag to compare

Added

  • Corrupted blobs count calculation (#224)

Changed

  • Return delete or not found as distinct results (#208)
  • Save delete records in index (#207)
  • Use bytes for arguments (#191)

Updated

v0.9.4

24 Nov 18:29
Compare
Choose a tag to compare

Updated

  • Update bitvec version (#222)

v0.15.0

22 Nov 21:19
aadd27b
Compare
Choose a tag to compare

Added

  • Add functions to get info about blobs and indexes (#151)
  • Add key_size field to index header (#151)

Changed

  • Change file operations to work on full buffers (#190)
  • Remove iterators from bloom filter (#194)
  • Excessive key conversion removed (#193)

Updated

  • Updated tokio, nix, clap, bitvec versions (#202)
  • Update locks (#187)