-
Add pipeline mode API https://www.postgresql.org/docs/current/libpq-pipeline-mode.html
There are new values in
ExecStatus
, therefore the major version release.
- Split the c library dependency into separate packages.
Now the dependencies are either all
build-type: Simple
(-f +use-pkg-config
) orbuild-type: Configure
(-f -use-pkg-config
).
- Fix issue with empty binary values (#54)
There are technicallly two breaking changes in this release, but they shouldn't affect anyone not doing anything weird.
- Binary parameters are passed without copying.
- FFI functions are imported without
unsafe
. Most uses were incorrect. We make all calls "safe", as checking whether libpq functions do IO or may call a notifier (potentially calling back into Haskell), is virtually impossible for all versions of libpq. (The above properties are not specified in the documentation).
- Drop support for GHCs prior 8.6
- Require libpq >=10.22 (when using pkgconfig).
- Use CApiFFI for some parts of the API (we cannot use for all due https://gitlab.haskell.org/ghc/ghc/-/issues/22043)
- Support
bytestring-0.11
- Allow
Win32-2.10.0.0
- Make
PQconsumeInput
FFI callsafe
- Support GHC-8.6.1
- Add simple smoke test