mirror of
https://github.com/bitsycore/bitsykonfig-gradle-plugin.git
synced 2026-10-05 03:37:27 +00:00
2.7 KiB
2.7 KiB
Changelog
0.7.0 — 2026-09-06
- Added opt-in
strictResolution, per-dimensionrequired, and cross-variantvalidateVariantSchemachecks. - Added
androidDimensionaliases for differently named Android flavor dimensions. - Added explicit nullable fields, sets through
setOf, enum references, and unsigned scalar numbers. - Added
specializeArraysandcopyArraysOnAccesssettings; existing array behavior remains the default. - Added list, map, and array fields using
listOf,mapOf, andarrayOf, including nested, nullable, empty, and provider-backed values. - Optimized arrays of non-null primitive elements into primitive arrays, such as
Array<Int>becomingIntArray. - Added
Byte,Short, andCharfields and fixedLong.MIN_VALUEgeneration. - Fixed standalone Android projects to generate separate configuration for each variant, including simultaneous debug/release and flavor builds. KMP keeps one shared configuration in
commonMain. - Changed Android detection to use variant metadata: build types follow
debuggable, and automatic flavor selection uses the Konfig dimension name or itsandroidDimensionalias. Explicit properties still take precedence. - Changed Android output to
build/generated/konfig/<variant>/with tasks such asgenerateProdDebugKonfig.generateKonfigandkonfigInfonow run all variant tasks; custom paths and task integrations may need updating. - Fixed conflicting JVM/KMP task selections to fail clearly instead of silently choosing the wrong configuration. Use separate builds or explicit selection properties to resolve conflicts.
- Excluded project-path segments from task-name detection, so
:prod:compileKotlinno longer selects theprodvariant by itself. - Added validation for invalid Kotlin names, package names, reserved fields, name collisions, unsupported field types, and incompatible field override types. Previously accepted invalid configurations may now fail earlier.
- Fixed default package derivation for unusual project/group names and escaping of module names, variant names, and generated comments.
- Made regeneration and build-cache restoration preserve neighboring files. Renames remove only the previously owned generated file, and existing user files are protected from overwriting.
- Fixed generated-source dependencies for compilation, Android lint, and source publication.
- Kept the existing DSL syntax and project-wide query APIs. On Android,
konfig.isDebugand dimension queries describe one project-wide selection; useandroidComponents.onVariantsfor decisions that vary by Android variant. - Added regression tests, JVM/KMP/Android consumer integration tests, and a CI check workflow. Configuration-cache reuse and Android integration are checked on AGP 8.13.2 and 9.3.2.