Skip to content

Version 1.3.1 #1506

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
Sep 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
1637eba
Use Array.fill extension from stdlib
JakeWharton Aug 22, 2019
aafbde1
Merge remote-tracking branch 'origin/master' into develop
elizarov Aug 23, 2019
9acde74
Rename test to SegmentQueueLinearizabilityTest for consistency
elizarov Aug 12, 2019
1f5ab53
flow: fix recursion in combineTransform<T1, T2, R>()
hrach Aug 23, 2019
2907df9
Merge remote-tracking branch 'origin/master' into develop
elizarov Aug 26, 2019
5ea2c05
Add ChannelLFStressTest
elizarov Aug 23, 2019
a730f25
Ensure that all guide 'main' functions return Unit
elizarov Aug 26, 2019
fd6a5bf
Moved ChannelReceiveOrClosedTest to proper dir, cleanup it
elizarov Aug 27, 2019
f7d0177
Fixed ChannelReceiveOrClosedTest.testToString on JS
elizarov Aug 27, 2019
7672c52
Consistent naming for stress tests
elizarov Aug 28, 2019
b4f00c0
Consistently unwrap exception in slow path of CompletionStage.asDeferred
elizarov Aug 28, 2019
fd0428e
Merge remote-tracking branch 'origin/master' into develop
elizarov Aug 28, 2019
95d88ab
Fix samples in Flow docs
qwwdfsad Aug 29, 2019
57cc364
Repaired some of ListenableFuture.kt's cancellation corner cases.
yorickhenning Jul 16, 2019
9a62f27
Fix of a bug in the semaphore (#1477)
dkhalanskyjb Sep 3, 2019
5fb56f4
Added a test checking future {}'s throw on LAZY.
yorickhenning Aug 30, 2019
0b16abf
Fix propagation for stressTest property for nightly stress tests
elizarov Sep 3, 2019
f911dce
Merge remote-tracking branch 'origin/master' into develop
elizarov Sep 4, 2019
4f8a38e
Check for -PstressTest=true to run "long" stress test
elizarov Sep 4, 2019
d2f4b2b
Gradle version 5.6.1
elizarov Sep 2, 2019
762440a
Version 1.3.1
elizarov Sep 4, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Change log for kotlinx.coroutines

## Version 1.3.1

This is a minor update with various fixes:
* Flow: Fix recursion in combineTransform<T1, T2, R> (#1466).
* Fixed race in the Semaphore (#1477).
* Repaired some of ListenableFuture.kt's cancellation corner cases (#1441).
* Consistently unwrap exception in slow path of CompletionStage.asDeferred (#1479).
* Various fixes in documentation (#1496, #1476, #1470, #1468).
* Various cleanups and additions in tests.

Note: Kotlin/Native artifacts are now published with Gradle metadata format version 1.0, so you will need
Gradle version 5.3 or later to use this version of kotlinx.coroutines in your Kotlin/Native project.

## Version 1.3.0

### Flow
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![official JetBrains project](https://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0)
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=1.3.0) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/1.3.0)
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=1.3.1) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/1.3.1)

Library support for Kotlin coroutines with [multiplatform](#multiplatform) support.
This is a companion version for Kotlin `1.3.50` release.
Expand Down Expand Up @@ -83,7 +83,7 @@ Add dependencies (you can also add other modules that you need):
<dependency>
<groupId>org.jetbrains.kotlinx</groupId>
<artifactId>kotlinx-coroutines-core</artifactId>
<version>1.3.0</version>
<version>1.3.1</version>
</dependency>
```

Expand All @@ -101,7 +101,7 @@ Add dependencies (you can also add other modules that you need):

```groovy
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.1'
}
```

Expand All @@ -127,7 +127,7 @@ Add dependencies (you can also add other modules that you need):

```groovy
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.1")
}
```

Expand All @@ -146,7 +146,7 @@ Make sure that you have either `jcenter()` or `mavenCentral()` in the list of re
Core modules of `kotlinx.coroutines` are also available for
[Kotlin/JS](#js) and [Kotlin/Native](#native).
In common code that should get compiled for different platforms, add dependency to
[`kotlinx-coroutines-core-common`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-common/1.3.0/jar)
[`kotlinx-coroutines-core-common`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-common/1.3.1/jar)
(follow the link to get the dependency declaration snippet).

### Android
Expand All @@ -155,7 +155,7 @@ Add [`kotlinx-coroutines-android`](ui/kotlinx-coroutines-android)
module as dependency when using `kotlinx.coroutines` on Android:

```groovy
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.1'
```

This gives you access to Android [Dispatchers.Main]
Expand All @@ -174,15 +174,15 @@ R8 is a replacement for ProGuard in Android ecosystem, it is enabled by default
### JS

[Kotlin/JS](https://kotlinlang.org/docs/reference/js-overview.html) version of `kotlinx.coroutines` is published as
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.3.0/jar)
[`kotlinx-coroutines-core-js`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-js/1.3.1/jar)
(follow the link to get the dependency declaration snippet).

You can also use [`kotlinx-coroutines-core`](https://www.npmjs.com/package/kotlinx-coroutines-core) package via NPM.

### Native

[Kotlin/Native](https://kotlinlang.org/docs/reference/native-overview.html) version of `kotlinx.coroutines` is published as
[`kotlinx-coroutines-core-native`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-native/1.3.0/jar)
[`kotlinx-coroutines-core-native`](https://search.maven.org/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-native/1.3.1/jar)
(follow the link to get the dependency declaration snippet).

Only single-threaded code (JS-style) on Kotlin/Native is currently supported.
Expand Down
4 changes: 2 additions & 2 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ To release new `<version>` of `kotlinx-coroutines`:
* [`ui/kotlinx-coroutines-android/animation-app/gradle.properties`](ui/kotlinx-coroutines-android/animation-app/gradle.properties)
* Make sure to **exclude** `CHANGES.md` from replacements.

As an alternative approach you can use `./bump_version.sh old_version new_version`
As an alternative approach you can use `./bump-version.sh old_version new_version`

5. Write release notes in [`CHANGES.md`](CHANGES.md):
* Use old releases as example of style.
Expand Down Expand Up @@ -76,5 +76,5 @@ To release new `<version>` of `kotlinx-coroutines`:
9. Merge release from `master`:<br>
`git merge origin/master`

10. Push updates to `develop`:<br>
0. Push updates to `develop`:<br>
`git push`
3 changes: 2 additions & 1 deletion binary-compatibility-validator/build.gradle
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/*
* Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
* Copyright 2016-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/

configurations {
testArtifacts
configureKotlinJvmPlatform(testArtifacts)
}

dependencies {
Expand Down
22 changes: 16 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ buildscript {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
classpath "org.jetbrains.kotlinx:atomicfu-gradle-plugin:$atomicfu_version"
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$bintray_version"
classpath "com.moowork.gradle:gradle-node-plugin:$gradle_node_version"
classpath "io.spring.gradle:dependency-management-plugin:$spring_dependency_management_version"

Expand All @@ -72,6 +71,13 @@ buildscript {
}
}

import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType

// todo:KLUDGE: This is needed to workaround dependency resolution between Java and MPP modules
def configureKotlinJvmPlatform(configuration) {
configuration.attributes.attribute(KotlinPlatformType.attribute, KotlinPlatformType.jvm)
}

allprojects {
// the only place where HostManager could be instantiated
project.ext.hostManager = new HostManager()
Expand All @@ -98,6 +104,14 @@ allprojects {
}

ext.unpublished = unpublished

// This project property is set during nightly stress test
def stressTest = project.properties['stressTest']

// Copy it to all test tasks
tasks.withType(Test) {
systemProperty 'stressTest', stressTest
}
}

allprojects {
Expand Down Expand Up @@ -219,18 +233,14 @@ configure(subprojects.findAll { !unpublished.contains(it.name) }) {
}
}
}

if (platformOf(it) == "jvm") {
dokkaJavadoc.dependsOn project(":$coreModule").dokka
}
}
}

// Report Kotlin compiler version when building project
println("Using Kotlin compiler version: $org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION")

// --------------- Configure sub-projects that are published ---------------
task deploy(dependsOn: getTasksByName("bintrayUpload", true) + getTasksByName("publishNpm", true))
task deploy(dependsOn: getTasksByName("publish", true) + getTasksByName("publishNpm", true))

apply plugin: 'base'

Expand Down
11 changes: 8 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
#
# Copyright 2016-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
#

# Kotlin
version=1.3.0-SNAPSHOT
version=1.3.1-SNAPSHOT
group=org.jetbrains.kotlinx
kotlin_version=1.3.50

# Dependencies
junit_version=4.12
atomicfu_version=0.12.10
atomicfu_version=0.13.0
html_version=0.6.8
lincheck_version=2.0
dokka_version=0.9.16-rdev-2-mpp-hacks
bintray_version=1.8.4-jetbrains-5
byte_buddy_version=1.9.3
reactor_vesion=3.2.5.RELEASE
reactive_streams_version=1.0.2
Expand All @@ -25,4 +28,6 @@ mocha_teamcity_reporter_version=2.2.2
source_map_support_version=0.5.3
spring_dependency_management_version=1.0.8.RELEASE

# Settings
kotlin.incremental.multiplatform=true
kotlin.native.ignoreDisabledTargets=true
15 changes: 2 additions & 13 deletions gradle/dokka.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
/*
* Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
* Copyright 2016-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/

// Configures generation of JavaDoc & Dokka artifacts


def makeLinkMapping(dokka, projectDir) {
dokka.linkMapping {
def relPath = rootProject.projectDir.toPath().relativize(projectDir.toPath())
Expand All @@ -16,6 +15,7 @@ def makeLinkMapping(dokka, projectDir) {

configurations {
dokkaStubs.extendsFrom compileOnly
configureKotlinJvmPlatform(dokkaStubs)
}

apply plugin: 'org.jetbrains.dokka'
Expand Down Expand Up @@ -83,14 +83,3 @@ if (project.name == "kotlinx-coroutines-core") {
}
}
}

// real xxx-javadoc.jar for JVM
task dokkaJavadoc(type: dokka.getClass()) {
outputFormat = 'javadoc'
outputDirectory = "$buildDir/javadoc"
}

task javadocJar(type: Jar, dependsOn: dokkaJavadoc) {
classifier = 'javadoc'
from "$buildDir/javadoc"
}
Loading