Skip to content

Releases: actforgood/xconf

v1.9.0

17 May 12:06
v1.9.0
37b2fa2
Compare
Choose a tag to compare

Upgraded linter, github actions, dependencies.

Full Changelog: v1.8.0...v1.9.0

v1.8.0

08 Nov 09:27
v1.8.0
33641b4
Compare
Choose a tag to compare

What's Changed

  • Upgraded dependencies, github workflow go1.21, linter

Full Changelog: v1.6.0...v1.8.0

v1.7.0

21 Jun 12:14
v1.7.0
b245479
Compare
Choose a tag to compare

What's Changed

  • Bump github.com/pelletier/go-toml/v2 from 2.0.5 to 2.0.6 by @dependabot in #14
  • Upgraded dependencies, github workflow go1.20

Full Changelog: v1.6.0...v1.7.0

v1.6.0

02 Nov 22:47
Compare
Choose a tag to compare

What's Changed

  • 3rd party packages upgrades
  • go version bump from 1.17 to 1.18!
  • documentation enhancements

Full Changelog: v1.5.0...v1.6.0

v1.5.0

15 Oct 19:59
1407470
Compare
Choose a tag to compare
  • Added Go FlagSet support through FlagSetLoader
  • Added TLS support for Etcd through EtcdLoaderWithTLS

Full Changelog: v1.4.0...v1.5.0

v1.4.0

03 Oct 08:27
Compare
Choose a tag to compare
  • Added TOML support

Full Changelog: v1.3.0...v1.4.0

v1.3.0

30 Sep 14:55
Compare
Choose a tag to compare
  • Added FileLoader - factory for <JSON|YAML|Ini|DotEnv|Properties>FileLoaders based on file extension
  • Deprecated IniFileLoaderWithSectionKeyFunc

Full Changelog: v1.2.0...v1.3.0

v1.2.0

16 Sep 16:28
Compare
Choose a tag to compare

This release does not contain functionality changes.

  • Changed license copyright
  • Documentation enhancements
  • Supported min go version is now 1.17, not 1.16.

Full Changelog: v1.1.0...v1.2.0

v1.1.0

28 Aug 11:17
9990d55
Compare
Choose a tag to compare

What's Changed

  • Bump google.golang.org/grpc from 1.48.0 to 1.49.0 by @dependabot in #3
  • Bump github.com/actforgood/xlog from 1.0.0 to 1.1.0 by @dependabot in #1
  • Bump gopkg.in/ini.v1 from 1.66.6 to 1.67.0 by @dependabot in #2

New Contributors

Full Changelog: v1.0.0...v1.1.0

v1.0.0

28 Aug 10:54
Compare
Choose a tag to compare

Initial release.

  • Loader contract
    • EnvLoader - loads environment variables
    • DotEnvFileLoader - loads configuration from a .env file
    • JSONFileLoader - loads json configuration from a file
    • JSONReaderLoader - loads json configuration from a io.Reader
    • YAMLFileLoader - loads yaml configuration from a file
    • YAMLReaderLoader - loads yaml configuration from a io.Reader
    • IniFileLoader - loads ini configuration from a file
    • PropertiesFileLoader - loads java style properties configuration from a file
    • PropertiesBytesLoader - loads java style properties configuration from a bytes slice
    • ConsulLoader - loads json/yaml/plain configuration from a remote Consul KV Store
    • EtcdLoader - loads json/yaml/plain configuration from a remote Etcd KV Store
    • PlainLoader - explicit configuration provider
    • MultiLoader - loads (and merges, if configured) configuration from multiple loaders
    • FilterKVLoader - filters other loader's configurations (based on keys and / or their values)
    • AlterValueLoader - changes the value for a configuration key
    • IgnoreErrorLoader - ignores the error returned by another loader
    • FileCacheLoader - caches configuration from a [X]FileLoader
    • FlattenLoader - creates easy to access nested configuration leaf keys symlinks
    • AliasLoader - creates aliases for other keys.
  • Config contract
    • DefaultConfig
      • uses a Loader to retrieve configurations
      • can be enabled to reload configurations interval based, and observers can be notified of changes
    • MockConfig for UT
    • NopConfig - no-operation config
  • LogLevelProvider - adapter for getting log level for a xlog logger from a Config