All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
- Added
Hyperbee::from_hypercore
.
0.4.0 - 2024-03-31
- Infastructure to publish python package. The package will be published when this is released.
- Added docstrings to ffi functions
ffi
feature now default so that we can build and distribute python packages. This will be fixed when package in split into workspaces.ffi
feature added that lets us build libraries for other languages. IncludesHyperbee
's.get
,.put
,.del
, and.sub
methods. Only Python has been tested so far. Generating bindings is documented in the README.
Debug
implementation forChildren
,Child
,Node
andBlockEntry
changed to be more readable.- On-disk binary output is now identical to JavaScript Hyperbee.
Hyperbee
no longer takes a generic parameter withCoreMem
bound.
Hyperbee::print
andHyperbee::height
are removed from the default API. They can still be accessed by enabling thedebug
feature.CoreMem
trait and all usage of it.
0.3.1 - 2024-02-29
0.3.0 - 2024-02-29
- Make
prefixed
module,HyperbeeBuilderError
, andmessages::header::Metadata
public
- Make
Hyprebee::traverse
andPrefixed::traverse
returnimpl Stream<Item = KeyDataResult>
. - Make
Prefixed::traverse
strip prefix and separator from yielded keys. The method now returnsimpl Stream
instead ofTraverse
. - Now the
.sub
method, andPrefixed
struct require configuration withPrefixedConfig
, which has aseperator
field. This separates the key and the prefix.separor
defaults to the NULL byte, which is the same as the JavaScript implementation.
BlockEntry
,KeyValue
,Node
andChild
are now private- You can now no longer manually construct
Traverse
orPrefixed
structs
0.2.2 - 2024-02-23
- More docs
- Add Rust to JavaScript integration tests for file system data
- Move
tracing-subscriber
from regular dependencies to dev-dependencies