All notable changes to this project are documented in this file. The format is based on Keep a Changelog and adheres to Semantic Versioning.
- Updates to latest version of pmd plugin
- Updates the Vault configuration to retry token validation which is prone to initial fail due to Vaults eventual consistency approach
- Adds reproducible builds configuration based on https://maven.apache.org/guides/mini/guide-reproducible-builds.html
- Adds support for reading secrets from Vault
- Bump commons-configuration2 from 2.8.0 to 2.9.0
- Bump slf4j.version from 2.0.6 to 2.0.7
- Bump checkstyle from 10.6.0 to 10.9.3
- Bump maven-surefire-plugin from 3.0.0-M8 to 3.0.0
- Bump maven-compiler-plugin from 3.10.1 to 3.11.0
- Adds additional test coverage for config precedence
- Updates for following Gauge specific scenarios:
- when env var value and default config file value is same and does not contain in env config file then it should ignore the env var
- when env var value and env config file value is same and does not exist in default then value from env var takes priority
- Ignore env vars if key=value pair in env/properties are same
- Fixes an issue getting value from keepass when key in env and default properties are same
- System environment should now take precedence over keepass
- Removes duplicate exception from EnvConfigLoader
- Fixes an issue with returning value when using parent-env
- Bump slf4j-api from 1.7.36 to 2.0.0
- Fixes an issue when env var and parent/default env values are same
- Fixes an issue with flaky unit tests
- Adding missing used undeclared dependency
- Adds a new configuration item
env.config.profiles.path
to load profiles from another directory. - Now throws an EnvConfigException on non-existing
env.config.path
andenv.config.profiles.path
.
- Fixes an issue with default environment loading more than once.
- Resolve env.config.path only once at the start.
- Updates package name from
com.github.sitture.env.config
tocom.github.sitture.envconfig
- Updates the version of checkstyle to 10.3
- Updates the configuration properties prefix from
config.*
toenv.config.*
config.dir
toenv.config.path
config.env
toenv.config.environment
config.env.profile
toenv.config.profile
config.keepass.enabled
toenv.config.keepass.enabled
config.keepass.filename
toenv.config.keepass.filename
config.keepass.masterkey
toenv.config.keepass.masterkey
- Fixes an issue with env var override when there's no parent environment
- Upgrade minimal required jdk version to 11
- Updates Unit tests to use Junit5 and system-stubs
- Updates maven plugin dependency versions
- Adds the ability to specify relative and absolute config dir paths
- Fixes an issue with keepass opening multiple times
- Changes the way that we get the filename to fix an issue in Windows
- Updating to the latest version of checkstyle and pmd
- Fixes an issue with getting properties from parent environments with key format of my.property.
- Adds the ability to load in profiles using
CONFIG_ENV_PROFILE
- Adds ability to show the configuration asMap
- Fixes an issue with env vars priority
- Adds the ability to supply multiple environments. E.g.
config.env=env1,env2
where env2 takes precedence.
- Bumps junit from 4.12 to 4.13.1
- Adds a method to get a list of delimiter/comma separated items from a key.
EnvConfig.getList(property)
- Updates javadoc for
getOrThrow(property)
method.
- Fixes an issue with trailing spaces in env name.
- Updates method to
getOrThrow(property)
for getting a required property.
- Migrating to use GitHub actions
- Publishing to both maven central and GitHub packages
- Updates to the latest version of checkstyle/pmd.
- Updates the version of compiler plugin
- Updates the version of commons-configurations for security.
- Ignore leading and trailing spaces when gathering keys from keepass entries.
- Now adds the raw environments as well as processed lowercase keys
E.g. TEST_VAR can either be retrieved with EnvConfig.get("TEST_VAR")
or EnvConfig.get("test.var")
- Env vars now loaded after the keePass configurations.
- KeePass title instead of username is now used as the key in the map.
- Now adds the property from keepass configuration keys in original format as well as lower-cased.
E.g. For property TEST_PROPERTY
, should now be able to get by EnvConfig.get("TEST_PROPERTY")
or EnvConfig.get("test.property")
.
- Keepass properties now take precedence over the environment variables.
- Ability to read keepass database file.
- Ability to clear a specified property with
EnvConfig.clear(...)
- Adds the ability to set/update an existing property with
EnvConfig.set(...)
- Adds the
EnvConfig.add(...)
method to add key/value pairs into the config
- Initial release of the package to manage environment configs