Releases: TheElectronWill/night-config
Releases · TheElectronWill/night-config
NightConfig v3.4.0 - nicer with primitives
In almost all cases, this release is backward-compatible with previous 3.x.x code. However, there are some changes related to the conversion of null values and Scala methods. They could, in very specific cases, force you to modify your code.
New
- Primitive getters
getInt
,getLong
, etc. inUnmodifiableConfig
andUnmodifiableConfig.Entry
- Optional getters in
UnmodifiableConfig.Entry
- Better handling of null values stored as
NULL_OBJECT
with the methodsgetRaw(path)
andisNull(path)
- The conversion function of
ConversionTable
now receivesNULL_OBJECT
instead ofnull
if the value exist but "is null".
Fixed
- Issue #43:
FileConfig.autosave()
works again - Issue #44: NightConfig is now available on Maven Central
- Issue #45: you can now get a
long
from anInteger
value or vice-versa
Removed
$minus$eq
and$plus$eq
methods which couldn't be called nicely from Scala
NightConfig v3.3.0 - support TOML v0.5
- Fixes multiple bugs like #42
- Supports TOML v0.5.0
- Improved error messages
NightConfig v3.2.0 - support Java NIO Path
New
- All the operations on
File
now work onjava.nio.file.Path
too! - New parameter
emptyDataAccepted
for the JSON parser
Fixes
- Fix String parsing which was completely broken because FastStringReader was incorrectly implemented
- When possible, JsonParser now returns an int value instead of a long
- Fix json parsing of empty objects and empty arrays
- Fix json parsing of deeply nested structures
NightConfig v3.1.1 - Json bugfixes
NightConfig v3.1.0 - better, simpler, faster!
Fixes
- Fix null values unsupported by concurrent configurations. This is done by replacing null by
NULL_OBJECT
in the config's underlying HashMap. These NULL_OBJECTs aren't visible when getting/setting the configuration's values, but they are visible when using the underlying map. - Fix bugs in TOML and YAML parsers
- Fix thread-safety issue that shows up whan using
autoreload
andautosave
together
Improvements
- Implement the last TOML updates:
- Compound (aka "dotted") keys
- Hexadecimal, octal and binary integers
- Improve the performance of autoreloaded and autosaved FileConfigs by avoiding useless operations
- New method:
getOrElse
which is a getter with a default value, see #34 - Simplify
ConfigFormat
and the generics everywhere! Moving fromConfigFormat<C extends D, D extends Config, W extends UnmodifiableConfig>
toConfigFormat<C extends Config>
. - More unit tests
- More documentation, and a new wiki!
NightConfig v3.0.4 - TOML bugfixes
NightConfig v3.0.3 - bugfixes and dependencies update
- Updated JUnit to 5.0.2 stable
- Updated TypesafeConfig to 1.3.2 stable
- Fixed parsing of TOML inline tables
NightConfig v3.0.2 - more bugfixes
- Fixed a NullPointerException when building non-concurrent CommentedFileConfigs (non-commented FileConfig were note affected).
NightConfig v3.0.1 - small but interesting improvements
Changes from version 3.0:
- Moved scala
apply(path)
from Config to UnmodifiableConfig - which is what should have been done in v3.0, since the methodget
is in UnmodifiableConfig. - Added scala methods
+=
and-=
to ConversionTable - New annotation:
@SpecValidator
, which allows you to define a custom validator class for a field. There is an example of this feature here.
NightConfig v3.0 stable
Changes from the beta version:
- Fixed the javadoc so that the gradle build works
- FileConfig.close() now ensures that the pending writing operations complete
- ConversionTable now traverses the class hierarchy to find an appropriate conversion function
- Added convenient methods for Scala in the Config interface:
apply
calls get,update
calls set, and+=
calls add - Added more code examples