You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The copyright statement on all source code files has been updated.
A bug affecting file watches on non-macOS platforms has been identified and fixed. The issue was caused by an erroneous generic cast unintentionally converting the watched path from the internal path type to a type alias of the same name that was exported from another file.
Log messages from the GraalVM Polyglot engine emitted when the Konf JavaScript interpreter is not running on a GraalVM JDK have now been suppressed.
A bug affecting YAML writer output for strings that contain : has been identified and fixed.
As promised in the release notes for version 2.0.2, the Java requirement has been reduced from JDK 21 to JDK 11.
The only part of the project that still requires JDK 21 is the Maven Central publishing plugin for Gradle.
All other build phases in Gradle, and the Konf runtime, are able to run on any version of the JDK 11+.
Build
Build system upgrades:
Gradle: 8.6 -> 8.7
Gradle Resolver: 0.5.0 -> 0.8.0
Gradle Develocity: 3.0 -> 3.17.3
Kotlin: 1.9.22 -> 2.0.0
Kotlin All-Open: 1.9.22 -> 2.0.0
Dokka: 1.9.10 -> 1.9.20
Kover: 0.7.5 -> 0.8.0
Central Portal Publisher: 1.1.1 -> 1.2.3
Dependency upgrades:
KotlinX Coroutines Core: 1.7.3 -> 1.8.1
Apache Commons Text: 1.11.0 -> 1.12.0
Jackson Core, Modules, and DataTypes: 2.16.1 -> 2.17.1
JGit: 6.8.0 -> 6.9.0
Test dependency upgrades:
JUnit Jupiter Params extension: 5.10.2
SLF4J Simple: 2.0.12 -> 2.0.13
Tests
All tests have been completely rewritten to use standard JUnit Jupiter with Kotlin test assertions instead of the unmaintained JetBrains Spek engine and Hamkrest assertions.
All test classes have been reorganized to separate "helper" classes that are only used by tests from the actual tests.
Line separators now use macOS/Linux style on all platforms to avoid test failures on Windows due to inconsistent behavior between the different configuration language parsers and writers.
As a side effect of the JUnit conversion, test execution is now fully parallelized and takes significantly less time to complete than the previous Spek-based tests.
Test coverage has been improved from around 50% to 90%, as Kover was missing a significant number of tested lines of code run by the Spek engine.
Several minor and/or platform-specific bugs discovered during test conversion have been fixed.
The coverage report no longer erroneously includes content from the benchmark and snippet source sets.