Poko Versions Save

A Kotlin compiler plugin that generates equals, hashCode, and toString for plain old Kotlin objects in public APIs.

0.15.2

4 months ago

Support WASM target for Kotlin Multiplatform.

Compile with Kotlin 1.9.22. Support Java 21.

0.15.1

5 months ago

Compile with Kotlin 1.9.20. Support compilation with K2. Support Java 20.

Optimize JS equals implementation as well as bytecode for Int and UInt properties.

0.15.0

9 months ago

Support Kotlin Multiplatform.

Revert poko-annotations to an implementation dependency, because Kotlin/Native doesn't support compileOnly. The annotations are still source-retention, so the end-consumer's app binary can strip the annotations from the classpath during shrinking.

Update the compiler plugin to be enabled by default and to use the default annotations by default. This brings the compiler plugin into alignment with the Gradle plugin.

0.14.0

10 months ago

Compile with Kotlin 1.9.0.

Include default poko-annotations dependency as compileOnly, and convert @Poko annotation from binary retention to source retention. This makes Poko invisible to consumers of Poko-consuming libraries.

0.13.1

10 months ago

Add experimental @ArrayContentBased annotation. This annotation can be applied to @Poko class array properties to ensure that the array's content is considered for equals, hashCode, and toString. (By default, array content is not considered.)

Compile with Kotlin 1.8.22.

0.13.0

1 year ago

Support Kotlin 1.8.20.

0.12.0

1 year ago

Support Kotlin 1.8.0 and 1.8.10. Support Java 19.

The pokoAnnotation configuration property's format changes; package names are now separated by / instead of .. For example, an inner annotation class definition would look like "com/example/MyClass.Inner".

The primary entry point is now PokoCompilerPluginRegistrar, replacing PokoComponentRegistrar. This change is transparent to consumers of the Gradle plugin.

Automatic inclusion of the legacy @dev.drewhamilton.extracare.DataApi artifact is removed. The consumer can still manually depend on implementation("dev.drewhamilton.extracare:data-api-annotations:0.6.0") if desired.

0.11.0

1 year ago

Support Kotlin 1.7.0. Support Java 18.

Drop support for non-IR compilation (which does not exist in Kotlin 1.7.0).

0.10.0

2 years ago

Support Kotlin 1.6.20.

0.9.0

2 years ago

Support Kotlin 1.6.0.