Releases: earthstar-project/willow-rs
Willowʼ25, SimpleStoreSled + Data model and Meadowcap updates
The highlights of this release:
willow-store-simple-sled
- a new persistent Willow data storewillow_25
- Ready-made parameter choices to use with Willow specsStore
- a new trait for implementing your own Willow data stores
We've also done a lot of work under the hood, focusing on new efficient encoding and decoding systems powered by ufotofu_codec
, and laying the groundwork for the WGPS and Sideloading protocol.
willow-store-simple-sled
This is a new persistent store for Willow data implementing our new Store
trait. It is simple, with a straightforward implementation without fancy data structures. It uses sled. You can start using it today to build applications which will soon be able to talk to each other via the WGPS and Sideloading protocols!
let db = sled::open("my_db").unwrap();
let namespace = willow_25::NamespaceId25::new_communal();
let store = StoreSimpleSled::new(namespace, db).unwrap();
Willowʼ25
Willowʼ25 is the name we've given to Willow-with-parameters-we-recommend-in-2025. Willow has a lot of parameters to fill in, and we'd like to make it easy to choose secure, performant ones. As a bonus, it could make more Willow instances interoperable with one another!
In 0.1.0 of the willow_25
crate, we now expose all the parameters needed for the Willow Data Model and Meadowcap: NamespaceId25
, SubspaceId25
, PayloadDigest25
, and AuthorisationToken25
.
willow-data-model
0.2.0
We have made many updates to the willow-data-model
crate, including the addition of a new Store
trait. Types which implement this trait will be compatible with our in-progress WGPS and Sideloading crates.
We've also refined many of the existing types, adopted the new ufotofu_codec
crate for our encoding and decoding, and added some new private encodings (spec forthcoming) to encode data relative to some private knowledge.
meadowcap
0.2.0
We've refactored our encoding to use the new, more performant ufotofu_codec
crate, as well as private encodings for McCapability
. We've also added a new dev feature, SillySigs
, a signature scheme useful for fuzz testing.
We are well into our WGPS and Sideloading protocol implementations, and hope to have more news soon!
Meadowcap + Willow data model (sans store)
Hello! This very first release includes three new crates:
meadowcap
- A capability system for controlling access to Willow data.willow-data-model
- The datatypes of Willow, an eventually consistent data store with improved distributed deletion.willow-encoding
- Utilities for implementing Willow’s various encodings.
All of the above are fully documented.
What to expect inside: meadowcap
is feature-complete, and willow_data_model
has nearly everything: datatypes, groupings, encoding implementations. All it's missing is some definition of a store to actually store and retrieve all that Willow data from. Which is what we'll be working on next.
Many thanks to:
- @mycognosist
- @AljoschaMeyer
- The Iroh team (in particular, @Frando)
- @DerickEddington
- And NLnet for the funding which makes this work possible!