All Versions
27
Latest Version
Avg Release Cycle
87 days
Latest Release
763 days ago
Changelog History
Page 2
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
andpureconfig-circe
modules; - Added a
ConfigSource
that reads configs from YAML documents in thepureconfig-yaml
module.
- Added support for Scala 2.13 in the
- ๐ New features
-
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. AllloadConfig*
methods inpureconfig
are now deprecated in favor of config sources.
- Introduced the new
- ๐ New features
-
v0.11.1 Changes
June 14, 2019- ๐ New features
- Added support for Scala 2.13.
- ๐ New features
-
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 toconfig-option
). The old behavior can be retained by putting in scope animplicit def coproductHint[T] = new FieldCoproductHint[T]("type") { override def fieldValue(name: String): String = name.toLowerCase }
.
- The default transformation in
๐ New features
- Added
deriveEnumerationReader
,deriveEnumerationWriter
andderiveEnumerationConvert
to thepureconfig.generic.semiauto
package, allowing the derivation of readers and writers for enumerations encoded as sealed traits of case objects. As a consequence, theEnumCoproductHint
is now deprecated in favor of these new methods; CoproductHint
now exposes anoOptionFound
method allowing implementations to configure the failure reasons given when no option for a sealed family was able to be read.
- Added
-
v0.10.2 Changes
February 05, 2019- ๐ New features
- Added
ConfigReader.Result[A]
as an alias forEither[ConfigReaderFailures, A]
; - Introduced
FluentConfigCursor
, an alternative API toConfigCursor
focused on config navigation over error handling.
- Added
- ๐ New features
-
v0.10.1 Changes
November 30, 2018๐ New features
loadConfigFromFiles
now accepts anamespace
parameter like the otherloadConfig*
varieties. (#437)
๐ Bug fixes
scala-compiler
andscala-reflect
dependencies are nowprovided
, 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
pureconfig.generic.auto._
everywhere a config is loaded or written (e.g. in files with calls toloadConfig
); - The
AllowMissingKeys
trait was renamed toReadsMissingKeys
.
- Auto derivation of readers and writers for case classes and sealed traits is now disabled by default. Now users need
to import
๐ New features
- The auto-derivation features of PureConfig, powered by shapeless, were extracted to a separate
pureconfig-generic
module, whilepureconfig-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 ofConfigReader
andConfigWriter
; - A new
WritesMissingKeys
trait enables custom writers to handle missing keys, a feature previously restricted to the built-inOption
writer; - Cursors now perform the
automatic type conversions
required by HOCON when
as<type>
methods are called. Cursors now provideasBoolean
,asLong
,asInt
,asShort
,asDouble
andasFloat
.
- The auto-derivation features of PureConfig, powered by shapeless, were extracted to a separate
-
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 newatPath
method for deep navigation into the config;- New
pureconfig-yaml
module adding support to load configs from YAML files.
- Users can now configure whether
๐ 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
andConfigWriter
forChar
;- Modules for
fs2
,hadoop
andhttp4s
.
- ๐ New features
-
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-levelConfigReaderFailures
and concrete, location-agnosticFailureReason
s.
- A new
๐ฅ Breaking changes
ConfigReader
, as well as many related methods and classes, now reads configs fromConfigCursor
instances instead of from directConfigValue
s. Code can be migrated simply by accessing thevalue
field ofConfigCursor
whenever aConfigValue
is needed. However, rewriting the code to use the newConfigCursor
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 thefailed
method of the newConfigCursor
instead of manually creating instances ofConfigReaderFailures
; - The
CannotConvertNull
failure was removed, being superseeded byKeyNotFound
; - Methods deprecated in previous versions were removed.
๐ Bug fixes
- Fixed a bug where some or all
Derivation
cases outside thepureconfig
package were not showing the full error description.
- Fixed a bug where some or all