|
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