Changelog

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

[0.5.1]

Changed

  • README for crates.io

0.5.0

Added

  • API to aggregate version maps from multiple version uris into a single version map
  • API to easily deserialize toml with versioning support (feature gate toml-support)

Changed

  • The VersionMap is now used as a generic parameter and not as &dyn VersionMap.
  • VersionMap new requires Clone. Users should provide a reference instead of an owned type when providing a VersionMap to avoid cloning during the deserialization.

0.4.2

Changed

  • Refactored travis CI

0.4.1

Changed

  • Refactored documentation files and travis CI

0.4.0

Added

  • Version group apis: macros and utilities to defined version maps, version groups and version uris.

Changed

  • The VersionMap is now used as a &dyn VersionMap and not a generic parameter in types.

0.3.1

Changed

  • To define the version for the current type, use self attribute instead of type = "path to self"
  • Use the type_name of a type as the key to find its version.

0.3.0

Added

  • Added changelog
  • The v attribute is an alias for the version attribute.
  • Added the versioned group pattern with example

Changed

  • The version attribute now requires an explicit index.
  • The versions attribute now requires an entry for the current version.
  • Use a trait for VersionMap instead of a HashMap<String, usize>

Removed

  • The #[versions("Av1", "Av2")] syntax is not supported anymore, instead use the more explicit version #[versions(v(index = 1, type = "Av1"), v(index = 2, type = "Av2"))]

0.2.3 - 2019-09-08

Added

  • Added an InvalidVersionError when the version number provided is not handled by current code.

0.2.2 - 2019-09-08

Added

  • Added proper README file

0.1.0 - 2019-09-06

Added

  • Versioning feature for serde with additional trait DeserializeVersioned and deserializer VersionedDeserialized