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.

1.0.0 — 18 November 2019


  • Revised Manifests handling.

    • Revised Manifests so they are validated once, during creation.

      • Empty Manifests are now invalid.
      • Manifests can be valid or invalid depending on their entries.
      • See documentation for Packmatic.Manifest.
    • Revised Encoder to not re-validate Manifests.

      • Encoder halts immediately if given an invalid Manifest.
    • Removed Packmatic.Validator.validate_each/1.

      • Since the Manifest is validated as it is built, this function is no longer useful.
    • Revised tests.

      • Revised test on “no entries” case for invalid Manifest.
      • Added simple Manifest test with examples.
      • Made the top-level PackmaticTest asynchronous.
  • Revised Sources handling.

    • Eliminated duplicative types with code generation.

      • Known Sources are referred by name.
      • The Source Entry type is generated based on the names.
    • Revised individual Source modules.

      • Standardised nomenclature (init_arg, init_result, etc) for type handling.
    • Revised Manifest types.

      • Removed aliasing of Manifest.Entry.t().
      • Renamed Manifest.entry_keyword() to Manifest.Entry.proplist().
    • Added further documentation on how Dynamic Sources work.

0.1.0 — 30 October 2019


  • Initial Release.