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.
- removed Compat
- upgraded Setfield dependency to include version 1
- in case of a MethodError, a
WhereTraitsMethodError
is thrown instead which adds detailed information about the available traits. UndefVarError
is thrown if variables are used within the traits definition which are obvious typos.- added documentation fo WhereTraitsMethodError
@traits_order
macro was added for resolving ambiguity among traits definition in a explicit way- nice error reporting in case a traits ambiguity is found, including concrete
@traits_order
suggestion - the underlying ambiguity handling was implemented respectively
- updated dependency
StructEquality
to version 2.0 - dropped support for Julia version < 1.6 for maintenance simplicity and because 1.6 replaced 1.0 as the new long term release
- official registered package at Julia General registry
- Internal representation changed to use one storage per normal dispatch signature (previously it was on global storage for all) in order to have less method overwrite warnings.
- switched dependency from ProxyInterface (singular, now deprecated) to ProxyInterfaces (plural)
- all dependencies are now registered in Julia General registry, hence custom registry no longer needed for CICD.
- GithubActions for CICD
- Documentation using Documenter.jl
- License
- Codecoverage
- renamed from "Traits.jl" to "WhereTraits.jl"
- bugs in internal dispatch
- README.md now reflects the new refactored version
- README.md now mentions
@traits_show_implementation
- refactored and split internal code into two additional submodules for better readability
- switched dependency from ASTParser to ExprParsers library
initial release