CHANGELOG.md in anyway_config-2.3.1 vs CHANGELOG.md in anyway_config-2.4.0

- old
+ new

@@ -1,9 +1,54 @@ # Change log ## master +## 2.4.0 (2023-04-04) + +- Add `Confi#as_env` to convert config into a ENV-like HASH. ([@tagirahmad][]) + +- Added experimental support for sub-configs via coercion. ([@palkan][]) + +```ruby +class AnotherConfig < Anyway::Config + attr_config foo: "bar" +end + +class MyConfig < Anyway::Config + attr_config :another_config + + coerce_types another_config: "AnotherConfig" +end + +MyConfig.new.another_config.foo #=> "bar" + +ENV["MY_ANOTHER_CONFIG__FOO"] = "baz" +MyConfig.new.another_config.foo #=> "baz" +``` + +- Define predicate methods when `:boolean` type is specified for the attribute. ([@palkan][]) + +- Add support for nested required config attributes. ([@palkan][]) + +The API is inspired by Rails permitted params: + +```ruby +class AppConfig < Anyway::Config + attr_config :assets_host, database: {host: nil, port: nil} + + required :assets_host, database: [:host, :port] +end +``` + +- Add support for using `env_prefix ""` to load from unprefixed env vars. ([@palkan][]) + +See [#118](https://github.com/palkan/anyway_config/issues/118). + +- Added EJSON support. ([@inner-whisper]) + +- Add Doppler loader. ([@prog-supdex][]). + ## 2.3.1 (2023-01-17) - [Fixes [#110](https://github.com/palkan/anyway_config/issues/110)] Fix setting up autoloader for the same folder. ([@palkan][]) - RBS: Now `.on_load` automatically pass block context type (instance), so no need to add annotations! ([@palkan][]) @@ -467,5 +512,8 @@ [@jastkand]: https://github.com/jastkand [@envek]: https://github.com/Envek [@progapandist]: https://github.com/progapandist [@skryukov]: https://github.com/skryukov [@fargelus]: https://github.com/fargelus +[@prog-supdex]: https://github.com/prog-supdex +[@inner-whisper]: https://github.com/inner-whisper +[@tagirahmad]: https://github.com/tagirahmad