Changelog for di-monad-1.3.3
Version 1.3.3
-
Add
MonadBase,MonadBaseControl,PrimMonadandMonadSafeinstances forDiT. -
Add Cabal flags for optional third-party libraries support:
monad-control,pipes,pipes-safe,primitive,streaming,transformers-base,unliftio-core.
Version 1.3.2
-
Add
MonadUnliftIOinstance forDiT. -
Add
MonadDiinstance forstreaming'sStream.
Version 1.3.1
- Add
MonadErrorinstance forDiT.
Version 1.3
-
The
MonadThrowinstance forDiTdoesn't log exceptions automatically any more. This is because otherwise catching and re-throwing exceptions in downstream code, by default, ends up logging the same exception more than once. -
A
throwfunction behaving as the previousMonadThrowinstance forDiTwas introduced. -
Documentation improvements.
Version 1.2
- The
MonadMaskconstraint added in Version 1.1 is gone, effecively undoing the breaking change introduced in Version 1.1.
Version 1.1
-
BREAKING CHANGE: The
MonadThrowinstance forDiT level path msg minstance now relies onDi.Core.throw, potentially logging exceptions at the throw site. This introduces a newMonadMask minstance constraint which can't be satisfied bySTM. There is aDiT level path msg STMinstance that skips logging exceptions (which is the only sensible behavior, anyway). However, if yourmis not exactlySTMbut some wrapper around it, you will need to provide aMonadThrowinstance manually or useDi.Core.throw'directly. On the other hand, satisfying thisMonadMaskconstraint should be easy for monads that can runIO. -
Added
onException.
Version 1.0.2
- Backwards compatibility with
mtl < 2.2.2.
Version 1.0.1
- Backwards compatibility with
transformers < 0.5.3.
Version 1.0
- This is a new library part of the
di-coreecosystem. Consider this first release of the new ecosystem a preview release: The API is likely to stay stable, but extensive testing, formalization and tooling is due.