- Add some mtl instances:
MonadThrow
,MonadCatch
,MonadMask
,MonadLogger
,MonadReader
- Removed support for GHC 8.2, 8.4
- Add
MonadSqlQuery (TransactionM m)
superclass constraint to allow writing functions generic on someMonadSqlQuery m
usingwithTransaction
, as shown in examples in README
- Add
unsafeLiftSql
(#38)
- Fix for persistent 2.13
- Add
rerunnableLift
forSqlTransaction
- Use
unliftio-pool
instead ofresourcet-pool
, which has better async exeception safety
- Use a separate monad within
withTransaction
to prevent unsafe/arbitrary IO actions (#7, #28) - Add
MonadRerunnableIO
to support IO actions withinwithTransaction
only if the IO action is determined to be rerunnable - Add built-in support for retrying transactions if a serialization error occurs
- Remove
SqlQueryRep
as an export fromDatabase.Persist.Monad
. You shouldn't ever need it for normal usage. It is now re-exported byDatabase.Persist.Monad.TestUtils
, since most of the usage ofSqlQueryRep
is in mocking queries. If you need it otherwise, you can import it directly fromDatabase.Persist.Monad.SqlQueryRep
.
Fix quickstart
Initial release
SqlQueryT
+MonadSqlQuery
- Autogenerated persistent API
MockQueryT