Ghost Serialization 1.1.19
·
637 commits
to main
since this release
This release brings important fixes to compiler code generation (KSP) and Gradle configurations, ensuring cleaner generated code with zero name-shadowing warnings, fixing redundant assertions, and streamlining Multiplatform Gradle setups.
🛠️ What's Changed
⚙️ Compiler & Code Generation (KSP)
subIndexname shadowing eliminated: In generated serializers for models using nested@GhostFlattenstructures, the recursive generator (emitFlattenedGroup) now dynamically appends the recursion depth to local iteration variables (subIndex0,subIndex1, etc.). This resolves Kotlin compiler warnings about shadowed names.- Redundant non-null assertion (
!!) removed: Removed!!from the copy template blockTEMPLATE_IF_NOT_NULL_COPY(if (v0 != null) instance = instance.copy(...)), resolving redundant assertion warnings on non-null receivers when copying generated structures. - Cleaner compiler output: Demoted custom coder warnings from KSP (
Detected custom coder for...) to informational logs (logger.info), reducing noise during standard Gradle builds.
🐘 Gradle & Multiplatform (KMP)
- Automatic hierarchy template applied: Standardized multiplatform source-set wiring in
ghost-serialization/build.gradle.ktsusingapplyDefaultHierarchyTemplate(). This resolves the target configuration warning introduced in recent Kotlin Multiplatform updates and removes conflicting manualdependsOnstructures for intermediate targets likenativeMainoriosMain.
📚 Documentation
- Updated
GHOST_MANUAL_EN.mdreferences and regenerated the manual PDF build script settings to point to1.1.19. - Bumped standard fallback version in the Gradle plugin to
1.1.19.