Skip to content

Releases: Altair-Bueno/encode

v1.0.0

29 Jun 11:35
2c41849

Choose a tag to compare

Fixed

  • Update msrv to the smallest supported (#26)

Other

  • [breaking] Stabilize API for 1.0.0 (#20)

v0.2.4

19 Apr 21:05
a6254b4

Choose a tag to compare

Added

  • Added IoEncoder to adapt std::io::Write (#24)

v0.2.3

19 Apr 15:55
f25ab53

Choose a tag to compare

Added

  • bool arrays can now be used to encode bitflags (#23)

Other

  • Remove markdownlint in favor of prettier (#21)

v0.2.2

13 Apr 19:41
4596fde

Choose a tag to compare

Added

  • Break Encoder into StrEncoder and ByteEncoder (#16)

Fixed

  • Update the deprecated attribute with the right version (#18)
  • Add missing implementations and attributes (#17)

Other

  • Switch to nightly toolchain so coverage works always (#15)
  • Improve test coverage (#10)

v0.2.1

26 Mar 19:18
044b790

Choose a tag to compare

Added

  • Add support for CString (#12)
  • Implement Encodable<E> for more Cows (#11)

Other

  • Restrict CI to main/master branches
  • Cleanup ci and add codecov bot comments on PR (#9)
  • (deps) bump the github-actions-updates group with 2 updates (#8)
  • Combine coverage and doc coverage tarpaulin steps
  • Remove cache as it is not needed
  • Replace cargo install with taiki-e/install-action so runner doesn't
  • Fix README link
  • Include codecov badge
  • Ensure all tests run
  • Add code coverage reporting to CI workflow
  • Update repository owner in release-plz workflow
  • Replace GitHub Actions workflows with new CI setup based on release-plz (#5)

v0.2.0

15 Mar 13:53

Choose a tag to compare

chores: Remove pedantic as warning because CI sets -D warnings

v0.1.3

16 Feb 11:22

Choose a tag to compare

style: Add more clippy lints

v0.1.2

16 Feb 10:31

Choose a tag to compare

ci: Add equals so empty string is detected

v0.1.1

16 Feb 00:19

Choose a tag to compare

Bump version: 0.1.1

v0.1.0

15 Feb 17:16

Choose a tag to compare

encode is a toolbox for building encoders and serializers in Rust. It is
heavily inspired by the winnow and
nom crates, which are used for building
parsers. It is meant to be a companion to these crates, providing a similar
level of flexibility and ease of use for reversing the parsing process.

The main idea behind encode is to provide a set of combinators for building
serializers. These combinators can be used to build complex encoders from simple
building blocks. This makes it easy to build encoders for different types of
data, without having to write a lot of boilerplate code.

Another key feature of encode is its support for no_std environments. This
makes it suitable for use in embedded systems, where the standard library (and
particularly the [std::io] module) is not available.

See the examples folder for some examples of how to use encode. Also, check
the [combinators] module for a list of all the combinators provided by the
crate.

Feature highlights

  • #![no_std] compatible
  • #![forbid(unsafe_code)]
  • Simple and flexible API
  • Minimal dependencies
  • Ready to use combinators for minimizing boilerplate.

Cargo features

  • default: Enables the std feature.
  • std: Enables the use of the standard library.
  • alloc: Enables the use of the alloc crate.
  • arrayvec: Implements [Encodable] for [arrayvec::ArrayVec].