Releases: qoollo/pearl
Releases · qoollo/pearl
v0.21.0
v0.9.6
v0.20.0
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
andFileName
(#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
andnix
crate versions (#278)
v0.9.5
v0.19.0
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 fromStorage
(#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 theKey
trait for proper calculation of memory occupied by the Key struct (#270)
Fixed
v0.18.0
Added
- Index regeneration checks record data checksum (#215)
Changed
ring
crate replaced withsha2
crate (#246)async-std
replaced withasync-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)