tinycbor 0.11.2

A tiny CBOR codec library.
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

# 0.11.2 - 2026-03-17

### Added

- `stream::Any::reset`.

# 0.11.1 - 2026-03-16

### Added

- The `stream` module, containing `Any` which allows decoding of a CBOR item as it arrives.

# 0.15.1 (derive) - 2026-03-13

### Fixed

- Miscellaneous issues in macro expansion.

# 0.15.0 (derive) - 2026-03-13

### Fixed

- Revert changes in 0.14.0, and fix inconsistencies in the implementation. If an enum contains a single field overall,
    it will not generate an error type, even if it has multiple variants.

# 0.14.0 (derive) - 2026-03-13

### Fixed

- Still emit an error type when enums have more than 1 variant and less than 2 fields.

# 0.13.0 (derive) - 2026-03-13

### Changed

- Don't generate error types for single field/variant types

### Fixed

- deriving traits on empty structs and enums.

# 0.12.0 (derive) - 2026-01-22

### Changed

- `naked` array types with a single field do not generate an error type.
- `naked` enums with unit variants do not generate an error type.

# 0.11.2 (derive) - 2026-01-21

### Fixed

- use full path for `Option` in macro.

# 0.11.0 - 2026-01-21

### Changed

- `string::Error` changed to `string::InvalidUtf8`.
- Better error messages when deriving `Decode`.

# 0.10.2 (lib) - 2026-01-18

### Fixed

- `MapVisitor` behavior with indefinite-length maps.

# 0.10.1 (lib) - 2026-01-16

### Added

- `PartialOrd`, `Ord`, and `Hash` implementations on error types.

# 0.10.0 - 2026-01-13

### Changed

- things named `Inner` now have more descriptive names.

# 0.9.0 - 2026-01-13

### Added

- Various `From` impls for error types to convert from the underlying errors.

### Changed

- `primitive::Error` variants don't needlessly store their unit content.
- `collections` module renamed to `container`.
- `fixed` module renamed to `bounded`.

# 0.8.0 - 2026-01-12

### Added

- `#[cbor(recursive)]` attribute to generate valid error types for recursive types.

### Removed

- `std::str::Utf8Error` from the `Utf8` variant of `string::Error`.

# 0.7.1 - 2026-01-11

### Added

- `From<Tagged<T, N>> for Option<T>` and `From<Encoded<T>> for Option<T>` implementations.

### Fixed

- Type inference issue when using `naked` and `with` together in `decode`.

# 0.7.0 - 2026-01-11

### Changed

- `tag_only` has be replaced by the more powerful `naked` attribute.

# 0.6.0 - 2026-01-08

### Changed

- `fixed::Error` now follows how `tag::Error` and `nonzero::Error` are defined.

# 0.5.4 - 2026-01-04

### Added

- `&[u8; N]` implements `Decode`.

# 0.5.3 - 2026-01-03

### Fixed

- `Any` decoding bug with tags.

# 0.5.2 - 2026-01-03

### Fixed

- More permissive bounds on `Any`'s lifetime.

# 0.5.1 - 2025-12-31

### Added

- `map` methods to error types.

### Changed

- Errors generated by `derive(Decode)` are now `pub`.

# 0.5.0 - 2025-12-30

### Changed

- `to_vec` now takes `&T` instead of `T`.

# 0.4.1 - 2025-12-28

### Added

- `Any` type.

# 0.4.0 - 2025-12-28

### Changed

- `{encode,len}_with` only support types that implement `From<&T> for &<Self>` for the field type `T`.

# 0.3.0 - 2025-12-23

### Added

- `Encoded` wrapper type.
- `into` function on `tag::Tagged`.

### Changed

- Semantics of `with` in macro. Can now support `From<&T>` implementations, and `into` methods.

### Removed

- `tag::Dynamic`

# 0.2.3 - 2025-12-22

### Fixed

- Correctly handle indefinite-length structures in `ArrayVisitor`, `MapVisitor`, `BytesIter`, and `StrIter`.

# 0.2.2 - 2025-12-22

### Added

- Implement `map` encoding for sequential types such as `Vec<(K, V)>`.

# 0.2.1 - 2025-12-21

### Added

- `definite` method on `ArrayVisitor` and `MapVisitor` that returns whether the collection is definite-length.

# 0.2.0 - 2025-12-21

### Added

- `tag::Dynamic`: Allows for dynamically tagged values.
- `tinycbor-derive` now locks the value of `tinycbor` to use.

### Changed

- Renamed some variants of `collections::Error` for clarity and generalization.