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.
- Changed ibrowse to hackney
-
Revised handling of URL sources.
-
Updated handling of SSL connections based on OTP 25 changes.
-
Added SSL verify_peer by default.
-
Added CA Certificates handling.
-
Updated ibrowse to 4.4.2.
-
Updated httpotion to 3.2.0.g
- Revised handling of Stream sources.
-
Revised documentation and fixed formatting issues.
-
Updated typespecs.
-
Updated development & test dependencies.
1.1.1 — 2 March 2021
-
Added
Packmatic.Source.Stream
.- Added support for Streams that output IO Lists.
-
Updated
Packmatic.Source
.- Added ability for any Source to use any data type as its Source State.
- Added ability for any Source to return an updated Source State with new data.
-
Revised
Packmatic.Source.Dynamic
.- Removed custom resolver; any entry notation now accepted.
-
Updated development & test dependencies.
1.1.0 — 3 October 2020
-
Added support for custom Sources.
- Any module which implements
Packmatic.Source
can be used as a Source.
- Any module which implements
-
Added support for Encoder Events.
- Added the
on_event
option to the Encoder which can be used to receive events. - See documentation for
Packmatic.Event
.
- Added the
-
Revised
Packmatic.Source
.- Added callback
validate/1
for entry validation.
- Added callback
-
Revised
Packmatic.Manifest.Entry
.- Moved validation of Initialisation Arguments to Sources.
-
Revised
Packmatic.Source.File
.- Added explicit cleanup logic.
-
Revised
Packmatic.Source.URL
.- Added explicit cleanup logic.
- Revised
Packmatic.Encoder
.- Fixed acceptance of IO Lists, in case of custom Sources returning these instead of binaries.
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 Manifests so they are validated once, during creation.
-
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.
- Standardised nomenclature (
- Revised Manifest types.
- Removed aliasing of
Manifest.Entry.t()
. - Renamed
Manifest.entry_keyword()
toManifest.Entry.proplist()
.
- Removed aliasing of
- Added further documentation on how Dynamic Sources work.
- Added documentation within
Packmatic.Source.Dynamic
. - Added ExDoc test for inlined snippets.
- Added documentation within
- Eliminated duplicative types with code generation.
0.1.0 — 30 October 2019
- Initial Release.