Releases: roman/Haskell-etc
Releases · roman/Haskell-etc
TemplateHaskell utility
- Add
parseConfigSpecTH
functionality, now we can parse theConfigSpec
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
- Remove bug that stop configuration to be rendered when a default value was an empty array
Minor bug fix
- Improvement around unhelpful error being thrown when CLI Config Map didn't contain a value on a required (by code) field
Improve pretty printer
- Improve pretty printer for configuration values (closes #32)
Add type setting to etc/spec
BREAKING CHANGES
- Add new
type
field toetc/spec
with support forstring
,number
,
bool
,[string]
,[number]
and[bool]
,[object]
- Remove
type
field incli
spec in favor oftype
onetc/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
ENV meets config files
- 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
BREAKING CHANGES
- Bump resolver to lts-11
- Replace
protolude
in favor ofrio
- Update
parseConfigSpec
to no longer attempt to parse JSON whenyaml
cabal
flag is set - Add
sensitive
setting toetc/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
- Move
Config
API to typeclassIConfig
- Add a
Setup.hs
file to every hachage repo (issue #5) - Add example of a project with a config spec embedded in the binary