Skip to content

Commit

Permalink
Merge pull request #301 from morphismtech/dev
Browse files Browse the repository at this point in the history
Version 0.8
  • Loading branch information
echatav authored Oct 19, 2021
2 parents ed954d0 + 3501247 commit eb3d028
Show file tree
Hide file tree
Showing 49 changed files with 2,906 additions and 570 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/setup-haskell@v1.1
- uses: haskell/actions/setup@v1
with:
ghc-version: '8.10.2' # Exact version of ghc to use
ghc-version: '8.10.5' # Exact version of ghc to use
# cabal-version: 'latest'. Omitted, but defalts to 'latest'
enable-stack: true
stack-version: 'latest'
Expand Down Expand Up @@ -83,9 +83,9 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/setup-haskell@v1.1
- uses: haskell/actions/setup@v1
with:
ghc-version: '8.8.3' # Exact version of ghc to use
ghc-version: '8.8.4' # Exact version of ghc to use
# cabal-version: 'latest'. Omitted, but defalts to 'latest'
enable-stack: true
stack-version: 'latest'
Expand Down Expand Up @@ -135,7 +135,7 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/setup-haskell@v1.1
- uses: haskell/actions/setup@v1
with:
ghc-version: '8.6.5' # Exact version of ghc to use
# cabal-version: 'latest'. Omitted, but defalts to 'latest'
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,3 +294,7 @@ in
:}
[User {userName = "Alice", userEmail = Just "[email protected]"},User {userName = "Bob", userEmail = Nothing},User {userName = "Carole", userEmail = Just "[email protected]"}]
```

This should get you up and running with Squeal. Once you're writing more complicated
queries and need a deeper understanding of Squeal's types and how everything
fits together, check out the [Core Concepts Handbook](squeal-core-concepts-handbook.md).
41 changes: 41 additions & 0 deletions RELEASE NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,46 @@
## RELEASE NOTES

### Version 0.8

Thanks to Adam Wespiser, Cullin Poreski, Scott Fleischman
and William Yao for lots of contributions.

### Materialized CTEs

Scott Fleischman contributed materialization support to Squeal's
WITH statements.

### LTrees and UUID

New packages `squeal-postgresql-ltree` and `squeal-postgresql-uuid-ossp`
were created to offer functionality from those Postgres extensions.

### Safe Transactions

Previously, Squeal transactions were "unsafe", allowing for arbitrary
`IO`. Now, Squeal provides a new type `Transaction` that is a RankNType.

```Haskell
type Transaction db x = forall m.
( MonadPQ db m
, MonadResult m
, MonadCatch m
) => m x
```

A `Transaction` only permits database operations and error handling,
no arbitrary `IO`. The class `MonadResult` is new but all of its
methods are old and used to be constrained as `MonadIO`,
now as `MonadResult`.

Additionally, a new function `withSavepoint` was added, allowing
for a kind of nested transactions.

### Bug fixes

Various bugs were fixed. Most importantly, poor asynchronous exception
handling was ameliorated.

### Version 0.7

Thanks to Samuel Schlesinger, Adam Wespiser, Cullin Poreski,
Expand Down
Loading

0 comments on commit eb3d028

Please sign in to comment.