Releases: ZacSweers/redacted-compiler-plugin
1.7.1
1.7.0
- Update to Kotlin
1.9.20
. This plugin now requires1.9.20
. - Update wasm target to
wasmJs
.
What's Changed
- Update actions/checkout action to v4 by @renovate in #169
- Update dependency gradle to v8.4 by @renovate in #175
- Update plugin dokka to v1.9.10 by @renovate in #177
- Update plugin spotless to v6.22.0 by @renovate in #174
- Update actions/checkout digest to b4ffde6 by @renovate in #173
- Update dependency com.facebook:ktfmt to v0.46 by @renovate in #170
- Prepare for Kotlin 1.9.20 by @ZacSweers in #171
Full Changelog: 1.6.1...1.7.0
1.6.1
- Enhancement: Simplify lookup of
KotlinCompilation
'simplementation
configuration name in the Gradle plugin when using the default annotation. - Update to Kotlin
1.9.10
. - Build against Gradle
8.3
.
What's Changed
- Update dependency dev.zacsweers.autoservice:auto-service-ksp to v1.1.0 by @renovate in #157
- Update ksp to v1.9.0-1.0.12 by @renovate in #160
- Update plugin spotless to v6.20.0 by @renovate in #159
- Update dependency org.jetbrains.kotlinx:kotlinx-metadata-jvm to v0.7.0 by @renovate in #154
- Update dependency gradle to v8.2.1 by @renovate in #158
- Update ksp to v1.9.0-1.0.13 by @renovate in #161
- Update kotlinCompileTesting to v0.3.2 by @renovate in #155
- Update dependency macos to v13 by @renovate in #162
- Update dependency gradle to v8.3 by @renovate in #163
- Update kotlin monorepo to v1.9.10 by @renovate in #164
- Update ksp to v1.9.10-1.0.13 by @renovate in #165
- Update plugin spotless to v6.21.0 by @renovate in #166
- Simplify configuration name resolution by @ZacSweers in #168
- Update plugin dokka to v1.9.0 by @renovate in #167
Full Changelog: 1.6.0...1.6.1
1.6.0
- New: Support
value class
types. Note that only annotating the class is supported, as annotating the property would be redundant.
What's Changed
- Update dependency gradle to v8.2 by @renovate in #152
- Support value classes by @ZacSweers in #156
Full Changelog: 1.5.0...1.6.0
1.5.0
- Update to Kotlin
1.9.0
. This plugin now requires1.9.0
.
What's Changed
- Update dependency gradle to v8.1 by @renovate in #133
- Update plugin spotless to v6.18.0 by @renovate in #132
- Update plugin mavenPublish to v0.25.2 by @renovate in #134
- Update dependency gradle to v8.1.1 by @renovate in #137
- Update kotlin monorepo to v1.8.21 by @renovate in #138
- Update ksp to v1.8.21-1.0.11 by @renovate in #135
- Update plugin binaryCompatibilityValidator to v0.13.1 by @renovate in #136
- Update plugin spotless to v6.19.0 by @renovate in #142
- Update dependency com.google.auto.service:auto-service-annotations to v1.1.0 by @renovate in #141
- Update dependency com.facebook:ktfmt to v0.44 by @renovate in #139
- Update dependency com.google.truth:truth to v1.1.4 by @renovate in #145
- Update plugin binaryCompatibilityValidator to v0.13.2 by @renovate in #146
- Update plugin dokka to v1.8.20 by @renovate in #147
- Update dependency org.jetbrains.kotlinx:kotlinx-metadata-jvm to v0.6.2 by @renovate in #144
- Update kotlin monorepo to v1.8.22 by @renovate in #148
- Update dependency com.google.auto.service:auto-service-annotations to v1.1.1 by @renovate in #150
- Update dependency com.google.truth:truth to v1.1.5 by @renovate in #151
- Update ksp to v1.8.22-1.0.11 by @renovate in #149
- Update plugin mavenPublish to v0.25.3 by @renovate in #153
- Update to Kotlin 1.9.0 by @ZacSweers in #143
Full Changelog: 1.4.0...1.5.0
1.4.0
- Update to Kotlin
1.8.20
. This plugin now requires1.8.20
. - [annotations] Mark JS binaries as executable.
- [annotations] Remove deprecated
watchosX86()
. - [annotations] Add
wasm
target. Note this is experimental and not stable. - [annotations] Add
androidNativeArm32
,androidNativeArm64
,androidNativeX86
,androidNativeX64
, andwatchosDeviceArm64
targets.
What's Changed
- Kotlin 1.8.20 support by @ZacSweers in #120
- Update plugin mavenPublish to v0.25.1 by @renovate in #128
Full Changelog: 1.3.1...1.4.0
1.3.1
1.3.0
- Update to Kotlin
1.8.0
. This release is only compatible with Kotlin 1.8 or later. - Update JVM target to
11
. - Kotlin JS artifact now only supports IR.
- Migrate the IR and FIR plugins to new
CompilerPluginRegistrar
entrypoint API.
What's Changed
- Update actions/checkout action to v3 by @renovate in #98
- Update plugin spotless to v6.12.0 by @renovate in #97
- Update actions/setup-java action to v3 by @renovate in #99
- Update plugin binaryCompatibilityValidator to v0.12.1 by @renovate in #95
- Update dependency gradle to v7.6 by @renovate in #94
- Update plugin dokka to v1.7.20 by @renovate in #93
- Enable explicit API mode by @ZacSweers in #103
- Standardize options and descriptions by @ZacSweers in #101
- Update dependency com.facebook:ktfmt to v0.42 by @renovate in #100
- Update plugin mavenPublish to v0.22.0 by @renovate in #96
- Kotlin 1.8 by @ZacSweers in #87
Full Changelog: 1.2.1...1.3.0
1.2.1
This release is primarily under-the-hood changes + extra compile-time checks.
- [IR] Fail compilation if both class and any number of properties are annotated with
@Redacted
. - [IR] Fail compilation if
@Redacted
is used in a non-class context.- Before it would only check if the class is non-data, but with Kotlin 1.8 introducing
data object
classes we need to also check that the target type is itself a class.
- Before it would only check if the class is non-data, but with Kotlin 1.8 introducing
- [IR] Fail compilation if a custom
toString()
function is implemented in a data class using@Redacted
. - [IR] Harden
toString()
function declaration matching. - [FIR] Promote
REDACTED_ON_CLASS_AND_PROPERTY_WARNING
to error. - Update to Kotlin 1.7.22.
General repo infra
- Run parameterized tests against both IR and FIR
- Add more tests for failure cases
What's Changed
- Configure Renovate by @renovate in #89
- Beef up tests and add more checks in IR by @ZacSweers in #88
- Update kotlin monorepo to v1.7.22 by @renovate in #90
- Update ksp to v1.7.22-1.0.8 by @renovate in #91
New Contributors
Full Changelog: 1.2.0...1.2.1
1.2.0
Experimental support for the new K2 compiler + FIR plugin.
Note this comes with several caveats:
- No IDE support yet
- Errors and warnings can't have custom messages yet: KT-53510.
- Multiple errors and warnings result in only a single error being emitted: KT-54287.
- K2 compiler itself is extremely experimental.
In short, this is only really to unblock anyone doing their own testing of K2 and don't want this
plugin to disable it. If you see any issues, please file a bug here and disable K2 in your project
in the meantime.
Details on K2 and instructions for enabling it can be found here: https://kotlinlang.org/docs/whatsnew17.html#new-kotlin-k2-compiler-for-the-jvm-in-alpha
Also: update to Kotlin 1.7.20.