View Source Changelog
Changelog for 2.5.0
Enhancements
- Added
env_overridesfor overridingdefaultandrequiredattributes per environment (e.g.dev,test,prod).
Changelog for 2.4.2
Bugfix
- Change from
Logger.warn/1toLogger.warning/1to avoid deprecation message on compile time. - Updated dependencies.
Changelog for 2.4.1
Bugfix
- Bugfix: Documentation generation throwed warnings for custom Skogsra types.
- Updated dependencies.
Changelog for 2.4.0
Bugfix
- Bugfix: [YAML Provider] fixed bug where it would duplicate apps.
- Bugfix: [YAML Provider] fixed bug where regular lists weren't accepted as values.
- Migrated pipeline from Travis to Github Actions.
- Improved code coverage.
- Updated dependencies.
Changelog for 2.3.3
Enhancements
- Added
:neg_integer,:non_neg_integerand:pos_integeras custom types.
Changelog for 2.3.2
Bugfix
- Wrong spec in private function.
Changelog for 2.3.1
Bugfix
- Multiline docs in templates weren't properly commented.
Changelog for 2.3.0
Enhancements
- Added
preload/0andpreload/1functions for overriding Elixir config values when config providers and OS system variables have precedence.
Changelog for 2.2.3
Bugfix
When there is no default and it's not required, a variable should have the variable's type and
nilas return value e.g. for the variable:my_varthat returns integer, the spec would be as follows:@spec my_var() :: {:ok, nil | integer()} | {:error, binary()}
Changelog for 2.2.2
Enhancements
- Added
validate!/0andvalidate!/1functions for checking whether the required variables have values or not (thanks to Riccardo Binetti). - Travis-CI build now checking
format,credo,dialyzerandcoveralls.
Changelog for 2.2.1
Bugfix
- When no type is defined and it cannot be derived from the default value,
then it should return
any()instead ofbinary().
Changelog for 2.2.0
Enhancements
- Added JSON config provider.
- Added new
Skogsra.Bindingbehaviour for adding custom variable bindings. - New option
binding_orderfor setting a custom order for variable binding (defaults to[:system, :config]). Possible values::system: For loading OS environment variables.:config: For loading application configuration variables.module(): For loading variables using a custom module implementingSkogsra.Bindingbehaviour.
- Added
binding_skipoption to skip one or several variable binding types (defaults to[]).
Breaking changes
- Improved YAML config provider by making it equivalent to the JSON provider.
Deprecations
- The option
skip_configwas deprecated favoringbinding_skip: [:config]. - The option
skip_systemwas deprecated favoringbinding_skip: [:system].
Changelog for 2.1.1
Bug fixes
- Fixed bug where
Skogsra.Typecouldn't be used as a type (see Custom Type Fails at get_spec_type)
Changelog for 2.1.0
Enhancements
- Improved function specs.
- Improved generated docs.
- Added option to avoid automatically generated docs.
- Added function for OS environment variable generation for Unix, Releases and Windows.
Changelog for 2.0.4
Enhancements
- Improved documentation.
Changelog for 2.0.3
Enhancements
- Improved errors when a variable is missing.
Changelog for 2.0.2
Enhancements
- Added
:modulebuilt-in type. - Added
:unsafe_modulebuilt-in type.
Changelog for 2.0.0
Enhancements
- Added
Skogsra.Typebehaviour for defining custom types. - Application configuration values are now casted as well to the defined
type in the
Skogsraenvironment variable definition. - Added YAML configuration provider.
Changelog for 1.3.0
Enhancements
- Namespaces now inherit values from default namespace.
- Favoring the use of
:persistent_terms over:etstables. This avoids the creation of an application tree for this project, thus making it even faster.
Changelog for 1.2.1
Bug fixes
- Fixed bug where
Skogsra.Cachedidn't work at compilation time.
Changelog for 1.2.0
Enhancements
- Added autogenerated reload functions.
- Added autogenerated setter functions.
- Improved documentation.
- Code rearrangement and refactor for maintainability.