You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.md
+18-18
Original file line number
Diff line number
Diff line change
@@ -237,12 +237,12 @@ Gradle version 5.3 or later to use this version of kotlinx.coroutines in your Ko
237
237
This version is the first stable release with [`Flow`](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html) API.
238
238
239
239
All `Flow` API not marked with `@FlowPreview` or `@ExperimentalCoroutinesApi` annotations are stable and here to stay.
240
-
Flow declarations marked with `@ExperimentalCoroutinesApi` have [the same guarantees](/docs/compatibility.md#experimental-api) as regular experimental API.
241
-
Please note that API marked with `@FlowPreview` have [weak guarantees](/docs/compatibility.md#flow-preview-api) on source, binary and semantic compatibility.
240
+
Flow declarations marked with `@ExperimentalCoroutinesApi` have [the same guarantees](/docs/topics/compatibility.md#experimental-api) as regular experimental API.
241
+
Please note that API marked with `@FlowPreview` have [weak guarantees](/docs/topics/compatibility.md#flow-preview-api) on source, binary and semantic compatibility.
242
242
243
243
### Changelog
244
244
245
-
* A new [guide section](/docs/flow.md) about Flow.
245
+
* A new [guide section](/docs/topics/flow.md) about Flow.
* Fixed bug when `select` statement could report the same exception twice (#1433).
248
248
* Fixed context preservation in `flatMapMerge` in a case when collected values were immediately emitted to another flow (#1440).
@@ -383,11 +383,11 @@ A lot of `Flow` improvements:
383
383
*`flatMap`, `merge` and `concatenate` are replaced with `flattenConcat`, `flattenMerge`, `flatMapConcat` and `flatMapMerge`.
384
384
* Various documentation improvements and minor bug fixes.
385
385
386
-
Note that `Flow`**is not** leaving its [preview status](/docs/compatibility.md#flow-preview-api).
386
+
Note that `Flow`**is not** leaving its [preview status](/docs/topics/compatibility.md#flow-preview-api).
387
387
388
388
## Version 1.2.0-alpha-2
389
389
390
-
This release contains major [feature preview](/docs/compatibility.md#flow-preview-api): cold streams aka `Flow` (#254).
390
+
This release contains major [feature preview](/docs/topics/compatibility.md#flow-preview-api): cold streams aka `Flow` (#254).
391
391
392
392
Performance:
393
393
* Performance of `Dispatcher.Main` initialization is significantly improved (#878).
@@ -510,7 +510,7 @@ Maintenance release:
510
510
*`Job()` wih parent now also cancels parent on failure consistently with other scopes.
511
511
* All coroutine builders and `Job` implementations propagate failure to the parent unless it is a `CancellationException`.
512
512
* Note, "scoping" builders don't "cancel the parent" verbatim, but rethrow the corresponding exception to the caller for handling.
513
-
*`SupervisorJob()` and `supervisorScope { ... }` are introduced, allowing for a flexible implementation of custom exception-handling policies, see a [new section in the guide on supervision](docs/exception-handling.md#supervision).
513
+
*`SupervisorJob()` and `supervisorScope { ... }` are introduced, allowing for a flexible implementation of custom exception-handling policies, see a [new section in the guide on supervision](docs/topics/exception-handling.md#supervision).
514
514
* Got rid of `awaitAll` in documentation and rewrote `currentScope` section (see #624).
515
515
***[Major]** Coroutine scheduler is used for `Dispatchers.Default` by default instead of deprecated `CommonPool`.
516
516
* "`DefaultDispatcher`" is used as a public name of the default impl (you'll see it thread names and in the guide).
@@ -569,7 +569,7 @@ Visible consequences of include more robust exception handling for large corouti
569
569
*`currentScope` and `coroutineScope` builders are introduced to extract and provide `CoroutineScope`.
570
570
* Factory methods to create `CoroutineScope` from `CoroutineContext` are introduced.
571
571
*`CoroutineScope.isActive` became an extension property.
572
-
* New sections about structured concurrency in core guide: ["Structured concurrency"](docs/coroutines-guide.md#structured-concurrency), ["Scope builder"](docs/coroutines-guide.md#scope-builder) and ["Structured concurrency with async"](docs/coroutines-guide.md#structured-concurrency-with-async).
572
+
* New sections about structured concurrency in core guide: ["Structured concurrency"](docs/topics/coroutines-guide.md#structured-concurrency), ["Scope builder"](docs/topics/coroutines-guide.md#scope-builder) and ["Structured concurrency with async"](docs/topics/coroutines-guide.md#structured-concurrency-with-async).
573
573
* New section in UI guide with Android example: ["Structured concurrency, lifecycle and coroutine parent-child hierarchy"](ui/coroutines-guide-ui.md#structured-concurrency,-lifecycle-and-coroutine-parent-child-hierarchy).
574
574
* Deprecated reactive API is removed.
575
575
* Dispatchers are renamed and grouped in the Dispatchers object (see #41 and #533):
@@ -589,7 +589,7 @@ Visible consequences of include more robust exception handling for large corouti
589
589
## Version 0.25.0
590
590
591
591
* Major rework on exception-handling and cancellation in coroutines (see #333, #452 and #451):
592
-
* New ["Exception Handling" section in the guide](docs/coroutines-guide.md#exception-handling) explains exceptions in coroutines.
592
+
* New ["Exception Handling" section in the guide](docs/topics/coroutines-guide.md#exception-handling) explains exceptions in coroutines.
593
593
* Semantics of `Job.cancel` resulting `Boolean` value changed —`true` means exception was handled by the job, caller shall handle otherwise.
594
594
* Exceptions are properly propagated from children to parents.
595
595
* Installed `CoroutineExceptionHandler` for a family of coroutines receives one aggregated exception in case of failure.
@@ -598,7 +598,7 @@ Visible consequences of include more robust exception handling for large corouti
598
598
* Introduced support for thread-local elements in coroutines context (see #119):
599
599
*`ThreadContextElement` API for custom thread-context sensitive context elements.
600
600
*`ThreadLocal.asContextElement()` extension function to convert an arbitrary thread-local into coroutine context element.
601
-
* New ["Thread-local data" subsection in the guide](docs/coroutines-guide.md#thread-local-data) with examples.
601
+
* New ["Thread-local data" subsection in the guide](docs/topics/coroutines-guide.md#thread-local-data) with examples.
602
602
* SLF4J Mapped Diagnostic Context (MDC) integration is provided via `MDCContext` element defined in [`kotlinx-coroutines-slf4j`](integration/kotlinx-coroutines-slf4j/README.md) integration module.
603
603
* Introduced IO dispatcher to offload blocking I/O-intensive tasks (see #79).
604
604
* Introduced `ExecutorCoroutineDispatcher` instead of `CloseableCoroutineDispatcher` (see #385).
@@ -831,7 +831,7 @@ Visible consequences of include more robust exception handling for large corouti
831
831
* Fixed `actor` and `produce` so that a cancellation of a Job cancels the underlying channel (closes and removes all the pending messages).
832
832
* Fixed sporadic failure of `example-context-06` (see #160)
833
833
* Fixed hang of `Job.start` on lazy coroutine with attached `invokeOnCompletion` handler.
834
-
* A more gradual introduction to `runBlocking` and coroutines in the [guide](docs/coroutines-guide.md) (see #166).
834
+
* A more gradual introduction to `runBlocking` and coroutines in the [guide](docs/topics/coroutines-guide.md) (see #166).
835
835
836
836
## Version 0.19.3
837
837
@@ -882,7 +882,7 @@ Visible consequences of include more robust exception handling for large corouti
882
882
* When a context is explicitly specified, `newCoroutineContext` function checks if there is any
883
883
interceptor/dispatcher defined in the context and uses `DefaultDispatcher` if there is none.
884
884
*`DefaultDispatcher` is currently defined to be equal to `CommonPool`.
885
-
* Examples in the [guide](docs/coroutines-guide.md) now start with `launch { ... }` code and explanation on the nature
885
+
* Examples in the [guide](docs/topics/coroutines-guide.md) now start with `launch { ... }` code and explanation on the nature
886
886
and the need for coroutine context starts in "Coroutine context and dispatchers" section.
887
887
* Parent coroutines now wait for their children (see #125):
888
888
* Job _completing_ state is introduced in documentation as a state in which parent coroutine waits for its children.
@@ -942,7 +942,7 @@ Visible consequences of include more robust exception handling for large corouti
942
942
## Version 0.17
943
943
944
944
*`CompletableDeferred` is introduced as a set-once event-like communication primitive (see #70).
945
-
*[Coroutines guide](docs/coroutines-guide.md) uses it in a section on actors.
945
+
*[Coroutines guide](docs/topics/coroutines-guide.md) uses it in a section on actors.
946
946
*`CompletableDeferred` is an interface with private impl (courtesy of @fvasco, see #86).
947
947
* It extends `Deferred` interface with `complete` and `completeExceptionally` functions.
948
948
*`Job.join` and `Deferred.await` wait until a cancelled coroutine stops execution (see #64).
@@ -1088,15 +1088,15 @@ Visible consequences of include more robust exception handling for large corouti
1088
1088
*`actor` coroutine builder.
1089
1089
* Couple more examples for "Shared mutable state and concurrency" section and
1090
1090
"Channels are fair" section with ping-pong table example
1091
-
in [coroutines guide](docs/coroutines-guide.md).
1091
+
in [coroutines guide](docs/topics/coroutines-guide.md).
1092
1092
1093
1093
## Version 0.11-rc
1094
1094
1095
1095
*`select` expression with onJoin/onAwait/onSend/onReceive clauses.
1096
1096
*`Mutex` is moved to `kotlinx.coroutines.sync` package.
1097
1097
*`ClosedSendChannelException` is a subclass of `CancellationException` now.
1098
1098
* New sections on "Shared mutable state and concurrency" and "Select expression"
1099
-
in [coroutines guide](docs/coroutines-guide.md).
1099
+
in [coroutines guide](docs/topics/coroutines-guide.md).
1100
1100
1101
1101
## Version 0.10-rc
1102
1102
@@ -1124,20 +1124,20 @@ Visible consequences of include more robust exception handling for large corouti
1124
1124
So, lazy coroutines do not need a separate state variable to track their started/not-started (new/active) status.
1125
1125
* Exception transparency in `Job.cancel` (original cause is rethrown).
1126
1126
* Clarified possible states for `Job`/`CancellableContinuation`/`Deferred` in docs.
1127
-
* Example on async-style functions and links to API reference site from [coroutines guide](docs/coroutines-guide.md).
1127
+
* Example on async-style functions and links to API reference site from [coroutines guide](docs/topics/coroutines-guide.md).
1128
1128
1129
1129
## Version 0.7-beta
1130
1130
1131
1131
* Buffered and unbuffered channels are introduced: `Channel`, `SendChannel`, and `ReceiveChannel` interfaces,
1132
1132
`RendezvousChannel` and `ArrayChannel` implementations, `Channel()` factory function and `buildChannel{}`
1133
1133
coroutines builder.
1134
1134
*`Here` context is renamed to `Unconfined` (the old name is deprecated).
1135
-
* A [guide on coroutines](docs/coroutines-guide.md) is expanded: sections on contexts and channels.
1135
+
* A [guide on coroutines](docs/topics/coroutines-guide.md) is expanded: sections on contexts and channels.
1136
1136
1137
1137
## Version 0.6-beta
1138
1138
1139
1139
* Switched to Kotlin version 1.1.0-beta-37.
1140
-
* A [guide on coroutines](docs/coroutines-guide.md) is expanded.
1140
+
* A [guide on coroutines](docs/topics/coroutines-guide.md) is expanded.
1141
1141
1142
1142
## Version 0.5-beta
1143
1143
@@ -1150,7 +1150,7 @@ Visible consequences of include more robust exception handling for large corouti
1150
1150
has a default implementation that returns `true`.
1151
1151
*`NonCancellable` context is introduced.
1152
1152
* Performance optimizations for cancellable continuations (fewer objects created).
1153
-
* A [guide on coroutines](docs/coroutines-guide.md) is added.
1153
+
* A [guide on coroutines](docs/topics/coroutines-guide.md) is added.
Copy file name to clipboardExpand all lines: README.md
+5-5
Original file line number
Diff line number
Diff line change
@@ -65,10 +65,10 @@ suspend fun main() = coroutineScope {
65
65
*[Deep dive into Coroutines](https://www.youtube.com/watch?v=YrrUCSi72E8) (Roman Elizarov at KotlinConf 2017, [slides](https://www.slideshare.net/elizarov/deep-dive-into-coroutines-on-jvm-kotlinconf-2017))
66
66
*[Kotlin Coroutines in Practice](https://www.youtube.com/watch?v=a3agLJQ6vt8) (Roman Elizarov at KotlinConf 2018, [slides](https://www.slideshare.net/elizarov/kotlin-coroutines-in-practice-kotlinconf-2018))
67
67
* Guides and manuals:
68
-
*[Guide to kotlinx.coroutines by example](https://kotlinlang.org/docs/reference/coroutines/coroutines-guide.html) (**read it first**)
68
+
*[Guide to kotlinx.coroutines by example](https://kotlinlang.org/docs/coroutines-guide.html) (**read it first**)
69
69
*[Guide to UI programming with coroutines](ui/coroutines-guide-ui.md)
70
-
*[Debugging capabilities in kotlinx.coroutines](docs/debugging.md)
71
-
*[Compatibility policy and experimental annotations](docs/compatibility.md)
70
+
*[Debugging capabilities in kotlinx.coroutines](docs/topics/debugging.md)
71
+
*[Compatibility policy and experimental annotations](docs/topics/compatibility.md)
0 commit comments