View Source Changelog

Changelog for 2.5.0

Enhancements

  • Added env_overrides for overriding default and required attributes per environment (e.g. dev, test, prod).

Changelog for 2.4.2

Bugfix

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_integer and :pos_integer as 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/0 and preload/1 functions 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 nil as return value e.g. for the variable :my_var that returns integer, the spec would be as follows:

    @spec my_var() :: {:ok, nil | integer()} | {:error, binary()}

Changelog for 2.2.2

Enhancements

  • Added validate!/0 and validate!/1 functions for checking whether the required variables have values or not (thanks to Riccardo Binetti).
  • Travis-CI build now checking format, credo, dialyzer and coveralls.

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 of binary().

Changelog for 2.2.0

Enhancements

  • Added JSON config provider.
  • Added new Skogsra.Binding behaviour for adding custom variable bindings.
  • New option binding_order for 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 implementing Skogsra.Binding behaviour.
  • Added binding_skip option 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_config was deprecated favoring binding_skip: [:config].
  • The option skip_system was deprecated favoring binding_skip: [:system].

Changelog for 2.1.1

Bug fixes

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 :module built-in type.
  • Added :unsafe_module built-in type.

Changelog for 2.0.0

Enhancements

  • Added Skogsra.Type behaviour for defining custom types.
  • Application configuration values are now casted as well to the defined type in the Skogsra environment 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 :ets tables. This avoids the creation of an application tree for this project, thus making it even faster.

Changelog for 1.2.1

Bug fixes

Changelog for 1.2.0

Enhancements

  • Added autogenerated reload functions.
  • Added autogenerated setter functions.
  • Improved documentation.
  • Code rearrangement and refactor for maintainability.