All Versions
Latest Version
Avg Release Cycle
87 days
Latest Release
134 days ago

Changelog History
Page 2

  • v0.12.1 Changes

    September 28, 2019
    • ๐Ÿ†• New features
      • Added support for Scala 2.13 in the pureconfig-cats, pureconfig-cats-effect and pureconfig-circe modules;
      • Added a ConfigSource that reads configs from YAML documents in the pureconfig-yaml module.
  • v0.12.0 Changes

    September 12, 2019
    • ๐Ÿ†• New features
      • Introduced the new ConfigSource API, a new way of specifying how and from where configs should be read and merged. All loadConfig* methods in pureconfig are now deprecated in favor of config sources.
  • v0.11.1 Changes

    June 14, 2019
    • ๐Ÿ†• New features
      • Added support for Scala 2.13.
  • v0.11.0 Changes

    May 09, 2019

    ๐Ÿ‘Œ Support for Scala 2.13 (RC1) was introduced.

    • ๐Ÿ’ฅ Breaking changes

      • The default transformation in FieldCoproductHint changed from converting class names to lower case to converting them to kebab case (e.g. ConfigOption is converted to config-option). The old behavior can be retained by putting in scope an implicit def coproductHint[T] = new FieldCoproductHint[T]("type") { override def fieldValue(name: String): String = name.toLowerCase }.
    • ๐Ÿ†• New features

      • Added deriveEnumerationReader, deriveEnumerationWriter and deriveEnumerationConvert to the pureconfig.generic.semiauto package, allowing the derivation of readers and writers for enumerations encoded as sealed traits of case objects. As a consequence, the EnumCoproductHint is now deprecated in favor of these new methods;
      • CoproductHint now exposes a noOptionFound method allowing implementations to configure the failure reasons given when no option for a sealed family was able to be read.
  • v0.10.2 Changes

    February 05, 2019
    • ๐Ÿ†• New features
      • Added ConfigReader.Result[A] as an alias for Either[ConfigReaderFailures, A];
      • Introduced FluentConfigCursor, an alternative API to ConfigCursor focused on config navigation over error handling.
  • v0.10.1 Changes

    November 30, 2018
    • ๐Ÿ†• New features

      • loadConfigFromFiles now accepts a namespace parameter like the other loadConfig* varieties. (#437)
    • ๐Ÿ› Bug fixes

      • scala-compiler and scala-reflect dependencies are now provided, rather than regular, dependencies. (#434)
  • v0.10.0 Changes

    October 30, 2018

    ๐Ÿ‘Œ Support for Scala 2.10 was dropped.

    • ๐Ÿ’ฅ Breaking changes

      • Auto derivation of readers and writers for case classes and sealed traits is now disabled by default. Now users need to import everywhere a config is loaded or written (e.g. in files with calls to loadConfig);
      • The AllowMissingKeys trait was renamed to ReadsMissingKeys.
    • ๐Ÿ†• New features

      • The auto-derivation features of PureConfig, powered by shapeless, were extracted to a separate pureconfig-generic module, while pureconfig-core was left with only the absolute minimum for PureConfig to be useful. pureconfig will continue to be published as a Maven artifact aggregating the two aforementioned artifacts;
      • Users have now more control over reader and writer derivation. See the docs for more information;
      • New factory methods forProduct1, forProduct2, ..., forProduct22 were added to the companion objects of ConfigReader and ConfigWriter;
      • A new WritesMissingKeys trait enables custom writers to handle missing keys, a feature previously restricted to the built-in Option writer;
      • Cursors now perform the automatic type conversions required by HOCON when as<type> methods are called. Cursors now provide asBoolean, asLong, asInt, asShort, asDouble and asFloat.
  • v0.9.2 Changes

    August 23, 2018
    • ๐Ÿ†• New features

      • Users can now configure whether loadConfigFromFiles ignores or fails on non-existing or unreadable files;
      • Custom ConfigRenderOptions can now be passed to all config writing API methods;
      • PureConfig can now read Period instances written in the human-readable format supported by HOCON;
      • New configurable instances allow reading and writing maps with any key type, provided the respective conversion to/from strings;
      • ConfigCursor has a new atPath method for deep navigation into the config;
      • New pureconfig-yaml module adding support to load configs from YAML files.
    • ๐Ÿ› Bug fixes

      • Fixed a bug where PureConfig was not working when custom preludes were used.
  • v0.9.1 Changes

    March 22, 2018
    • ๐Ÿ†• New features
      • ConfigReader and ConfigWriter for Char;
      • Modules for fs2, hadoop and http4s.
  • v0.9.0 Changes

    January 08, 2018
    • ๐Ÿ†• New features

      • A new ConfigCursor now provides idiomatic, safe methods to navigate through a config. It also holds context for building failures with a more accurate location and path in the config;
      • ConfigReaderFailure was revamped to facilitate the propagation of context on failures. There is now a separation between higher-level ConfigReaderFailures and concrete, location-agnostic FailureReasons.
    • ๐Ÿ’ฅ Breaking changes

      • ConfigReader, as well as many related methods and classes, now reads configs from ConfigCursor instances instead of from direct ConfigValues. Code can be migrated simply by accessing the value field of ConfigCursor whenever a ConfigValue is needed. However, rewriting the code to use the new ConfigCursor methods is heavily recommended as it provides safer config handling and much better error handling;
      • Code for handling and raising failures may not work due to the revamp of the failure model. Inside ConfigReader instances users should now use the failed method of the new ConfigCursor instead of manually creating instances of ConfigReaderFailures;
      • The CannotConvertNull failure was removed, being superseeded by KeyNotFound;
      • Methods deprecated in previous versions were removed.
    • ๐Ÿ› Bug fixes

      • Fixed a bug where some or all Derivation cases outside the pureconfig package were not showing the full error description.