@@ -0,0 +1,41 @@
1+Version 0.1:
2+ * Renamed several modules, typeclasses, and functions:
3+
4+ QueryParams (renderParams) -> ToRow (toRow)
5+ QueryResults (convertResults) -> FromRow (fromRow)
6+ Param (render) -> ToField (toField)
7+ Result (convert) -> FromField (fromField)
8+
9+ * Added the Database.PostgreSQL.Simple.Ok module
10+
11+ * Changed the return type of `fromField` and `fromRow` from
12+ `Either SomeException` to `Ok`. Either doesn't have an instance for
13+ Alternative, and an orphaned instance inside of postgresql-simple is a
14+ very bad idea. Also, Ok returns a list of Exceptions so that you can
15+ see all the ways it has failed.
16+
17+ * Thanks to Ozgun Ataman, the "FromRow" typeclass has been massively
18+ improved. The result is simpler definitions and better compositionality.
19+ Also, user-defined instances need not be to be concerned about forcing
20+ the converted results, as
21+
22+ instance (Result a, Result b) => QueryResults (a,b) where
23+ convertResults [fa,fb] [va,vb] = do
24+ !a <- convert fa va
25+ !b <- convert fb vb
26+ return (a,b)
27+ convertResults fs vs = convertError fs vs 2
28+
29+ instance (FromField a, FromField b) => FromRow (a,b) where
30+ fromRow = (,) <$> field <*> field
31+
32+ * Added :., a pair that allows one to compose "FromRow" instances:
33+
34+ instance (FromRow a, FromRow b) => FromRow (a :. b) where
35+ fromRow = (:.) <$> fromRow <*> fromRow
36+
37+ * Moved the contents Field module into the "FromField" module.
38+
39+ * Removed the `RawResult` type.
40+
41+ * Added `DefaultIsolationLevel` as a distinct `IsolationLevel` option