- Enhancements
- Able to override cast/2
- Enhancements
- Fix warnings for Elixir 1.8.x
- Add experimental hook
Construct.Hooks.Fastenthat works faster that standart make
- Enhancements
- Add
Construct.TypeswithCommaList,EnumandUUID
- Add
-
Enhancements
- Add
structure_compile_hook/2macro to inject code into structures SeeConstruct.Hooks.MapandConstruct.Hooks.OmitDefaultfor examples - Compiler optimization and refactor
- Add
-
Hard-deprecations
- Remove
make_mapoption - Remove
empty_valuesoption
- Remove
-
Bug fixes
- Fix typespecs generation
- Enhancements
- Add
enforce_keysoption to not enforce keys when building struct
- Add
- Enhancements
- Add
onlyoption toinclude
- Add
-
Enhancements
- Add experimental TypeC behaviour
- Add
error_valuesoption
-
Bug fixes
- Fix warnings for Elixir 1.10
- Enhancements
- Add typespec generation
- Bug fixes
- Ensure module is compiled when checking for Construct def in
includemacro
- Ensure module is compiled when checking for Construct def in
- Bug fixes
- Ensure module is compiled when checking for Construct def
- Bug fixes
- Ensure module is trying to be compiled when checking that if this module is Construct definition
- Enhancements
- Add
:pidand:referencetypes
- Add
- Bug fixes
- Fix case when non-enumerable values passed in array struct
- Bug fixes
- Fix default values retriever for construct modules as types
- Enhancements
- Derive inheritance
- Add
Construct.types_of/1 - Support to build Construct definitions from raw types
- Support nested types in
Construct.Cast.make/3
-
Enhancements
- Functions as default values
- Structs created from
Kernel.struct/1,2andmake/1,2are now equal - Structs with required fields return error when creating from
Kernel.struct/1,2 __construct__(:types)returns types with defined options%{name => {type, opts}}- Improve decimals and datetimes handling
- Performance of
Construct.Castis increased by almost 1.5x times
-
Bug fixes
- Fix define structure via using
-
Hard-deprecations
- Remove
__structure__/1and__structure__/2, use__construct__(:types)instead
- Remove
- Enhancements
- Add
structtype
- Add
- Enhancements
- Definition in using macro
- Add able to override fields
- Enhancements
- Make structs from params as a keyword list
- Simplify type declaration in standalone cast
- Accept types declaration as a key value structure
- Enhancements
- Self and cross dependent types