Skip to content

Releases: roman/Haskell-etc

TemplateHaskell utility

29 Aug 17:05
Compare
Choose a tag to compare
  • Add parseConfigSpecTH functionality, now we can parse the ConfigSpec
    record at compilation time (closes #47)
  • Remove bug on CLI option parser, now it will coerce numbers and
    booleans to string when specifying numbers and booleans over CLI
    and the field type is a string (closes #48)
  • Improve Error Types to be more granular and descriptive
  • Re-organize Spec parser functions in its own module
  • Add switch input for CLI spec (closes #41)

Fix bug on printer

03 Jun 08:01
Compare
Choose a tag to compare
  • Remove bug that stop configuration to be rendered when a default value was an empty array

Minor bug fix

02 Jun 07:43
Compare
Choose a tag to compare
  • Improvement around unhelpful error being thrown when CLI Config Map didn't contain a value on a required (by code) field

Improve pretty printer

20 May 06:15
Compare
Choose a tag to compare
  • Improve pretty printer for configuration values (closes #32)

Add type setting to etc/spec

13 May 05:55
a01b8df
Compare
Choose a tag to compare

BREAKING CHANGES

  • Add new type field to etc/spec with support for string, number,
    bool, [string], [number] and [bool], [object]
  • Remove type field in cli spec in favor of type on etc/spec
  • Allow ENV vars to accept supported types (only strings were allowed) (closes #30)
  • Allow CLI options to accept supported types (only strings and numbers were allowed)
  • Allow spec file to have array as default values
  • Return a warning and an empty config whenever configuration files contain
    entries not defined in the spec (closes #26)

v0.3.2.0

24 Apr 14:51
Compare
Choose a tag to compare
  • Upgrade to rio to version 0.1.1.0

ENV meets config files

05 Apr 21:43
3934780
Compare
Choose a tag to compare
  • Add new etc/files entry to the spec file which allows specifying an
    environment variable to fetch a file (issue #20)

v0.3.0.0

28 Mar 17:44
Compare
Choose a tag to compare

BREAKING CHANGES

  • Bump resolver to lts-11
  • Replace protolude in favor of rio
  • Update parseConfigSpec to no longer attempt to parse JSON when yaml cabal
    flag is set
  • Add sensitive setting to etc/spec entries
  • Add Value type to deal with sensitive values
  • Update examples with sensitive values
  • Add optional key context to the InvalidConfiguration error (issue #12)
  • Add config printer function that renders config map with/without colors (issue #15)
  • Give precedence to values that do not contain inner JSON.Null values (issue #16)

IConfig typeclass for easy newtype wrapping of Config

26 May 03:59
Compare
Choose a tag to compare
  • Move Config API to typeclass IConfig
  • Add a Setup.hs file to every hachage repo (issue #5)
  • Add example of a project with a config spec embedded in the binary

Allow null default values

17 Apr 03:20
Compare
Choose a tag to compare
  • Add support for null values on Default (issue #3)
  • If cli cabal flag is false, have parseConfigSpec return ConfigSpec () instead of ambiguous FromJSON value (issue #3)
  • Bump aeson dependency to <1.3