Skip to content

Latest commit

 

History

History
252 lines (163 loc) · 6.44 KB

CHANGELOG.md

File metadata and controls

252 lines (163 loc) · 6.44 KB

Changelog

0.17.1

2024-09-17

Automatically add the Poko annotation dependency to test fixtures when they are enabled on JVM projects.

0.17.0

2024-08-22

Compile with Kotlin 2.0.20. Support Java 22.

0.16.0

2024-05-28

Compile with Kotlin 2.0.0. The syntax for custom annotation references now uses / to denote packages, e.g. com/example/MyAnnotationClass.

Deprecate @ArrayContentSupport annotation and stop requiring it for using @ArrayContentBased annotation.

0.16.0-beta01

2024-05-20

Compile with Kotlin 2.0.0-RC3. The syntax for custom annotation references now uses / to denote packages, e.g. com/example/MyAnnotationClass.

0.15.3

2024-05-19

Support Android native targets and Wasm-WASI target for Kotlin Multiplatform. Implement error checks in FIR to support automatic IDE warnings in future IntelliJ releases.

Compile with Kotlin 1.9.24. Use Node v22 for Wasm and JS targets. Compile released artifacts with -Xjdk-release flag to ensure JVM 1.8 compatibility.

0.15.2

2024-01-02

Support Wasm-JS target for Kotlin Multiplatform.

Compile with Kotlin 1.9.22. Support Java 21.

0.15.1

2023-11-27

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

2023-08-09

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

2023-07-06

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.

Change the Kotlin Gradle plugin to a compileOnly dependency of the Poko Gradle plugin, allowing consumers to use older versions of Kotlin for their libraries than Poko uses (assuming compatible versions of the Kotlin compiler API).

0.13.1

2023-06-20

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

2023-04-03

Support Kotlin 1.8.20.

0.12.0

2023-03-21

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

2022-06-13

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

2022-04-15

Support Kotlin 1.6.20.

0.9.0

2021-12-04

Support Kotlin 1.6.0.

0.8.1

2021-06-04

Publish a Gradle plugin marker (#54). Compile with Kotlin 1.5.10.

0.8.0

2021-05-18

Support Kotlin 1.5.0. Support Java 16.

0.7.4

2021-04-28

Change the default poko-annotations dependency to a runtime dependency when used, rather than a compile-only dependency. This ensures it is available in alternate configurations, like JVM test and Android test configurations.

0.7.3

2021-03-27

Fix another bug that broke compatibility with Jetpack Compose. Poko is now compatible with Jetpack Compose 1.0.0-beta03 and Android Gradle Plugin 7.0.0-alpha12.

0.7.2

2021-03-21

Enforce a minimum of one property in the primary constructor of a Poko class. Previously, compilation would succeed but could cause failures down the line with unclear error messages.

0.7.1

2021-02-24

Fix a bug that broke compatibility with Jetpack Compose. Poko is now compatible with Jetpack Compose 1.0.0-alpha12.

0.7.0

2021-02-08

Rename the library from "Extra Care" to "Poko". The new artifact names are poko-compiler-plugin, poko-gradle-plugin, and poko-annotations. The legacy dev.drewhamilton.extracare.DataApi is still supported if specified.

0.6.0

2021-02-06

Support Kotlin 1.4.30.

Add the ability to specify a custom annotation in place of the default annotation to trigger Extra Care generation on annotated classes.

0.5.0

2021-01-10

Support compilation in projects where IR compilation is enabled.

Disable support for inner and inline classes, which are both also not supported by the data keyword.

Add an extraCare Gradle extension, where the compiler plugin can be explicitly enabled or disabled.

0.4.0

2021-01-01

Support Kotlin 1.4.20 and 1.4.21.

0.3.1 (patched to 0.2.4)

2020-09-29

Add code documentation to @DataApi.

0.3.0

2020-08-19

Update to Kotlin 1.4.0.

0.2.3

2020-05-04

Fix equals and hashCode generation for long member types.

0.2.2

2020-05-02

Allow explicit toString, equals, and hashCode declarations in @DataApi classes. When one of these is declared explicitly, that function will not be generated by Extra Care.

0.2.1

2020-04-24

Publish with Gradle module metadata.

0.2.0

2020-04-21

Change the Gradle plugin ID so applying the plugin is less verbose:

apply plugin: 'dev.drewhamilton.extracare'

0.1.3

2020-04-19

Fix equals and hashCode generation for float and double member types. Update to Kotlin 1.3.72.

Fix release process bug preventing changes from landing in 0.1.1 and 0.1.2.

0.1.2

2020-04-19

No changes due to release process bug.

Fix equals and hashCode generation for float and double member types. Update to Kotlin 1.3.72.

0.1.1

2020-03-25

No changes due to release process bug.

Update to Kotlin 1.3.71.

0.1.0

2020-03-20

Initial release. Create a @DataApi class with equals, hashCode, and toString generated (but no copy or componentN).