mirror of
https://github.com/bitsycore/bitsykonfig-gradle-plugin.git
synced 2026-10-05 11:47:26 +00:00
23 lines
2.7 KiB
Markdown
23 lines
2.7 KiB
Markdown
# Changelog
|
|
|
|
## 0.7.0 — 2026-09-06
|
|
|
|
- Added opt-in `strictResolution`, per-dimension `required`, and cross-variant `validateVariantSchema` checks.
|
|
- Added `androidDimension` aliases for differently named Android flavor dimensions.
|
|
- Added explicit nullable fields, sets through `setOf`, enum references, and unsigned scalar numbers.
|
|
- Added `specializeArrays` and `copyArraysOnAccess` settings; existing array behavior remains the default.
|
|
- Added list, map, and array fields using `listOf`, `mapOf`, and `arrayOf`, including nested, nullable, empty, and provider-backed values.
|
|
- Optimized arrays of non-null primitive elements into primitive arrays, such as `Array<Int>` becoming `IntArray`.
|
|
- Added `Byte`, `Short`, and `Char` fields and fixed `Long.MIN_VALUE` generation.
|
|
- 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 its `androidDimension` alias. Explicit properties still take precedence.
|
|
- Changed Android output to `build/generated/konfig/<variant>/` with tasks such as `generateProdDebugKonfig`. `generateKonfig` and `konfigInfo` now 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:compileKotlin` no longer selects the `prod` variant 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.isDebug` and dimension queries describe one project-wide selection; use `androidComponents.onVariants` for 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.
|