Skip to content

Ghost Serialization 1.1.19

Choose a tag to compare

@juanchurtado1991 juanchurtado1991 released this 27 May 22:33
· 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)

  • subIndex name shadowing eliminated: In generated serializers for models using nested @GhostFlatten structures, 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 block TEMPLATE_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.kts using applyDefaultHierarchyTemplate(). This resolves the target configuration warning introduced in recent Kotlin Multiplatform updates and removes conflicting manual dependsOn structures for intermediate targets like nativeMain or iosMain.

📚 Documentation

  • Updated GHOST_MANUAL_EN.md references and regenerated the manual PDF build script settings to point to 1.1.19.
  • Bumped standard fallback version in the Gradle plugin to 1.1.19.