A Kotlin compiler plugin that generates redacted toString() implementations.
APACHE-2.0 License
Bot releases are hidden (Show)
2.0.20
.8.10
.Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.9.0...1.10.0
Published by ZacSweers 5 months ago
2.0.0
(aka K2). This plugin now assumes 2.0, but can be used with Kotlin 1.9.x as well.enabled
compiler option is no longer required and just defaults to true.Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.8.1...1.9.0
Published by ZacSweers 6 months ago
@Unredacted
to be applied to a class, only when a supertype is @Redacted
@Redacted
supertypes to be inherited by objects, only when the child does not implement a custom toString
method@Unredacted
and @Redacted
are applied to the same classSpecial thanks to @DrewCarlson for contributing to this release!
@Unredacted
classes & @Redacted
child objects by @DrewCarlson in https://github.com/ZacSweers/redacted-compiler-plugin/pull/212
Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.8.0...1.8.1
Published by ZacSweers 6 months ago
@Redacted
. In this event, all data
/value
subclasses will be treated as @Redacted
.@Unredacted
to explicitly opt out of redacting specific properties in otherwise-redacted classes.
@Redacted
data class User(
@Unredacted val name: String,
val phoneNumber: String
)
// This will redact `phoneNumber` but not `name`
// User(name=Bob, phoneNumber=██)
1.9.23
.Special thanks to @DrewCarlson for contributing to this release!
Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.7.1...1.8.0
Published by ZacSweers 12 months ago
1.9.20
. This plugin now requires 1.9.20
.wasmJs
.Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.6.1...1.7.0
Published by ZacSweers about 1 year ago
KotlinCompilation
's implementation
configuration name in the Gradle plugin when using the default annotation.1.9.0
.8.3
.Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.6.0...1.6.1
Published by ZacSweers over 1 year ago
value class
types. Note that only annotating the class is supported, as annotating the property would be redundant.Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.5.0...1.6.0
Published by ZacSweers over 1 year ago
1.9.0
. This plugin now requires 1.9.0
.Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.4.0...1.5.0
Published by ZacSweers over 1 year ago
1.8.20
. This plugin now requires 1.8.20
.watchosX86()
.wasm
target. Note this is experimental and not stable.androidNativeArm32
, androidNativeArm64
, androidNativeX86
, androidNativeX64
, and watchosDeviceArm64
targets.Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.3.1...1.4.0
Published by ZacSweers almost 2 years ago
1.8.0
. This release is only compatible with Kotlin 1.8 or later.11
.CompilerPluginRegistrar
entrypoint API.Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.2.1...1.3.0
Published by ZacSweers almost 2 years ago
This release is primarily under-the-hood changes + extra compile-time checks.
@Redacted
.@Redacted
is used in a non-class context.
data object
classes we need to also check that the target type is itself a class.toString()
function is implemented in a data class using @Redacted
.toString()
function declaration matching.REDACTED_ON_CLASS_AND_PROPERTY_WARNING
to error.General repo infra
Full Changelog: https://github.com/ZacSweers/redacted-compiler-plugin/compare/1.2.0...1.2.1
Experimental support for the new K2 compiler + FIR plugin.
Note this comes with several caveats:
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.
Stable release!
While Kotlin IR is not a stable API, the public API of redacted-compiler-plugin is. This project will use semver only
for its own API but intermediate versions may only work with specific versions of Kotlin (documented in the changelog).
Changes since 0.10.0
1.6.10
.Published by ZacSweers almost 3 years ago
This release introduces formal support for Kotlin multiplatform!
There are two parts to this:
The legacy backend support is now removed, IR is required going forward.
This is a release candidate with support for Kotlin multiplatform. Please test this out and report any issues.
There are two parts to this:
The legacy backend support is now removed, IR is required going forward.