- Dropped support for Rails
< 4.2
- Dropped support for Ruby
< 2.4
- Upgraded dry-validation dependency to dry-schema 1.0 (#224)
- Moved constant to be defined on
Object
instead ofKernel
(#227)
- Lock max version of dry-validation depending on the ruby version (#223)
- Upgrade dependencies (#211)
- Add Ruby 2.5 and Rails 5.1 to the testing matrix on Travis (#201)
- Add Ruby 2.6 tto the test matrix (#210)
- Add Rails 5.2 to the test matrix (#212)
- WARNING:
nil
values will from now on overwrite an existing value when merging configs! This change of behavior can be reverted viaconfig.merge_nil_values = false
in your Config initializer (#196)
- Make dry-validation dependency less strict allowing to use newer versions (#183)
- Fix
key?
andhas_key?
, which raise NoMethodError in non Rails environment, by using ActiveSupport#delegate
implicitly (#185) - Update
deep_merge
dependency to latest version (v1.2.1) (#191) - Upgrade
rubocop
to version 0.52.1 (#193) - Add
zip
to the list of reserved keywords (#197)
Config#fail_on_missing
option (defaultfalse
) to raise aKeyError
exception when accessing a non-existing key- Add ability to test if a value was set for a given key with
key?
andhas_key?
(#182)
- Add parsing of ENV variable values to Boolean type (#180)
- Add ability to validate config schema (#155 thanks to @ok32)
- Add count to the reserved names list (#167 thanks to @carbonin)
- Correctly parse
env_prefix
, which containsenv_separator
(#177 thanks to @rdodson41)
- Added support for passing a raw ruby hash into to both
Settings.add_source!
andSettings.prepend_source!
(#108 thanks to @halloffame)
- Added new reserved name
test
(#158 thanks to @milushov) to_hash
should not replace nested config objects with Hash (#160 thanks to @seikichi)
- WARNING: Overwrite arrays found in previously loaded settings file (#137 thanks to @Fryguy and @dtaniwaki) - this is a change breaking previous behaviour. If you want to keep Config to work as before, which is merging arrays found in following loaded settings file, please add
config.overwrite_arrays = false
to your Config initializer - Changed default ENV variables loading settings to downcase variable names and parse values
- Added parsing ENV variables values to Float type
- Change method definition order in Rails integration module to prevent undefined method
preload
error (based on @YaroSpace suggestion in #111
- Add ability to load settings from ENV variables (#108 thanks to @vinceve and @spalladino)
- Removed Rails 5 deprecation warnings for prepend_before_filter (#141)
- Downgrade minimum ruby version to 2.0.0 (#136)
- Add ability to specify knockout_prefix option for deep_merge
- Minor code and documentation refactoring and cleanup
RailsConfig
is now officially renamed toConfig
- Fixed array descent when converting to hash (#89)
- Catch OpenStruct reserved keywords (#95 by @dudo)
- Allows loading before app configuration process (#107 by @Antiarchitect)
deep_merge
is now properly managed via gemspec (#110)- Added
prepend_source!
(#102)
- Released deprecated gem migrating to the new name
- Ability to use in Settings file keywords reserved for OpenStruct: select, collect (#95)
- Made config work without Rails as a hard dependency (#86, #88)
- Fix generate error when .gitignore is missing (#85)
- Fix deprecation warning on File.exists? (#81)
- Add a shortcut method for setting files (#67)
- Improve YAMLSource load error message by outputting offending file path (#88)
- Ability to specify the app name when calling the Heroku rake task (#75)
- Fixed compatibility with Rails 4.1 (#72)
- Testing suite verifies compatibility with Rails 3.2, 4.0 and 4.1
- Compatibility with Heroku (#64)