binary-compatibility-validator icon indicating copy to clipboard operation
binary-compatibility-validator copied to clipboard

Public API management tool

Results 83 binary-compatibility-validator issues
Sort by recently updated
recently updated
newest added

Currently, when new APIs are introduced, developers must manually review the changes and ensure they are binary compatible (because it's just a regenerated `.api` file). This is an error-prone process...

enhancement
incremental validation

Currently, any API dump that BCV produces contains two trailing whitespaces lines, `\n\n`. I have enabled 'strip trailing whitespace' in IntelliJ https://stackoverflow.com/questions/20679842/remove-trailing-whitespace-on-save-in-intellij-idea-12 When I open a .api file, which might...

enhancement
jvm

This PR adds support for ignoring groups of projects by adding an `ignoreSubprojects` configuration. When enabled, the plugin will ignore all projects specified by `ignoredProjects` **and** each of those project's...

Right now the [error message for incompatible metadata versions](https://github.com/Kotlin/binary-compatibility-validator/blob/d2a485c7935880a7f5e8b2c20a5385282d56ac3c/src/main/kotlin/api/KotlinMetadataVisibilities.kt#L75), at it seems, effectively uses the Kotlin repository's Kotlin version as maximally supported one, even though the actual maximum is usually...

bug
gradle

Right now R8 and ProGuard don't support Kotlin internal visibility (see e.g. [b/173257502](https://issuetracker.google.com/issues/173257502)). It prevents efficient minification and optimization of Kotlin Android/JVM libraries. With pure Java lib we can use...

enhancement

Related to: https://github.com/Kotlin/binary-compatibility-validator/issues/55 Hi, I'm using `kotlin-parcelize` plugin to generate the parcelable code in the internal data classes in my project. Let's consider the following kotlin data class, that is...

bug
jvm

There's this declaration in kotlinx-metadata: https://github.com/JetBrains/kotlin/blob/6abf14087c46e0b5c3015eec48b92162bc63c135/libraries/kotlinx-metadata/src/kotlinx/metadata/Flag.kt#L40 It has one public constructor and two internal. 0.12.0 introduces new JAR dump mode. In this mode, constructors are getting into public dump: ```...

jvm

Readme claims that BCV works with Gradle >= `6.0`. There are no tests checking that, so we need to add them.

gradle

Currently, BCV is in a tough spot w.r.t the rest of the Kotlin tooling: * It is tightly bound to the underlying Kotlin version (esp. with klib validation), though it...

enhancement