borsh-rs is Rust implementation of the Borsh binary serialization format.
Borsh stands for Binary Object Representation Serializer for Hashing. It is meant to be used in security-critical projects as it prioritizes consistency, safety, speed, and comes with a strict specification.
Opting out from Serde allows borsh to have some features that currently are not available for serde-compatible serializers.
Currently we support two features:
borsh_skip (the former one not available in Serde).
borsh_init allows to automatically run an initialization function right after deserialization. This adds a lot of convenience for objects that are architectured to be used as strictly immutable. Usage example:
borsh_skip allows to skip serializing/deserializing fields, assuming they implement
Default trait, similary to
The versions of all public crates in this repository are collectively managed by a single version in the workspace manifest.
So, to publish a new version of all the crates, you can do so by simply bumping that to the next "patch" version and submit a PR.
We have CI Infrastructure put in place to automate the process of publishing all crates once a version change has merged into master.
However, before you release, make sure the CHANGELOG is up to date and that the
[Unreleased] section is present but empty.