Hi folks!
We’re happy to announce the release of Rel8 1.6 !
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.
If you encounter any issues please let us know.
Here’s the full changelog for this release:
Removed
- Remove
Table Expr bconstraint frommaterialize. (#334)
Added
-
Support GHC-9.10. (#340)
-
Support hasql-1.8 (#345)
-
Add
aggregateJustTable,aggregateJustTableaggregator functions. These provide another way to do aggregation ofMaybeTables than the existingaggregateMaybeTablefunction. (#333) -
Add
aggregateLeftTable,aggregateLeftTable1,aggregateRightTableandaggregateRightTable1aggregator functions. These provide another way to do aggregation ofEitherTables than the existingaggregateEitherTablefunction. (#333) -
Add
aggregateThisTable,aggregateThisTable1,aggregateThatTable,aggregateThatTable1,aggregateThoseTable,aggregateThoseTable1,aggregateHereTable,aggregateHereTable1,aggregateThereTableandaggregateThereTable1aggregation functions. These provide another way to do aggregation ofTheseTables than the existingaggregateTheseTablefunction. (#333) -
Add
rawFunction,rawBinaryOperator,rawAggregateFunction,unsafeCoerceExpr,unsafePrimExpr,unsafeSubscript,unsafeSubscripts— these give more options for generating SQL expressions that Rel8 does not support natively. (#331) -
Expose
unsafeUnnullifyandunsafeUnnullifyTablefromRel8. (#343) -
Expose
listOfandnonEmptyOf. (#330) -
Add
NOINLINEpragmas toGenericderived default methods ofRel8able. This should speed up
compilation times. If users wish for these methods to beINLINEd, they can override with a
pragma in their own code. (#346)