Changelog for ki-1.0.1.2
[1.0.1.2] - July 15, 2024
- Bugfix #33: A scope could erroneously fail to propagate an exception to one of its children.
- Refactor: depend on (rather than inline)
int-supply
package.
[1.0.1.1] - October 10, 2023
- Compat: support GHC 9.8.1
[1.0.1.0] - April 3, 2023
- Change #25: Attempting to fork a thread in a closing scope now acts as
if it were a child being terminated due to the scope closing. Previously, attempting to fork a thread in a closing
scope would throw a runtime exception like
error "ki: scope closed"
. - Change #27: Calling
awaitAll
on a closed scope now returns()
instead of blocking forever.
[1.0.0.2] - January 25, 2023
- Bugfix #20: previously, a child thread could deadlock when attempting to propagate an exception to its parent.
[1.0.0.1] - August 14, 2022
- Compat: support GHC 9.4.1
[1.0.0] - June 30, 2022
-
Breaking: Remove
Context
type,Ki.Implicit
module, and the ability to soft-cancel aScope
. -
Breaking: Remove
Duration
type and its associated API, includingwaitFor
andawaitFor
. -
Breaking: Remove
Ki.Internal
module. -
Breaking: Generalize
async
toforkTry
. -
Breaking: Generalize
forkWithUnmask
toforkWith
. -
Breaking: Make
fork_
take anIO Void
rather than anIO ()
. -
Breaking: Make
fork
create an unmasked thread, rather than inherit the parent's masking state. -
Breaking: Rename
waitSTM
toawaitAll
(replacing the oldwait
inIO
). -
Change: Make
scoped
kill threads in the order they were created. -
Bugfix: Fix small memory leak related to closing a scope.
-
Bugfix: Fix subtle bug related to GHC's treatment of deadlocked threads.
-
Bugfix: make
async
(nowforkTry
) propagate async exceptions. -
Bugfix: make
scoped
safe to run with asynchronous exceptions masked. -
Bugfix: propagate exceptions to creator of scope, not creator of thread
-
Performance: Use atomic fetch-and-add rather than a
TVar
to track internal child thread ids.
[0.2.0] - December 17, 2020
- Breaking: Remove
ThreadFailed
exception wrapper. - Breaking: Rename
cancelScope
tocancel
.
[0.1.0.1] - November 30, 2020
-
Misc: Replace
AtomicCounter
withInt
to drop theatomic-primops
dependency. -
Bounds: Lower
cabal-version
from 3.0 to 2.2 becausestack
cannot parse 3.0.
[0.1.0] - November 11, 2020
- Initial release.