Skip to content

Commit eb3d028

Browse files
authored
Merge pull request #301 from morphismtech/dev
Version 0.8
2 parents ed954d0 + 3501247 commit eb3d028

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2906
-570
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ jobs:
3131
steps:
3232
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
3333
- uses: actions/checkout@v2
34-
- uses: actions/setup-haskell@v1.1
34+
- uses: haskell/actions/setup@v1
3535
with:
36-
ghc-version: '8.10.2' # Exact version of ghc to use
36+
ghc-version: '8.10.5' # Exact version of ghc to use
3737
# cabal-version: 'latest'. Omitted, but defalts to 'latest'
3838
enable-stack: true
3939
stack-version: 'latest'
@@ -83,9 +83,9 @@ jobs:
8383
steps:
8484
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
8585
- uses: actions/checkout@v2
86-
- uses: actions/setup-haskell@v1.1
86+
- uses: haskell/actions/setup@v1
8787
with:
88-
ghc-version: '8.8.3' # Exact version of ghc to use
88+
ghc-version: '8.8.4' # Exact version of ghc to use
8989
# cabal-version: 'latest'. Omitted, but defalts to 'latest'
9090
enable-stack: true
9191
stack-version: 'latest'
@@ -135,7 +135,7 @@ jobs:
135135
steps:
136136
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
137137
- uses: actions/checkout@v2
138-
- uses: actions/setup-haskell@v1.1
138+
- uses: haskell/actions/setup@v1
139139
with:
140140
ghc-version: '8.6.5' # Exact version of ghc to use
141141
# cabal-version: 'latest'. Omitted, but defalts to 'latest'

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,3 +294,7 @@ in
294294
:}
295295
[User {userName = "Alice", userEmail = Just "alice@gmail.com"},User {userName = "Bob", userEmail = Nothing},User {userName = "Carole", userEmail = Just "carole@hotmail.com"}]
296296
```
297+
298+
This should get you up and running with Squeal. Once you're writing more complicated
299+
queries and need a deeper understanding of Squeal's types and how everything
300+
fits together, check out the [Core Concepts Handbook](squeal-core-concepts-handbook.md).

RELEASE NOTES.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,46 @@
11
## RELEASE NOTES
22

3+
### Version 0.8
4+
5+
Thanks to Adam Wespiser, Cullin Poreski, Scott Fleischman
6+
and William Yao for lots of contributions.
7+
8+
### Materialized CTEs
9+
10+
Scott Fleischman contributed materialization support to Squeal's
11+
WITH statements.
12+
13+
### LTrees and UUID
14+
15+
New packages `squeal-postgresql-ltree` and `squeal-postgresql-uuid-ossp`
16+
were created to offer functionality from those Postgres extensions.
17+
18+
### Safe Transactions
19+
20+
Previously, Squeal transactions were "unsafe", allowing for arbitrary
21+
`IO`. Now, Squeal provides a new type `Transaction` that is a RankNType.
22+
23+
```Haskell
24+
type Transaction db x = forall m.
25+
( MonadPQ db m
26+
, MonadResult m
27+
, MonadCatch m
28+
) => m x
29+
```
30+
31+
A `Transaction` only permits database operations and error handling,
32+
no arbitrary `IO`. The class `MonadResult` is new but all of its
33+
methods are old and used to be constrained as `MonadIO`,
34+
now as `MonadResult`.
35+
36+
Additionally, a new function `withSavepoint` was added, allowing
37+
for a kind of nested transactions.
38+
39+
### Bug fixes
40+
41+
Various bugs were fixed. Most importantly, poor asynchronous exception
42+
handling was ameliorated.
43+
344
### Version 0.7
445

546
Thanks to Samuel Schlesinger, Adam Wespiser, Cullin Poreski,

0 commit comments

Comments
 (0)