|
18 | 18 | * `currentScope` and `coroutineScope` builders are introduced to extract and provide `CoroutineScope`.
|
19 | 19 | * Factory methods to create `CoroutineScope` from `CoroutineContext` are introduced.
|
20 | 20 | * `CoroutineScope.isActive` became an extension property.
|
21 |
| - * New sections about structured concurrency in core guide: ["Structured concurrency"](coroutines-guide.md#structured-concurrency), ["Scope builder"](coroutines-guide.md#scope-builder) and ["Structured concurrency with async"](coroutines-guide.md#structured-concurrency-with-async). |
| 21 | + * 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). |
22 | 22 | * 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).
|
23 | 23 | * Deprecated reactive API is removed.
|
24 | 24 | * Dispatchers are renamed and grouped in the Dispatchers object (see #41 and #533):
|
|
38 | 38 | ## Version 0.25.0
|
39 | 39 |
|
40 | 40 | * Major rework on exception-handling and cancellation in coroutines (see #333, #452 and #451):
|
41 |
| - * New ["Exception Handling" section in the guide](coroutines-guide.md#exception-handling) explains exceptions in coroutines. |
| 41 | + * New ["Exception Handling" section in the guide](docs/coroutines-guide.md#exception-handling) explains exceptions in coroutines. |
42 | 42 | * Semantics of `Job.cancel` resulting `Boolean` value changed — `true` means exception was handled by the job, caller shall handle otherwise.
|
43 | 43 | * Exceptions are properly propagated from children to parents.
|
44 | 44 | * Installed `CoroutineExceptionHandler` for a family of coroutines receives one aggregated exception in case of failure.
|
|
47 | 47 | * Introduced support for thread-local elements in coroutines context (see #119):
|
48 | 48 | * `ThreadContextElement` API for custom thread-context sensitive context elements.
|
49 | 49 | * `ThreadLocal.asContextElement()` extension function to convert an arbitrary thread-local into coroutine context element.
|
50 |
| - * New ["Thread-local data" subsection in the guide](coroutines-guide.md#thread-local-data) with examples. |
| 50 | + * New ["Thread-local data" subsection in the guide](docs/coroutines-guide.md#thread-local-data) with examples. |
51 | 51 | * SLF4J Mapped Diagnostic Context (MDC) integration is provided via `MDCContext` element defined in [`kotlinx-coroutines-slf4j`](integration/kotlinx-coroutines-slf4j/README.md) integration module.
|
52 | 52 | * Introduced IO dispatcher to offload blocking I/O-intensive tasks (see #79).
|
53 | 53 | * Introduced `ExecutorCoroutineDispatcher` instead of `CloseableCoroutineDispatcher` (see #385).
|
|
280 | 280 | * Fixed `actor` and `produce` so that a cancellation of a Job cancels the underlying channel (closes and removes all the pending messages).
|
281 | 281 | * Fixed sporadic failure of `example-context-06` (see #160)
|
282 | 282 | * Fixed hang of `Job.start` on lazy coroutine with attached `invokeOnCompletion` handler.
|
283 |
| -* A more gradual introduction to `runBlocking` and coroutines in the [guide](coroutines-guide.md) (see #166). |
| 283 | +* A more gradual introduction to `runBlocking` and coroutines in the [guide](docs/coroutines-guide.md) (see #166). |
284 | 284 |
|
285 | 285 | ## Version 0.19.3
|
286 | 286 |
|
|
331 | 331 | * When a context is explicitly specified, `newCoroutineContext` function checks if there is any
|
332 | 332 | interceptor/dispatcher defined in the context and uses `DefaultDispatcher` if there is none.
|
333 | 333 | * `DefaultDispatcher` is currently defined to be equal to `CommonPool`.
|
334 |
| - * Examples in the [guide](coroutines-guide.md) now start with `launch { ... }` code and explanation on the nature |
| 334 | + * Examples in the [guide](docs/coroutines-guide.md) now start with `launch { ... }` code and explanation on the nature |
335 | 335 | and the need for coroutine context starts in "Coroutine context and dispatchers" section.
|
336 | 336 | * Parent coroutines now wait for their children (see #125):
|
337 | 337 | * Job _completing_ state is introduced in documentation as a state in which parent coroutine waits for its children.
|
|
391 | 391 | ## Version 0.17
|
392 | 392 |
|
393 | 393 | * `CompletableDeferred` is introduced as a set-once event-like communication primitive (see #70).
|
394 |
| - * [Coroutines guide](coroutines-guide.md) uses it in a section on actors. |
| 394 | + * [Coroutines guide](docs/coroutines-guide.md) uses it in a section on actors. |
395 | 395 | * `CompletableDeferred` is an interface with private impl (courtesy of @fvasco, see #86).
|
396 | 396 | * It extends `Deferred` interface with `complete` and `completeExceptionally` functions.
|
397 | 397 | * `Job.join` and `Deferred.await` wait until a cancelled coroutine stops execution (see #64).
|
|
537 | 537 | * `actor` coroutine builder.
|
538 | 538 | * Couple more examples for "Shared mutable state and concurrency" section and
|
539 | 539 | "Channels are fair" section with ping-pong table example
|
540 |
| - in [coroutines guide](coroutines-guide.md). |
| 540 | + in [coroutines guide](docs/coroutines-guide.md). |
541 | 541 |
|
542 | 542 | ## Version 0.11-rc
|
543 | 543 |
|
544 | 544 | * `select` expression with onJoin/onAwait/onSend/onReceive clauses.
|
545 | 545 | * `Mutex` is moved to `kotlinx.coroutines.experimental.sync` package.
|
546 | 546 | * `ClosedSendChannelException` is a subclass of `CancellationException` now.
|
547 | 547 | * New sections on "Shared mutable state and concurrency" and "Select expression"
|
548 |
| - in [coroutines guide](coroutines-guide.md). |
| 548 | + in [coroutines guide](docs/coroutines-guide.md). |
549 | 549 |
|
550 | 550 | ## Version 0.10-rc
|
551 | 551 |
|
|
573 | 573 | So, lazy coroutines do not need a separate state variable to track their started/not-started (new/active) status.
|
574 | 574 | * Exception transparency in `Job.cancel` (original cause is rethrown).
|
575 | 575 | * Clarified possible states for `Job`/`CancellableContinuation`/`Deferred` in docs.
|
576 |
| -* Example on async-style functions and links to API reference site from [coroutines guide](coroutines-guide.md). |
| 576 | +* Example on async-style functions and links to API reference site from [coroutines guide](docs/coroutines-guide.md). |
577 | 577 |
|
578 | 578 | ## Version 0.7-beta
|
579 | 579 |
|
580 | 580 | * Buffered and unbuffered channels are introduced: `Channel`, `SendChannel`, and `ReceiveChannel` interfaces,
|
581 | 581 | `RendezvousChannel` and `ArrayChannel` implementations, `Channel()` factory function and `buildChannel{}`
|
582 | 582 | coroutines builder.
|
583 | 583 | * `Here` context is renamed to `Unconfined` (the old name is deprecated).
|
584 |
| -* A [guide on coroutines](coroutines-guide.md) is expanded: sections on contexts and channels. |
| 584 | +* A [guide on coroutines](docs/coroutines-guide.md) is expanded: sections on contexts and channels. |
585 | 585 |
|
586 | 586 | ## Version 0.6-beta
|
587 | 587 |
|
588 | 588 | * Switched to Kotlin version 1.1.0-beta-37.
|
589 |
| -* A [guide on coroutines](coroutines-guide.md) is expanded. |
| 589 | +* A [guide on coroutines](docs/coroutines-guide.md) is expanded. |
590 | 590 |
|
591 | 591 | ## Version 0.5-beta
|
592 | 592 |
|
|
599 | 599 | has a default implementation that returns `true`.
|
600 | 600 | * `NonCancellable` context is introduced.
|
601 | 601 | * Performance optimizations for cancellable continuations (fewer objects created).
|
602 |
| -* A [guide on coroutines](coroutines-guide.md) is added. |
| 602 | +* A [guide on coroutines](docs/coroutines-guide.md) is added. |
603 | 603 |
|
604 | 604 | ## Version 0.4-beta
|
605 | 605 |
|
|
0 commit comments