Rel8 1.3 released

Hi all,

I’m happy to announce the release of Rel8 1.3.

Rel8 is a Haskell library for interacting with PostgreSQL databases, built on top of the fantastic Opaleye library.

The main objectives of Rel8 are:

  • Conciseness: Users using Rel8 should not need to write boiler-plate code. By using expressive types, we can provide sufficient information for the compiler to infer code whenever possible.

  • Inferrable: Despite using a lot of type level magic, Rel8 aims to have excellent and predictable type inference.

  • Familiar: writing Rel8 queries should feel like normal Haskell programming.

The changes in this release are:

Breaking changes

  • div and mod have been changed to match Haskell semantics. If you need the PostgreSQL div() and mod() functions, use quot and rem. While this is not an API change, we feel this is a breaking change in semantics and have bumped the major version number. (#155)

New features

  • divMod and quotRem functions have been added, matching Haskell’s Prelude functions. (#155)

  • avg and mode aggregation functions to find the mean value of an expression, or the most common row in a query, respectively. (#152)

  • The full EqTable and OrdTable classes have been exported, allowing for instances to be manually created. (#157)

  • Added like and ilike (for the LIKE and ILIKE operators). (#146)


  • Rel8 now requires Opaleye 0.9. (#158)

  • Rel8’s test suite supports Hedgehog 1.1. (#160)

  • The documentation for binary operations has been corrected. (#162)