View Source Changelog

changelog-for-2-4-0

Changelog for 2.4.0

bugfix

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

Changelog for 2.3.3

enhancements

Enhancements

  • Added :neg_integer, :non_neg_integer and :pos_integer as custom types.

changelog-for-2-3-2

Changelog for 2.3.2

bugfix-1

Bugfix

  • Wrong spec in private function.

changelog-for-2-3-1

Changelog for 2.3.1

bugfix-2

Bugfix

  • Multiline docs in templates weren't properly commented.

changelog-for-2-3-0

Changelog for 2.3.0

enhancements-1

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

Changelog for 2.2.3

bugfix-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

Changelog for 2.2.2

enhancements-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

Changelog for 2.2.1

bugfix-4

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

Changelog for 2.2.0

enhancements-3

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

Breaking changes

  • Improved YAML config provider by making it equivalent to the JSON provider.

deprecations

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

Changelog for 2.1.1

bug-fixes

Bug fixes

changelog-for-2-1-0

Changelog for 2.1.0

enhancements-4

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

Changelog for 2.0.4

enhancements-5

Enhancements

  • Improved documentation.

changelog-for-2-0-3

Changelog for 2.0.3

enhancements-6

Enhancements

  • Improved errors when a variable is missing.

changelog-for-2-0-2

Changelog for 2.0.2

enhancements-7

Enhancements

  • Added :module built-in type.
  • Added :unsafe_module built-in type.

changelog-for-2-0-0

Changelog for 2.0.0

enhancements-8

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

Changelog for 1.3.0

enhancements-9

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

Changelog for 1.2.1

bug-fixes-1

Bug fixes

changelog-for-1-2-0

Changelog for 1.2.0

enhancements-10

Enhancements

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