Kotlin Gradle plugins for conveniently setting up Kotlin projects (JVM/MPP), publishing, Dokka, etc

Overview

Arrow Gradle config

Add basic config to a Kotlin Multiplatform project

In an Arrow KMP project, just add to the plugin block:

plugins {
    kotlin("multiplatform") version "$version"
    id("io.arrow.gradle.kotlin.multiplatform")
    // ...
}

// ...

Publish Arrow projects

Add to the root build.gradle.kts the next plugin to the plugin block if it is not there yet:

plugins {
    id("io.arrow-kt.arrow-gradle-config-nexus") version "$version"
    // ...
}

Add the POM Gradle properties for the project (modify with the real value):

pom.name=Sample name
pom.description=Sample description
pom.url=https://github.com/arrow-kt/sample-repo
pom.license.name=The Apache License, Version 2.0
pom.license.url=https://www.apache.org/licenses/LICENSE-2.0.txt
pom.developer.id=arrow-kt
pom.developer.name=The Arrow Authors
pom.smc.url=https://github.com/arrow-kt/sample-repo
pom.smc.connection=scm:git:[email protected]:arrow-kt/sample-repo.git
pom.smc.developerConnection=scm:git:[email protected]:arrow-kt/sample-repo.git

And add the next Gradle properties and/or environment variables for signing the artifacts (they must not be exposed publicly):

  • Gradle properties
signing.gnupg.keyName=[keyName]
signing.gnupg.keyId=[keyId]
signing.gnupg.key=[key]
signing.gnupg.passphrase=[passphrase]
oss.user=[user]
oss.token=[token]
oss.stagingProfileId=[stagingProfileId]
  • Environment variables
SIGNING_KEY_NAME=[keyName]
SIGNING_KEY_ID=[keyId]
SIGNING_KEY=[key]
SIGNING_KEY_PASSPHRASE=[passphrase]
OSS_USER=[user]
OSS_TOKEN=[token]
OSS_STAGING_PROFILE_ID=[stagingProfileId]

Remember to replace the different properties with the real values

Remember to replace the signing.gnupg.key or SIGNING_KEY line breaks with \n

Publish Kotlin Multiplatform project

plugins {
    id("io.arrow-kt.arrow-gradle-config-publish-multiplatform") version "$version"
    // ...
}

// ...

Add the next properties to gradle.properties file

projects.group=[group]
projects.version=[version]

Remember to replace the different properties with the real values

Publish Kotlin JVM project

plugins {
    id("io.arrow-kt.arrow-gradle-config-publish-jvm") version "$version"
    // ...
}

// ...

Publish Gradle plugin project

plugins {
    id("io.arrow-kt.arrow-gradle-config-publish-gradle-plugin") version "$version"
    // ...
}

gradlePlugin {
    plugins {
        named("[pluginId]") {
            id = "[pluginId]"
            displayName = "[pluginName]"
            description = "[pluginDescription]"
        }
    }
}

// ...

Add the next Gradle properties (they must not be exposed publicly):

gradle.publish.key=[key]
gradle.publish.secret=[secret]

Remember to replace the different properties with the real values

Comments
  • Parameterises the url for nexus

    Parameterises the url for nexus

    Some projects need https://s01.oss.sonatype.org/service/local/ instead of https://oss.sonatype.org/service/local/. This allows to override the url if necessary.

    opened by nomisRev 4
  • Update dependency com.gradle.publish:plugin-publish-plugin to v1

    Update dependency com.gradle.publish:plugin-publish-plugin to v1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.gradle.publish:plugin-publish-plugin | 0.21.0 -> 1.1.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 2
  • Fix `targetCompatibility` and `sourceCompatibility`

    Fix `targetCompatibility` and `sourceCompatibility`

    Here we have the new recommended approach to set Java 8 to projects with Kotlin 1.7.0 or more, so we can remove this workaround in each project which was added individually.

    At the same time, I have cherry-picked the renovate dependencies too.

    @i-walker I think the latest alpha was correctly working but we were using an older one based on .2 instead of .3, but I don't remember.

    opened by JavierSegoviaCordoba 2
  • Remove unnecessary compatibility properties

    Remove unnecessary compatibility properties

    Those properties are unnecessary because the only one which currently uses Kotlin to decide the version is kotlinOptions.jvmTarget

    In 1.7+ they are being removed.

    Context: https://kotlinlang.slack.com/archives/C19FD9681/p1652816267741679

    opened by JavierSegoviaCordoba 2
  • Update all dependencies

    Update all dependencies

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---| | actions/setup-java | action | patch | v3.1.0 -> v3.1.1 | age | adoption | passing | confidence | | com.diffplug.spotless:spotless-plugin-gradle | | patch | 6.4.1 -> 6.4.2 | age | adoption | passing | confidence | | org.jetbrains.dokka | plugin | patch | 1.6.10 -> 1.6.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-gradle-plugin | | patch | 1.6.10 -> 1.6.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:gfm-plugin | | patch | 1.6.10 -> 1.6.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-base-test-utils | | patch | 1.6.10 -> 1.6.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-test-api | | patch | 1.6.10 -> 1.6.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-core | | patch | 1.6.10 -> 1.6.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-base | | patch | 1.6.10 -> 1.6.20 | age | adoption | passing | confidence | | org.jetbrains.kotlinx:kotlinx-coroutines-core | | patch | 1.6.0 -> 1.6.1 | age | adoption | passing | confidence | | com.android.tools.build:gradle (source) | | minor | 7.0.4 -> 7.1.3 | age | adoption | passing | confidence |


    Release Notes

    actions/setup-java

    v3.1.1

    Compare Source

    This release introduces new output cache-hit (https://github.com/actions/setup-java/pull/275) and update of actions/cache dependency to 2.0.2 (https://github.com/actions/setup-java/pull/317)

    Add "cache-hit" output

    The cache-hit output contains boolean value indicating that an exact match was found for the key. It shows that the action uses already existing cache or not. The output is available only if cache is enabled.

    Update actions/cache to 2.0.2

    We updated actions/cache package as the new version contains fixes related to GHES 3.5 (https://github.com/actions/setup-java/pull/317)

    Kotlin/dokka

    v1.6.20

    Features

    • Introduce documentedVisibilities setting that allows including/excluding any visibility modifier in documentation. This is a more flexible replacement for includeNonPublic, which has now been deprecated (https://github.com/Kotlin/dokka/pull/2270)
    • Make HTML pages customizable through FreeMarker HTML templates (https://github.com/Kotlin/dokka/pull/2374)
    • Add global settings to JSON dokka CLI input (https://github.com/Kotlin/dokka/pull/2292), thanks to @​BarkingBad!

    HTML format changes

    • Add vertical alignment (wrapping) of signatures when 3 and more parameters are present (https://github.com/Kotlin/dokka/pull/2309)
    • Enhance primary constructor signature, display val/var keywords and default values (https://github.com/Kotlin/dokka/pull/2313)
    • Add a level of indentation to childless items in navigation tree (https://github.com/Kotlin/dokka/pull/2291)
    • Add horizontal margin to breadcrumbs delimiter (https://github.com/Kotlin/dokka/pull/2285)
    • Fixed various CSS rendering issues (https://github.com/Kotlin/dokka/pull/2284, https://github.com/Kotlin/dokka/pull/2389)

    Bugfixes

    • Fixed OutOfMemoryError: Metaspace-related issues for the majority of cases (https://github.com/Kotlin/dokka/pull/2216)
    • Fixed classpath issues for HMPP libraries (https://github.com/Kotlin/dokka/pull/2431)
    • Using @ symbol within code blocks in .md files doesn't lead to cropped documents anymore (https://github.com/Kotlin/dokka/pull/2418)
    • Fixed incorrect placement of HTML head tags, which led to missing favicon in multi-module projects (https://github.com/Kotlin/dokka/pull/2365)
    • Fixed resolution of ultralight methods that led to flaky signature generation (https://github.com/Kotlin/dokka/pull/2400)
    • Coroutines dispatchers are now shut down after each module pass to avoid resource leaks (https://github.com/Kotlin/dokka/pull/2325)
    • Suppressed property setters are now excluded from documentation (https://github.com/Kotlin/dokka/pull/2220)
    • Suppressing extensions doesn't fail builds anymore (https://github.com/Kotlin/dokka/pull/2348), thanks to @​BarkingBad!
    • Fixed java getter / setter name generation for kotlin-java interop, now isBoolean instead of getBoolean (https://github.com/Kotlin/dokka/pull/2356), thanks to @​CharlesG-Branch!
    • Fixed MathJax plugin, previously completely broken (https://github.com/Kotlin/dokka/pull/2342), thanks to @​wyskoj!
    • Fixed Input/Output streams to minimize resource leaks (https://github.com/Kotlin/dokka/pull/2312, https://github.com/Kotlin/dokka/pull/2319)

    Plugin API Changes

    • Add an extension point for rendering custom documentation tags (https://github.com/Kotlin/dokka/pull/2343)
    • Add an extension point for an external documentable provider (https://github.com/Kotlin/dokka/pull/2307), thanks to @​Kordyjan!
    • Add filtering stategies extension point and fix constructors in Kotlin-as-Java (https://github.com/Kotlin/dokka/pull/2277), thanks to @​BarkingBad!
    • Expose Kotlin-as-Java methods that could be used not only as part of transformers (https://github.com/Kotlin/dokka/pull/2351), thanks to @​BarkingBad!
    • Refactor Ancestry Graphs (https://github.com/Kotlin/dokka/pull/2326), thanks to @​BarkingBad!
    • Fixed resolving of DRIs for Enum Entries (https://github.com/Kotlin/dokka/pull/2305), thanks to @​BarkingBad!

    General Improvements

    • Collect annotations from package-info.java (https://github.com/Kotlin/dokka/pull/2331), thanks to @​ember-rose!
    • Add support for header tags (<h1> / <h2> / <h3>) in Javadoc (https://github.com/Kotlin/dokka/pull/2345), thanks to @​asfalcone!
    • Add an option to merge implicit expect-actual declarations, enables merging of pages for related declarations which are not connected via expect-actual keywords (https://github.com/Kotlin/dokka/pull/2316)
    • Add a note about using Dokka in a precompiled script plugin (https://github.com/Kotlin/dokka/pull/2303), thanks to @​chkpnt!
    • Fixed wrong Groovy DSL example (https://github.com/Kotlin/dokka/pull/2302), thanks to @​chkpnt!
    • Various code cleanups (https://github.com/Kotlin/dokka/pull/2165, https://github.com/Kotlin/dokka/pull/2360, https://github.com/Kotlin/dokka/pull/2364, https://github.com/Kotlin/dokka/pull/2385), thanks to @​Goooler!

    Known issues

    • Kotlin Multiplatform projects that use .klib libraries may experience problems. There will be a separate 1.6.21 release that will address this issue shortly.
    Kotlin/kotlinx.coroutines

    v1.6.1

    Compare Source

    • Rollback of time-related functions dispatching on Dispatchers.Main. This behavior was introduced in 1.6.0 and then found inconvenient and erroneous (#​3106, #​3113).
    • Reworked the newly-introduced CopyableThreadContextElement to solve issues uncovered after the initial release (#​3227).
    • Fixed a bug with ThreadLocalElement not being properly updated in racy scenarios (#​2930).
    • Reverted eager loading of default CoroutineExceptionHandler that triggered ANR on some devices (#​3180).
    • New API to convert a CoroutineDispatcher to a Rx scheduler (#​968, #​548). Thanks @​recheej!
    • Fixed a memory leak with the very last element emitted from flow builder being retained in memory (#​3197).
    • Fixed a bug with limitedParallelism on K/N with new memory model throwing ClassCastException (#​3223).
    • CoroutineContext is added to the exception printed to the default CoroutineExceptionHandler to improve debuggability (#​3153).
    • Static memory consumption of Dispatchers.Default was significantly reduced (#​3137).
    • Updated slf4j version in kotlinx-coroutines-slf4j from 1.7.25 to 1.7.32.

    Configuration

    📅 Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 2
  • Update all dependencies

    Update all dependencies

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/setup-java | action | minor | v2.3.1 -> v2.5.0 | | gradle (source) | | patch | 7.3 -> 7.3.3 | | com.diffplug.spotless:spotless-plugin-gradle | | minor | 6.0.0 -> 6.1.0 | | org.jetbrains.kotlin.jvm | plugin | patch | 1.6.0 -> 1.6.10 | | org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded (source) | | patch | 1.6.0 -> 1.6.10 | | org.jetbrains.kotlin:kotlin-gradle-plugin (source) | | patch | 1.6.0 -> 1.6.10 | | com.javiersc.semver:semver-gradle-plugin | | patch | 0.1.0-alpha.6 -> 0.1.0-alpha.10 | | org.jetbrains.dokka | plugin | minor | 1.5.31 -> 1.6.0 | | org.jetbrains.dokka:dokka-gradle-plugin | | minor | 1.5.31 -> 1.6.0 | | org.jetbrains.dokka:gfm-plugin | | minor | 1.5.31 -> 1.6.0 | | org.jetbrains.dokka:dokka-base-test-utils | | minor | 1.5.31 -> 1.6.0 | | org.jetbrains.dokka:dokka-test-api | | minor | 1.5.31 -> 1.6.0 | | org.jetbrains.dokka:dokka-core | | minor | 1.5.31 -> 1.6.0 | | org.jetbrains.dokka:dokka-base | | minor | 1.5.31 -> 1.6.0 | | org.jetbrains.kotlinx:kotlinx-coroutines-core | | minor | 1.5.2 -> 1.6.0 | | io.arrow-kt.arrow-gradle-config-versioning | plugin | minor | 0.5.1 -> 0.6.0 | | io.arrow-kt.arrow-gradle-config-formatter | plugin | minor | 0.5.1 -> 0.6.0 | | com.android.tools.build:gradle (source) | | patch | 7.0.3 -> 7.0.4 |


    Release Notes

    actions/setup-java

    v2.5.0

    Compare Source

    In scope of this pull request we add support for Microsoft Build of OpenJDK (https://github.com/actions/setup-java/pull/252).

    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup-java
        uses: actions/setup-java@v2
        with:
          distribution: microsoft
          java-version: 11
    
    Supported distributions

    Currently, the following distributions are supported: | Keyword | Distribution | Official site | License |-|-|-|-| | temurin | Eclipse Temurin | Link | Link | zulu | Zulu OpenJDK | Link | Link | | adopt or adopt-hotspot | Adopt OpenJDK Hotspot | Link | Link | | adopt-openj9 | Adopt OpenJDK OpenJ9 | Link | Link | | liberica | Liberica JDK | Link | Link | | microsoft | Microsoft Build of OpenJDK | Link | Link

    v2.4.0

    Compare Source

    In scope of this pull request we add support for Liberica JDK (https://github.com/actions/setup-java/pull/225).

    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup-java
        uses: actions/setup-java@v2
        with:
          distribution: liberica
          java-version: 11
    
    Supported distributions

    Currently, the following distributions are supported: | Keyword | Distribution | Official site | License | |-|-|-|-| | zulu | Zulu OpenJDK | Link | Link | | adopt or adopt-hotspot | Adopt OpenJDK Hotspot | Link | Link | adopt-openj9 | Adopt OpenJDK OpenJ9 | Link | Link | temurin | Eclipse Temurin | Link | Link | liberica | Liberica JDK | Link | Link |

    Update actions/cache dependency to 1.0.8 version.

    We updated actions/cache depdendency to the latest version (1.0.8). For more information please refer to the toolkit/cache.

    gradle/gradle

    v7.3.3

    This is a patch release for Gradle 7.3.

    It fixes the following issues:

    We recommend users upgrade to 7.3.3 instead of 7.3.

    Given the context of the Log4Shell vulnerability, make sure you take a look at our blog post on this topic.

    Upgrade Instructions

    Switch your build to use Gradle 7.3.3 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.3.3
    

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.3.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v7.3.2

    This is a patch release for Gradle 7.3.

    It fixes the following issues:

    • #​19300 Mitigations for log4j vulnerability in Gradle builds
    • #​19257 Incremental java compilation fails when renaming classname with $ character

    We recommend users upgrade to 7.3.2 instead of 7.3.

    Given the context of the Log4Shell vulnerability, make sure you take a look at our blog post on this topic.

    Upgrade Instructions

    Switch your build to use Gradle 7.3.2 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.3.2
    

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.2.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v7.3.1

    This is a patch release for Gradle 7.3.

    It fixes the following issues:

    • #​19058 Consider reverting breaking change about test configuration
    • #​19067 Fix multiple annotation processing issues discovered by Micronaut

    We recommend users upgrade to 7.3.1 instead of 7.3.

    Upgrade Instructions

    Switch your build to use Gradle 7.3.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.3.1
    

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.1.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    JetBrains/kotlin

    v1.6.10

    Android
    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute
    Compiler
    Performance Improvements
    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter
    Fixes
    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module
    JavaScript
    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log
    Language Design
    • KT-49868 Support language version 1.3 in Kotlin 1.6.10
    Libraries
    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS
    Tools. Android Extensions
    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0
    Tools. Compiler Plugins
    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter
    Tools. Gradle
    • KT-49835 Android consumers can't resolve Android debug variants of published MPP libraries published with Kotlin 1.6.0 & Gradle 7.0+
    • KT-49910 Incremental compilation speed regression in 1.6.0 for Android projects
    Tools. Gradle. JS
    • KT-49109 KJS / Gradle: Configuration failed: Could not find node-14.17.0-darwin-arm64.tar.gz (org.nodejs:node:14.17.0)
    • KT-50135 KJS: Problem with Yarn install with scripts on Windows
    • KT-34014 Gradle, JS: Ability to persist / reuse yarn.lock
    • KT-49505 KJS / IR: Installation of NPM dependencies should be with ignore-scripts
    Tools. Gradle. Native
    • KT-49931 Kotlin Multiplatform Fails in Windows after 1.6.0 upgrade - Cannot run program "pod"
    • KT-49771 podInstall task is not executed after adding a pod dependency to the shared module
    Tools. Incremental Compile
    • KT-49822 Incremental compilation state is modified when the build fails in Kotlin 1.6
    • KT-49340 "IllegalStateException: @NotNull method org/jetbrains/kotlin/com/intellij/openapi/application/AsyncExecutionService.getService must not return null" with Anvil plugin and incremental compilation
    JavierSegoviaCordoba/semver-gradle-plugin

    v0.1.0-alpha.10

    Compare Source

    Fixed
    • crash when the project has no commits
    Updated
    • com.javiersc.semver:semver-core -> 0.1.0-beta.10
    • gradle -> 7.3.2
    • org.jetbrains.kotlin:kotlin-gradle-plugin -> 1.6.10

    v0.1.0-alpha.9

    Compare Source

    Fixed
    • pushing two tags at same time crashes
    Updated
    • com.javiersc.gradle-plugins:all-plugins -> 0.1.0-rc.24

    v0.1.0-alpha.8

    Compare Source

    Fixed
    • semver.checkClean
    Updated
    • io.kotest:kotest-assertions-core -> 5.0.2

    v0.1.0-alpha.7

    Compare Source

    Added
    • semver.checkClean Gradle property to allow versions without timestamp on dirty repositories
    • pushSemverTag can set a specific remote via semver.remote Gradle property
    Fixed
    • pushSemverTag
    • project can't sync if it is not a git repository
    Updated
    • com.javiersc.gradle-plugins:all-plugins -> 0.1.0-rc.22
    • gradle -> 7.3.1
    Kotlin/dokka

    v1.6.0

    Changes:

    • New UI
    • Support of version plugin for single module projects
    • Allow package-level suppression (#​2209), thanks @​owengray-google
    • GFM: Use Markdown syntax to render lists (#​2098), thanks @​sgilson
    • Fix names of nested inheritors
    • Fix adding new custom stylesheets in submodules
    • Add keywords expect and actual in signatures
    Kotlin/kotlinx.coroutines

    v1.6.0

    Compare Source

    Note that this is a full changelog relative to the 1.5.2 version. Changelog relative to 1.6.0-RC3 can be found at the end.

    kotlinx-coroutines-test rework
    Dispatchers
    • Introduced CoroutineDispatcher.limitedParallelism that allows obtaining a view of the original dispatcher with limited parallelism (#​2919).
    • Dispatchers.IO.limitedParallelism usages ignore the bound on the parallelism level of Dispatchers.IO itself to avoid starvation (#​2943).
    • Introduced new Dispatchers.shutdown method for containerized environments (#​2558).
    • newSingleThreadContext and newFixedThreadPoolContext are promoted to delicate API (#​2919).
    Breaking changes
    • When racing with cancellation, the future builder no longer reports unhandled exceptions into the global CoroutineExceptionHandler. Thanks @​vadimsemenov! (#​2774, #​2791).
    • Mutex.onLock is deprecated for removal (#​2794).
    • Dispatchers.Main is now used as the default source of time for delay and withTimeout when present(#​2972).
      • To opt-out from this behaviour, kotlinx.coroutines.main.delay system property can be set to false.
    • Java target of coroutines build is now 8 instead of 6 (#​1589).
    • Source-breaking change: extension collect no longer resolves when used with a non-in-place argument of a functional type. This is a candidate for a fix, uncovered after 1.6.0, see #​3107 for the additional details.
    Bug fixes and improvements
    • Kotlin is updated to 1.6.0.
    • Kotlin/Native new memory model is now supported in regular builds of coroutines conditionally depending on whether kotlin.native.binary.memoryModel is enabled (#​2914).
    • Introduced CopyableThreadContextElement for mutable context elements shared among multiple coroutines. Thanks @​yorickhenning! (#​2893).
    • transformWhile, awaitClose, ProducerScope, merge, runningFold, runingReduce, and scan are promoted to stable API (#​2971).
    • SharedFlow.subscriptionCount no longer conflates incoming updates and gives all subscribers a chance to observe a short-lived subscription (#​2488, #​2863, #​2871).
    • Flow exception transparency mechanism is improved to be more exception-friendly (#​3017, #​2860).
    • Cancellation from flat* operators that leverage multiple coroutines is no longer propagated upstream (#​2964).
    • SharedFlow.collect now returns Nothing (#​2789, #​2502).
    • DisposableHandle is now fun interface, and corresponding inline extension is removed (#​2790).
    • FlowCollector is now fun interface, and corresponding inline extension is removed (#​3047).
    • Deprecation level of all previously deprecated signatures is raised (#​3024).
    • The version file is shipped with each JAR as a resource (#​2941).
    • Unhandled exceptions on K/N are passed to the standard library function processUnhandledException (#​2981).
    • A direct executor is used for Task callbacks in kotlinx-coroutines-play-services (#​2990).
    • Metadata of coroutines artifacts leverages Gradle platform to have all versions of dependencies aligned (#​2865).
    • Default CoroutineExceptionHandler is loaded eagerly and does not invoke ServiceLoader on its exception-handling path (#​2552).
    • Fixed the R8 rules for ServiceLoader optimization (#​2880).
    • Fixed BlockHound integration false-positives (#​2894, #​2866, #​2937).
    • Fixed the exception handler being invoked several times on Android, thanks to @​1zaman (#​3056).
    • SendChannel.trySendBlocking is now available on Kotlin/Native (#​3064).
    • The exception recovery mechanism now uses ClassValue when available (#​2997).
    • JNA is updated to 5.9.0 to support Apple M1 (#​3001).
    • Obsolete method on internal Delay interface is deprecated (#​2979).
    • Support of deprecated CommonPool is removed.
    • @ExperimentalTime is no longer needed for methods that use Duration (#​3041).
    • JDK 1.6 is no longer required for building the project (#​3043).
    • New version of Dokka is used, fixing the memory leak when building the coroutines and providing brand new reference visuals (https://kotlin.github.io/kotlinx.coroutines/) (#​3051, #​3054).
    Changelog relative to version 1.6.0-RC3
    • Restored MPP binary compatibility on K/JS and K/N (#​3104).
    • Fixed Dispatchers.Main not being fully initialized on Android and Swing (#​3101).
    arrow-kt/arrow-gradle-config

    v0.6.0

    Compare Source


    Configuration

    📅 Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 2
  • Update all dependencies

    Update all dependencies

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---| | actions/setup-java | action | minor | v3.1.1 -> v3.3.0 | age | adoption | passing | confidence | | gradle/gradle-build-action | action | patch | v2.1.5 -> v2.1.6 | age | adoption | passing | confidence | | com.diffplug.spotless:spotless-plugin-gradle | | minor | 6.4.2 -> 6.6.1 | age | adoption | passing | confidence | | org.jetbrains.kotlin.jvm (source) | plugin | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded (source) | | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.kotlin:kotlin-gradle-plugin (source) | | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.dokka | plugin | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-gradle-plugin | | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.dokka:gfm-plugin | | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-base-test-utils | | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-test-api | | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-core | | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-base | | patch | 1.6.20 -> 1.6.21 | age | adoption | passing | confidence | | io.arrow-kt.arrow-gradle-config-versioning | plugin | patch | 0.10.0 -> 0.10.1 | age | adoption | passing | confidence | | io.arrow-kt.arrow-gradle-config-formatter | plugin | patch | 0.10.0 -> 0.10.1 | age | adoption | passing | confidence | | io.arrow-kt:arrow-fx-coroutines | | minor | 1.0.1 -> 1.1.2 | age | adoption | passing | confidence | | io.arrow-kt:arrow-core | | minor | 1.0.1 -> 1.1.2 | age | adoption | passing | confidence | | com.android.tools.build:gradle (source) | | minor | 7.0.4 -> 7.2.0 | age | adoption | passing | confidence |


    Configuration

    ?? Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox. ⚠ Warning: custom changes will be lost.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • Update all dependencies to v0.9.0

    Update all dependencies to v0.9.0

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | io.arrow-kt.arrow-gradle-config-versioning | 0.6.0 -> 0.9.0 | age | adoption | passing | confidence | | io.arrow-kt.arrow-gradle-config-formatter | 0.6.0 -> 0.9.0 | age | adoption | passing | confidence |


    Release Notes

    arrow-kt/arrow-gradle-config

    v0.9.0

    Compare Source

    v0.8.2

    Compare Source


    Configuration

    📅 Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • Update all dependencies (major) - autoclosed

    Update all dependencies (major) - autoclosed

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---| | crazy-max/ghaction-import-gpg | action | major | v4 -> v5 | age | adoption | passing | confidence | | com.gradle.publish:plugin-publish-plugin | | major | 0.21.0 -> 1.0.0 | age | adoption | passing | confidence |


    Release Notes

    crazy-max/ghaction-import-gpg

    v5

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update all dependencies

    Update all dependencies

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---| | actions/setup-java | action | minor | v3.4.1 -> v3.5.1 | age | adoption | passing | confidence | | gradle (source) | | patch | 7.5 -> 7.5.1 | age | adoption | passing | confidence | | gradle/gradle-build-action | action | minor | v2.2.2 -> v2.3.1 | age | adoption | passing | confidence | | com.diffplug.spotless:spotless-plugin-gradle | dependencies | minor | 6.9.0 -> 6.11.0 | age | adoption | passing | confidence | | io.arrow-kt:arrow-fx-coroutines | dependencies | patch | 1.1.2 -> 1.1.3 | age | adoption | passing | confidence | | io.arrow-kt:arrow-core | dependencies | patch | 1.1.2 -> 1.1.3 | age | adoption | passing | confidence | | com.android.tools.build:gradle (source) | dependencies | minor | 7.2.1 -> 7.3.0 | age | adoption | passing | confidence |


    Release Notes

    actions/setup-java

    v3.5.1

    Compare Source

    In scope of this release we change logic for Microsoft Build of OpenJDK. Previously it had hard coded versions. In this release versions were moved to the separate json file. When a new version of Java is released, it can be added to this file and be used without releasing new version of the action.

    v3.5.0

    Compare Source

    Add support for multiple jdks

    In scope of this release we add support for multiple jdks. Customers can specify multiple versions of java through java-version input.

        steps:
          - uses: actions/setup-java@v3
            with:
              distribution: '<distribution>'
              java-version: |
                8
                11
                15
    
    Besides, we added such changes as:
    gradle/gradle

    v7.5.1

    This is a patch release for 7.5. We recommend using 7.5.1 instead of 7.5

    Read the Release Notes

    We would like to thank the following community members for their contributions to this release of Gradle: Michael Bailey, Josh Kasten, Marcono1234, mataha, Lieven Vaneeckhaute, kiwi-oss, Stefan Neuhaus, George Thomas, Anja Papatola, Björn Kautler, David Burström, Vladimir Sitnikov, Roland Weisleder, Konstantin Gribov, David Op de Beeck, aSemy, Rene Groeschke, Jonathan Leitschuh, Aurimas Liutikas, Jamie Tanna, Xin Wang, Atsuto Yamashita, Taeik Lim, Peter Gafert, Alex Landau, Jerry Wiltse, Tyler Burke, Matthew Haughton, Filip Daca, Simão Gomes Viana, Vaidotas Valuckas, Edgars Jasmans, Tomasz Godzik, Jeff, Lajos Veres

    Upgrade instructions

    Switch your build to use Gradle 7.5.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.5.1

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    gradle/gradle-build-action

    v2.3.1

    Compare Source

    This patch release addresses some security vulnerabilities reported by the CodeQL check:

    The release contains no functional changes.

    v2.3.0

    Compare Source

    What's new

    With v2.3.0, the gradle-build-action can now attempt to remove any unused files from the Gradle User Home directory before storing to the GitHub Actions cache. This can prevent cases where the size of cache entry grows over time.

    Gradle Home cache cleanup is disabled by default. You can enable this feature for the action as follows:

    gradle-home-cache-cleanup: true
    

    See the README for more details.

    Full Changelog: https://github.com/gradle/gradle-build-action/compare/v2.2.5...v2.3.0

    v2.2.5

    Compare Source

    What's fixed

    Fixes a bug where a corrupted cache entry caused an error in beforeSave (#​408). This meant that the entry was never purged. By allowing @actions/globber to follow symlinks and ignore broken symlinks, the bad files in the cache entry are ignored and the corrupted cache entry can be replaced by a good one.

    Full Changelog: https://github.com/gradle/gradle-build-action/compare/v2.2.4...v2.2.5

    v2.2.4

    Compare Source

    What's fixed

    The fix for #​383 introduced a bug that caused the post-action to fail when attempting to resolve cache-read-only for scheduled jobs. This has been fixed with an explicit (rather than implicit) check for 'event.repository != null'. (#​409)

    Full Changelog: https://github.com/gradle/gradle-build-action/compare/v2.2.3...v2.2.4

    v2.2.3

    Compare Source

    What's fixed

    This release updates a number of key dependencies and fixes some cache-related issues:

    • Do not set cache-read-only=true for scheduled workflows on default branch (#​383)
    • Fix reporting of caching errors that was broken in v2.2.2 (#​407)
    • Abort cache download operations after 10 minutes (configurable). Previously cache download operations could hang the build. (#​369)

    Full Changelog: https://github.com/gradle/gradle-build-action/compare/v2.2.2...v2.2.3

    arrow-kt/arrow

    v1.1.3

    Compare Source

    What's Changed
    New Contributors

    Full Changelog: https://github.com/arrow-kt/arrow/compare/1.1.2...1.1.3


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Modify `runtimeElements` configuration to use `TargetJvmVersion` 8

    Modify `runtimeElements` configuration to use `TargetJvmVersion` 8

    Pre 1.7.0 the targetCompatibility was fixing that but after removing it in 1.7.0 JetBrains hasn't provided a new way to fix it without the workaround mentioned in YouTrack

    Context: https://youtrack.jetbrains.com/issue/KT-45335/kotlinOptions-jvmTarget-conflicts-with-Gradle-variants#focus=Comments-27-4765781.0-0

    opened by JavierSegoviaCordoba 0
  • Update all dependencies

    Update all dependencies

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---| | actions/setup-java | action | minor | v3.5.1 -> v3.8.0 | age | adoption | passing | confidence | | gradle (source) | | minor | 7.5.1 -> 7.6 | age | adoption | passing | confidence | | gradle/gradle-build-action | action | patch | v2.3.1 -> v2.3.3 | age | adoption | passing | confidence | | com.diffplug.spotless:spotless-plugin-gradle | dependencies | minor | 6.11.0 -> 6.12.0 | age | adoption | passing | confidence | | org.jetbrains.kotlin.jvm (source) | plugin | patch | 1.7.10 -> 1.7.22 | age | adoption | passing | confidence | | org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded (source) | dependencies | patch | 1.7.10 -> 1.7.22 | age | adoption | passing | confidence | | org.jetbrains.kotlin:kotlin-gradle-plugin (source) | dependencies | patch | 1.7.10 -> 1.7.22 | age | adoption | passing | confidence | | org.jetbrains.dokka | plugin | patch | 1.7.10 -> 1.7.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-gradle-plugin | dependencies | patch | 1.7.10 -> 1.7.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:gfm-plugin | dependencies | patch | 1.7.10 -> 1.7.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-base-test-utils | dependencies | patch | 1.7.10 -> 1.7.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-test-api | dependencies | patch | 1.7.10 -> 1.7.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-core | dependencies | patch | 1.7.10 -> 1.7.20 | age | adoption | passing | confidence | | org.jetbrains.dokka:dokka-base | dependencies | patch | 1.7.10 -> 1.7.20 | age | adoption | passing | confidence | | io.arrow-kt.arrow-gradle-config-versioning | plugin | minor | 0.10.2 -> 0.11.0 | age | adoption | passing | confidence | | io.arrow-kt.arrow-gradle-config-formatter | plugin | minor | 0.10.2 -> 0.11.0 | age | adoption | passing | confidence | | com.android.tools.build:gradle (source) | dependencies | patch | 7.3.0 -> 7.3.1 | age | adoption | passing | confidence |


    Release Notes

    actions/setup-java

    v3.8.0

    Compare Source

    In scope of this release we added logic to pass the token input through on GHES for Microsoft Build of OpenJDK (https://github.com/actions/setup-java/pull/395) and updated minimatch dependency.

    v3.6.0

    Compare Source

    In scope of this release we added Maven Toolchains Support and Maven Toolchains Declaration. Moreover, from this release we use os.arch to determine default architecture for runners: https://github.com/actions/setup-java/pull/376. Besides, we made such changes as:

    gradle/gradle-build-action

    v2.3.3

    Compare Source

    This patch release removes all uses of the deprecated set-output and set-state commands, and should remove deprecation warnings from build logs. See #​461 and #​477 for more details.

    Full Changelog: https://github.com/gradle/gradle-build-action/compare/v2.3.2...v2.3.3

    v2.3.2

    Compare Source

    This patch release fixes an issue which could result in errors in the post-action step. See #​441 for details.

    Full Changelog: https://github.com/gradle/gradle-build-action/compare/v2.3.1...v2.3.2

    JetBrains/kotlin

    v1.7.22: Kotlin 1.7.22

    This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21. Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.

    Checksums

    | File | Sha256 | | --- | --- | | kotlin-compiler-1.7.22.zip | 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83 | | kotlin-native-linux-x86_64-1.7.22.tar.gz | dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff | | kotlin-native-macos-x86_64-1.7.22.tar.gz | 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5 | | kotlin-native-macos-aarch64-1.7.22.tar.gz | 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e | | kotlin-native-windows-x86_64-1.7.22.zip | 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92 |

    v1.7.21

    Compiler
    • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
    • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
    • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
    • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
    • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
    • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
    • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
    • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
    • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays
    Native. Runtime. Memory
    • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful
    Tools. Gradle. Multiplatform
    • KT-54387 Remove MPP alpha stability warning
    • KT-48436 False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"
    Tools. JPS
    • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation

    v1.7.20

    Analysis API
    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading
    Analysis API. FE1.0
    • KT-51962 Analysis API: Finish Analysis API for FE1.0
    Analysis API. FIR
    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved
    Compiler
    • KT-53739 Builder inference, extension hides members
    • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
    • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
    • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
    • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
    • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"
    New Features
    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser
    • KT-33755 Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
    • KT-51665 FIR: implement label resolve for "typed this" case
    • KT-52361 Report warning on potentially empty intersection types
    Performance Improvements
    • KT-47816 Disable script discovery for non-script environments
    • KT-48635 JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
    • KT-23397 Optimize out field for property delegate when it's safe (JVM)
    Fixes
    • KT-53272 Backend Internal error: Exception during IR lowering / No such value argument slot: 2
    • KT-53124 Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
    • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
    • KT-53007 JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
    • KT-53019 K2: cannot cast callable reference to Function1 in runtime
    • KT-53031 K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameter
    • KT-29168 Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes
    • KT-52432 Using the IDE compiled with K2 (useFir) throws VerifyError exception
    • KT-52327 False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reported
    • KT-49682 Support JVM IR in KAPT stub generation
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-51972 FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler plugin
    • KT-52011 [FIR] All-open compiler plugin isn't supported
    • KT-51950 JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegation
    • KT-52540 Native: kotlin.NotImplementedError with Arrow library
    • KT-48031 "IllegalStateException: Type variable TypeVariable(T) should not be fixed!"
    • KT-47708 RequiresOptIn check does not flag experimental method usage in SAM lambda expressions
    • KT-52913 JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class
    • KT-50771 IR partial linkage: Removed abstract callable members are not supported
    • KT-52994 Enable generic inline classes as experimental feature
    • KT-52742 CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default values
    • KT-52743 Non-null generic functions throws NPE when assigned to val
    • KT-52745 Frontend / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed class
    • KT-52832 Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be true
    • KT-52403 IncompatibleClassChangeError when inlining suspend funs
    • KT-50107 Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiver
    • KT-47965 Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let call
    • KT-25787 No error on crossinline usage of receiver parameter of functional type in an inline function
    • KT-52762 Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name"
    • KT-52680 K2: overload resolution ambiguity if this is casted in a different method
    • KT-52676 K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from Java
    • KT-50293 False positive: USELESS_CAST on stub types
    • KT-52175 WRONG_ANNOTATION_TARGET for annotation that used inside if
    • KT-52338 "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
    • KT-49507 JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field
    • KT-44512 FIR DFA: incorrect smartcast after null assignment inside a lambda
    • KT-49200 FIR/FE 1.0: different behavior with multiple matching star imports
    • KT-52718 declaringClass deprecation message mentions the wrong replacement in 1.7
    • KT-52190 FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMap
    • KT-52197 Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambda
    • KT-52057 Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation arguments
    • KT-47823 JVM IR: "IllegalArgumentException: Inline class types should have the same representation" with break usage in the loop range
    • KT-51883 Kotlin 1.6.20 generates "-" in type names around lambdas and inline extension function with reified type which breaks Apache Beam
    • KT-52684 Syntax error regression on complicated combination of LT and GTEQ
    • KT-52417 Reflection: Can't reflect on type parameters captured by SAM converted lambda
    • KT-46797 JVM IR: suspendImpl has no generic signature, breaking reified types in anonymous object supertypes when using the type token pattern
    • KT-51464 FIR: Unable to infer type in coroutines flow code
    • KT-52163 JVM IR: Double.compareTo(Int) compiled to integer comparison
    • KT-41980 FIR: erroneous scope during annotation resolve
    • KT-47159 KtPsiUtils.areParenthesesUseless() is returning a false positive on expressions for interface delegation
    • KT-51418 Substitute anonymous type's supertypes
    • KT-35544 kotlin.TypeCastException has no message on Native
    • KT-52386 StackOverflowError during Kotlin/Native gradle build
    • KT-52592 NPE from KProperty.getExtensionDelegate on property delegated to another property
    • KT-52551 Delegating to object property reference does not invoke object's initializer
    • KT-51704 Contracts: "AssertionError: Arguments and parameters size mismatch" with companion object
    • KT-25527 False positive UNUSED_VALUE for delegated property/variable
    • KT-51002 [FIR] Hidden declaration hides visible one
    • KT-51008 [FIR] Star import does not work for nested calssifiers of java class
    • KT-52407 FIR: Star import has lower priority than built-in import
    • KT-52431 Reported error instead of warning due to empty intersection type found
    • KT-49394 Bad message and suggestion: The feature "unit conversion" is disabled
    • KT-51168 FIR: Inference error with Java interop and captured types
    • KT-49961 "AssertionError: Left expression was not processed: BINARY_EXPRESSION" when analyzing dangling [bracketed] expression inside elvis
    • KT-50108 Difference in fun interface conversion behavior for uninitialized not-null function values
    • KT-51889 Calls to super-classes constructors with context receivers fail on runtime
    • KT-51228 [FIR] Unresolved reference on callable reference on implicit this with smartcast
    • KT-52364 False positive for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION
    • KT-52237 JVM / IR: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER CONTINUATION_CLASS" when implementing Map interface on class with suspending functions
    • KT-50832 Method references to suspend inline functions are processed incorrectly
    • KT-52194 False positive "Class 'my.packge.MyClass' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" but builds fine
    • KT-47203 JVM Debugger: Parameter value doesn't change for tailrec function
    • KT-52131 False positive variable unused warning when calling inline function in finally block
    • KT-51738 Debugger: stepping over in inline function with multiple inline lambda invocations is incorrect
    • KT-52198 Losing reference to the value of an outer variable (Ref$ObjectRef) when using suspend inline with suspendCancellableCoroutine
    • KT-50994 FIR: AssertionError during inference of delegated properties with implicit types
    • KT-51757 FIR does not see various JS/Native specific declarations in common modules
    • KT-51201 FIR: ARGUMENT_TYPE_MISMATCH diagnostic contains generic parameter instead of the actual type
    • KT-48444 FIR: type argument rejected for annotation
    • KT-51754 JVM: Local variable table invalid for do-while with continue
    • KT-51936 Breakpoint not hit on last line of suspend function on Android
    • KT-27333 Forbid @Synchronized annotation on suspend functions
    • KT-51530 "StackOverflowError: CoroutineTransformerMethodVisitor.spillVariables" with data class in Flow
    • KT-51460 FIR: Protected property inaccessible from inner class
    • KT-53947 IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
    • KT-51234 Context receivers can be duplicated in function declaration
    • KT-51576 Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@​'" with at character
    • KT-49479 JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls
    • KT-52270 NullPointerException caused by braces on if-else returning a method reference inside lambda
    • KT-47621 False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter
    • KT-37796 NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself
    • KT-45430 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context
    • KT-52691 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces
    • KT-52822 Fix contract for KtElement.getReference()
    • KT-50223 IndexOutOfBoundsException from ClassicTypeSystemContext$DefaultImpls.getParameter during call resolution
    • KT-51963 Change Maven version to 1.7.255
    • KT-47664 Incorrect type checking in the case of generic types
    • KT-48765 NI: Inferred type does not respect the bound of type variable
    • KT-51243 False positive error "No required context receiver" inside contextual lambda
    • KT-43541 TYPE_MISMATCH for member function which is not occur for top level function during unsafe cast
    • KT-51016 [FIR] False positive OVERLOAD_RESOLUTION_AMBIGUITY between two extensions on different supertypes
    • KT-50155 FIR: support contextual receivers
    • KT-38637 Catch NoSuchFieldException in optimized when expression over enum
    Docs & Examples
    • KT-49896 Kotlin/JS: improve -Xir-property-lazy-initialization description due to making it true by default
    IDE
    • KTIJ-22286 Kotlin JPS project created via wizard does not contain Kotlin libraries in case of not-released version
    • KTIJ-22065 IDE notification motivating Kotlin users to use EAP
    • KTIJ-22209 Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10)
    • KTIJ-22171 Fix test BuiltInDecompilerConsistencyTest
    • KTIJ-22016 Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light class
    • KT-52571 MPP Tasks on import are not up-to-date after subsequent launches
    • KT-47777 ISE thrown from KtLightClassForFacadeImpl.Companion.createForFacadeNoCache has wrong message.
    IDE. FIR
    • KT-52360 FIR IDE: Make the fix of isInheritor method better
    • KT-51786 FIR IDE: IllegalStateException exception in Inspections' infrastructure
    • KT-52331 Analysis API: ArrayIndexOutOfBoundsException exception in Diagnostics' infrastructure
    IDE. Code Style, Formatting
    • KTIJ-21346 Incorrect formatting for functions with context receivers and visibility modifiers
    IDE. Completion
    • KTIJ-21910 FIR IDE: Fix completion tests started failing after visibility checker refinement
    IDE. Decompiler, Indexing, Stubs
    • KTIJ-21243 ContextReceivers: "UpToDateStubIndexMismatch: PSI and index do not match" plugin exception on library with context receivers usage attempt
    IDE. Gradle Integration
    • KT-47627 IDE import fails with com.intellij.util.lang.PathClassLoader error for runCommonizer Gradle task on 212, 213 IDEAs
    • KTIJ-21638 MPP: IntelliJ can not resolve MPP references in common-code
    • KT-52216 HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendant
    IDE. Inspections and Intentions
    • KTIJ-22540 Invalid "remove unnecessary parentheses" when delegating a functional interface to a SAM in brackets
    IDE. J2K
    • KTIJ-21665 J2K generates non compiling code when lifting return and one branch is broken before binary operator
    IDE. JS
    • KTIJ-22337 Wizard: Kotlin/Js for browser: cssSupport DSL should be updated
    IDE. K2
    • KTIJ-21672 FIR IDE: Method reference on generic class breaks resolve
    • KTIJ-21714 FIR IDE: Inherently imported type from another module is not properly resolved
    IDE. Script
    • KT-52525 Update scripts handling in source roots
    IDE. Misc
    • KTIJ-21699 Refactoring: move out parts of the plugin useful for both FE10 and K2
    JavaScript
    New Features
    • KT-39423 KJS: Optionally generate a method to handle optional parameters for function in typescript
    • KT-42282 KJS IR: add an ability to run separate tests
    Performance Improvements
    • KT-50270 KJS IR: Unnecessary getter and setter calls when accessing class members
    Fixes
    • KT-51133 Kotlin/JS - IR: even simple lambdas generate a lot of useless boilerplate
    • KT-51123 Provide a way to add comments to generated JS
    • KT-48493 KJS / IR: Invalid d.ts for inner classes inside objects
    • KT-52553 KJS / IR: diamond hierarchy with super.toString produces stack overflow in runtime
    • KT-23252 JS: Unit materialization on declaration and assignment
    • KT-51128 Kotlin/JS - IR generate huge count of useless blocks
    • KT-50778 KJS/IR: Inline class has no field when building production distribution
    • KT-50157 KSJ IR: Applying identity equality operator to Chars always returns false
    • KT-38262 Javascript generation (and Typescript) fails on 'then', 'catch' and 'finally' (and others?) claiming they are reserved names
    • KT-51066 KJS / IR: suspend lambda parameter of value class is undefined
    • KT-51102 KJS/IR: Assertion failed at translateCallArguments(jsAstUtils.kt:343)
    • KT-51878 KJS / Legacy: Unit is not materialized in an overridden method, but it should be
    Language Design
    • KT-47986 Implicit inferring a type variable into an upper bound in the builder inference context
    • KT-49264 Deprecate infix function calls of functions named "suspend" with dangling function literal
    • KT-25636 Native: Object is frozen by default problem
    • KT-49303 Implement support for basic compile-time evaluation
    Libraries
    • KT-52932 Open-ended ranges in the standard library
    • KT-52910 Provide visit extension functions for java.nio.file.Path
    • KT-48232 Multiplatform function for computing cubic root
    • KT-52778 The documentation for the Duration does not indicate any differences from the ISO-8601
    • KT-52618 ThreadLocalRandom is not a good source of randomness on Android before SDK 34, so don't use it for Kotlin Random
    Native
    • KT-53346 MPP project with kotlinx-serialization-json:1.4.0-RC is not built
    Native. C Export
    • KT-45468 Kotlin/Native: Bitcode verification error when trying to export a cached klib to a static or dynamic library
    Native. C and ObjC Import
    • KT-53373 Native: @​ExportObjCClass doesn't work with the new memory manager
    • KT-49034 Kotlin/Native: cnames.structs.Foo resolves into wrong declaration
    • KT-26478 Objective-C object's class name is null in ClassCastException's message
    Native. ObjC Export
    • KT-51593 Include more information in Objective-C header documentation
    • KT-33117 Improve customizing Info.plist in produced frameworks
    • KT-52681 Native: @end; for Objective-C is generated with an unnecessary semicolon
    Native. Platforms
    • KT-52226 Kotlin/Native: Add support for cross-compilation of MIPS targets from macOS and Windows hosts
    Native. Runtime
    • KT-52430 KMM 1.6.21 framework built with Xcode13, new MM GC Can't support iOS 9.x
    • KT-53534 Kotlin/Native: -Xruntime-logs=gc=info flag doesn't work with compiler caches in 1.7.20-beta
    Native. Runtime. Memory
    • KT-52692 Kotlin/Native: fix tests with aggressive GC
    • KT-52130 Kotlin/Native: use Xallocator for Kotlin objects only
    • KT-51436 Kotlin/Native: optimize mark queue
    Reflection
    • KT-51804 An error occurs when callBy a KFunction that contains a value class as an argument, has a default argument set, and has more than 32 arguments.
    Tools. CLI
    • KT-52465 CLI: IllegalStateException IrSimpleFunctionPublicSymbolImpl when source root is duplicated
    • KT-52380 Invalid path to compiler plugins should be reported as a compiler error
    • KT-51025 JVM CLI compiler takes class file from classpath instead of input java source file
    • KT-51846 Setting random value to the compiler argument where number is expected should produce an error. "-Xbackend-threads=abcd"
    Tools. Compiler Plugins
    • KT-52486 [K2] Looking for function/constructor whose parameters are annotated or meta annotated
    • KT-52872 Mark supportsK2 in ComponentRegistrar.kt as JvmDefault to avoid compatibility problems
    • KT-52804 A function obtained by Fir IrBuiltins has an incorrect package
    • KT-52468 Rename module and jar for lombok compiler plugin
    Tools. Gradle
    • KT-53670 Gradle: Cyclic dependency between kotlin-gradle-plugin-idea-1.7.20-Beta and kotlin-gradle-plugin-idea-proto-1.7.20-Beta
    • KT-53615 Gradle: Fix deprecation warnings in CleanableStoreImpl
    • KT-53118 Fully up-to-date builds are slower with Kotlin 1.7.0
    • KT-51923 Improve usability of errors and warnings by being able to click on them
    • KT-53244 Report from gradle about compiler plugins
    • KT-52839 Warn in Gradle log why incremental compilation failed
    • KT-46019 Compatibility with Gradle 7.1 release
    • KT-47047 Migrate Kotlin Gradle Plugin from using Gradle conventions
    • KT-52698 Don't add InspectClassesForMultiModuleIC task when new incremental compilation is enabled
    • KT-52867 Provide simplified JVM toolchain configuration method
    • KT-45747 Add basic JUnit 5 Kotlin Gradle Plugin Android tests setup
    • KT-46034 Shadow Kotlin Gradle plugin dependencies
    • KT-28664 Support ExtensionContainer on kotlin targets and source sets.
    • KT-19472 Useful extensions of Gradle Kotlin DSL provided by Gradle Kotlin plugin
    • KT-34393 Kotlin Gradle DSL: Inconsistent srcDir configuration between Java and Kotlin
    • KT-51629 There isn't enough info about incremental compilation state in logs while running build with --info key
    Tools. Gradle. Cocoapods
    • KT-53174 CocoaPods: Synthetic Podfile does not specify platform
    • KT-53127 "MaterialComponents normal armv7" in Cocoapods plugin between Kotlin 1.6.21 and 1.7.0
    • KT-44155 Cocoapods doesn't support pods without module map file inside
    • KT-49032 Cocoapods cinterop: some header files are not found
    • KT-53337 Add warning about future changing default linking type of framework provided via cocoapods plugin
    Tools. Gradle. JS
    • KT-52637 KJS / Gradle: Add SCSS webpack config
    • KT-51527 Kotlin/JS: BrowserXRun causes full-screen Webpack error "Compiled with problems: asset size limit/entrypoint size limit" for fresh Kotlin-React project from wizard
    • KT-51532 Kotlin/JS: passing environment variable via Gradle script causes "Execution optimizations have been disabled" warnings
    • KT-52221 Kotlin/JS: failed Node tests are not reported in a standard way
    Tools. Gradle. Multiplatform
    • KT-52243 CInteropProcess is not cacheable despite the annotation
    • KT-52741 MPP: klib outputs are not reproducible
    • KT-52208 MPP: Gradle plugin 1.7 doesn't support latest api versions (1.8, 1.9)
    • KT-54071 MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0
    Tools. Gradle. Native
    • KT-52632 Gradle / Native: commonizeNativeDistributionTask can never be up-to-date
    • KT-52328 "ld: framework not found SQLCipher" linkDebugTestIosSimulatorArm64 error
    Tools. Incremental Compile
    • KT-53168 Incremental compilation doesn't perform correctly after a few iterations
    • KT-52925 [IR BE] Non incremental build occurs after build failure for compileKotlinJs task
    • KT-52946 CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant module
    • KT-52329 Reduce memory usage of classpath snapshot cache
    • KT-53266 Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant field
    • KT-53231 New IC reports build failures for missing classpath snapshots
    Tools. JPS
    • KT-47824 'when expression must be exhaustive' isn't thrown during incremental compilation
    • KT-51873 JPS build is incorrect after gdw build
    • KTIJ-17072 JPS does not rebuild Kotlin usages of declared in Java when enum entry is added
    • KT-51537 Rebuild module on plugin classpaths change
    Tools. REPL
    • KT-45065 REPL: Incorrect output for unsigned value
    • KT-53043 Scripting: Changes in REPL protocol: mark end of errors
    Tools. Scripts
    • KT-52598 Scripts and REPL snippets are not checked against using 'kotlin' package
    • KT-47187 Kotlin ScriptEngine Failes to Compile a Trivial Statement After Failing to Compile a Broken One
    • KT-47191 [Kotlin Script Engine] Compiling Without Evaluating Leaves Engine in a Bad State
    Tools. Kapt
    • KT-52761 Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources
    Kotlin/dokka

    v1.7.20: 1.7.20 Beta

    This release focuses primarily on improving user experience and HTML format in particular.

    Improvements
    General
    • Display inherited extensions (can be disabled by setting suppressInheritedMembers configuration property) (#​2625)
    • Display details for @Deprecated declarations such as deprecation message, level and proposed replacement (#​2622)
    • Display and document Enum's synthetic values() and valueOf() functions (#​2650)
    • Do not render constructors for annotation classes (#​2642)
    • Display values of Java constants (#​2609)
    • Trim spaces inside indented code blocks (#​2661, #​2232, #​2233)
    • Replace package name on the cover of package pages with "Package-level declarations" (#​2586)
    HTML format
    • Add IntelliJ icons to the navigation side menu (#​2578)
    • Add auto-scrolling to selected navigation item (#​2575)
    • Use OS color scheme to initialize light/dark mode, thanks to @​pt2121! (#​2611)
    • Update styling of all section tabs (including platform tabs) to match kotlinlang.org (#​2589)
    • Format long signatures dynamically based on client width (#​2659)
    • Add a horizontal divider between function overloads that are displayed on the same page (#​2585)
    • Add Cmd + K / Ctrl + K hotkey for opening search dialog, thanks to @​atyrin! (#​2633)
    • Make current breadcrumb element not clickable and of default font color (#​2588)
    • Update code highlighting colors (#​2670)
    • Do not render platform tabs for common-only content (#​2613)
    • Apply the same style to all KDoc tag headers, making it

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    • [ ] Update all dependencies (actions/setup-java, gradle, gradle/gradle-build-action, com.diffplug.spotless:spotless-plugin-gradle, org.jetbrains.kotlin.jvm, org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded, org.jetbrains.kotlin:kotlin-gradle-plugin, org.jetbrains.dokka, org.jetbrains.dokka:dokka-gradle-plugin, org.jetbrains.dokka:gfm-plugin, org.jetbrains.dokka:dokka-base-test-utils, org.jetbrains.dokka:dokka-test-api, org.jetbrains.dokka:dokka-core, org.jetbrains.dokka:dokka-base, io.arrow-kt.arrow-gradle-config-versioning, io.arrow-kt.arrow-gradle-config-formatter, com.android.tools.build:gradle)

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    github-actions
    .github/workflows/build.yaml
    • actions/checkout v3
    • actions/setup-java v3.5.1
    • gradle/gradle-build-action v2.3.1
    .github/workflows/generate-tag.yaml
    • actions/checkout v3
    • actions/setup-java v3.5.1
    • gradle/gradle-build-action v2.3.1
    • actions/checkout v3
    • actions/setup-java v3.5.1
    • gradle/gradle-build-action v2.3.1
    .github/workflows/publish.yaml
    • actions/checkout v3
    • actions/setup-java v3.5.1
    • gradle/gradle-build-action v2.3.1
    • crazy-max/ghaction-import-gpg v5
    gradle
    gradle.properties
    settings.gradle.kts
    build.gradle.kts
    arrow-gradle-config-dokka-fence-workaround/build.gradle.kts
    arrow-gradle-config-formatter/build.gradle.kts
    arrow-gradle-config-formatter/src/main/kotlin/io.arrow-kt.arrow-gradle-config-formatter.gradle.kts
    arrow-gradle-config-kotlin/build.gradle.kts
    arrow-gradle-config-kotlin/src/main/kotlin/io.arrow-kt.arrow-gradle-config-kotlin.gradle.kts
    arrow-gradle-config-nexus/build.gradle.kts
    arrow-gradle-config-nexus/src/main/kotlin/io.arrow-kt.arrow-gradle-config-nexus.gradle.kts
    arrow-gradle-config-publish/build.gradle.kts
    arrow-gradle-config-publish/src/main/kotlin/io.arrow-kt.arrow-gradle-config-publish.gradle.kts
    arrow-gradle-config-versioning/build.gradle.kts
    arrow-gradle-config-versioning/src/main/kotlin/io.arrow-kt.arrow-gradle-config-versioning.gradle.kts
    build-src/settings.gradle.kts
    build-src/build.gradle.kts
    build-src/src/main/kotlin/nexus.gradle.kts
    build-src/src/main/kotlin/publish-gradle-plugin.gradle.kts
    build-src/src/main/kotlin/publish-kotlin-jvm.gradle.kts
    gradle/libs.versions.toml
    • com.android.tools.build:gradle 7.3.0
    • io.arrow-kt:arrow-core 1.1.3
    • io.arrow-kt:arrow-fx-coroutines 1.1.3
    • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4
    • org.jetbrains.dokka:dokka-base 1.7.10
    • org.jetbrains.dokka:dokka-core 1.7.10
    • org.jetbrains.dokka:dokka-test-api 1.7.10
    • org.jetbrains.dokka:dokka-base-test-utils 1.7.10
    • org.jetbrains.dokka:gfm-plugin 1.7.10
    • org.jetbrains.dokka:dokka-gradle-plugin 1.7.10
    • com.gradle.publish:plugin-publish-plugin 0.21.0
    • io.github.gradle-nexus:publish-plugin 1.1.0
    • com.javiersc.semver:semver-gradle-plugin 0.1.0-alpha.10
    • org.jetbrains.kotlin:kotlin-gradle-plugin 1.7.10
    • org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded 1.7.10
    • com.diffplug.spotless:spotless-plugin-gradle 6.11.0
    • io.arrow-kt.arrow-gradle-config-formatter 0.10.2
    • io.arrow-kt.arrow-gradle-config-versioning 0.10.2
    • org.jetbrains.dokka 1.7.10
    • org.jetbrains.kotlin.jvm 1.7.10
    gradle-wrapper
    gradle/wrapper/gradle-wrapper.properties
    • gradle 7.5.1

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Owner
ΛRROW
Functional Data Types & Abstractions for Kotlin
ΛRROW
Kmp4free - A Gradle Plugin that allows seamless switching between Kotlin JVM and the Kotlin Multiplatform Plugins

?? kmp4free Allows you to toggle between Kotlin JVM Plugin -> Kotlin Multiplatform with a Gradle Property kmp4free=true. This Gradle Plugin was built

Sam Edwards 61 Oct 14, 2022
A Gradle plugin that generates plugin.yml for Bukkit/BungeeCord/Nukkit plugins based on the Gradle project

plugin-yml is a simple Gradle plugin that generates the plugin.yml plugin description file for Bukkit plugins, bungee.yml for Bungee plugins or nukkit.yml for Nukkit plugins based on the Gradle project. Various properties are set automatically (e.g. project name, version or description) and additional properties can be added using a simple DSL.

Plexus 0 Apr 10, 2022
Gradle plugin to ease Kotlin IR plugin development and usage in multimodule gradle projects

Gradle plugin to ease Kotlin IR plugin development and usage in multimodule gradle projects. Former: kotlin-ir-plugin-adapter-gradle

null 2 Mar 8, 2022
Gradle plugins for easy start into kotlin

Starter gradle plugins for kotlin The aim The aim of this project is to create a

MIPT-NPM 5 Mar 5, 2022
How to write Gradle plugins - answers to common questions and alternative implementation solutions

Gradle Plugins: Why? How? There is some misunderstanding and confusion about the concept of Plugins in Gradle. This is unfortunate, as it is one of th

Jendrik Johannes 89 Dec 25, 2022
Showcases different ways of writing backwards-compatible Gradle plugins.

manifestprinter This project showcases different ways of writing backwards-compatible Gradle plugins. It accompanies a talk held at droidcon Berlin 20

Simon Schiller 5 Jul 12, 2022
A Gradle plugin to ease testing in Kotlin Multiplatform projects.

Multiplatform Testing Plugin A Gradle plugin for easy testing of Kotlin Multiplatform projects in your CI pipeline. Support for testing android() targ

DeepMedia 6 Oct 19, 2022
Gradle Plugin to automatically upgrade your gradle project dependencies and send a GitHub pull request with the changes

Gradle Plugin to automatically upgrade your gradle project dependencies and send a GitHub pull request with the changes

Dipien 142 Dec 29, 2022
Useful and Fun plugins to use for Aliucord!

♥ Aliucord Plugins ♥ What do I need to use plugins ? To obtain Aliucord plugins (Plugins for Discord) make sure you have Aliucord installed! If you do

Link 10 Sep 2, 2022
Free plugins for kraken using the community api.

Community Plugins Free plugins for kraken using the community api. Wiki Make sure you read the Wiki for guides and information on how to use the commu

RSKrakenCommunity 2 Jun 25, 2022
Set projects versions based on git tags and following semantic versioning

SemVer Gradle Plugin Set projects versions based on git tags and following semantic versioning. Inspired on Reckon but centered on supporting multi-pr

Javier Segovia Córdoba 10 Jan 6, 2023
Basic Kotlin project with a Gradle script written in Kotlin.

Mars Rover Problem Basic Kotlin project with a Gradle script written in Kotlin. Definition A squad of robotic rovers are to be landed by NASA on a pla

Erdem Aydın 0 Nov 28, 2021
Gradle Plugin to enable auto-completion and symbol resolution for all Kotlin/Native platforms.

CompleteKotlin Gradle Plugin to enable auto-completion and symbol resolution for all Kotlin/Native platforms. What this plugin provides This zero-conf

Louis CAD 235 Jan 3, 2023
Grazel is a Gradle plugin to automate generation of valid Bazel files for a given Android/Kotlin/Java project.

Grazel Grazel stands for Gradle to Bazel. It is a Gradle plugin that enables you to migrate Android projects to Bazel build system in an incremental a

Grab 228 Jan 2, 2023
Gradle plugin that generates a Swift Package Manager manifest and an XCFramework to distribute a Kotlin Multiplatform library for Apple platforms.

Multiplatform Swift Package This is a Gradle plugin for Kotlin Multiplatform projects that generates an XCFramework for your native Apple targets and

Georg Dresler 262 Jan 5, 2023
Klinker is a gradle plugin making it possible to link kotlin native executables with custom linkers and options.

Klinker is a gradle plugin making it possible to link kotlin native executables with custom linkers and options. It does this by creating a static library for kotlin compilation, then generates a c+kotlin wrapper that calls into kotlin to start the app, finally using the specified compiler to compile and link the c code and kotlin library into a binary.

Jason Monk 4 Apr 14, 2022
Gradle Plugin that determines if modules are Kotlin Multiplatform (KMP) ready.

Gradle Plugin that determines if modules are Kotlin Multiplatform (KMP) ready. KMP Ready means that the code is Kotlin Multiplatform compatible.

Sam Edwards 58 Dec 22, 2022
KMP Ready is a Gradle Plugin that provides actionable advice to make your code Kotlin Multiplatform compatible.

KMP Ready IS ?? UNDER DEVELOPMENT ?? Decisioning Logic Positive Signals ✅ Only Kotlin .kt Source Files Using Kotlin JVM Plugin Uses the Kotlin Multipl

Sam Edwards 58 Dec 22, 2022
A Gradle plugin that improves the experience when developing Android apps, especially system tools, that use hidden APIs.

A Gradle plugin that improves the experience when developing Android apps, especially system tools, that use hidden APIs.

Rikka apps 124 Dec 31, 2022