A SpannableString Parser for Android

Overview

SpannableStringParser

CircleCI Codacy Badge codecov
Android Weekly

In Android, to style our text we use Spans.
Spans are markup objects that can be applied to parts of the text.

It requires us to deal with the indexes of the text that we want to style.

val string = SpannableString("Text with a foreground color span")
string.setSpan(ForegroundColorSpan(Color.RED), 12, 28, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)

But what if the text is dynamic and the styling of the text is also dynamic.
Now, dealing with indexes and styling becomes really difficult for us.

This is where SpannableStringParser helps us.
You can specify which text to style and how to style them inside the string itself, and use the spannify() extension function to style it.

} span".spannify() ">
val string = "Text with a { `foreground color` < text-color:#FF0000 /> } span".spannify()

This string can also come from a back-end server and if we wish to change the style of the text in future, the string can be easily changed from back-end and no front-end change will be required.

SpannableStringParser internally uses Spannable, which is more performant than Html.

Have a Look

1. Text having a property

}" ">
"Hello { `SpannableStringParser` < text-color:#0000FF /> }"

2. Text having multiple properties

}" ">
"Hello { `SpannableStringParser` < text-color:#0000FF ; text-decoration:underline /> }"

3. Text having multiple properties with multiple values

}" ">
"Hello { `SpannableStringParser` < text-color:#0000FF ; text-decoration:underline|strike-through /> }"

Usage

  • Syntax for "text" having a property
}".spannify() ">
text_view.text = "{ `text` < property:value /> }".spannify()
  • Syntax for "text" having multiple properties
}".spannify() ">
text_view.text = "{ `text` < property:value ; property:value /> }".spannify()
  • Syntax for "text" having multiple properties with multiple values
}".spannify() ">
text_view.text = "{ `text` < property:value ; property:value|value /> }".spannify()
  • You can even add custom properties using the spanner method.
{ if (value == "...") return@spanner Custom1Span() } "..." -> { if (value == "...") return@spanner Custom2Span() } } return@spanner null } ">
spanner { property, value ->
    when (property) {
        "..." -> {
            if (value == "...")
                return@spanner Custom1Span()
        }
        "..." -> {
            if (value == "...")
                return@spanner Custom2Span()
        }
    }
    return@spanner null
}
  • If you don't want these properties and values coming from a back-end server, you can use the property method.
"text"
    .property("property", "value")
    .property("property", "value", "value")
    .spannify()

Note: Make sure to call the spannify method at the end.


If you are using Node.js for your back-end, you can use SpannableStringFormatter to efficiently and correctly format your strings.

Supported Properties

text-color

  • The text-color property specifies the color of text.
}" ">
"Hello { `World` < text-color:#FF00FF /> }"

}" ">
"Hello { `World` < text-color:#44FF00FF /> }"


background-color

  • The background-color property specifies the background color of text.
}" ">
"Hello { `World` < background-color:#FF00FF /> }"

}" ">
"Hello { `World` < background-color:#44FF00FF /> }"


line-background-color

  • The line-background-color property specifies the background color of lines.
}" ">
"Hello { `World` < line-background-color:#FF00FF /> }"

}" ">
"Hello { `World` < line-background-color:#44FF00FF /> }"


text-size

  • The text-size property sets the size of text.
}" ">
"Hello { `World` < text-size:24dp /> }"

}" ">
"Hello { `World` < text-size:2.4em /> }"

}" ">
"Hello { `World` < text-size:24px /> }"


text-decoration

  • The text-decoration property sets the kind of text decoration to use (like underline, strike-through).
}" ">
"Hello { `World` < text-decoration:underline /> }"

}" ">
"Hello { `World` < text-decoration:strike-through /> }"


subscript

  • The subscript property defines subscript text.
}" ">
"Hello { `World` < subscript:true /> }"


superscript

  • The superscript property defines superscript text.
}" ">
"Hello { `World` < superscript:true /> }"


text-style

  • The text-style property specifies the style of text.
}" ">
"Hello { `World` < text-style:normal /> }"

}" ">
"Hello { `World` < text-style:bold /> }"

}" ">
"Hello { `World` < text-style:italic /> }"


font-family

  • The font-family property specifies the font of text.
}" ">
"Hello { `World` < font-family:monospace /> }"

}" ">
"Hello { `World` < font-family:serif /> }"

}" ">
"Hello { `World` < font-family:sans-serif /> }"


text-alignment

  • The text-alignment property specifies the alignment of text.
}" ">
"{ `Hello World` < text-alignment:normal /> }"

}" ">
"{ `Hello World` < text-alignment:opposite /> }"

}" ">
"{ `Hello World` < text-alignment:center /> }"


line-height

  • The line-height property specifies the height of line.
}" ">
val lorem_ipsum = "lorem ipsum ..."
"{ `${lorem_ipsum}` < line-height:120px /> }"


url

  • The url property specifies the url for text, clicking on which will open the url.
} for more information" ">
"Click { `here` < url:`https://www.google.com` /> } for more information"

Note: You have to set LinkMovementMethod on the TextView for supporting url clicks.

text_view.movementMethod = LinkMovementMethod.getInstance()

more-properties-coming-soon

You can add your custom properties using the spanner method.
But! If you want any property to be added in SpannableStringParser, feel free to open issues/pull requests.

Download

Add JitPack repository to your root build.gradle file

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

Add the dependency to your app build.gradle file

dependencies {
    implementation 'com.github.hitanshu-dhawan:SpannableStringParser:1.2.1'
}

Licence

Copyright (c) 2019 Hitanshu Dhawan

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Bump kotlin_version from 1.4.10 to 1.4.32

    Bump kotlin_version from 1.4.10 to 1.4.32

    Bumps kotlin_version from 1.4.10 to 1.4.32. Updates kotlin-gradle-plugin from 1.4.10 to 1.4.32

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.4.31

    1.4.31

    Compiler

    • KT-39776 2020.3+: Unresolved reference to Kotlin stdlib function

    IDE. Gradle Integration

    • KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true

    IDE. Gradle. Script

    • KTIJ-11137 build.gradle.kts: Fatal error during save/load standalone scripts settings
    • KTIJ-898 Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModels

    IDE. Multiplatform

    • KTIJ-1200 KotlinIconProviderKt.addExpectActualMarker takes up to 180+ seconds

    IDE

    Fixes

    • KT-44697 New JVM IR backend notification - narrow its triggering to Kotlin projects
    • KT-44523 IDE notification for trying new JVM backend
    • KTIJ-696 Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440)

    Checksums

    File Sha256
    kotlin-compiler-1.4.31.zip b50e7016febf7510325d685ae69cc62f49a7ca7f670cb4e0888112e3ec09c6ec *
    kotlin-native-linux-1.4.31.tar.gz 87fc40385ffbd44eebde6487d15e1c5c67c218870b332b525e122f014b7de3e3
    kotlin-native-macos-1.4.31.tar.gz 0e351756b382096204d61456f855480ce6b65ac53897c4bfa78a287895f37e32
    kotlin-native-windows-1.4.31.zip a60aec97fd21294ab11e57acdd33d37d79db11b22656fa435b791e9a709727b4

    * Sorry, Sha256 sum was initially published incorrectly. Now it is fixed.

    Kotlin 1.4.30

    CHANGELOG

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    CHANGELOG

    1.4.30

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties
    • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
    • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
    • KT-43198 Native: support init blocks inside inline classes

    Compiler

    New Features

    • KT-28055 Support init blocks inside inline classes
    • KT-28056 Consider supporting non-public primary constructors for inline classes
    • KT-41265 Support noarg compiler plugin for JVM IR
    • KT-42094 Allow open callable members in expect interfaces
    • KT-43129 FIR: Support OverloadResolutionByLambdaReturnType
    • KT-43592 Promote JVM IR compiler backend to Beta
    • KT-43919 Support loading Java annotations on base classes and implementing interfaces' type arguments
    • KT-44021 Enable JVM IR backend by default in 1.5

    Performance Improvements

    • KT-41352 JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end
    • KT-41644 NI: Infinite compilation
    • KT-42791 OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference
    • KT-42920 NI: Improve performance around adding constraints

    Fixes

    • KT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files
    • KT-11732 Verify error for generic interface method invocation with default parameters
    • KT-14612 "ISE: Recursive call in a lazy value" during processing of a (weakly) recursive type alias
    • KT-18344 Upper bound of a typealias type parameter is not reported correctly if it contains the typealias itself
    • KT-18768 @Notnull annotation from Java does not work with varargs
    • KT-20548 java.lang.IllegalStateException: Illegal class container on simple Java code parsing
    • KT-22465 Excessive synthetic method for private setter from superclass
    • KT-23816 Inline classes: constants and annotations
    • KT-24158 AE: No receiver found on incomplete code with $-signs
    • KT-24392 Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETER
    • KT-26229 Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect

    ... (truncated)

    Commits

    Updates kotlin-stdlib-jdk7 from 1.4.10 to 1.4.32

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.4.31

    1.4.31

    Compiler

    • KT-39776 2020.3+: Unresolved reference to Kotlin stdlib function

    IDE. Gradle Integration

    • KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true

    IDE. Gradle. Script

    • KTIJ-11137 build.gradle.kts: Fatal error during save/load standalone scripts settings
    • KTIJ-898 Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModels

    IDE. Multiplatform

    • KTIJ-1200 KotlinIconProviderKt.addExpectActualMarker takes up to 180+ seconds

    IDE

    Fixes

    • KT-44697 New JVM IR backend notification - narrow its triggering to Kotlin projects
    • KT-44523 IDE notification for trying new JVM backend
    • KTIJ-696 Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440)

    Checksums

    File Sha256
    kotlin-compiler-1.4.31.zip b50e7016febf7510325d685ae69cc62f49a7ca7f670cb4e0888112e3ec09c6ec *
    kotlin-native-linux-1.4.31.tar.gz 87fc40385ffbd44eebde6487d15e1c5c67c218870b332b525e122f014b7de3e3
    kotlin-native-macos-1.4.31.tar.gz 0e351756b382096204d61456f855480ce6b65ac53897c4bfa78a287895f37e32
    kotlin-native-windows-1.4.31.zip a60aec97fd21294ab11e57acdd33d37d79db11b22656fa435b791e9a709727b4

    * Sorry, Sha256 sum was initially published incorrectly. Now it is fixed.

    Kotlin 1.4.30

    CHANGELOG

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    CHANGELOG

    1.4.30

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties
    • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
    • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
    • KT-43198 Native: support init blocks inside inline classes

    Compiler

    New Features

    • KT-28055 Support init blocks inside inline classes
    • KT-28056 Consider supporting non-public primary constructors for inline classes
    • KT-41265 Support noarg compiler plugin for JVM IR
    • KT-42094 Allow open callable members in expect interfaces
    • KT-43129 FIR: Support OverloadResolutionByLambdaReturnType
    • KT-43592 Promote JVM IR compiler backend to Beta
    • KT-43919 Support loading Java annotations on base classes and implementing interfaces' type arguments
    • KT-44021 Enable JVM IR backend by default in 1.5

    Performance Improvements

    • KT-41352 JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end
    • KT-41644 NI: Infinite compilation
    • KT-42791 OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference
    • KT-42920 NI: Improve performance around adding constraints

    Fixes

    • KT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files
    • KT-11732 Verify error for generic interface method invocation with default parameters
    • KT-14612 "ISE: Recursive call in a lazy value" during processing of a (weakly) recursive type alias
    • KT-18344 Upper bound of a typealias type parameter is not reported correctly if it contains the typealias itself
    • KT-18768 @Notnull annotation from Java does not work with varargs
    • KT-20548 java.lang.IllegalStateException: Illegal class container on simple Java code parsing
    • KT-22465 Excessive synthetic method for private setter from superclass
    • KT-23816 Inline classes: constants and annotations
    • KT-24158 AE: No receiver found on incomplete code with $-signs
    • KT-24392 Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETER
    • KT-26229 Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump kotlin_version from 1.4.10 to 1.4.31

    Bump kotlin_version from 1.4.10 to 1.4.31

    Bumps kotlin_version from 1.4.10 to 1.4.31. Updates kotlin-gradle-plugin from 1.4.10 to 1.4.31

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.4.31

    1.4.31

    Compiler

    • KT-39776 2020.3+: Unresolved reference to Kotlin stdlib function

    IDE. Gradle Integration

    • KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true

    IDE. Gradle. Script

    • KTIJ-11137 build.gradle.kts: Fatal error during save/load standalone scripts settings
    • KTIJ-898 Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModels

    IDE. Multiplatform

    • KTIJ-1200 KotlinIconProviderKt.addExpectActualMarker takes up to 180+ seconds

    IDE

    Fixes

    • KT-44697 New JVM IR backend notification - narrow its triggering to Kotlin projects
    • KT-44523 IDE notification for trying new JVM backend
    • KTIJ-696 Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440)

    Checksums

    File Sha256
    kotlin-compiler-1.4.31.zip b50e7016febf7510325d685ae69cc62f49a7ca7f670cb4e0888112e3ec09c6ec *
    kotlin-native-linux-1.4.31.tar.gz 87fc40385ffbd44eebde6487d15e1c5c67c218870b332b525e122f014b7de3e3
    kotlin-native-macos-1.4.31.tar.gz 0e351756b382096204d61456f855480ce6b65ac53897c4bfa78a287895f37e32
    kotlin-native-windows-1.4.31.zip a60aec97fd21294ab11e57acdd33d37d79db11b22656fa435b791e9a709727b4

    * Sorry, Sha256 sum was initially published incorrectly. Now it is fixed.

    Kotlin 1.4.30

    CHANGELOG

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.4.31

    Compiler

    • KT-39776 2020.3+: Unresolved reference to Kotlin stdlib function

    IDE. Gradle Integration

    • KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true

    IDE. Gradle. Script

    • KTIJ-11137 build.gradle.kts: Fatal error during save/load standalone scripts settings
    • KTIJ-898 Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModels

    IDE. Multiplatform

    • KTIJ-1200 KotlinIconProviderKt.addExpectActualMarker takes up to 180+ seconds

    IDE

    Fixes

    • KT-44697 New JVM IR backend notification - narrow its triggering to Kotlin projects
    • KT-44523 IDE notification for trying new JVM backend
    • KTIJ-696 Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440)

    1.4.30

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties
    • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
    • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
    • KT-43198 Native: support init blocks inside inline classes

    Compiler

    New Features

    • KT-28055 Support init blocks inside inline classes
    • KT-28056 Consider supporting non-public primary constructors for inline classes
    • KT-41265 Support noarg compiler plugin for JVM IR
    • KT-42094 Allow open callable members in expect interfaces

    ... (truncated)

    Commits
    • ae24875 Add ChangeLog for kotlin 1.4.31
    • d5cf736 Add ChangeLog for kotlin 1.4.30-release
    • 929b6dd Do not swallow PCE
    • fbe977a Update Kotlin/Native: 1.4.31-release-146
    • d0e0900 Backport "Fix cache service for resolution anchors"
    • 434c199 Update Kotlin/Native: 1.4.31-dev-141
    • d1814fb Fix NPE
    • 4c61fb4 Fixed NPE on StandaloneScriptRootsCache instantiation
    • e148cbe Lightweight hashCode calc for LibraryInfo
    • 36d91ae Check declaration modifier for actual method to avoid freeze
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.10 to 1.4.31

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.4.31

    1.4.31

    Compiler

    • KT-39776 2020.3+: Unresolved reference to Kotlin stdlib function

    IDE. Gradle Integration

    • KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true

    IDE. Gradle. Script

    • KTIJ-11137 build.gradle.kts: Fatal error during save/load standalone scripts settings
    • KTIJ-898 Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModels

    IDE. Multiplatform

    • KTIJ-1200 KotlinIconProviderKt.addExpectActualMarker takes up to 180+ seconds

    IDE

    Fixes

    • KT-44697 New JVM IR backend notification - narrow its triggering to Kotlin projects
    • KT-44523 IDE notification for trying new JVM backend
    • KTIJ-696 Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440)

    Checksums

    File Sha256
    kotlin-compiler-1.4.31.zip b50e7016febf7510325d685ae69cc62f49a7ca7f670cb4e0888112e3ec09c6ec *
    kotlin-native-linux-1.4.31.tar.gz 87fc40385ffbd44eebde6487d15e1c5c67c218870b332b525e122f014b7de3e3
    kotlin-native-macos-1.4.31.tar.gz 0e351756b382096204d61456f855480ce6b65ac53897c4bfa78a287895f37e32
    kotlin-native-windows-1.4.31.zip a60aec97fd21294ab11e57acdd33d37d79db11b22656fa435b791e9a709727b4

    * Sorry, Sha256 sum was initially published incorrectly. Now it is fixed.

    Kotlin 1.4.30

    CHANGELOG

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    1.4.31

    Compiler

    • KT-39776 2020.3+: Unresolved reference to Kotlin stdlib function

    IDE. Gradle Integration

    • KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true

    IDE. Gradle. Script

    • KTIJ-11137 build.gradle.kts: Fatal error during save/load standalone scripts settings
    • KTIJ-898 Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModels

    IDE. Multiplatform

    • KTIJ-1200 KotlinIconProviderKt.addExpectActualMarker takes up to 180+ seconds

    IDE

    Fixes

    • KT-44697 New JVM IR backend notification - narrow its triggering to Kotlin projects
    • KT-44523 IDE notification for trying new JVM backend
    • KTIJ-696 Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440)

    1.4.30

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties
    • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
    • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
    • KT-43198 Native: support init blocks inside inline classes

    Compiler

    New Features

    • KT-28055 Support init blocks inside inline classes
    • KT-28056 Consider supporting non-public primary constructors for inline classes
    • KT-41265 Support noarg compiler plugin for JVM IR
    • KT-42094 Allow open callable members in expect interfaces

    ... (truncated)

    Commits
    • ae24875 Add ChangeLog for kotlin 1.4.31
    • d5cf736 Add ChangeLog for kotlin 1.4.30-release
    • 929b6dd Do not swallow PCE
    • fbe977a Update Kotlin/Native: 1.4.31-release-146
    • d0e0900 Backport "Fix cache service for resolution anchors"
    • 434c199 Update Kotlin/Native: 1.4.31-dev-141
    • d1814fb Fix NPE
    • 4c61fb4 Fixed NPE on StandaloneScriptRootsCache instantiation
    • e148cbe Lightweight hashCode calc for LibraryInfo
    • 36d91ae Check declaration modifier for actual method to avoid freeze
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump kotlin_version from 1.4.10 to 1.4.30

    Bump kotlin_version from 1.4.10 to 1.4.30

    Bumps kotlin_version from 1.4.10 to 1.4.30. Updates kotlin-gradle-plugin from 1.4.10 to 1.4.30

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.4.30

    CHANGELOG

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties
    • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
    • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
    • KT-43198 Native: support init blocks inside inline classes

    Compiler

    New Features

    • KT-28055 Support init blocks inside inline classes
    • KT-28056 Consider supporting non-public primary constructors for inline classes
    • KT-41265 Support noarg compiler plugin for JVM IR
    • KT-42094 Allow open callable members in expect interfaces
    • KT-43129 FIR: Support OverloadResolutionByLambdaReturnType
    • KT-43592 Promote JVM IR compiler backend to Beta
    • KT-43919 Support loading Java annotations on base classes and implementing interfaces' type arguments
    • KT-44021 Enable JVM IR backend by default in 1.5

    Performance Improvements

    • KT-41352 JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end
    • KT-41644 NI: Infinite compilation
    • KT-42791 OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference
    • KT-42920 NI: Improve performance around adding constraints

    Fixes

    • KT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files
    • KT-11732 Verify error for generic interface method invocation with default parameters
    • KT-14612 "ISE: Recursive call in a lazy value" during processing of a (weakly) recursive type alias
    • KT-18344 Upper bound of a typealias type parameter is not reported correctly if it contains the typealias itself
    • KT-18768 @Notnull annotation from Java does not work with varargs
    • KT-20548 java.lang.IllegalStateException: Illegal class container on simple Java code parsing
    • KT-22465 Excessive synthetic method for private setter from superclass
    • KT-23816 Inline classes: constants and annotations
    • KT-24158 AE: No receiver found on incomplete code with $-signs
    • KT-24392 Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETER
    • KT-26229 Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect
    • KT-29735 KNPE at KtEnumEntrySuperclassReferenceExpression.getReferencedElement with explicit type argument inside enum member constructor
    • KT-31389 ClassFormatError with companion object in annotation with @JvmStatic

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    CHANGELOG

    1.4.30-M1

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties
    • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
    • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
    • KT-43198 init blocks inside inline classes
    • KT-31072 Don't use non-reified arguments to specialize type operations in IR inliner

    Backend. JS

    • KT-41227 KJS IR: don't copy to child's prototype references to the function from parent

    Backend. IR

    • KT-41227 KJS IR: don't copy to child's prototype references to the function from parent

    Compiler

    New Features

    • KT-28055 Consider supporting init blocks inside inline classes
    • KT-28056 Consider supporting non-public primary constructors for inline classes
    • KT-42094 Allow open callable members in expect interfaces
    • KT-43129 FIR: Support OverloadResolutionByLambdaReturnType

    Performance Improvements

    • KT-41352 JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end
    • KT-41644 NI: Infinite compilation
    • KT-42791 OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference
    • KT-42920 NI: Improve performance around adding constraints

    Fixes

    • KT-22465 Excessive synthetic method for private setter from superclass
    • KT-26229 Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect
    • KT-32228 Inconsistent boxing/unboxing for inline classes when interface is specialized by object expression
    • KT-32450 Inline class incorrectly gets re-wrapped when provided to a function
    • KT-35849 Missing nullability assertion on lambda return value if expected type has generic return value type
    • KT-35902 Kotlin generates a private parameterless constructor for constructors taking inline class arguments with default values
    • KT-36769 JVM IR: Missing LVT entries for inline function (default) parameters at call site
    • KT-36982 JVM IR: SAM adapter classes are generated as synthetic

    ... (truncated)

    Commits
    • 90ecf0f Revert "[notification] add notification about new jvm ir backend"
    • 8d2706a Update Kotlin/Native: 1.4.30-release-115
    • fd948c0 Add change-notes for 1.4.30 release
    • 2d8c18b Update Kotlin/Native: 1.4.30-dev-112
    • f71f162 Add API version 1.5 to accepted values in MPP language settings
    • 63b35c7 Introduce ApiVersion.KOTLIN_1_5
    • 4d6a1a8 JVM IR: Fix inline class mangling for calls to internal functions
    • 5a7c345 [notification] add notification about new jvm ir backend
    • f9dd878 Propagate all annotations during creating simple functional types
    • 5a686ea [JVM_IR] Reduce the amount of super suffixes on accesibility bridges.
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.10 to 1.4.30

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.4.30

    CHANGELOG

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties
    • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
    • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
    • KT-43198 Native: support init blocks inside inline classes

    Compiler

    New Features

    • KT-28055 Support init blocks inside inline classes
    • KT-28056 Consider supporting non-public primary constructors for inline classes
    • KT-41265 Support noarg compiler plugin for JVM IR
    • KT-42094 Allow open callable members in expect interfaces
    • KT-43129 FIR: Support OverloadResolutionByLambdaReturnType
    • KT-43592 Promote JVM IR compiler backend to Beta
    • KT-43919 Support loading Java annotations on base classes and implementing interfaces' type arguments
    • KT-44021 Enable JVM IR backend by default in 1.5

    Performance Improvements

    • KT-41352 JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end
    • KT-41644 NI: Infinite compilation
    • KT-42791 OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference
    • KT-42920 NI: Improve performance around adding constraints

    Fixes

    • KT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files
    • KT-11732 Verify error for generic interface method invocation with default parameters
    • KT-14612 "ISE: Recursive call in a lazy value" during processing of a (weakly) recursive type alias
    • KT-18344 Upper bound of a typealias type parameter is not reported correctly if it contains the typealias itself
    • KT-18768 @Notnull annotation from Java does not work with varargs
    • KT-20548 java.lang.IllegalStateException: Illegal class container on simple Java code parsing
    • KT-22465 Excessive synthetic method for private setter from superclass
    • KT-23816 Inline classes: constants and annotations
    • KT-24158 AE: No receiver found on incomplete code with $-signs
    • KT-24392 Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETER
    • KT-26229 Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect
    • KT-29735 KNPE at KtEnumEntrySuperclassReferenceExpression.getReferencedElement with explicit type argument inside enum member constructor
    • KT-31389 ClassFormatError with companion object in annotation with @JvmStatic

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    CHANGELOG

    1.4.30-M1

    Android

    • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

    Backend. Native

    • KT-38772 Native: support non-reified type parameters in typeOf
    • KT-42234 Move LLVM optimization parameters into konan.properties
    • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
    • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
    • KT-43198 init blocks inside inline classes
    • KT-31072 Don't use non-reified arguments to specialize type operations in IR inliner

    Backend. JS

    • KT-41227 KJS IR: don't copy to child's prototype references to the function from parent

    Backend. IR

    • KT-41227 KJS IR: don't copy to child's prototype references to the function from parent

    Compiler

    New Features

    • KT-28055 Consider supporting init blocks inside inline classes
    • KT-28056 Consider supporting non-public primary constructors for inline classes
    • KT-42094 Allow open callable members in expect interfaces
    • KT-43129 FIR: Support OverloadResolutionByLambdaReturnType

    Performance Improvements

    • KT-41352 JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end
    • KT-41644 NI: Infinite compilation
    • KT-42791 OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference
    • KT-42920 NI: Improve performance around adding constraints

    Fixes

    • KT-22465 Excessive synthetic method for private setter from superclass
    • KT-26229 Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect
    • KT-32228 Inconsistent boxing/unboxing for inline classes when interface is specialized by object expression
    • KT-32450 Inline class incorrectly gets re-wrapped when provided to a function
    • KT-35849 Missing nullability assertion on lambda return value if expected type has generic return value type
    • KT-35902 Kotlin generates a private parameterless constructor for constructors taking inline class arguments with default values
    • KT-36769 JVM IR: Missing LVT entries for inline function (default) parameters at call site
    • KT-36982 JVM IR: SAM adapter classes are generated as synthetic

    ... (truncated)

    Commits
    • 90ecf0f Revert "[notification] add notification about new jvm ir backend"
    • 8d2706a Update Kotlin/Native: 1.4.30-release-115
    • fd948c0 Add change-notes for 1.4.30 release
    • 2d8c18b Update Kotlin/Native: 1.4.30-dev-112
    • f71f162 Add API version 1.5 to accepted values in MPP language settings
    • 63b35c7 Introduce ApiVersion.KOTLIN_1_5
    • 4d6a1a8 JVM IR: Fix inline class mangling for calls to internal functions
    • 5a7c345 [notification] add notification about new jvm ir backend
    • f9dd878 Propagate all annotations during creating simple functional types
    • 5a686ea [JVM_IR] Reduce the amount of super suffixes on accesibility bridges.
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump robolectric from 4.4 to 4.5.1

    Bump robolectric from 4.4 to 4.5.1

    Bumps robolectric from 4.4 to 4.5.1.

    Release notes

    Sourced from robolectric's releases.

    Robolectric 4.5.1

    This is a minor release that fixes a regression in 4.5 and removes some superfluous print statements. See robolectric/robolectric#6187 and robolectric/robolectric#6177 respectively for more details.

    Robolectric 4.5 adds support for Android API 30 (R final) and contains many bug fixes and other enhancements.

    More detailed release notes are forthcoming.

    For all changes view the comparison to 4.4.

    Use Robolectric:

    testCompile "org.robolectric:robolectric:4.5"
    

    Robolectric 4.5 Beta 1

    NOTE: Robolectric 4.5-beta-1 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 3

    NOTE: Robolectric 4.5-alpha-3 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 2

    NOTE: Robolectric 4.5-alpha-2 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 1

    NOTE: Robolectric 4.5-alpha-1 is a outdated preview release; please use 4.5 or later instead.

    Commits
    • 11c4ab6 Bump version to 4.5.1.
    • 1414736 Remove debug print statements from Cleaner AndroidInterceptor
    • d0ee5bd Fix deleting temp directories
    • 27511fd Bump version to 4.5.
    • b41d135 Tweak ShadowTextToSpeech OnInitListener API
    • ee98674 Bump version to 4.5-beta-1.
    • b3bd4a2 Fix grammar in comment in ShadowTextToSpeech
    • e0e1b5e Merge pull request #6161 from robolectric/piper_351860731
    • a3d94c2 Merge pull request #6144 from robolectric/piper_350815564
    • 69a7550 Merge pull request #6159 from robolectric/piper_351705328
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump robolectric from 4.4 to 4.5

    Bump robolectric from 4.4 to 4.5

    Bumps robolectric from 4.4 to 4.5.

    Release notes

    Sourced from robolectric's releases.

    Robolectric 4.5 adds support for Android API 30 (R final) and contains many bug fixes and other enhancements.

    More detailed release notes are forthcoming.

    For all changes view the comparison to 4.4.

    Use Robolectric:

    testCompile "org.robolectric:robolectric:4.5"
    

    Robolectric 4.5 Beta 1

    NOTE: Robolectric 4.5-beta-1 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 3

    NOTE: Robolectric 4.5-alpha-3 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 2

    NOTE: Robolectric 4.5-alpha-2 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 1

    NOTE: Robolectric 4.5-alpha-1 is a outdated preview release; please use 4.5 or later instead.

    Commits
    • 27511fd Bump version to 4.5.
    • b41d135 Tweak ShadowTextToSpeech OnInitListener API
    • ee98674 Bump version to 4.5-beta-1.
    • b3bd4a2 Fix grammar in comment in ShadowTextToSpeech
    • e0e1b5e Merge pull request #6161 from robolectric/piper_351860731
    • a3d94c2 Merge pull request #6144 from robolectric/piper_350815564
    • 69a7550 Merge pull request #6159 from robolectric/piper_351705328
    • b94b2db Collect stats about number of classes instrumented per package
    • 98d1eca Merge pull request #6152 from robolectric/piper_351251828
    • ba1331d Merge pull request #6146 from robolectric/piper_350776217
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump kotlin_version from 1.4.10 to 1.4.21-2

    Bump kotlin_version from 1.4.10 to 1.4.21-2

    Bumps kotlin_version from 1.4.10 to 1.4.21-2. Updates kotlin-gradle-plugin from 1.4.10 to 1.4.21-2

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.4.21

    CHANGELOG

    IDE. Gradle Integration

    • KT-42561 "Could not get unknown property 'sourceSets' for project" when running JVM module with included MPP module
    • KT-43511 Task 'MainKt.main()' not found in root project

    Libraries

    • KT-43586 Source documentation: ExperimentalPathAPI misspelt
    • KT-43745 replace for strings ignores case of locale characters

    Native. C and ObjC Import

    • KT-43265 Kotlin/Native fails to generate alias for C enum entry
    • KT-43530 Kotlin/Native compilation fails with "Symbol for public kotlin/Array.size.|-8255337774232345969[0] is unbound"

    Native

    • KT-43517 On Kotlin 1.4.20 we got kotlin.NotImplementedError when try compile iOS framework

    Tools. Gradle. JS

    • KT-43668 PackageJson task use file dependencies as is (files and directories), but only files necessary

    Checksums

    File Sha256
    kotlin-compiler-1.4.21.zip 46720991a716e90bfc0cf3f2c81b2bd735c14f4ea6a5064c488e04fd76e6b6c7
    kotlin-native-linux-1.4.21.tar.gz 140c06ede7d4c23ff65fb8de507aff117e96d8330dbb9b910a730bfb70bca59c
    kotlin-native-macos-1.4.21.tar.gz e7a13b3138e2769a1ab0b9eb8187b56f8874380cdd96479702f1063ce7de69ca
    kotlin-native-windows-1.4.21.zip e97242bb79a945f20ebc749200f30b80865b725054b098d9c2dec3e09a98a3d

    Kotlin 1.4.20

    CHANGELOG

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    CHANGELOG

    1.4.20

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    • KT-38787 Missing optimization for "in range" check
    • KT-39100 Make Native behaviour of property initialization consistent with JVM
    • KT-39798 Override equals/hashCode in functional interface wrappers on Native
    • KT-39800 equals/hashCode on adapted function references on Native
    • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
    • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

    Compiler

    New Features

    • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
    • KT-34178 Scripts should be able to access imports objects
    • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
    • KT-31567 Support special semantics for underscore-named catch block parameters

    Performance Improvements

    • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
    • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
    • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
    • KT-36814 Support optimized delegated properties in JVM_IR
    • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
    • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
    • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
    • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

    Fixes

    • KT-11713 Refine visibility check for synthetic property with protected setter
    • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
    • KT-25519 Extra inline marks inside suspending function callable reference bytecode
    • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
    • KT-35495 FIR: forbid non-Java synthetic properties
    • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
    Commits

    Updates kotlin-stdlib-jdk7 from 1.4.10 to 1.4.21-2

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.4.21

    CHANGELOG

    IDE. Gradle Integration

    • KT-42561 "Could not get unknown property 'sourceSets' for project" when running JVM module with included MPP module
    • KT-43511 Task 'MainKt.main()' not found in root project

    Libraries

    • KT-43586 Source documentation: ExperimentalPathAPI misspelt
    • KT-43745 replace for strings ignores case of locale characters

    Native. C and ObjC Import

    • KT-43265 Kotlin/Native fails to generate alias for C enum entry
    • KT-43530 Kotlin/Native compilation fails with "Symbol for public kotlin/Array.size.|-8255337774232345969[0] is unbound"

    Native

    • KT-43517 On Kotlin 1.4.20 we got kotlin.NotImplementedError when try compile iOS framework

    Tools. Gradle. JS

    • KT-43668 PackageJson task use file dependencies as is (files and directories), but only files necessary

    Checksums

    File Sha256
    kotlin-compiler-1.4.21.zip 46720991a716e90bfc0cf3f2c81b2bd735c14f4ea6a5064c488e04fd76e6b6c7
    kotlin-native-linux-1.4.21.tar.gz 140c06ede7d4c23ff65fb8de507aff117e96d8330dbb9b910a730bfb70bca59c
    kotlin-native-macos-1.4.21.tar.gz e7a13b3138e2769a1ab0b9eb8187b56f8874380cdd96479702f1063ce7de69ca
    kotlin-native-windows-1.4.21.zip e97242bb79a945f20ebc749200f30b80865b725054b098d9c2dec3e09a98a3d

    Kotlin 1.4.20

    CHANGELOG

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    CHANGELOG

    1.4.20

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    • KT-38787 Missing optimization for "in range" check
    • KT-39100 Make Native behaviour of property initialization consistent with JVM
    • KT-39798 Override equals/hashCode in functional interface wrappers on Native
    • KT-39800 equals/hashCode on adapted function references on Native
    • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
    • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

    Compiler

    New Features

    • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
    • KT-34178 Scripts should be able to access imports objects
    • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
    • KT-31567 Support special semantics for underscore-named catch block parameters

    Performance Improvements

    • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
    • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
    • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
    • KT-36814 Support optimized delegated properties in JVM_IR
    • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
    • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
    • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
    • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

    Fixes

    • KT-11713 Refine visibility check for synthetic property with protected setter
    • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
    • KT-25519 Extra inline marks inside suspending function callable reference bytecode
    • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
    • KT-35495 FIR: forbid non-Java synthetic properties
    • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump kotlin_version from 1.4.10 to 1.4.21

    Bump kotlin_version from 1.4.10 to 1.4.21

    Bumps kotlin_version from 1.4.10 to 1.4.21. Updates kotlin-gradle-plugin from 1.4.10 to 1.4.21

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.4.21

    CHANGELOG

    IDE. Gradle Integration

    • KT-42561 "Could not get unknown property 'sourceSets' for project" when running JVM module with included MPP module
    • KT-43511 Task 'MainKt.main()' not found in root project

    Libraries

    • KT-43586 Source documentation: ExperimentalPathAPI misspelt
    • KT-43745 replace for strings ignores case of locale characters

    Native. C and ObjC Import

    • KT-43265 Kotlin/Native fails to generate alias for C enum entry
    • KT-43530 Kotlin/Native compilation fails with "Symbol for public kotlin/Array.size.|-8255337774232345969[0] is unbound"

    Native

    • KT-43517 On Kotlin 1.4.20 we got kotlin.NotImplementedError when try compile iOS framework

    Tools. Gradle. JS

    • KT-43668 PackageJson task use file dependencies as is (files and directories), but only files necessary

    Checksums

    File Sha256
    kotlin-compiler-1.4.21.zip 46720991a716e90bfc0cf3f2c81b2bd735c14f4ea6a5064c488e04fd76e6b6c7
    kotlin-native-linux-1.4.21.tar.gz 140c06ede7d4c23ff65fb8de507aff117e96d8330dbb9b910a730bfb70bca59c
    kotlin-native-macos-1.4.21.tar.gz e7a13b3138e2769a1ab0b9eb8187b56f8874380cdd96479702f1063ce7de69ca
    kotlin-native-windows-1.4.21.zip e97242bb79a945f20ebc749200f30b80865b725054b098d9c2dec3e09a98a3d

    Kotlin 1.4.20

    CHANGELOG

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    CHANGELOG

    1.4.20

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    • KT-38787 Missing optimization for "in range" check
    • KT-39100 Make Native behaviour of property initialization consistent with JVM
    • KT-39798 Override equals/hashCode in functional interface wrappers on Native
    • KT-39800 equals/hashCode on adapted function references on Native
    • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
    • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

    Compiler

    New Features

    • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
    • KT-34178 Scripts should be able to access imports objects
    • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
    • KT-31567 Support special semantics for underscore-named catch block parameters

    Performance Improvements

    • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
    • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
    • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
    • KT-36814 Support optimized delegated properties in JVM_IR
    • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
    • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
    • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
    • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

    Fixes

    • KT-11713 Refine visibility check for synthetic property with protected setter
    • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
    • KT-25519 Extra inline marks inside suspending function callable reference bytecode
    • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
    • KT-35495 FIR: forbid non-Java synthetic properties
    • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
    Commits
    • d633033 FIR IDE: introduce param for enabling disabled tests
    • a671054 FIR IDE: change until-build to 203.* in plugin.xml
    • b6d80a1 Build: Fix kotlin-compiler-internal-test-framework empty sources jar
    • 1d51dff Reminder about -Pidea.fir.plugin=true for running fir-idea tests
    • e5c62c3 [JS] Disable special checks in labeled-block-to-do-while
    • 7ca54ec [JS IR] unmute test arraySort.kt
    • 4c69f78 [JS] Replace J2V8 based ScriptEngine with a process-based version
    • 39cc149 [JS] Revert disabling running ES6 tests on all platforms except linux
    • 2cb4a49 [JS] Remove j2v8 from dependencies
    • f4431a2 [JS] Make all JS test tasks depending on setupV8
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.10 to 1.4.21

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.4.21

    CHANGELOG

    IDE. Gradle Integration

    • KT-42561 "Could not get unknown property 'sourceSets' for project" when running JVM module with included MPP module
    • KT-43511 Task 'MainKt.main()' not found in root project

    Libraries

    • KT-43586 Source documentation: ExperimentalPathAPI misspelt
    • KT-43745 replace for strings ignores case of locale characters

    Native. C and ObjC Import

    • KT-43265 Kotlin/Native fails to generate alias for C enum entry
    • KT-43530 Kotlin/Native compilation fails with "Symbol for public kotlin/Array.size.|-8255337774232345969[0] is unbound"

    Native

    • KT-43517 On Kotlin 1.4.20 we got kotlin.NotImplementedError when try compile iOS framework

    Tools. Gradle. JS

    • KT-43668 PackageJson task use file dependencies as is (files and directories), but only files necessary

    Checksums

    File Sha256
    kotlin-compiler-1.4.21.zip 46720991a716e90bfc0cf3f2c81b2bd735c14f4ea6a5064c488e04fd76e6b6c7
    kotlin-native-linux-1.4.21.tar.gz 140c06ede7d4c23ff65fb8de507aff117e96d8330dbb9b910a730bfb70bca59c
    kotlin-native-macos-1.4.21.tar.gz e7a13b3138e2769a1ab0b9eb8187b56f8874380cdd96479702f1063ce7de69ca
    kotlin-native-windows-1.4.21.zip e97242bb79a945f20ebc749200f30b80865b725054b098d9c2dec3e09a98a3d

    Kotlin 1.4.20

    CHANGELOG

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    CHANGELOG

    1.4.20

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    • KT-38787 Missing optimization for "in range" check
    • KT-39100 Make Native behaviour of property initialization consistent with JVM
    • KT-39798 Override equals/hashCode in functional interface wrappers on Native
    • KT-39800 equals/hashCode on adapted function references on Native
    • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
    • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

    Compiler

    New Features

    • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
    • KT-34178 Scripts should be able to access imports objects
    • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
    • KT-31567 Support special semantics for underscore-named catch block parameters

    Performance Improvements

    • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
    • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
    • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
    • KT-36814 Support optimized delegated properties in JVM_IR
    • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
    • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
    • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
    • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

    Fixes

    • KT-11713 Refine visibility check for synthetic property with protected setter
    • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
    • KT-25519 Extra inline marks inside suspending function callable reference bytecode
    • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
    • KT-35495 FIR: forbid non-Java synthetic properties
    • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
    Commits
    • d633033 FIR IDE: introduce param for enabling disabled tests
    • a671054 FIR IDE: change until-build to 203.* in plugin.xml
    • b6d80a1 Build: Fix kotlin-compiler-internal-test-framework empty sources jar
    • 1d51dff Reminder about -Pidea.fir.plugin=true for running fir-idea tests
    • e5c62c3 [JS] Disable special checks in labeled-block-to-do-while
    • 7ca54ec [JS IR] unmute test arraySort.kt
    • 4c69f78 [JS] Replace J2V8 based ScriptEngine with a process-based version
    • 39cc149 [JS] Revert disabling running ES6 tests on all platforms except linux
    • 2cb4a49 [JS] Remove j2v8 from dependencies
    • f4431a2 [JS] Make all JS test tasks depending on setupV8
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump kotlin_version from 1.4.10 to 1.4.20

    Bump kotlin_version from 1.4.10 to 1.4.20

    Bumps kotlin_version from 1.4.10 to 1.4.20. Updates kotlin-gradle-plugin from 1.4.10 to 1.4.20

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.4.20

    CHANGELOG

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    • KT-38787 Missing optimization for "in range" check
    • KT-39100 Make Native behaviour of property initialization consistent with JVM
    • KT-39798 Override equals/hashCode in functional interface wrappers on Native
    • KT-39800 equals/hashCode on adapted function references on Native
    • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
    • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

    Compiler

    New Features

    • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
    • KT-34178 Scripts should be able to access imports objects
    • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
    • KT-31567 Support special semantics for underscore-named catch block parameters

    Performance Improvements

    • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
    • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
    • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
    • KT-36814 Support optimized delegated properties in JVM_IR
    • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
    • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
    • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
    • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

    Fixes

    • KT-11713 Refine visibility check for synthetic property with protected setter
    • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
    • KT-25519 Extra inline marks inside suspending function callable reference bytecode
    • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
    • KT-35495 FIR: forbid non-Java synthetic properties
    • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
    • KT-35716 Using @JvmOverloads in @JvmStatic functions in interface companion objects causes a ClassFormatError
    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.4.20

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    • KT-38787 Missing optimization for "in range" check
    • KT-39100 Make Native behaviour of property initialization consistent with JVM
    • KT-39798 Override equals/hashCode in functional interface wrappers on Native
    • KT-39800 equals/hashCode on adapted function references on Native
    • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
    • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

    Compiler

    New Features

    • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
    • KT-34178 Scripts should be able to access imports objects
    • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
    • KT-31567 Support special semantics for underscore-named catch block parameters

    Performance Improvements

    • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
    • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
    • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
    • KT-36814 Support optimized delegated properties in JVM_IR
    • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
    • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
    • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
    • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

    Fixes

    • KT-11713 Refine visibility check for synthetic property with protected setter
    • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
    • KT-25519 Extra inline marks inside suspending function callable reference bytecode
    • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
    • KT-35495 FIR: forbid non-Java synthetic properties
    • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
    • KT-35716 Using @JvmOverloads in @JvmStatic functions in interface companion objects causes a ClassFormatError
    • KT-35730 FIR: consider creating fake overrides for objects
    Commits
    • d0c0054 Update changelog for 1.4.20 release
    • 49a7e00 Run tests AS42 under JDK 11
    • 0e75999 Clean up non failed tests in AS42
    • 995df01 Don't set KOTLIN_BUNDLED in unit tests in AS42
    • 9030514 Use absolute path to the project in test in AS 4.2
    • 8aea013 Fix ClassNotFoundException: org.w3c.dom.ElementTraversal
    • c37d269 Fix compilation
    • 53e74af Register DumpUtil if it has not been registered yet in AS42
    • 5cc229c Fix compilation in AS 4.2
    • be71a87 Fix tests for as42.
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.10 to 1.4.20

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.4.20

    CHANGELOG

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    • KT-38787 Missing optimization for "in range" check
    • KT-39100 Make Native behaviour of property initialization consistent with JVM
    • KT-39798 Override equals/hashCode in functional interface wrappers on Native
    • KT-39800 equals/hashCode on adapted function references on Native
    • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
    • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

    Compiler

    New Features

    • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
    • KT-34178 Scripts should be able to access imports objects
    • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
    • KT-31567 Support special semantics for underscore-named catch block parameters

    Performance Improvements

    • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
    • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
    • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
    • KT-36814 Support optimized delegated properties in JVM_IR
    • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
    • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
    • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
    • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

    Fixes

    • KT-11713 Refine visibility check for synthetic property with protected setter
    • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
    • KT-25519 Extra inline marks inside suspending function callable reference bytecode
    • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
    • KT-35495 FIR: forbid non-Java synthetic properties
    • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
    • KT-35716 Using @JvmOverloads in @JvmStatic functions in interface companion objects causes a ClassFormatError
    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    1.4.20

    Android

    • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
    • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
    • KT-42406 Long or infinite code analysis on simple files modification

    Backend. Native

    • KT-27534 Bridges to Nothing-returning methods have incorrect signature
    • KT-30284 Native: Nothing? type for expression override and crash
    • KT-36430 Optimize when with in range cases
    • KT-38787 Missing optimization for "in range" check
    • KT-39100 Make Native behaviour of property initialization consistent with JVM
    • KT-39798 Override equals/hashCode in functional interface wrappers on Native
    • KT-39800 equals/hashCode on adapted function references on Native
    • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
    • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

    Compiler

    New Features

    • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
    • KT-34178 Scripts should be able to access imports objects
    • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
    • KT-31567 Support special semantics for underscore-named catch block parameters

    Performance Improvements

    • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
    • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
    • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
    • KT-36814 Support optimized delegated properties in JVM_IR
    • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
    • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
    • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
    • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

    Fixes

    • KT-11713 Refine visibility check for synthetic property with protected setter
    • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
    • KT-25519 Extra inline marks inside suspending function callable reference bytecode
    • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
    • KT-35495 FIR: forbid non-Java synthetic properties
    • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
    • KT-35716 Using @JvmOverloads in @JvmStatic functions in interface companion objects causes a ClassFormatError
    • KT-35730 FIR: consider creating fake overrides for objects
    Commits
    • d0c0054 Update changelog for 1.4.20 release
    • 49a7e00 Run tests AS42 under JDK 11
    • 0e75999 Clean up non failed tests in AS42
    • 995df01 Don't set KOTLIN_BUNDLED in unit tests in AS42
    • 9030514 Use absolute path to the project in test in AS 4.2
    • 8aea013 Fix ClassNotFoundException: org.w3c.dom.ElementTraversal
    • c37d269 Fix compilation
    • 53e74af Register DumpUtil if it has not been registered yet in AS42
    • 5cc229c Fix compilation in AS 4.2
    • be71a87 Fix tests for as42.
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump junit from 4.13 to 4.13.1

    Bump junit from 4.13 to 4.13.1

    Bumps junit from 4.13 to 4.13.1.

    Release notes

    Sourced from junit's releases.

    JUnit 4.13.1

    Please refer to the release notes for details.

    Changelog

    Sourced from junit's changelog.

    Summary of changes in version 4.13.1

    Rules

    Security fix: TemporaryFolder now limits access to temporary folders on Java 1.7 or later

    A local information disclosure vulnerability in TemporaryFolder has been fixed. See the published security advisory for details.

    Test Runners

    [Pull request #1669:](junit-team/junit#1669) Make FrameworkField constructor public

    Prior to this change, custom runners could make FrameworkMethod instances, but not FrameworkField instances. This small change allows for both now, because FrameworkField's constructor has been promoted from package-private to public.

    Commits
    • 1b683f4 [maven-release-plugin] prepare release r4.13.1
    • ce6ce3a Draft 4.13.1 release notes
    • c29dd82 Change version to 4.13.1-SNAPSHOT
    • 1d17486 Add a link to assertThrows in exception testing
    • 543905d Use separate line for annotation in Javadoc
    • 510e906 Add sub headlines to class Javadoc
    • 610155b Merge pull request from GHSA-269g-pwp5-87pp
    • b6cfd1e Explicitly wrap float parameter for consistency (#1671)
    • a5d205c Fix GitHub link in FAQ (#1672)
    • 3a5c6b4 Deprecated since jdk9 replacing constructor instance of Double and Float (#1660)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump gradle from 4.0.1 to 4.2.2

    Bump gradle from 4.0.1 to 4.2.2

    Bumps gradle from 4.0.1 to 4.2.2.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump kotlin_version from 1.4.10 to 1.5.20

    Bump kotlin_version from 1.4.10 to 1.5.20

    Bumps kotlin_version from 1.4.10 to 1.5.20. Updates kotlin-gradle-plugin from 1.4.10 to 1.5.20

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.5.20

    How to update to a new release

    Changelog

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations
    • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
    • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
    • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
    • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
    • KT-38476 [FIR] Forgotten type approximation
    • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
    • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
    • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
    • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
    • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
    • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
    • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
    • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
    • KT-44036 Enum initialization order
    • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
    • KT-44554 RAW FIR: NPE in RawFirBuilder
    • KT-44682 raw FIR: incorrect source for qualified access
    • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
    • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
    • KT-44802 FIR bootstrap: trying to access package private class
    • KT-44813 FIR bootstrap: various errors in collection-like classes
    • KT-44814 FIR bootstrap: incorrect cast in when branch
    • KT-44942 [FIR] ClassCastException in boostrap tests

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.5.20

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations
    • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
    • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
    • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
    • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
    • KT-38476 [FIR] Forgotten type approximation
    • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
    • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
    • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
    • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
    • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
    • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
    • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
    • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
    • KT-44036 Enum initialization order
    • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
    • KT-44554 RAW FIR: NPE in RawFirBuilder
    • KT-44682 raw FIR: incorrect source for qualified access
    • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
    • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
    • KT-44802 FIR bootstrap: trying to access package private class
    • KT-44813 FIR bootstrap: various errors in collection-like classes
    • KT-44814 FIR bootstrap: incorrect cast in when branch
    • KT-44942 [FIR] ClassCastException in boostrap tests
    • KT-44995 FIR: false positive for ANNOTATION_ARGUMENT_MUST_BE_CONST
    • KT-45010 FIR: lambda arguments of inapplicable call is not resolved
    • KT-45048 FIR bootstrap: VerifyError on KtUltraLightClass

    ... (truncated)

    Commits
    • 282fd2c Move 1.4.x changelog to a separate file
    • d2a196c Add changelog for 1.5.20
    • 4ac3753 Restore removed 'kotlinPluginVersion' property.
    • eec6efb Use proper applicability for constraint warnings
    • dc8fa06 rrr/1.5.20-release/ayalyshev/change-notes
    • 2ffcc16 Add regression test for MPP android source set with resources
    • 679e768 Fix adding non-directory to resources for Android source set
    • 6b8cae2 Add workaround for compiler downloader for 1.5.20 release binaries
    • 7d180b8 Treat toolchain as input only for JVM tasks.
    • a5e1ec9 Revert "Warn on using 'jdkHome' option in Gradle builds."
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.10 to 1.5.20

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.5.20

    How to update to a new release

    Changelog

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations
    • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
    • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
    • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
    • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
    • KT-38476 [FIR] Forgotten type approximation
    • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
    • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
    • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
    • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
    • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
    • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
    • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
    • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
    • KT-44036 Enum initialization order
    • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
    • KT-44554 RAW FIR: NPE in RawFirBuilder
    • KT-44682 raw FIR: incorrect source for qualified access
    • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
    • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
    • KT-44802 FIR bootstrap: trying to access package private class
    • KT-44813 FIR bootstrap: various errors in collection-like classes
    • KT-44814 FIR bootstrap: incorrect cast in when branch
    • KT-44942 [FIR] ClassCastException in boostrap tests

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    1.5.20

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations
    • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
    • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
    • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
    • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
    • KT-38476 [FIR] Forgotten type approximation
    • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
    • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
    • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
    • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
    • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
    • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
    • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
    • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
    • KT-44036 Enum initialization order
    • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
    • KT-44554 RAW FIR: NPE in RawFirBuilder
    • KT-44682 raw FIR: incorrect source for qualified access
    • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
    • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
    • KT-44802 FIR bootstrap: trying to access package private class
    • KT-44813 FIR bootstrap: various errors in collection-like classes
    • KT-44814 FIR bootstrap: incorrect cast in when branch
    • KT-44942 [FIR] ClassCastException in boostrap tests
    • KT-44995 FIR: false positive for ANNOTATION_ARGUMENT_MUST_BE_CONST
    • KT-45010 FIR: lambda arguments of inapplicable call is not resolved
    • KT-45048 FIR bootstrap: VerifyError on KtUltraLightClass

    ... (truncated)

    Commits
    • 282fd2c Move 1.4.x changelog to a separate file
    • d2a196c Add changelog for 1.5.20
    • 4ac3753 Restore removed 'kotlinPluginVersion' property.
    • eec6efb Use proper applicability for constraint warnings
    • dc8fa06 rrr/1.5.20-release/ayalyshev/change-notes
    • 2ffcc16 Add regression test for MPP android source set with resources
    • 679e768 Fix adding non-directory to resources for Android source set
    • 6b8cae2 Add workaround for compiler downloader for 1.5.20 release binaries
    • 7d180b8 Treat toolchain as input only for JVM tasks.
    • a5e1ec9 Revert "Warn on using 'jdkHome' option in Gradle builds."
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump gradle from 4.0.1 to 7.0.0

    Bump gradle from 4.0.1 to 7.0.0

    Bumps gradle from 4.0.1 to 7.0.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump kotlin_version from 1.4.10 to 1.5.21

    Bump kotlin_version from 1.4.10 to 1.5.21

    Bumps kotlin_version from 1.4.10 to 1.5.21. Updates kotlin-gradle-plugin from 1.4.10 to 1.5.21

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.5.21

    Changelog

    Compiler

    • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
    • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
    • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
    • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
    • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
    • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
    • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters

    Tools. Compiler Plugins

    • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
    • KT-47455 Kotlin lombok plugin NullPointerException
    • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db60 (TopDownAnalyzer for JVM)'

    Tools. Gradle

    • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)

    Tools. kapt

    • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20

    Checksums

    File Sha256
    kotlin-compiler-1.5.21.zip f3313afdd6abf1b8c75c6292f4e41f2dbafefc8f6c72762c7ba9b3daeef5da59
    kotlin-native-linux-1.5.21.tar.gz fa3dfec9c11711c2b713a1482bcc4511bb8f73f182f12aa7d858943f6f084397
    kotlin-native-macos-1.5.21.tar.gz adced4f332b2d3f91d14bf3cf5c1059cfbbac4dc75d91ae88645118badbc401a
    kotlin-native-windows-1.5.21.zip 9da4f5c2f98ac003a062c5a18260a5ed52154b5506d045539f0f3c1bfadf6b01

    Kotlin 1.5.20

    How to update to a new release

    Changelog

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.5.21

    Compiler

    • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
    • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
    • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
    • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
    • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
    • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
    • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters

    Tools. Compiler Plugins

    • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
    • KT-47455 Kotlin lombok plugin NullPointerException
    • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db60 (TopDownAnalyzer for JVM)'

    Tools. Gradle

    • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)

    Tools. kapt

    • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20

    1.5.20

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations

    ... (truncated)

    Commits
    • ec9d0b0 Add changelog for 1.5.21
    • f2b6728 Add change notes for 1.5.21
    • d9dd7f6 IR: repair collectAndFilterRealOverrides
    • 70522f6 JVM_IR: simplify resolveFakeOverride call in SyntheticAccessorLowering
    • 3843893 IR: properly compute IrProperty.resolveFakeOverride()
    • a1e6c87 Fix Gradle tests failing compilation.
    • 18328f9 Create a copy of incorrectly deserialized parent's writeSelf function
    • 68474d7 Fix publication failed in projects which are using BOM.
    • 8538ed4 [lombok] Get field names directly from JavaClassImpl
    • 26c0b3d [FE 1.0] Fix message of INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning
    • Additional commits viewable in compare view

    Updates kotlin-stdlib-jdk7 from 1.4.10 to 1.5.21

    Release notes

    Sourced from kotlin-stdlib-jdk7's releases.

    Kotlin 1.5.21

    Changelog

    Compiler

    • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
    • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
    • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
    • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
    • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
    • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
    • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters

    Tools. Compiler Plugins

    • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
    • KT-47455 Kotlin lombok plugin NullPointerException
    • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db60 (TopDownAnalyzer for JVM)'

    Tools. Gradle

    • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)

    Tools. kapt

    • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20

    Checksums

    File Sha256
    kotlin-compiler-1.5.21.zip f3313afdd6abf1b8c75c6292f4e41f2dbafefc8f6c72762c7ba9b3daeef5da59
    kotlin-native-linux-1.5.21.tar.gz fa3dfec9c11711c2b713a1482bcc4511bb8f73f182f12aa7d858943f6f084397
    kotlin-native-macos-1.5.21.tar.gz adced4f332b2d3f91d14bf3cf5c1059cfbbac4dc75d91ae88645118badbc401a
    kotlin-native-windows-1.5.21.zip 9da4f5c2f98ac003a062c5a18260a5ed52154b5506d045539f0f3c1bfadf6b01

    Kotlin 1.5.20

    How to update to a new release

    Changelog

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib-jdk7's changelog.

    1.5.21

    Compiler

    • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
    • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
    • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
    • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
    • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
    • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
    • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters

    Tools. Compiler Plugins

    • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
    • KT-47455 Kotlin lombok plugin NullPointerException
    • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db60 (TopDownAnalyzer for JVM)'

    Tools. Gradle

    • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)

    Tools. kapt

    • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20

    1.5.20

    Compiler

    New Features

    • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
    • KT-44373 FIR: support error / warning suppression
    • KT-45189 Support nullability annotations at module level
    • KT-45284 Emit warnings based on jspecify annotations
    • KT-45525 Allow to omit JvmInline annotation for expect value classes
    • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above

    Performance Improvements

    • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR

    Fixes

    • KT-8325 Unresolved annotation should be an error
    • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-25876 Annotations on return types and supertypes are not analyzed
    • KT-28449 Annotation target is not analyzed in several cases for type annotations

    ... (truncated)

    Commits
    • ec9d0b0 Add changelog for 1.5.21
    • f2b6728 Add change notes for 1.5.21
    • d9dd7f6 IR: repair collectAndFilterRealOverrides
    • 70522f6 JVM_IR: simplify resolveFakeOverride call in SyntheticAccessorLowering
    • 3843893 IR: properly compute IrProperty.resolveFakeOverride()
    • a1e6c87 Fix Gradle tests failing compilation.
    • 18328f9 Create a copy of incorrectly deserialized parent's writeSelf function
    • 68474d7 Fix publication failed in projects which are using BOM.
    • 8538ed4 [lombok] Get field names directly from JavaClassImpl
    • 26c0b3d [FE 1.0] Fix message of INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump robolectric from 4.4 to 4.6.1

    Bump robolectric from 4.4 to 4.6.1

    Bumps robolectric from 4.4 to 4.6.1.

    Release notes

    Sourced from robolectric's releases.

    Robolectric 4.6.1

    This is a minor release that fixes #6589, in which ShadowActivityManager contained a reference to android.app.ApplicationExitInfo, introduced in SDK 30, in public method. This caused shadowOf to fail if the target SDK was < 30. Thanks to @​utzcoz for the fix and @​jankowskib for reporting the issue.

    Robolectric 4.6

    More details forthcoming, but the highlights are:

    • Uses preinstrumented jars by default, significantly decreasing startup time. There will be a blog post containing more details shortly.
    • Massive fidelity improvements for Bitmap and BitmapFactory.
    • Tons of bug fixes and fidelity improvements.

    Robolectric 4.6 Alpha 2

    NOTE: Robolectric 4.6-alpha-2 is a outdated preview release; please use 4.6 or later instead.

    Robolectric 4.6 Alpha 1

    NOTE: Robolectric 4.6-alpha-1 is a outdated preview release; please use 4.6 or later instead.

    Robolectric 4.5.1

    This is a minor release that fixes a regression in 4.5 and removes some superfluous print statements. See robolectric/robolectric#6187 and robolectric/robolectric#6177 respectively for more details.

    Robolectric 4.5 adds support for Android API 30 (R final) and contains many bug fixes and other enhancements.

    More detailed release notes are forthcoming.

    For all changes view the comparison to 4.4.

    Use Robolectric:

    testCompile "org.robolectric:robolectric:4.5"
    

    Robolectric 4.5 Beta 1

    NOTE: Robolectric 4.5-beta-1 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 3

    NOTE: Robolectric 4.5-alpha-3 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 2

    NOTE: Robolectric 4.5-alpha-2 is a outdated preview release; please use 4.5 or later instead.

    Robolectric 4.5 Alpha 1

    NOTE: Robolectric 4.5-alpha-1 is a outdated preview release; please use 4.5 or later instead.

    Commits
    • e155bd1 Bump version to 4.6.1.
    • 8272bf3 Add strict type checking for ShadowActivityManager#addApplicationExitInfo
    • 360399b Only using ApplicationExitInfo for compileSDK 30 and above
    • 0053c4c Bump version to 4.6.
    • d33f746 Merge pull request #6586 from robolectric/piper_382532715
    • bd992c7 Merge pull request #6585 from robolectric/piper_382343763
    • 5c4b8cf Add StatsLog Shadow.
    • 6c02444 Merge pull request #6588 from robolectric/piper_382573741
    • fe0146b Merge pull request #6583 from robolectric/piper_382330525
    • c7f0033 Merge pull request #6582 from robolectric/piper_382132848
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Upgrade to GitHub-native Dependabot

    Upgrade to GitHub-native Dependabot

    Dependabot Preview will be shut down on August 3rd, 2021. In order to keep getting Dependabot updates, please merge this PR and migrate to GitHub-native Dependabot before then.

    Dependabot has been fully integrated into GitHub, so you no longer have to install and manage a separate app. This pull request migrates your configuration from Dependabot.com to a config file, using the new syntax. When merged, we'll swap out dependabot-preview (me) for a new dependabot app, and you'll be all set!

    With this change, you'll now use the Dependabot page in GitHub, rather than the Dependabot dashboard, to monitor your version updates, and you'll configure Dependabot through the new config file rather than a UI.

    If you've got any questions or feedback for us, please let us know by creating an issue in the dependabot/dependabot-core repository.

    Learn more about migrating to GitHub-native Dependabot

    Please note that regular @dependabot commands do not work on this pull request.

    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump junit from 4.13 to 4.13.2

    Bump junit from 4.13 to 4.13.2

    Bumps junit from 4.13 to 4.13.2.

    Release notes

    Sourced from junit's releases.

    JUnit 4.13.2

    Please refer to the release notes for details.

    JUnit 4.13.1

    Please refer to the release notes for details.

    Changelog

    Sourced from junit's changelog.

    Summary of changes in version 4.13.2

    Rules

    [Pull request #1687:](junit-team/junit#1687) Mark ThreadGroups created by FailOnTimeout as daemon groups

    In JUnit 4.13 ([pull request #1517](junit-team/junit4#1517)) an attempt was made to fix leakage of the ThreadGroup instances created when a test is run with a timeout. That change explicitly destroyed the ThreadGroup that was created for the time-limited test. Numerous people reported problems that were caused by explicitly destroying the ThreadGroup.

    In this change, the code was updated to call ThreadGroup.setDaemon(true) instead of destroying the ThreadGroup.

    Pull request $1691: Only create ThreadGroups if FailOnTimeout.lookForStuckThread is true.

    In JUnit 4.12 ([pull request #742](junit-team/junit4#742)) the Timeout Rule was updated to optionally display the stacktrace of the thread that appears to be stuck (enabled on an opt-in basis by passing true to Timeout.Builder.lookForStuckThread(boolean)). When that change was made, time-limited tests were changed to start the new thread in a new ThreadGroup, even if the test did not call lookForStuckThread(). This subtle change in behavior resulted in visible behavior changes to some tests (for example, tests of code that uses java.beans.ThreadGroupContext).

    In this change, the code is updated to only create a new ThreadGroup if the caller calls Timeout.Builder.lookForStuckThread(true). Tests with timeouts that do not make this call will behave as they did in JUnit 4.11 (and more similar to tests that do not have a timeout). This unfortunately could result in visible changes of tests written or updated since the 4.12 release. If this change adversely affects your tests, you can create the Timeout rule via the builder and call Timeout.Builder.lookForStuckThread(true).

    Exceptions

    [Pull request #1654:](junit-team/junit#1654) Fix for issue #1192: NotSerializableException with AssumptionViolatedException

    This change fixes an issue where AssumptionViolatedException instances could not be serialized if they were created with a constructor that takes in an org.hamcrest.Matcher instance (these constructors are used if you use one of the assumeThat() methods in org.junit.Assume).

    Commits
    • 05fe2a6 [maven-release-plugin] prepare release r4.13.2
    • ff57344 Add build for JDK 17-ea
    • 02aaa01 Improve check that thread is stopped
    • e9a75f4 Merge test for exception type and message
    • d27ad52 Rename DelegateStatement to DelegatingStatement
    • b83dc2e Better name for test that stops statement
    • 527f3a3 Replace InfiniteLoop with RunForASecond
    • 2db6394 Tidy up FailOnTimeoutTest
    • 64634e1 Update 4.13.2 release notes to document pull 1654
    • f8ee412 Fix serialization of AssumptionViolatedException (#1654)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Gradle Dependency Management using Kotlin and buildSrc

    Gradle Dependency Management using Kotlin and buildSrc

    Resources

    • https://caster.io/lessons/gradle-dependency-management-using-kotlin-and-buildsrc-for-buildgradle-autocomplete-in-android-studio
    • Many Medium articles
    opened by hitanshu-dhawan 0
Releases(1.2.1)
  • 1.2.1(Sep 27, 2020)

    SpannableStringFormatter

    "Hitanshu Dhawan"
            .property("text-color", "#0000FF")
            .property("text-decoration", "underline", "strike-through")
            .spannify()
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Sep 27, 2020)

    SpannableStringFormatter

    "Hitanshu Dhawan"
            .property("text-color", "#0000FF")
            .property("text-decoration", "underline", "strike-through")
            .spannify()
    
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Jan 11, 2020)

    Supported Properties

    • text-color
    • background-color
    • line-background-color
    • text-size
    • text-decoration
    • subscript
    • superscript
    • text-style
    • font-family
    • text-alignment
    • line-height
    • url
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Dec 30, 2019)

Owner
Hitanshu Dhawan
Android Engineer @PhonePe | Previously @urbanclap-engg
Hitanshu Dhawan
MarkdownView is an Android webview with the capablity of loading Markdown text or file and display it as HTML, it uses MarkdownJ and extends Android webview.

MarkdownView is an Android webview with the capablity of loading Markdown text or file and display it as HTML, it uses MarkdownJ and extends Android webview.

Feras Alnatsheh 1k Dec 20, 2022
Android's TextView that can expand/collapse like the Google Play's app description

ExpandableTextView ExpandableTextView is an Android library that allows developers to easily create an TextView which can expand/collapse just like th

Manabu S. 4k Dec 28, 2022
A library to show emoji in TextView, EditText (like WhatsApp) for Android

Discontinued This projected is discontinued. Please consider using other alternative, i.e EmojiCompat. Contact me if you want to continue working on a

Hieu Rocker 3.6k Jan 5, 2023
Android experiment showing a sinking TextView

Titanic is an Android experiment reproducing this effect.

Romain Piel 1.8k Dec 15, 2022
:page_facing_up: Android Text Full Jusiftication / Wrapping / Justify / Hyphenate - V2.0

LIBRARY IS NO LONGER MAINTAINED If you want to adopt + maintain this library, please drop me a message - [email protected] Android Full Justific

Mathew Kurian 1.9k Dec 29, 2022
Android form edit text is an extension of EditText that brings data validation facilities to the edittext.

Android Form EditText Android form edit text is an extension of EditText that brings data validation facilities to the edittext. Example App I built a

Andrea 1.5k Dec 14, 2022
Gmail style MultiAutoCompleteTextView for Android

Version 3.0 The 3.0.1 version is now available! This should resolve a number of text handling issues and lay the groundwork for better support of mixe

Splitwise 1.3k Nov 14, 2022
Advanced Android TextView

Advanced Android TextView Companion app for my Advanced Android TextView talk, demostrating: Animated CompoundDrawable Text shadow Custom font Non-bre

Chiu-Ki Chan 1.2k Dec 9, 2022
[DISCONTINUED] Rrich text editor for android platform. 安卓富文本编辑器,暂停维护

icarus-android Maybe the best rich text editor on android platform. Base on Simditor Features Alignment (left/center/right) Bold Blockquote Code Horiz

Dyson Woo 739 Sep 5, 2022
Android Bubble View

BubbleTextView Custom arrow position Custom fillet radius Custom background color Can be placed anywhere Two default style Two default theme Snapshot

null 669 Nov 11, 2022
A Material Android password view that toggles password visibility via an eye icon.

8/17/2016: As of about an hour ago, this library is deprecated! Support for password visibility is now included in the Design Support Library in TextI

Lisa Wray 715 Dec 29, 2022
RoundedLetterView like the one in Android 5.0 Contacts app

RoundedLetterView RoundedLetterView like the one in Android 5.0 Contacts app Attributes to choose from: rlv_titleText - The text in the first row. rlv

Pavlos-Petros Tournaris 651 Dec 30, 2022
Android library contain custom realisation of EditText component for masking and formatting input text

Masked-Edittext Masked-Edittext android library EditText widget wrapper add masking and formatting input text functionality. Install Maven <dependency

Evgeny Safronov 600 Nov 29, 2022
Circular timer on Android platform.

CircleTimerView [No Longer Support] Circle timer on Android platform. System Requirement Android v2.2+ TODO Developed by AndroidStudio Usage <com.gith

Abbott 515 Nov 19, 2022
An address-autocompleting text field for Android

android-PlacesAutocompleteTextView An AutocompleteTextView that interacts with the Google Maps Places API to provide location results and caches selec

SeatGeek 283 Dec 28, 2022
library to implement and render emojis For Android

Release Notes SuperNova-Emoji SuperNova-Emoji is a library to implement and render emojis. Minimum SDK Level: 9 (2.3) Contact Java Usage To use defaul

Hani Al-momani 360 Jan 3, 2023
Chips EditText, Token EditText, Bubble EditText, Spannable EditText and etc.. There are many names of this control. Here I develop easy to understand , modify and integrate Chips Edit Text widget for Android

Chips EditText Library Chips EditText, Token EditText, Bubble EditText, Spannable EditText and etc.. There are many names of this control. Here I deve

kpbird 381 Nov 20, 2022
Float Label Edit Texts for Android

Floating Label Edit Text for Android For more info, see this blog post. Salient features Simple and clean library (open up the source to see for yours

null 428 Nov 25, 2022
AutosizeEditText for Android is an extension of native EditText that offer a smooth auto scale text size.

AutoscaleEditText AutosizeEditText for Android is an extension of native EditText that offer a smooth auto scale text size. Latest Version How to use

Txus Ballesteros 354 Nov 28, 2022