diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fe40d26..131f2a7 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,7 +15,7 @@ jobs:
name: Build server
# Note that this must be kept in sync with the version of Ubuntu which the
# Pursit server is running, otherwise the server binary may fail to run.
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 53b1112..8d53601 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,11 @@ the most up-to-date version of this file.
## Unreleased
+## v0.9.5
+
+- Update `purescript` to `0.15.8` (support dark theme) (@JordanMartinez)
+- Update documentation uploading instructions (@JordanMartinez)
+
## v0.9.4
- Fix license generation (@JordanMartinez)
diff --git a/LICENSE b/LICENSE
index b8aeb4b..09fd467 100644
--- a/LICENSE
+++ b/LICENSE
@@ -26,23 +26,23 @@ their licenses are listed below:
## Dependency License Report
-Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3`.
+Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.5`.
#### Direct dependencies of `pursuit:exe:pursuit`
| Name | Version | [SPDX](https://spdx.org/licenses/) License Id | Description | Also depended upon by |
| --- | --- | --- | --- | --- |
-| `aeson` | [`2.0.3.0`](http://hackage.haskell.org/package/aeson-2.0.3.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/aeson-2.0.3.0/src/LICENSE) | Fast JSON parsing and encoding | `aeson-better-errors`, `aeson-pretty`, `bower-json`, `classy-prelude-yesod`, `http-conduit`, `monoidal-containers`, `persistent`, `purescript`, `shakespeare`, `sourcemap`, `wai-extra`, `yaml`, `yesod`, `yesod-core`, `yesod-form` |
+| `aeson` | [`2.0.3.0`](http://hackage.haskell.org/package/aeson-2.0.3.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/aeson-2.0.3.0/src/LICENSE) | Fast JSON parsing and encoding | `aeson-better-errors`, `bower-json`, `classy-prelude-yesod`, `http-conduit`, `monoidal-containers`, `persistent`, `purescript`, `shakespeare`, `sourcemap`, `wai-extra`, `yaml`, `yesod`, `yesod-core`, `yesod-form` |
| `aeson-better-errors` | [`0.9.1.1`](http://hackage.haskell.org/package/aeson-better-errors-0.9.1.1) | [`MIT`](http://hackage.haskell.org/package/aeson-better-errors-0.9.1.1/src/LICENSE) | Better error messages when decoding JSON values. | `bower-json`, `purescript` |
| `barrier` | [`0.1.1`](http://hackage.haskell.org/package/barrier-0.1.1) | [`MIT`](http://hackage.haskell.org/package/barrier-0.1.1/src/LICENSE) | Shields.io style badge generator | |
-| **`base`** | [`4.16.2.0`](http://hackage.haskell.org/package/base-4.16.2.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/base-4.16.2.0/src/LICENSE) | Basic libraries | *(core library)* |
+| **`base`** | [`4.16.4.0`](http://hackage.haskell.org/package/base-4.16.4.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/base-4.16.4.0/src/LICENSE) | Basic libraries | *(core library)* |
| `base64-bytestring` | [`1.2.1.0`](http://hackage.haskell.org/package/base64-bytestring-1.2.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/base64-bytestring-1.2.1.0/src/LICENSE) | Fast base64 encoding and decoding for ByteStrings | `clientsession`, `http-client`, `persistent`, `wai-extra`, `yesod-static` |
| `blaze-builder` | [`0.4.2.2`](http://hackage.haskell.org/package/blaze-builder-0.4.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/blaze-builder-0.4.2.2/src/LICENSE) | Efficient buffered output. | `blaze-html`, `blaze-markup`, `http-client`, `language-javascript`, `yesod-form`, `yesod-persistent`, `yesod-static` |
| `blaze-html` | [`0.9.1.2`](http://hackage.haskell.org/package/blaze-html-0.9.1.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/blaze-html-0.9.1.2/src/LICENSE) | A blazingly fast HTML combinator library for Haskell | `cheapskate`, `persistent`, `purescript`, `shakespeare`, `wai-app-static`, `xml-conduit`, `yesod-core`, `yesod-form`, `yesod-newsfeed` |
| `blaze-markup` | [`0.8.2.8`](http://hackage.haskell.org/package/blaze-markup-0.8.2.8) | [`BSD-3-Clause`](http://hackage.haskell.org/package/blaze-markup-0.8.2.8/src/LICENSE) | A blazingly fast markup combinator library for Haskell | `blaze-html`, `blaze-svg`, `shakespeare`, `wai-app-static`, `xml-conduit`, `yesod-core`, `yesod-form`, `yesod-newsfeed` |
| `blaze-svg` | [`0.3.6.1`](http://hackage.haskell.org/package/blaze-svg-0.3.6.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/blaze-svg-0.3.6.1/src/LICENSE) | SVG combinator library | `barrier` |
| `bower-json` | [`1.1.0.0`](http://hackage.haskell.org/package/bower-json-1.1.0.0) | [`MIT`](http://hackage.haskell.org/package/bower-json-1.1.0.0/src/LICENSE) | Read bower.json from Haskell | `purescript` |
-| **`bytestring`** | [`0.11.3.1`](http://hackage.haskell.org/package/bytestring-0.11.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/bytestring-0.11.3.1/src/LICENSE) | Fast, compact, strict and lazy byte strings with a list interface | `Cabal`, `aeson`, `aeson-better-errors`, `aeson-pretty`, `appar`, `asn1-encoding`, `asn1-parse`, `asn1-types`, `attoparsec`, `barrier`, `base64-bytestring`, `basic-prelude`, `binary`, `bitvec`, `blaze-builder`, `blaze-html`, `blaze-markup`, `bower-json`, `bsb-http-chunked`, `byteable`, `bytestring-trie`, `case-insensitive`, `cborg`, `cereal`, `chunked-data`, `cipher-aes`, `classy-prelude`, `classy-prelude-conduit`, `clientsession`, `conduit`, `conduit-extra`, `connection`, `cookie`, `cprng-aes`, `crypto-api`, `crypto-cipher-types`, `crypto-random`, `cryptonite`, `cryptonite-conduit`, `email-validate`, `entropy`, `fast-logger`, `file-embed`, `fsnotify`, `hashable`, `haskeline`, `hinotify`, `hjsmin`, `http-api-data`, `http-client`, `http-client-tls`, `http-conduit`, `http-date`, `http-types`, `http2`, `hxt`, `hxt-regex-xmlschema`, `iproute`, `language-javascript`, `lens`, `libyaml`, `memory`, `mime-types`, `monad-logger`, `mono-traversable`, `network`, `network-byte-order`, `parsec`, `pem`, `persistent`, `protolude`, `purescript`, `random`, `recv`, `regex-base`, `regex-tdfa`, `say`, `scientific`, `securemem`, `serialise`, `shakespeare`, `shelly`, `simple-sendfile`, `skein`, `socks`, `sourcemap`, `streaming-commons`, `strict`, `stringsearch`, `tagsoup`, `text`, `text-short`, `th-lift-instances`, `tls`, `typed-process`, `unix`, `unix-time`, `unliftio`, `utf8-string`, `uuid-types`, `vector-algorithms`, `wai`, `wai-app-static`, `wai-extra`, `wai-logger`, `warp`, `x509`, `x509-store`, `x509-system`, `x509-validation`, `xml-conduit`, `yaml`, `yesod`, `yesod-core`, `yesod-form`, `yesod-newsfeed`, `yesod-static`, `zlib` |
+| **`bytestring`** | [`0.11.3.1`](http://hackage.haskell.org/package/bytestring-0.11.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/bytestring-0.11.3.1/src/LICENSE) | Fast, compact, strict and lazy byte strings with a list interface | `Cabal`, `aeson`, `aeson-better-errors`, `appar`, `asn1-encoding`, `asn1-parse`, `asn1-types`, `attoparsec`, `barrier`, `base64-bytestring`, `basic-prelude`, `binary`, `bitvec`, `blaze-builder`, `blaze-html`, `blaze-markup`, `bower-json`, `bsb-http-chunked`, `byteable`, `bytestring-trie`, `case-insensitive`, `cborg`, `cereal`, `chunked-data`, `cipher-aes`, `classy-prelude`, `classy-prelude-conduit`, `clientsession`, `conduit`, `conduit-extra`, `connection`, `cookie`, `cprng-aes`, `crypto-api`, `crypto-cipher-types`, `crypto-random`, `cryptonite`, `cryptonite-conduit`, `email-validate`, `entropy`, `fast-logger`, `file-embed`, `hashable`, `haskeline`, `hjsmin`, `http-api-data`, `http-client`, `http-client-tls`, `http-conduit`, `http-date`, `http-types`, `http2`, `hxt`, `hxt-regex-xmlschema`, `iproute`, `language-javascript`, `lens`, `libyaml`, `memory`, `mime-types`, `monad-logger`, `mono-traversable`, `network`, `network-byte-order`, `parsec`, `pem`, `persistent`, `protolude`, `purescript`, `random`, `recv`, `regex-base`, `regex-tdfa`, `say`, `scientific`, `securemem`, `serialise`, `shakespeare`, `simple-sendfile`, `skein`, `socks`, `sourcemap`, `streaming-commons`, `strict`, `stringsearch`, `tagsoup`, `text`, `text-short`, `th-lift-instances`, `tls`, `typed-process`, `unix`, `unix-time`, `unliftio`, `utf8-string`, `uuid-types`, `vector-algorithms`, `wai`, `wai-app-static`, `wai-extra`, `wai-logger`, `warp`, `x509`, `x509-store`, `x509-system`, `x509-validation`, `xml-conduit`, `yaml`, `yesod`, `yesod-core`, `yesod-form`, `yesod-newsfeed`, `yesod-static`, `zlib` |
| `bytestring-trie` | [`0.2.7`](http://hackage.haskell.org/package/bytestring-trie-0.2.7) | [`BSD-3-Clause`](http://hackage.haskell.org/package/bytestring-trie-0.2.7/src/LICENSE) | An efficient finite map from bytestrings to values. | |
| `case-insensitive` | [`1.2.1.0`](http://hackage.haskell.org/package/case-insensitive-1.2.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/case-insensitive-1.2.1.0/src/LICENSE) | Case insensitive string comparison | `http-client`, `http-client-tls`, `http-types`, `http2`, `wai-extra`, `warp`, `yesod-core` |
| `cheapskate` | [`0.1.1.2`](http://hackage.haskell.org/package/cheapskate-0.1.1.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/cheapskate-0.1.1.2/src/LICENSE) | Experimental markdown processor. | `purescript` |
@@ -52,43 +52,43 @@ Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3
| `colour` | [`2.3.6`](http://hackage.haskell.org/package/colour-2.3.6) | [`MIT`](http://hackage.haskell.org/package/colour-2.3.6/src/LICENSE) | A model for human colour/color perception | `ansi-terminal` |
| `conduit` | [`1.3.4.3`](http://hackage.haskell.org/package/conduit-1.3.4.3) | [`MIT`](http://hackage.haskell.org/package/conduit-1.3.4.3/src/LICENSE) | Streaming data processing library. | `classy-prelude-conduit`, `conduit-extra`, `cryptonite-conduit`, `http-conduit`, `libyaml`, `monad-logger`, `persistent`, `xml-conduit`, `yaml`, `yesod`, `yesod-core`, `yesod-persistent`, `yesod-static` |
| `conduit-extra` | [`1.3.6`](http://hackage.haskell.org/package/conduit-extra-1.3.6) | [`MIT`](http://hackage.haskell.org/package/conduit-extra-1.3.6/src/LICENSE) | Batteries included conduit: adapters for common libraries. | `cryptonite-conduit`, `http-conduit`, `monad-logger`, `xml-conduit`, `yesod-core` |
-| **`containers`** | [`0.6.5.1`](http://hackage.haskell.org/package/containers-0.6.5.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/containers-0.6.5.1/src/LICENSE) | Assorted concrete container types | `Cabal`, `Glob`, `QuickCheck`, `adjunctions`, `aeson`, `attoparsec`, `basic-prelude`, `bifunctors`, `binary`, `cborg`, `cereal`, `cheapskate`, `chunked-data`, `classy-prelude`, `comonad`, `connection`, `data-default-instances-containers`, `edit-distance`, `free`, `fsnotify`, `hashable`, `haskeline`, `hinotify`, `http-api-data`, `http-client`, `http-client-tls`, `http2`, `hxt`, `indexed-traversable`, `invariant`, `iproute`, `kan-extensions`, `keys`, `language-javascript`, `lens`, `mime-types`, `mono-traversable`, `mono-traversable-instances`, `monoidal-containers`, `mutable-containers`, `parallel`, `persistent`, `pointed`, `protolude`, `purescript`, `regex-base`, `regex-tdfa`, `resourcet`, `scientific`, `semialign`, `semigroupoids`, `serialise`, `shakespeare`, `shelly`, `stringsearch`, `tagsoup`, `th-abstraction`, `th-lift-instances`, `uniplate`, `vault`, `wai-app-static`, `wai-extra`, `warp`, `witherable`, `x509`, `x509-store`, `x509-system`, `x509-validation`, `xml-conduit`, `xss-sanitize`, `yaml`, `yesod-core`, `yesod-form`, `yesod-newsfeed`, `yesod-static` |
-| `cookie` | [`0.4.5`](http://hackage.haskell.org/package/cookie-0.4.5) | [`MIT`](http://hackage.haskell.org/package/cookie-0.4.5/src/LICENSE) | HTTP cookie parsing and rendering | `http-api-data`, `http-client`, `wai-extra`, `yesod-core` |
+| **`containers`** | [`0.6.5.1`](http://hackage.haskell.org/package/containers-0.6.5.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/containers-0.6.5.1/src/LICENSE) | Assorted concrete container types | `Cabal`, `Glob`, `QuickCheck`, `adjunctions`, `aeson`, `attoparsec`, `basic-prelude`, `bifunctors`, `binary`, `cborg`, `cereal`, `cheapskate`, `chunked-data`, `classy-prelude`, `comonad`, `connection`, `data-default-instances-containers`, `edit-distance`, `free`, `hashable`, `haskeline`, `http-api-data`, `http-client`, `http-client-tls`, `http2`, `hxt`, `indexed-traversable`, `invariant`, `iproute`, `kan-extensions`, `keys`, `language-javascript`, `lens`, `mime-types`, `mono-traversable`, `mono-traversable-instances`, `monoidal-containers`, `mutable-containers`, `parallel`, `persistent`, `pointed`, `protolude`, `purescript`, `regex-base`, `regex-tdfa`, `resourcet`, `scientific`, `semialign`, `semigroupoids`, `serialise`, `shakespeare`, `stringsearch`, `tagsoup`, `th-abstraction`, `th-lift-instances`, `uniplate`, `vault`, `wai-app-static`, `wai-extra`, `warp`, `witherable`, `x509`, `x509-store`, `x509-system`, `x509-validation`, `xml-conduit`, `xss-sanitize`, `yaml`, `yesod-core`, `yesod-form`, `yesod-newsfeed`, `yesod-static` |
+| `cookie` | [`0.4.6`](http://hackage.haskell.org/package/cookie-0.4.6) | [`MIT`](http://hackage.haskell.org/package/cookie-0.4.6/src/LICENSE) | HTTP cookie parsing and rendering | `http-api-data`, `http-client`, `wai-extra`, `yesod-core` |
| `data-default` | [`0.7.1.1`](http://hackage.haskell.org/package/data-default-0.7.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/data-default-0.7.1.1/src/LICENSE) | A class for types with a default value | `cheapskate`, `classy-prelude-yesod`, `yesod-form`, `yesod-static` |
-| **`deepseq`** | [`1.4.6.1`](http://hackage.haskell.org/package/deepseq-1.4.6.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/deepseq-1.4.6.1/src/LICENSE) | Deep evaluation of data structures | `Cabal`, `HUnit`, `QuickCheck`, `aeson`, `attoparsec`, `bitvec`, `blaze-builder`, `bower-json`, `bytestring`, `bytestring-trie`, `case-insensitive`, `cborg`, `cheapskate`, `classy-prelude`, `constraints`, `containers`, `cookie`, `cryptonite`, `data-fix`, `dlist`, `enclosed-exceptions`, `half`, `hashable`, `hourglass`, `http-client`, `hxt`, `memory`, `monoidal-containers`, `network`, `network-uri`, `parallel`, `pretty`, `primitive`, `process`, `protolude`, `psqueues`, `purescript`, `random`, `scientific`, `silently`, `splitmix`, `strict`, `tagged`, `text`, `text-short`, `these`, `time`, `time-compat`, `unliftio`, `unordered-containers`, `uuid-types`, `vector`, `xml-conduit`, `xml-types`, `yesod-core` |
-| **`directory`** | [`1.3.6.2`](http://hackage.haskell.org/package/directory-1.3.6.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/directory-1.3.6.2/src/LICENSE) | Platform-agnostic library for filesystem operations | `Cabal`, `Glob`, `clientsession`, `conduit`, `conduit-extra`, `easy-file`, `fast-logger`, `file-embed`, `fsnotify`, `haskeline`, `hxt`, `network`, `process`, `purescript`, `shakespeare`, `shelly`, `silently`, `streaming-commons`, `th-compat`, `unliftio`, `wai-app-static`, `wai-extra`, `x509-store`, `x509-system`, `yaml`, `yesod`, `yesod-static` |
+| **`deepseq`** | [`1.4.6.1`](http://hackage.haskell.org/package/deepseq-1.4.6.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/deepseq-1.4.6.1/src/LICENSE) | Deep evaluation of data structures | `Cabal`, `HUnit`, `QuickCheck`, `aeson`, `attoparsec`, `bitvec`, `blaze-builder`, `bower-json`, `bytestring`, `bytestring-trie`, `case-insensitive`, `cborg`, `cheapskate`, `classy-prelude`, `constraints`, `containers`, `cookie`, `cryptonite`, `data-array-byte`, `data-fix`, `dlist`, `half`, `hashable`, `hourglass`, `http-client`, `hxt`, `memory`, `monoidal-containers`, `network`, `network-uri`, `parallel`, `persistent`, `pretty`, `primitive`, `process`, `protolude`, `psqueues`, `purescript`, `random`, `safe-exceptions`, `scientific`, `silently`, `splitmix`, `strict`, `tagged`, `text`, `text-short`, `these`, `time`, `time-compat`, `unliftio`, `unordered-containers`, `uuid-types`, `vector`, `xml-conduit`, `xml-types`, `yesod-core` |
+| **`directory`** | [`1.3.6.2`](http://hackage.haskell.org/package/directory-1.3.6.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/directory-1.3.6.2/src/LICENSE) | Platform-agnostic library for filesystem operations | `Cabal`, `Glob`, `clientsession`, `conduit`, `conduit-extra`, `easy-file`, `fast-logger`, `file-embed`, `haskeline`, `hxt`, `network`, `process`, `purescript`, `shakespeare`, `silently`, `streaming-commons`, `th-compat`, `unliftio`, `wai-app-static`, `wai-extra`, `x509-store`, `x509-system`, `yaml`, `yesod`, `yesod-static` |
| `dlist` | [`1.0`](http://hackage.haskell.org/package/dlist-1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/dlist-1.0/src/license.md) | Difference lists | `Glob`, `aeson`, `aeson-better-errors`, `classy-prelude`, `data-default-instances-dlist`, `dlist-instances`, `mono-traversable-instances`, `purescript` |
-| **`exceptions`** | [`0.10.4`](http://hackage.haskell.org/package/exceptions-0.10.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/exceptions-0.10.4/src/LICENSE) | Extensible optionally-pure exceptions | `conduit`, `cryptonite-conduit`, `free`, `haskeline`, `http-client`, `http-client-tls`, `lens`, `monad-logger`, `resourcet`, `shakespeare`, `shelly` |
-| `fast-logger` | [`3.1.1`](http://hackage.haskell.org/package/fast-logger-3.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/fast-logger-3.1.1/src/LICENSE) | A fast logging system | `monad-logger`, `persistent`, `wai-extra`, `wai-logger`, `yesod`, `yesod-core` |
+| **`exceptions`** | [`0.10.4`](http://hackage.haskell.org/package/exceptions-0.10.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/exceptions-0.10.4/src/LICENSE) | Extensible optionally-pure exceptions | `conduit`, `cryptonite-conduit`, `free`, `haskeline`, `http-client`, `http-client-tls`, `lens`, `monad-logger`, `resourcet`, `safe-exceptions`, `shakespeare` |
+| `fast-logger` | [`3.1.2`](http://hackage.haskell.org/package/fast-logger-3.1.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/fast-logger-3.1.2/src/LICENSE) | A fast logging system | `monad-logger`, `persistent`, `wai-extra`, `wai-logger`, `yesod`, `yesod-core` |
| `file-embed` | [`0.0.15.0`](http://hackage.haskell.org/package/file-embed-0.0.15.0) | [`BSD-2-Clause`](http://hackage.haskell.org/package/file-embed-0.0.15.0/src/LICENSE) | Use Template Haskell to embed file contents directly. | `purescript`, `shakespeare`, `wai-app-static`, `yesod`, `yesod-static` |
-| **`filepath`** | [`1.4.2.2`](http://hackage.haskell.org/package/filepath-1.4.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/filepath-1.4.2.2/src/LICENSE) | Library for manipulating FilePaths in a cross platform way. | `Cabal`, `Glob`, `basic-prelude`, `conduit`, `conduit-extra`, `directory`, `easy-file`, `fast-logger`, `file-embed`, `fsnotify`, `haskeline`, `http-client`, `hxt`, `lens`, `process`, `purescript`, `shelly`, `th-compat`, `unliftio`, `wai-app-static`, `x509-store`, `x509-system`, `yaml`, `yesod-static` |
+| **`filepath`** | [`1.4.2.2`](http://hackage.haskell.org/package/filepath-1.4.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/filepath-1.4.2.2/src/LICENSE) | Library for manipulating FilePaths in a cross platform way. | `Cabal`, `Glob`, `basic-prelude`, `conduit`, `conduit-extra`, `directory`, `easy-file`, `fast-logger`, `file-embed`, `hashable`, `haskeline`, `http-client`, `hxt`, `lens`, `process`, `purescript`, `th-compat`, `unliftio`, `wai-app-static`, `x509-store`, `x509-system`, `yaml`, `yesod-static` |
| `hjsmin` | [`0.2.0.4`](http://hackage.haskell.org/package/hjsmin-0.2.0.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/hjsmin-0.2.0.4/src/LICENSE) | Haskell implementation of a javascript minifier | `yesod-static` |
| `http-conduit` | [`2.3.8`](http://hackage.haskell.org/package/http-conduit-2.3.8) | [`BSD-3-Clause`](http://hackage.haskell.org/package/http-conduit-2.3.8/src/LICENSE) | HTTP client package with conduit interface and HTTPS support. | `classy-prelude-yesod` |
| `http-types` | [`0.12.3`](http://hackage.haskell.org/package/http-types-0.12.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/http-types-0.12.3/src/LICENSE) | Generic HTTP types for Haskell (for both client and server code). | `classy-prelude-yesod`, `http-api-data`, `http-client`, `http-client-tls`, `http-conduit`, `http2`, `wai`, `wai-app-static`, `wai-extra`, `wai-logger`, `warp`, `yesod-core`, `yesod-static` |
| `hxt` | [`9.3.1.22`](http://hackage.haskell.org/package/hxt-9.3.1.22) | [`MIT`](http://hackage.haskell.org/package/hxt-9.3.1.22/src/LICENSE) | A collection of tools for processing XML with Haskell. | |
-| `monad-control` | [`1.0.3.1`](http://hackage.haskell.org/package/monad-control-1.0.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/monad-control-1.0.3.1/src/LICENSE) | Lift control operations, like exception catching, through monad transformers | `classy-prelude-conduit`, `enclosed-exceptions`, `lifted-async`, `lifted-base`, `monad-logger`, `purescript`, `shelly` |
-| `monad-logger` | [`0.3.37`](http://hackage.haskell.org/package/monad-logger-0.3.37) | [`MIT`](http://hackage.haskell.org/package/monad-logger-0.3.37/src/LICENSE) | A class of monads which can log messages. | `persistent`, `purescript`, `yesod`, `yesod-core` |
+| `monad-control` | [`1.0.3.1`](http://hackage.haskell.org/package/monad-control-1.0.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/monad-control-1.0.3.1/src/LICENSE) | Lift control operations, like exception catching, through monad transformers | `classy-prelude-conduit`, `lifted-async`, `lifted-base`, `monad-logger`, `purescript` |
+| `monad-logger` | [`0.3.39`](http://hackage.haskell.org/package/monad-logger-0.3.39) | [`MIT`](http://hackage.haskell.org/package/monad-logger-0.3.39/src/LICENSE) | A class of monads which can log messages. | `persistent`, `purescript`, `yesod`, `yesod-core` |
| `mono-traversable` | [`1.0.15.3`](http://hackage.haskell.org/package/mono-traversable-1.0.15.3) | [`MIT`](http://hackage.haskell.org/package/mono-traversable-1.0.15.3/src/LICENSE) | Type classes for mapping, folding, and traversing monomorphic containers | `classy-prelude`, `conduit`, `mono-traversable-instances`, `mutable-containers` |
-| **`mtl`** | [`2.2.2`](http://hackage.haskell.org/package/mtl-2.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/mtl-2.2.2/src/LICENSE) | Monad classes, using functional dependencies | `Cabal`, `adjunctions`, `aeson-better-errors`, `blaze-svg`, `bower-json`, `cheapskate`, `classy-prelude`, `conduit`, `constraints`, `exceptions`, `free`, `http-conduit`, `hxt`, `kan-extensions`, `language-javascript`, `lens`, `monad-logger`, `mtl-compat`, `parsec`, `pattern-arrows`, `persistent`, `protolude`, `purescript`, `random`, `regex-tdfa`, `resourcet`, `shelly`, `tls`, `x509-store`, `x509-system`, `x509-validation`, `yaml`, `yesod-core` |
+| **`mtl`** | [`2.2.2`](http://hackage.haskell.org/package/mtl-2.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/mtl-2.2.2/src/LICENSE) | Monad classes, using functional dependencies | `Cabal`, `adjunctions`, `aeson-better-errors`, `blaze-svg`, `bower-json`, `cheapskate`, `classy-prelude`, `conduit`, `constraints`, `exceptions`, `free`, `http-conduit`, `hxt`, `kan-extensions`, `language-javascript`, `lens`, `monad-logger`, `mtl-compat`, `parsec`, `pattern-arrows`, `persistent`, `protolude`, `purescript`, `random`, `regex-tdfa`, `resourcet`, `tls`, `x509-store`, `x509-system`, `x509-validation`, `yaml`, `yesod-core` |
| `parallel` | [`3.2.2.0`](http://hackage.haskell.org/package/parallel-3.2.2.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/parallel-3.2.2.0/src/LICENSE) | Parallel programming library | `lens`, `purescript` |
-| `purescript` | [`0.15.6`](http://hackage.haskell.org/package/purescript-0.15.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/purescript-0.15.6/src/LICENSE) | PureScript Programming Language Compiler | |
+| `purescript` | [`0.15.8`](http://hackage.haskell.org/package/purescript-0.15.8) | [`BSD-3-Clause`](http://hackage.haskell.org/package/purescript-0.15.8/src/LICENSE) | PureScript Programming Language Compiler | |
| `safe` | [`0.3.19`](http://hackage.haskell.org/package/safe-0.3.19) | [`BSD-3-Clause`](http://hackage.haskell.org/package/safe-0.3.19/src/LICENSE) | Library of safe (exception free) functions | `purescript` |
| `shakespeare` | [`2.0.30`](http://hackage.haskell.org/package/shakespeare-2.0.30) | [`MIT`](http://hackage.haskell.org/package/shakespeare-2.0.30/src/LICENSE) | A toolkit for making compile-time interpolated templates | `yesod`, `yesod-core`, `yesod-form`, `yesod-newsfeed` |
-| `split` | [`0.2.3.5`](http://hackage.haskell.org/package/split-0.2.3.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/split-0.2.3.5/src/LICENSE) | Combinator library for splitting lists. | `boxes`, `mono-traversable`, `purescript` |
-| `streaming-commons` | [`0.2.2.4`](http://hackage.haskell.org/package/streaming-commons-0.2.2.4) | [`MIT`](http://hackage.haskell.org/package/streaming-commons-0.2.2.4/src/LICENSE) | Common lower-level functions needed by various streaming data libraries | `conduit-extra`, `http-client`, `wai-extra`, `warp`, `yesod` |
-| **`template-haskell`** | [`2.18.0.0`](http://hackage.haskell.org/package/template-haskell-2.18.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/template-haskell-2.18.0.0/src/LICENSE) | Support library for Template Haskell | `OneTuple`, `QuickCheck`, `aeson`, `barrier`, `bifunctors`, `bytestring`, `email-validate`, `exceptions`, `file-embed`, `free`, `half`, `invariant`, `lens`, `lift-type`, `monad-logger`, `network-uri`, `persistent`, `primitive`, `reflection`, `scientific`, `semigroupoids`, `shakespeare`, `tagged`, `text`, `text-short`, `th-abstraction`, `th-compat`, `th-lift`, `th-lift-instances`, `unordered-containers`, `uuid-types`, `wai-app-static`, `yaml`, `yesod`, `yesod-core`, `yesod-static` |
-| **`text`** | [`1.2.5.0`](http://hackage.haskell.org/package/text-1.2.5.0) | [`BSD-2-Clause`](http://hackage.haskell.org/package/text-1.2.5.0/src/LICENSE) | An efficient packed Unicode text type. | `Cabal`, `aeson`, `aeson-better-errors`, `aeson-pretty`, `attoparsec`, `attoparsec-iso8601`, `barrier`, `basic-prelude`, `blaze-builder`, `blaze-html`, `blaze-markup`, `bower-json`, `case-insensitive`, `cborg`, `cheapskate`, `chunked-data`, `classy-prelude`, `conduit`, `conduit-extra`, `cookie`, `css-text`, `fast-logger`, `fsnotify`, `hashable`, `hjsmin`, `http-api-data`, `http-client`, `http-client-tls`, `http-types`, `hxt-regex-xmlschema`, `language-javascript`, `lens`, `mime-types`, `monad-logger`, `mono-traversable`, `parsec`, `path-pieces`, `persistent`, `protolude`, `purescript`, `regex-base`, `regex-tdfa`, `say`, `scientific`, `serialise`, `shakespeare`, `shelly`, `sourcemap`, `streaming-commons`, `strict`, `tagsoup`, `text-short`, `th-lift-instances`, `uuid-types`, `wai`, `wai-app-static`, `wai-extra`, `warp`, `xml-conduit`, `xml-types`, `xss-sanitize`, `yaml`, `yesod`, `yesod-core`, `yesod-form`, `yesod-newsfeed`, `yesod-static` |
-| **`time`** | [`1.11.1.1`](http://hackage.haskell.org/package/time-1.11.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/time-1.11.1.1/src/LICENSE) | A time library | `Cabal`, `aeson`, `attoparsec-iso8601`, `classy-prelude`, `cookie`, `directory`, `easy-file`, `fsnotify`, `http-client`, `http-date`, `path-pieces`, `persistent`, `purescript`, `resource-pool`, `serialise`, `shakespeare`, `shelly`, `time-compat`, `unix`, `unliftio`, `wai-app-static`, `wai-extra`, `yesod-core`, `yesod-form`, `yesod-newsfeed` |
-| **`transformers`** | [`0.5.6.2`](http://hackage.haskell.org/package/transformers-0.5.6.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/transformers-0.5.6.2/src/LICENSE) | Concrete functor and monad transformers | `Cabal`, `Glob`, `QuickCheck`, `StateVar`, `adjunctions`, `aeson-better-errors`, `attoparsec`, `basic-prelude`, `bifunctors`, `bower-json`, `chunked-data`, `classy-prelude`, `classy-prelude-conduit`, `comonad`, `conduit`, `conduit-extra`, `constraints`, `contravariant`, `crypto-api`, `cryptonite-conduit`, `distributive`, `enclosed-exceptions`, `exceptions`, `free`, `haskeline`, `http-api-data`, `http-client`, `http-client-tls`, `http-conduit`, `indexed-traversable`, `invariant`, `kan-extensions`, `keys`, `lens`, `monad-control`, `monad-logger`, `mono-traversable`, `mono-traversable-instances`, `mtl`, `optparse-applicative`, `persistent`, `pointed`, `primitive`, `profunctors`, `protolude`, `purescript`, `resourcet`, `say`, `semialign`, `semigroupoids`, `shakespeare`, `shelly`, `streaming-commons`, `strict`, `tagged`, `th-lift-instances`, `tls`, `transformers-base`, `transformers-compat`, `typed-process`, `unliftio`, `unliftio-core`, `wai-app-static`, `wai-extra`, `witherable`, `x509`, `xml-conduit`, `yaml`, `yesod-core`, `yesod-form`, `yesod-persistent`, `yesod-static` |
-| `unordered-containers` | [`0.2.19.1`](http://hackage.haskell.org/package/unordered-containers-0.2.19.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unordered-containers-0.2.19.1/src/LICENSE) | Efficient hashing-based container types | `aeson`, `aeson-better-errors`, `aeson-pretty`, `barrier`, `basic-prelude`, `bower-json`, `classy-prelude`, `http-api-data`, `indexed-traversable-instances`, `invariant`, `keys`, `lens`, `mono-traversable`, `monoidal-containers`, `persistent`, `pointed`, `purescript`, `semialign`, `semigroupoids`, `serialise`, `shakespeare`, `sourcemap`, `uniplate`, `vault`, `wai-app-static`, `witherable`, `yaml`, `yesod`, `yesod-core`, `yesod-static` |
-| `vector` | [`0.12.3.1`](http://hackage.haskell.org/package/vector-0.12.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/vector-0.12.3.1/src/LICENSE) | Efficient Arrays | `aeson`, `aeson-better-errors`, `aeson-pretty`, `basic-prelude`, `bitvec`, `bower-json`, `chunked-data`, `classy-prelude`, `conduit`, `crypto-random`, `indexed-traversable-instances`, `lens`, `mono-traversable`, `mutable-containers`, `persistent`, `purescript`, `semialign`, `serialise`, `shakespeare`, `th-lift-instances`, `vector-algorithms`, `vector-instances`, `witherable`, `yaml`, `yesod-core` |
-| `wai-extra` | [`3.1.12.1`](http://hackage.haskell.org/package/wai-extra-3.1.12.1) | [`MIT`](http://hackage.haskell.org/package/wai-extra-3.1.12.1/src/LICENSE) | Provides some basic WAI handlers and middleware. | `wai-app-static`, `yesod`, `yesod-core` |
+| `split` | [`0.2.3.5`](http://hackage.haskell.org/package/split-0.2.3.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/split-0.2.3.5/src/LICENSE) | Combinator library for splitting lists. | `boxes`, `mono-traversable` |
+| `streaming-commons` | [`0.2.2.5`](http://hackage.haskell.org/package/streaming-commons-0.2.2.5) | [`MIT`](http://hackage.haskell.org/package/streaming-commons-0.2.2.5/src/LICENSE) | Common lower-level functions needed by various streaming data libraries | `conduit-extra`, `http-client`, `wai-extra`, `warp`, `yesod` |
+| **`template-haskell`** | [`2.18.0.0`](http://hackage.haskell.org/package/template-haskell-2.18.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/template-haskell-2.18.0.0/src/LICENSE) | Support library for Template Haskell | `OneTuple`, `QuickCheck`, `aeson`, `barrier`, `bifunctors`, `bytestring`, `data-array-byte`, `email-validate`, `exceptions`, `file-embed`, `free`, `half`, `invariant`, `lens`, `lift-type`, `monad-logger`, `network-uri`, `persistent`, `primitive`, `purescript`, `reflection`, `scientific`, `semigroupoids`, `shakespeare`, `tagged`, `text`, `text-short`, `th-abstraction`, `th-compat`, `th-lift`, `th-lift-instances`, `unordered-containers`, `uuid-types`, `wai-app-static`, `yaml`, `yesod`, `yesod-core`, `yesod-static` |
+| **`text`** | [`1.2.5.0`](http://hackage.haskell.org/package/text-1.2.5.0) | [`BSD-2-Clause`](http://hackage.haskell.org/package/text-1.2.5.0/src/LICENSE) | An efficient packed Unicode text type. | `Cabal`, `aeson`, `aeson-better-errors`, `attoparsec`, `attoparsec-iso8601`, `barrier`, `basic-prelude`, `blaze-builder`, `blaze-html`, `blaze-markup`, `bower-json`, `case-insensitive`, `cborg`, `cheapskate`, `chunked-data`, `classy-prelude`, `conduit`, `conduit-extra`, `cookie`, `css-text`, `fast-logger`, `hashable`, `hjsmin`, `http-api-data`, `http-client`, `http-client-tls`, `http-types`, `hxt-regex-xmlschema`, `language-javascript`, `lens`, `mime-types`, `monad-logger`, `mono-traversable`, `parsec`, `path-pieces`, `persistent`, `protolude`, `purescript`, `regex-base`, `regex-tdfa`, `say`, `scientific`, `serialise`, `shakespeare`, `sourcemap`, `streaming-commons`, `strict`, `tagsoup`, `text-short`, `th-lift-instances`, `uuid-types`, `wai`, `wai-app-static`, `wai-extra`, `warp`, `xml-conduit`, `xml-types`, `xss-sanitize`, `yaml`, `yesod`, `yesod-core`, `yesod-form`, `yesod-newsfeed`, `yesod-static` |
+| **`time`** | [`1.11.1.1`](http://hackage.haskell.org/package/time-1.11.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/time-1.11.1.1/src/LICENSE) | A time library | `Cabal`, `aeson`, `attoparsec-iso8601`, `classy-prelude`, `cookie`, `directory`, `easy-file`, `http-client`, `http-date`, `path-pieces`, `persistent`, `purescript`, `resource-pool`, `serialise`, `shakespeare`, `time-compat`, `unix`, `unliftio`, `wai-app-static`, `wai-extra`, `yesod-core`, `yesod-form`, `yesod-newsfeed` |
+| **`transformers`** | [`0.5.6.2`](http://hackage.haskell.org/package/transformers-0.5.6.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/transformers-0.5.6.2/src/LICENSE) | Concrete functor and monad transformers | `Cabal`, `Glob`, `QuickCheck`, `StateVar`, `adjunctions`, `aeson-better-errors`, `attoparsec`, `basic-prelude`, `bifunctors`, `bower-json`, `chunked-data`, `classy-prelude`, `classy-prelude-conduit`, `comonad`, `conduit`, `conduit-extra`, `constraints`, `contravariant`, `crypto-api`, `cryptonite-conduit`, `distributive`, `exceptions`, `free`, `haskeline`, `http-api-data`, `http-client`, `http-client-tls`, `http-conduit`, `indexed-traversable`, `invariant`, `kan-extensions`, `keys`, `lens`, `monad-control`, `monad-logger`, `mono-traversable`, `mono-traversable-instances`, `mtl`, `optparse-applicative`, `persistent`, `pointed`, `primitive`, `profunctors`, `protolude`, `purescript`, `resourcet`, `safe-exceptions`, `say`, `semialign`, `semigroupoids`, `shakespeare`, `streaming-commons`, `strict`, `tagged`, `th-lift-instances`, `tls`, `transformers-base`, `transformers-compat`, `typed-process`, `unliftio`, `unliftio-core`, `wai-app-static`, `wai-extra`, `witherable`, `x509`, `xml-conduit`, `yaml`, `yesod-core`, `yesod-form`, `yesod-persistent`, `yesod-static` |
+| `unordered-containers` | [`0.2.19.1`](http://hackage.haskell.org/package/unordered-containers-0.2.19.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unordered-containers-0.2.19.1/src/LICENSE) | Efficient hashing-based container types | `aeson`, `aeson-better-errors`, `barrier`, `basic-prelude`, `bower-json`, `classy-prelude`, `http-api-data`, `indexed-traversable-instances`, `invariant`, `keys`, `lens`, `mono-traversable`, `monoidal-containers`, `persistent`, `pointed`, `semialign`, `semigroupoids`, `serialise`, `shakespeare`, `sourcemap`, `uniplate`, `vault`, `wai-app-static`, `witherable`, `yaml`, `yesod`, `yesod-core`, `yesod-static` |
+| `vector` | [`0.12.3.1`](http://hackage.haskell.org/package/vector-0.12.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/vector-0.12.3.1/src/LICENSE) | Efficient Arrays | `aeson`, `aeson-better-errors`, `basic-prelude`, `bitvec`, `bower-json`, `chunked-data`, `classy-prelude`, `conduit`, `crypto-random`, `indexed-traversable-instances`, `lens`, `mono-traversable`, `mutable-containers`, `persistent`, `purescript`, `semialign`, `serialise`, `shakespeare`, `th-lift-instances`, `vector-algorithms`, `vector-instances`, `witherable`, `yaml`, `yesod-core` |
+| `wai-extra` | [`3.1.13.0`](http://hackage.haskell.org/package/wai-extra-3.1.13.0) | [`MIT`](http://hackage.haskell.org/package/wai-extra-3.1.13.0/src/LICENSE) | Provides some basic WAI handlers and middleware. | `wai-app-static`, `yesod`, `yesod-core` |
| `wai-logger` | [`2.4.0`](http://hackage.haskell.org/package/wai-logger-2.4.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/wai-logger-2.4.0/src/LICENSE) | A logging system for WAI | `wai-extra`, `yesod`, `yesod-core` |
-| `warp` | [`3.3.23`](http://hackage.haskell.org/package/warp-3.3.23) | [`MIT`](http://hackage.haskell.org/package/warp-3.3.23/src/LICENSE) | A fast, light-weight web server for WAI applications. | `wai-app-static`, `yesod`, `yesod-core` |
-| `xss-sanitize` | [`0.3.7`](http://hackage.haskell.org/package/xss-sanitize-0.3.7) | [`BSD-2-Clause`](http://hackage.haskell.org/package/xss-sanitize-0.3.7/src/LICENSE) | sanitize untrusted HTML to prevent XSS attacks | `cheapskate`, `yesod-form` |
-| `yaml` | [`0.11.8.0`](http://hackage.haskell.org/package/yaml-0.11.8.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/yaml-0.11.8.0/src/LICENSE) | Support for parsing and rendering YAML documents. | `yesod` |
+| `warp` | [`3.3.24`](http://hackage.haskell.org/package/warp-3.3.24) | [`MIT`](http://hackage.haskell.org/package/warp-3.3.24/src/LICENSE) | A fast, light-weight web server for WAI applications. | `wai-app-static`, `wai-extra`, `yesod`, `yesod-core` |
+| `xss-sanitize` | [`0.3.7.1`](http://hackage.haskell.org/package/xss-sanitize-0.3.7.1) | [`BSD-2-Clause`](http://hackage.haskell.org/package/xss-sanitize-0.3.7.1/src/LICENSE) | sanitize untrusted HTML to prevent XSS attacks | `cheapskate`, `yesod-form` |
+| `yaml` | [`0.11.11.0`](http://hackage.haskell.org/package/yaml-0.11.11.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/yaml-0.11.11.0/src/LICENSE) | Support for parsing and rendering YAML documents. | `yesod` |
| `yesod` | [`1.6.2.1`](http://hackage.haskell.org/package/yesod-1.6.2.1) | [`MIT`](http://hackage.haskell.org/package/yesod-1.6.2.1/src/LICENSE) | Creation of type-safe, RESTful web applications. | `classy-prelude-yesod` |
-| `yesod-core` | [`1.6.24.0`](http://hackage.haskell.org/package/yesod-core-1.6.24.0) | [`MIT`](http://hackage.haskell.org/package/yesod-core-1.6.24.0/src/LICENSE) | Creation of type-safe, RESTful web applications. | `yesod`, `yesod-form`, `yesod-newsfeed`, `yesod-persistent`, `yesod-static` |
+| `yesod-core` | [`1.6.24.2`](http://hackage.haskell.org/package/yesod-core-1.6.24.2) | [`MIT`](http://hackage.haskell.org/package/yesod-core-1.6.24.2/src/LICENSE) | Creation of type-safe, RESTful web applications. | `yesod`, `yesod-form`, `yesod-newsfeed`, `yesod-persistent`, `yesod-static` |
| `yesod-form` | [`1.6.7`](http://hackage.haskell.org/package/yesod-form-1.6.7) | [`MIT`](http://hackage.haskell.org/package/yesod-form-1.6.7/src/LICENSE) | Form handling support for Yesod Web Framework | `yesod` |
| `yesod-static` | [`1.6.1.0`](http://hackage.haskell.org/package/yesod-static-1.6.1.0) | [`MIT`](http://hackage.haskell.org/package/yesod-static-1.6.1.0/src/LICENSE) | Static file serving subsite for Yesod Web Framework. | `classy-prelude-yesod` |
@@ -103,8 +103,7 @@ Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3
| `QuickCheck` | [`2.14.2`](http://hackage.haskell.org/package/QuickCheck-2.14.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/QuickCheck-2.14.2/src/LICENSE) | Automatic testing of Haskell programs | `aeson` |
| `StateVar` | [`1.2.2`](http://hackage.haskell.org/package/StateVar-1.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/StateVar-1.2.2/src/LICENSE) | State variables | `contravariant`, `invariant` |
| `adjunctions` | [`4.4.2`](http://hackage.haskell.org/package/adjunctions-4.4.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/adjunctions-4.4.2/src/LICENSE) | Adjunctions and representable functors | `kan-extensions` |
-| `aeson-pretty` | [`0.8.9`](http://hackage.haskell.org/package/aeson-pretty-0.8.9) | [`BSD-3-Clause`](http://hackage.haskell.org/package/aeson-pretty-0.8.9/src/LICENSE) | JSON pretty-printing library and command-line tool. | `purescript` |
-| `ansi-terminal` | [`0.11.3`](http://hackage.haskell.org/package/ansi-terminal-0.11.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ansi-terminal-0.11.3/src/LICENSE) | Simple ANSI terminal support, with Windows compatibility | `ansi-wl-pprint`, `purescript`, `wai-extra` |
+| `ansi-terminal` | [`0.11.4`](http://hackage.haskell.org/package/ansi-terminal-0.11.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ansi-terminal-0.11.4/src/LICENSE) | Simple ANSI terminal support, with Windows compatibility | `ansi-wl-pprint`, `purescript`, `wai-extra` |
| `ansi-wl-pprint` | [`0.6.9`](http://hackage.haskell.org/package/ansi-wl-pprint-0.6.9) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ansi-wl-pprint-0.6.9/src/LICENSE) | The Wadler/Leijen Pretty Printer for colored ANSI terminal output | `optparse-applicative` |
| `appar` | [`0.1.8`](http://hackage.haskell.org/package/appar-0.1.8) | [`BSD-3-Clause`](http://hackage.haskell.org/package/appar-0.1.8/src/LICENSE) | A simple applicative parser | `iproute` |
| **`array`** | [`0.5.4.0`](http://hackage.haskell.org/package/array-0.5.4.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/array-0.5.4.0/src/LICENSE) | Mutable and immutable arrays | `Cabal`, `adjunctions`, `attoparsec`, `binary`, `cborg`, `cereal`, `containers`, `deepseq`, `edit-distance`, `fast-logger`, `http-client`, `http-date`, `http-types`, `http2`, `indexed-traversable`, `integer-logarithms`, `invariant`, `kan-extensions`, `keys`, `language-javascript`, `lens`, `parallel`, `protolude`, `purescript`, `regex-base`, `regex-tdfa`, `serialise`, `stm`, `streaming-commons`, `stringsearch`, `text`, `warp` |
@@ -112,17 +111,17 @@ Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3
| `asn1-parse` | [`0.9.5`](http://hackage.haskell.org/package/asn1-parse-0.9.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/asn1-parse-0.9.5/src/LICENSE) | Simple monadic parser for ASN1 stream types. | `x509` |
| `asn1-types` | [`0.3.4`](http://hackage.haskell.org/package/asn1-types-0.3.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/asn1-types-0.3.4/src/LICENSE) | ASN.1 types | `asn1-encoding`, `asn1-parse`, `tls`, `x509`, `x509-store`, `x509-validation` |
| `assoc` | [`1.0.2`](http://hackage.haskell.org/package/assoc-1.0.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/assoc-1.0.2/src/LICENSE) | swap and assoc: Symmetric and Semigroupy Bifunctors | `lens`, `strict`, `these` |
-| `async` | [`2.2.4`](http://hackage.haskell.org/package/async-2.2.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/async-2.2.4/src/LICENSE) | Run IO operations asynchronously and wait for their results | `classy-prelude`, `conduit-extra`, `fsnotify`, `hinotify`, `http-client`, `http2`, `lifted-async`, `protolude`, `shelly`, `streaming-commons`, `tls`, `typed-process`, `unliftio`, `yesod-static` |
+| `async` | [`2.2.4`](http://hackage.haskell.org/package/async-2.2.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/async-2.2.4/src/LICENSE) | Run IO operations asynchronously and wait for their results | `classy-prelude`, `conduit-extra`, `http-client`, `http2`, `lifted-async`, `protolude`, `streaming-commons`, `tls`, `typed-process`, `unliftio`, `yesod-static` |
| `attoparsec` | [`0.14.4`](http://hackage.haskell.org/package/attoparsec-0.14.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/attoparsec-0.14.4/src/LICENSE) | Fast combinator parsing for bytestrings and text | `aeson`, `attoparsec-iso8601`, `conduit-extra`, `css-text`, `email-validate`, `http-api-data`, `http-conduit`, `http-date`, `persistent`, `sourcemap`, `xml-conduit`, `xss-sanitize`, `yaml`, `yesod-form`, `yesod-static` |
| `attoparsec` | [`0.14.4`](http://hackage.haskell.org/package/attoparsec-0.14.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/attoparsec-0.14.4/src/LICENSE) | Fast combinator parsing for bytestrings and text | `attoparsec` |
| `attoparsec-iso8601` | [`1.1.0.0`](http://hackage.haskell.org/package/attoparsec-iso8601-1.1.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/attoparsec-iso8601-1.1.0.0/src/LICENSE) | Parsing of ISO 8601 dates, originally from aeson | `http-api-data` |
| `auto-update` | [`0.1.6`](http://hackage.haskell.org/package/auto-update-0.1.6) | [`MIT`](http://hackage.haskell.org/package/auto-update-0.1.6/src/LICENSE) | Efficiently run periodic, on-demand actions | `fast-logger`, `time-manager`, `warp`, `yesod-core` |
-| `base-compat` | [`0.12.2`](http://hackage.haskell.org/package/base-compat-0.12.2) | [`MIT`](http://hackage.haskell.org/package/base-compat-0.12.2/src/LICENSE) | A compatibility layer for base | `aeson-pretty`, `base-compat-batteries`, `http-api-data` |
+| `base-compat` | [`0.12.2`](http://hackage.haskell.org/package/base-compat-0.12.2) | [`MIT`](http://hackage.haskell.org/package/base-compat-0.12.2/src/LICENSE) | A compatibility layer for base | `base-compat-batteries`, `http-api-data` |
| `base-compat-batteries` | [`0.12.2`](http://hackage.haskell.org/package/base-compat-batteries-0.12.2) | [`MIT`](http://hackage.haskell.org/package/base-compat-batteries-0.12.2/src/LICENSE) | base-compat with extra batteries | `aeson`, `attoparsec-iso8601` |
-| `base-orphans` | [`0.8.7`](http://hackage.haskell.org/package/base-orphans-0.8.7) | [`MIT`](http://hackage.haskell.org/package/base-orphans-0.8.7/src/LICENSE) | Backwards-compatible orphan instances for base | `bifunctors`, `distributive`, `lens`, `profunctors`, `semigroupoids`, `time-compat`, `transformers-base`, `witherable` |
+| `base-orphans` | [`0.8.8.1`](http://hackage.haskell.org/package/base-orphans-0.8.8.1) | [`MIT`](http://hackage.haskell.org/package/base-orphans-0.8.8.1/src/LICENSE) | Backwards-compatible orphan instances for base | `bifunctors`, `distributive`, `lens`, `profunctors`, `semigroupoids`, `time-compat`, `transformers-base`, `witherable` |
| `basement` | [`0.0.15`](http://hackage.haskell.org/package/basement-0.0.15) | [`BSD-3-Clause`](http://hackage.haskell.org/package/basement-0.0.15/src/LICENSE) | Foundation scrap box of array & string | `connection`, `cryptonite`, `memory`, `pem`, `socks` |
| `basic-prelude` | [`0.7.0`](http://hackage.haskell.org/package/basic-prelude-0.7.0) | [`MIT`](http://hackage.haskell.org/package/basic-prelude-0.7.0/src/LICENSE) | An enhanced core prelude; a common foundation for alternate preludes. | `classy-prelude` |
-| `bifunctors` | [`5.5.13`](http://hackage.haskell.org/package/bifunctors-5.5.13) | [`BSD-3-Clause`](http://hackage.haskell.org/package/bifunctors-5.5.13/src/LICENSE) | Bifunctors | `assoc`, `classy-prelude`, `invariant`, `lens`, `profunctors`, `semigroupoids` |
+| `bifunctors` | [`5.5.15`](http://hackage.haskell.org/package/bifunctors-5.5.15) | [`BSD-3-Clause`](http://hackage.haskell.org/package/bifunctors-5.5.15/src/LICENSE) | Bifunctors | `assoc`, `classy-prelude`, `invariant`, `lens`, `profunctors`, `semigroupoids` |
| **`binary`** | [`0.8.9.0`](http://hackage.haskell.org/package/binary-0.8.9.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/binary-0.8.9.0/src/LICENSE) | Binary serialisation for Haskell values using lazy ByteStrings | `Cabal`, `bytestring-trie`, `constraints`, `half`, `hxt`, `scientific`, `strict`, `text`, `text-short`, `these`, `unix-time`, `uuid-types` |
| `bitvec` | [`1.1.3.0`](http://hackage.haskell.org/package/bitvec-1.1.3.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/bitvec-1.1.3.0/src/LICENSE) | Space-efficient bit vectors | `vector-algorithms` |
| `boxes` | [`0.1.5`](http://hackage.haskell.org/package/boxes-0.1.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/boxes-0.1.5/src/LICENSE) | 2D text pretty-printing library | `purescript` |
@@ -147,6 +146,7 @@ Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3
| `cryptonite` | [`0.30`](http://hackage.haskell.org/package/cryptonite-0.30) | [`BSD-3-Clause`](http://hackage.haskell.org/package/cryptonite-0.30/src/LICENSE) | Cryptography Primitives sink | `cryptonite-conduit`, `http-client-tls`, `purescript`, `tls`, `wai-app-static`, `x509`, `x509-store`, `x509-validation`, `yesod-static` |
| `cryptonite-conduit` | [`0.2.2`](http://hackage.haskell.org/package/cryptonite-conduit-0.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/cryptonite-conduit-0.2.2/src/LICENSE) | cryptonite conduit | `yesod-static` |
| `css-text` | [`0.1.3.0`](http://hackage.haskell.org/package/css-text-0.1.3.0) | [`MIT`](http://hackage.haskell.org/package/css-text-0.1.3.0/src/LICENSE) | CSS parser and renderer. | `xss-sanitize`, `yesod-static` |
+| `data-array-byte` | [`0.1.0.1`](http://hackage.haskell.org/package/data-array-byte-0.1.0.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/data-array-byte-0.1.0.1/src/LICENSE) | Compatibility layer for Data.Array.Byte | `hashable` |
| `data-default-class` | [`0.1.2.0`](http://hackage.haskell.org/package/data-default-class-0.1.2.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/data-default-class-0.1.2.0/src/LICENSE) | A class for types with a default value | `connection`, `cookie`, `data-default`, `data-default-instances-containers`, `data-default-instances-dlist`, `data-default-instances-old-locale`, `http-client-tls`, `pointed`, `tls`, `wai-extra`, `x509-validation`, `xml-conduit`, `yesod` |
| `data-default-instances-containers` | [`0.0.1`](http://hackage.haskell.org/package/data-default-instances-containers-0.0.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/data-default-instances-containers-0.0.1/src/LICENSE) | Default instances for types in containers | `data-default` |
| `data-default-instances-dlist` | [`0.0.1`](http://hackage.haskell.org/package/data-default-instances-dlist-0.0.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/data-default-instances-dlist-0.0.1/src/LICENSE) | Default instances for types in dlist | `data-default` |
@@ -157,41 +157,38 @@ Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3
| `dlist-instances` | [`0.1.1.1`](http://hackage.haskell.org/package/dlist-instances-0.1.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/dlist-instances-0.1.1.1/src/LICENSE) | Difference lists instances | `mono-traversable-instances` |
| `easy-file` | [`0.2.2`](http://hackage.haskell.org/package/easy-file-0.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/easy-file-0.2.2/src/LICENSE) | Cross-platform File handling | `fast-logger` |
| `edit-distance` | [`0.2.2.1`](http://hackage.haskell.org/package/edit-distance-0.2.2.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/edit-distance-0.2.2.1/src/LICENSE) | Levenshtein and restricted Damerau-Levenshtein edit distances | `purescript` |
-| `email-validate` | [`2.3.2.16`](http://hackage.haskell.org/package/email-validate-2.3.2.16) | [`BSD-3-Clause`](http://hackage.haskell.org/package/email-validate-2.3.2.16/src/LICENSE) | Email address validation | `yesod-form` |
-| `enclosed-exceptions` | [`1.0.3`](http://hackage.haskell.org/package/enclosed-exceptions-1.0.3) | [`MIT`](http://hackage.haskell.org/package/enclosed-exceptions-1.0.3/src/LICENSE) | Catching all exceptions from within an enclosed computation | `shelly` |
+| `email-validate` | [`2.3.2.18`](http://hackage.haskell.org/package/email-validate-2.3.2.18) | [`BSD-3-Clause`](http://hackage.haskell.org/package/email-validate-2.3.2.18/src/LICENSE) | Email address validation | `yesod-form` |
| `entropy` | [`0.4.1.10`](http://hackage.haskell.org/package/entropy-0.4.1.10) | [`BSD-3-Clause`](http://hackage.haskell.org/package/entropy-0.4.1.10/src/LICENSE) | A platform independent entropy source | `clientsession`, `crypto-api`, `yesod-core` |
-| `free` | [`5.1.9`](http://hackage.haskell.org/package/free-5.1.9) | [`BSD-3-Clause`](http://hackage.haskell.org/package/free-5.1.9/src/LICENSE) | Monads for free | `adjunctions`, `kan-extensions`, `keys`, `lens` |
-| `fsnotify` | [`0.3.0.1`](http://hackage.haskell.org/package/fsnotify-0.3.0.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/fsnotify-0.3.0.1/src/LICENSE) | Cross platform library for file change notification. | `purescript` |
+| `free` | [`5.1.10`](http://hackage.haskell.org/package/free-5.1.10) | [`BSD-3-Clause`](http://hackage.haskell.org/package/free-5.1.10/src/LICENSE) | Monads for free | `adjunctions`, `kan-extensions`, `keys`, `lens` |
| **`ghc-bignum`** | [`1.2`](http://hackage.haskell.org/package/ghc-bignum-1.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-bignum-1.2/src/LICENSE) | GHC BigNum library | `base`, `bitvec`, `cborg`, `hashable`, `integer-gmp`, `integer-logarithms` |
-| **`ghc-boot-th`** | [`9.2.3`](http://hackage.haskell.org/package/ghc-boot-th-9.2.3) | *MISSING* | *MISSING* | `template-haskell` |
+| **`ghc-boot-th`** | [`9.2.5`](http://hackage.haskell.org/package/ghc-boot-th-9.2.5) | *MISSING* | *MISSING* | `template-haskell` |
| **`ghc-prim`** | [`0.8.0`](http://hackage.haskell.org/package/ghc-prim-0.8.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-prim-0.8.0/src/LICENSE) | GHC primitives | *(core library)* |
| `half` | [`0.3.1`](http://hackage.haskell.org/package/half-0.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/half-0.3.1/src/LICENSE) | Half-precision floating-point | `cborg`, `serialise` |
-| `hashable` | [`1.4.1.0`](http://hackage.haskell.org/package/hashable-1.4.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/hashable-1.4.1.0/src/LICENSE) | A class for types that can be converted to a hash value | `aeson`, `async`, `basic-prelude`, `case-insensitive`, `classy-prelude`, `constraints`, `data-fix`, `http-api-data`, `keys`, `lens`, `mono-traversable`, `monoidal-containers`, `pointed`, `protolude`, `psqueues`, `scientific`, `semialign`, `semigroupoids`, `serialise`, `strict`, `text-short`, `these`, `time-compat`, `uniplate`, `unordered-containers`, `uuid-types`, `vault`, `vector-instances`, `warp`, `witherable`, `yesod-static` |
-| `haskeline` | [`0.8.2`](http://hackage.haskell.org/package/haskeline-0.8.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/haskeline-0.8.2/src/LICENSE) | A command-line interface for user input, written in Haskell. | `purescript` |
-| `hinotify` | [`0.4.1`](http://hackage.haskell.org/package/hinotify-0.4.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/hinotify-0.4.1/src/LICENSE) | Haskell binding to inotify | `fsnotify` |
+| `hashable` | [`1.4.2.0`](http://hackage.haskell.org/package/hashable-1.4.2.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/hashable-1.4.2.0/src/LICENSE) | A class for types that can be converted to a hash value | `aeson`, `async`, `basic-prelude`, `case-insensitive`, `classy-prelude`, `constraints`, `data-fix`, `http-api-data`, `keys`, `lens`, `mono-traversable`, `monoidal-containers`, `pointed`, `protolude`, `psqueues`, `resource-pool`, `scientific`, `semialign`, `semigroupoids`, `serialise`, `strict`, `text-short`, `these`, `time-compat`, `uniplate`, `unordered-containers`, `uuid-types`, `vault`, `vector-instances`, `warp`, `witherable`, `yesod-static` |
+| `haskeline` | [`0.8.2.1`](http://hackage.haskell.org/package/haskeline-0.8.2.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/haskeline-0.8.2.1/src/LICENSE) | A command-line interface for user input, written in Haskell. | `purescript` |
| `hourglass` | [`0.2.12`](http://hackage.haskell.org/package/hourglass-0.2.12) | [`BSD-3-Clause`](http://hackage.haskell.org/package/hourglass-0.2.12/src/LICENSE) | simple performant time related library | `asn1-encoding`, `asn1-types`, `tls`, `x509`, `x509-validation` |
| `http-api-data` | [`0.5`](http://hackage.haskell.org/package/http-api-data-0.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/http-api-data-0.5/src/LICENSE) | Converting to/from HTTP API data like URL pieces, headers and query parameters. | `persistent` |
| `http-client` | [`0.7.13.1`](http://hackage.haskell.org/package/http-client-0.7.13.1) | [`MIT`](http://hackage.haskell.org/package/http-client-0.7.13.1/src/LICENSE) | An HTTP client engine | `http-client-tls`, `http-conduit` |
| `http-client-tls` | [`0.3.6.1`](http://hackage.haskell.org/package/http-client-tls-0.3.6.1) | [`MIT`](http://hackage.haskell.org/package/http-client-tls-0.3.6.1/src/LICENSE) | http-client backend using the connection package and tls library | `http-conduit` |
| `http-date` | [`0.0.11`](http://hackage.haskell.org/package/http-date-0.0.11) | [`BSD-3-Clause`](http://hackage.haskell.org/package/http-date-0.0.11/src/LICENSE) | HTTP Date parser/formatter | `wai-app-static`, `warp` |
-| `http2` | [`3.0.3`](http://hackage.haskell.org/package/http2-3.0.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/http2-3.0.3/src/LICENSE) | HTTP/2 library | `wai-extra`, `warp` |
+| `http2` | [`4.0.0`](http://hackage.haskell.org/package/http2-4.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/http2-4.0.0/src/LICENSE) | HTTP/2 library | `warp` |
| `hxt-charproperties` | [`9.5.0.0`](http://hackage.haskell.org/package/hxt-charproperties-9.5.0.0) | [`MIT`](http://hackage.haskell.org/package/hxt-charproperties-9.5.0.0/src/LICENSE) | Character properties and classes for XML and Unicode | `hxt`, `hxt-regex-xmlschema`, `hxt-unicode` |
| `hxt-regex-xmlschema` | [`9.2.0.7`](http://hackage.haskell.org/package/hxt-regex-xmlschema-9.2.0.7) | [`MIT`](http://hackage.haskell.org/package/hxt-regex-xmlschema-9.2.0.7/src/LICENSE) | A regular expression library for W3C XML Schema regular expressions | `hxt` |
| `hxt-unicode` | [`9.0.2.4`](http://hackage.haskell.org/package/hxt-unicode-9.0.2.4) | [`MIT`](http://hackage.haskell.org/package/hxt-unicode-9.0.2.4/src/LICENSE) | Unicode en-/decoding functions for utf8, iso-latin-* and other encodings | `hxt` |
| `indexed-traversable` | [`0.1.2`](http://hackage.haskell.org/package/indexed-traversable-0.1.2) | [`BSD-2-Clause`](http://hackage.haskell.org/package/indexed-traversable-0.1.2/src/LICENSE) | FunctorWithIndex, FoldableWithIndex, TraversableWithIndex | `aeson`, `comonad`, `free`, `indexed-traversable-instances`, `lens`, `semialign`, `witherable` |
-| `indexed-traversable-instances` | [`0.1.1.1`](http://hackage.haskell.org/package/indexed-traversable-instances-0.1.1.1) | [`BSD-2-Clause`](http://hackage.haskell.org/package/indexed-traversable-instances-0.1.1.1/src/LICENSE) | More instances of FunctorWithIndex, FoldableWithIndex, TraversableWithIndex | `lens`, `semialign`, `witherable` |
+| `indexed-traversable-instances` | [`0.1.1.2`](http://hackage.haskell.org/package/indexed-traversable-instances-0.1.1.2) | [`BSD-2-Clause`](http://hackage.haskell.org/package/indexed-traversable-instances-0.1.1.2/src/LICENSE) | More instances of FunctorWithIndex, FoldableWithIndex, TraversableWithIndex | `lens`, `semialign`, `witherable` |
| **`integer-gmp`** | [`1.1`](http://hackage.haskell.org/package/integer-gmp-1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/integer-gmp-1.1/src/LICENSE) | Integer library based on GMP | *(core library)* |
| `integer-logarithms` | [`1.0.3.1`](http://hackage.haskell.org/package/integer-logarithms-1.0.3.1) | [`MIT`](http://hackage.haskell.org/package/integer-logarithms-1.0.3.1/src/LICENSE) | Integer logarithms. | `scientific` |
-| `invariant` | [`0.6`](http://hackage.haskell.org/package/invariant-0.6) | [`BSD-2-Clause`](http://hackage.haskell.org/package/invariant-0.6/src/LICENSE) | Haskell98 invariant functors | `kan-extensions` |
+| `invariant` | [`0.6.1`](http://hackage.haskell.org/package/invariant-0.6.1) | [`BSD-2-Clause`](http://hackage.haskell.org/package/invariant-0.6.1/src/LICENSE) | Haskell98 invariant functors | `kan-extensions` |
| `iproute` | [`1.7.12`](http://hackage.haskell.org/package/iproute-1.7.12) | [`BSD-3-Clause`](http://hackage.haskell.org/package/iproute-1.7.12/src/LICENSE) | IP Routing Table | `http-client`, `wai-extra`, `warp` |
| `kan-extensions` | [`5.2.5`](http://hackage.haskell.org/package/kan-extensions-5.2.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/kan-extensions-5.2.5/src/LICENSE) | Kan extensions, Kan lifts, the Yoneda lemma, and (co)density (co)monads | `lens`, `pointed` |
| `keys` | [`3.12.3`](http://hackage.haskell.org/package/keys-3.12.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/keys-3.12.3/src/LICENSE) | Keyed functors and containers | `vector-instances` |
| `language-javascript` | [`0.7.0.0`](http://hackage.haskell.org/package/language-javascript-0.7.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/language-javascript-0.7.0.0/src/LICENSE) | Parser for JavaScript | `hjsmin`, `purescript` |
| `lens` | [`5.1.1`](http://hackage.haskell.org/package/lens-5.1.1) | [`BSD-2-Clause`](http://hackage.haskell.org/package/lens-5.1.1/src/LICENSE) | Lenses, Folds and Traversals | `monoidal-containers`, `purescript` |
| `libyaml` | [`0.1.2`](http://hackage.haskell.org/package/libyaml-0.1.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/libyaml-0.1.2/src/LICENSE) | Low-level, streaming YAML interface. | `yaml` |
-| `lift-type` | [`0.1.0.1`](http://hackage.haskell.org/package/lift-type-0.1.0.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/lift-type-0.1.0.1/src/LICENSE) | Lift a type from a Typeable constraint to a Template Haskell type | `persistent` |
-| `lifted-async` | [`0.10.2.3`](http://hackage.haskell.org/package/lifted-async-0.10.2.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/lifted-async-0.10.2.3/src/LICENSE) | Run lifted IO operations asynchronously and wait for their results | `purescript`, `shelly` |
-| `lifted-base` | [`0.2.3.12`](http://hackage.haskell.org/package/lifted-base-0.2.3.12) | [`BSD-3-Clause`](http://hackage.haskell.org/package/lifted-base-0.2.3.12/src/LICENSE) | lifted IO operations from the base library | `enclosed-exceptions`, `lifted-async`, `monad-logger`, `purescript`, `shelly` |
+| `lift-type` | [`0.1.1.1`](http://hackage.haskell.org/package/lift-type-0.1.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/lift-type-0.1.1.1/src/LICENSE) | Lift a type from a Typeable constraint to a Template Haskell type | `persistent` |
+| `lifted-async` | [`0.10.2.3`](http://hackage.haskell.org/package/lifted-async-0.10.2.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/lifted-async-0.10.2.3/src/LICENSE) | Run lifted IO operations asynchronously and wait for their results | `purescript` |
+| `lifted-base` | [`0.2.3.12`](http://hackage.haskell.org/package/lifted-base-0.2.3.12) | [`BSD-3-Clause`](http://hackage.haskell.org/package/lifted-base-0.2.3.12/src/LICENSE) | lifted IO operations from the base library | `lifted-async`, `monad-logger`, `purescript` |
| `memory` | [`0.17.0`](http://hackage.haskell.org/package/memory-0.17.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/memory-0.17.0/src/LICENSE) | memory and related abstraction stuff | `asn1-types`, `cryptonite`, `cryptonite-conduit`, `http-client-tls`, `pem`, `purescript`, `securemem`, `tls`, `wai-app-static`, `x509`, `x509-validation`, `yesod-core`, `yesod-static` |
| `mime-types` | [`0.1.1.0`](http://hackage.haskell.org/package/mime-types-0.1.1.0) | [`MIT`](http://hackage.haskell.org/package/mime-types-0.1.1.0/src/LICENSE) | Basic mime-type handling types and functions | `http-client`, `wai-app-static`, `yesod-static` |
| `monad-loops` | [`0.4.3`](http://hackage.haskell.org/package/monad-loops-0.4.3) | [`LicenseRef-PublicDomain`](http://hackage.haskell.org/package/monad-loops-0.4.3) | Monadic loops | `monad-logger` |
@@ -199,9 +196,9 @@ Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3
| `monoidal-containers` | [`0.6.3.0`](http://hackage.haskell.org/package/monoidal-containers-0.6.3.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/monoidal-containers-0.6.3.0/src/LICENSE) | Containers with monoidal accumulation | `purescript` |
| `mtl-compat` | [`0.2.2`](http://hackage.haskell.org/package/mtl-compat-0.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/mtl-compat-0.2.2/src/LICENSE) | Backported Control.Monad.Except module from mtl | `protolude` |
| `mutable-containers` | [`0.3.4.1`](http://hackage.haskell.org/package/mutable-containers-0.3.4.1) | [`MIT`](http://hackage.haskell.org/package/mutable-containers-0.3.4.1/src/LICENSE) | Abstactions and concrete implementations of mutable containers | `classy-prelude` |
-| `network` | [`3.1.2.7`](http://hackage.haskell.org/package/network-3.1.2.7) | [`BSD-3-Clause`](http://hackage.haskell.org/package/network-3.1.2.7/src/LICENSE) | Low-level networking interface | `conduit-extra`, `connection`, `http-client`, `http-client-tls`, `http2`, `iproute`, `recv`, `simple-sendfile`, `socks`, `streaming-commons`, `tls`, `wai`, `wai-extra`, `wai-logger`, `warp` |
+| `network` | [`3.1.2.8`](http://hackage.haskell.org/package/network-3.1.2.8) | [`BSD-3-Clause`](http://hackage.haskell.org/package/network-3.1.2.8/src/LICENSE) | Low-level networking interface | `conduit-extra`, `connection`, `http-client`, `http-client-tls`, `http2`, `iproute`, `recv`, `simple-sendfile`, `socks`, `streaming-commons`, `tls`, `wai`, `wai-extra`, `wai-logger`, `warp` |
| `network-byte-order` | [`0.1.6`](http://hackage.haskell.org/package/network-byte-order-0.1.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/network-byte-order-0.1.6/src/LICENSE) | Network byte order utilities | `http2` |
-| `network-uri` | [`2.6.4.1`](http://hackage.haskell.org/package/network-uri-2.6.4.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/network-uri-2.6.4.1/src/LICENSE) | URI manipulation | `http-client`, `http-client-tls`, `hxt`, `xss-sanitize`, `yesod-form` |
+| `network-uri` | [`2.6.4.2`](http://hackage.haskell.org/package/network-uri-2.6.4.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/network-uri-2.6.4.2/src/LICENSE) | URI manipulation | `http-client`, `http-client-tls`, `hxt`, `xss-sanitize`, `yesod-form` |
| `newtype` | [`0.2.2.0`](http://hackage.haskell.org/package/newtype-0.2.2.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/newtype-0.2.2.0/src/LICENSE) | A typeclass and set of functions for working with newtypes. | `monoidal-containers` |
| `old-locale` | [`1.0.0.7`](http://hackage.haskell.org/package/old-locale-1.0.0.7) | [`BSD-3-Clause`](http://hackage.haskell.org/package/old-locale-1.0.0.7/src/LICENSE) | locale library | `data-default-instances-old-locale`, `old-time`, `wai-app-static` |
| `old-time` | [`1.1.0.3`](http://hackage.haskell.org/package/old-time-1.1.0.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/old-time-1.1.0.3/src/LICENSE) | Time library | `unix-time` |
@@ -210,31 +207,31 @@ Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3
| `path-pieces` | [`0.2.1`](http://hackage.haskell.org/package/path-pieces-0.2.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/path-pieces-0.2.1/src/LICENSE) | Components of paths. | `persistent`, `yesod-core` |
| `pattern-arrows` | [`0.0.2`](http://hackage.haskell.org/package/pattern-arrows-0.0.2) | [`MIT`](http://hackage.haskell.org/package/pattern-arrows-0.0.2/src/LICENSE) | Arrows for Pretty Printing | `purescript` |
| `pem` | [`0.2.4`](http://hackage.haskell.org/package/pem-0.2.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/pem-0.2.4/src/LICENSE) | Privacy Enhanced Mail (PEM) format reader and writer. | `x509`, `x509-store`, `x509-system`, `x509-validation` |
-| `persistent` | [`2.14.3.0`](http://hackage.haskell.org/package/persistent-2.14.3.0) | [`MIT`](http://hackage.haskell.org/package/persistent-2.14.3.0/src/LICENSE) | Type-safe, multi-backend data serialization. | `classy-prelude-yesod`, `yesod-form`, `yesod-persistent` |
+| `persistent` | [`2.14.5.0`](http://hackage.haskell.org/package/persistent-2.14.5.0) | [`MIT`](http://hackage.haskell.org/package/persistent-2.14.5.0/src/LICENSE) | Type-safe, multi-backend data serialization. | `classy-prelude-yesod`, `yesod-form`, `yesod-persistent` |
| `persistent-template` | [`2.12.0.0`](http://hackage.haskell.org/package/persistent-template-2.12.0.0) | [`MIT`](http://hackage.haskell.org/package/persistent-template-2.12.0.0/src/LICENSE) | Type-safe, non-relational, multi-backend persistence. | `yesod-persistent` |
| `pointed` | [`5.0.4`](http://hackage.haskell.org/package/pointed-5.0.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/pointed-5.0.4/src/LICENSE) | Pointed and copointed data | `vector-instances` |
| **`pretty`** | [`1.1.3.6`](http://hackage.haskell.org/package/pretty-1.1.3.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/pretty-1.1.3.6/src/LICENSE) | Pretty-printing library | `Cabal`, `template-haskell` |
| `primitive` | [`0.7.4.0`](http://hackage.haskell.org/package/primitive-0.7.4.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/primitive-0.7.4.0/src/LICENSE) | Primitive memory-related operations | `aeson`, `bitvec`, `cborg`, `classy-prelude`, `conduit`, `conduit-extra`, `mutable-containers`, `resource-pool`, `resourcet`, `scientific`, `serialise`, `vector`, `vector-algorithms`, `yesod-core` |
-| `process` | [`1.6.13.1`](http://hackage.haskell.org/package/process-1.6.13.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/process-1.6.13.1/src/LICENSE) | Process libraries | `Cabal`, `conduit-extra`, `haskeline`, `optparse-applicative`, `purescript`, `shakespeare`, `shelly`, `sourcemap`, `streaming-commons`, `typed-process`, `unliftio`, `x509-system`, `yesod-static` |
+| `process` | [`1.6.13.1`](http://hackage.haskell.org/package/process-1.6.13.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/process-1.6.13.1/src/LICENSE) | Process libraries | `Cabal`, `conduit-extra`, `haskeline`, `optparse-applicative`, `purescript`, `shakespeare`, `sourcemap`, `streaming-commons`, `typed-process`, `unliftio`, `x509-system`, `yesod-static` |
| `profunctors` | [`5.6.2`](http://hackage.haskell.org/package/profunctors-5.6.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/profunctors-5.6.2/src/LICENSE) | Profunctors | `adjunctions`, `free`, `invariant`, `kan-extensions`, `lens` |
-| `protolude` | [`0.3.2`](http://hackage.haskell.org/package/protolude-0.3.2) | [`MIT`](http://hackage.haskell.org/package/protolude-0.3.2/src/LICENSE) | A small prelude. | `purescript` |
+| `protolude` | [`0.3.3`](http://hackage.haskell.org/package/protolude-0.3.3) | [`MIT`](http://hackage.haskell.org/package/protolude-0.3.3/src/LICENSE) | A small prelude. | `purescript` |
| `psqueues` | [`0.2.7.3`](http://hackage.haskell.org/package/psqueues-0.2.7.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/psqueues-0.2.7.3/src/LICENSE) | Pure priority search queues | `http2` |
| `random` | [`1.2.1.1`](http://hackage.haskell.org/package/random-1.2.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/random-1.2.1.1/src/LICENSE) | Pseudo-random number generation | `QuickCheck`, `edit-distance`, `http-client`, `streaming-commons`, `uuid-types`, `yesod-core` |
-| `recv` | [`0.0.0`](http://hackage.haskell.org/package/recv-0.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/recv-0.0.0/src/LICENSE) | Efficient netowrk recv | `warp` |
-| `reflection` | [`2.1.6`](http://hackage.haskell.org/package/reflection-2.1.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/reflection-2.1.6/src/LICENSE) | Reifies arbitrary terms into types that can be reflected back into terms | `lens` |
+| `recv` | [`0.1.0`](http://hackage.haskell.org/package/recv-0.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/recv-0.1.0/src/LICENSE) | Efficient network recv | `warp` |
+| `reflection` | [`2.1.7`](http://hackage.haskell.org/package/reflection-2.1.7) | [`BSD-3-Clause`](http://hackage.haskell.org/package/reflection-2.1.7/src/LICENSE) | Reifies arbitrary terms into types that can be reflected back into terms | `lens` |
| `regex-base` | [`0.94.0.2`](http://hackage.haskell.org/package/regex-base-0.94.0.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/regex-base-0.94.0.2/src/LICENSE) | Common "Text.Regex.*" API for Regex matching | `regex-tdfa` |
| `regex-tdfa` | [`1.3.2`](http://hackage.haskell.org/package/regex-tdfa-1.3.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/regex-tdfa-1.3.2/src/LICENSE) | Pure Haskell Tagged DFA Backend for "Text.Regex" (regex-base) | `purescript` |
-| `resource-pool` | [`0.3.1.0`](http://hackage.haskell.org/package/resource-pool-0.3.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/resource-pool-0.3.1.0/src/LICENSE) | A high-performance striped resource pooling implementation | `persistent`, `yesod-persistent` |
-| `resourcet` | [`1.2.6`](http://hackage.haskell.org/package/resourcet-1.2.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/resourcet-1.2.6/src/LICENSE) | Deterministic allocation and freeing of scarce resources. | `classy-prelude-conduit`, `conduit`, `conduit-extra`, `cryptonite-conduit`, `http-conduit`, `libyaml`, `monad-logger`, `persistent`, `wai-extra`, `xml-conduit`, `yaml`, `yesod-core`, `yesod-form`, `yesod-persistent` |
+| `resource-pool` | [`0.4.0.0`](http://hackage.haskell.org/package/resource-pool-0.4.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/resource-pool-0.4.0.0/src/LICENSE) | A high-performance striped resource pooling implementation | `persistent`, `yesod-persistent` |
+| `resourcet` | [`1.3.0`](http://hackage.haskell.org/package/resourcet-1.3.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/resourcet-1.3.0/src/LICENSE) | Deterministic allocation and freeing of scarce resources. | `classy-prelude-conduit`, `conduit`, `conduit-extra`, `cryptonite-conduit`, `http-conduit`, `libyaml`, `monad-logger`, `persistent`, `wai-extra`, `xml-conduit`, `yaml`, `yesod-core`, `yesod-form`, `yesod-persistent` |
+| `safe-exceptions` | [`0.1.7.3`](http://hackage.haskell.org/package/safe-exceptions-0.1.7.3) | [`MIT`](http://hackage.haskell.org/package/safe-exceptions-0.1.7.3/src/LICENSE) | Safe, consistent, and easy exception handling | `unliftio` |
| `say` | [`0.1.0.1`](http://hackage.haskell.org/package/say-0.1.0.1) | [`MIT`](http://hackage.haskell.org/package/say-0.1.0.1/src/LICENSE) | Send textual messages to a Handle in a thread-friendly way | `classy-prelude` |
-| `scientific` | [`0.3.7.0`](http://hackage.haskell.org/package/scientific-0.3.7.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/scientific-0.3.7.0/src/LICENSE) | Numbers represented using scientific notation | `aeson`, `aeson-better-errors`, `aeson-pretty`, `attoparsec`, `bower-json`, `persistent`, `purescript`, `shakespeare`, `yaml` |
+| `scientific` | [`0.3.7.0`](http://hackage.haskell.org/package/scientific-0.3.7.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/scientific-0.3.7.0/src/LICENSE) | Numbers represented using scientific notation | `aeson`, `aeson-better-errors`, `attoparsec`, `bower-json`, `persistent`, `purescript`, `shakespeare`, `yaml` |
| `securemem` | [`0.1.10`](http://hackage.haskell.org/package/securemem-0.1.10) | [`BSD-3-Clause`](http://hackage.haskell.org/package/securemem-0.1.10/src/LICENSE) | abstraction to an auto scrubbing and const time eq, memory chunk. | `cipher-aes`, `crypto-cipher-types`, `crypto-random` |
| `semialign` | [`1.2.0.1`](http://hackage.haskell.org/package/semialign-1.2.0.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/semialign-1.2.0.1/src/LICENSE) | Align and Zip type-classes from the common Semialign ancestor. | `aeson`, `monoidal-containers`, `purescript` |
| `semigroupoids` | [`5.3.7`](http://hackage.haskell.org/package/semigroupoids-5.3.7) | [`BSD-2-Clause`](http://hackage.haskell.org/package/semigroupoids-5.3.7/src/LICENSE) | Semigroupoids: Category sans id | `adjunctions`, `free`, `kan-extensions`, `keys`, `lens`, `mono-traversable-instances`, `pointed`, `semialign`, `vector-instances` |
| `semigroups` | [`0.20`](http://hackage.haskell.org/package/semigroups-0.20) | [`BSD-3-Clause`](http://hackage.haskell.org/package/semigroups-0.20/src/LICENSE) | Anything that associates | `adjunctions`, `chunked-data`, `dlist-instances`, `keys`, `mono-traversable-instances`, `pointed`, `purescript`, `vector-instances`, `yesod-form` |
| `serialise` | [`0.2.6.0`](http://hackage.haskell.org/package/serialise-0.2.6.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/serialise-0.2.6.0/src/LICENSE.txt) | A binary serialisation library for Haskell values. | `purescript` |
| `setenv` | [`0.1.1.3`](http://hackage.haskell.org/package/setenv-0.1.1.3) | [`MIT`](http://hackage.haskell.org/package/setenv-0.1.1.3/src/LICENSE) | A cross-platform library for setting environment variables | `clientsession` |
-| `shelly` | [`1.10.0`](http://hackage.haskell.org/package/shelly-1.10.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/shelly-1.10.0/src/LICENSE) | shell-like (systems) programming in Haskell | `fsnotify` |
| `silently` | [`1.2.5.3`](http://hackage.haskell.org/package/silently-1.2.5.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/silently-1.2.5.3/src/LICENSE) | Prevent or capture writing to stdout and other handles. | `persistent` |
| `simple-sendfile` | [`0.2.30`](http://hackage.haskell.org/package/simple-sendfile-0.2.30) | [`BSD-3-Clause`](http://hackage.haskell.org/package/simple-sendfile-0.2.30/src/LICENSE) | Cross platform library for the sendfile system call | `warp` |
| `skein` | [`1.0.9.4`](http://hackage.haskell.org/package/skein-1.0.9.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/skein-1.0.9.4/src/LICENSE) | Skein, a family of cryptographic hash functions. Includes Skein-MAC as well. | `clientsession` |
@@ -245,29 +242,29 @@ Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.2.3
| `stm-chans` | [`3.0.0.6`](http://hackage.haskell.org/package/stm-chans-3.0.0.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/stm-chans-3.0.0.6/src/LICENSE) | Additional types of channels for STM. | `classy-prelude`, `monad-logger` |
| `strict` | [`0.4.0.1`](http://hackage.haskell.org/package/strict-0.4.0.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/strict-0.4.0.1/src/LICENSE) | Strict data types and String IO. | `aeson`, `lens`, `serialise` |
| `stringsearch` | [`0.3.6.6`](http://hackage.haskell.org/package/stringsearch-0.3.6.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/stringsearch-0.3.6.6/src/LICENCE) | Fast searching, splitting and replacing of ByteStrings | `purescript` |
-| `syb` | [`0.7.2.2`](http://hackage.haskell.org/package/syb-0.7.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/syb-0.7.2.2/src/LICENSE) | Scrap Your Boilerplate | `cheapskate`, `purescript`, `uniplate` |
-| `tagged` | [`0.8.6.1`](http://hackage.haskell.org/package/tagged-0.8.6.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/tagged-0.8.6.1/src/LICENSE) | Haskell 98 phantom types to avoid unsafely passing dummy arguments | `adjunctions`, `aeson`, `assoc`, `bifunctors`, `clientsession`, `comonad`, `crypto-api`, `distributive`, `http-api-data`, `indexed-traversable-instances`, `invariant`, `kan-extensions`, `keys`, `lens`, `pointed`, `profunctors`, `semialign`, `semigroupoids`, `skein` |
+| `syb` | [`0.7.2.2`](http://hackage.haskell.org/package/syb-0.7.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/syb-0.7.2.2/src/LICENSE) | Scrap Your Boilerplate | `cheapskate`, `uniplate` |
+| `tagged` | [`0.8.7`](http://hackage.haskell.org/package/tagged-0.8.7) | [`BSD-3-Clause`](http://hackage.haskell.org/package/tagged-0.8.7/src/LICENSE) | Haskell 98 phantom types to avoid unsafely passing dummy arguments | `adjunctions`, `aeson`, `assoc`, `bifunctors`, `clientsession`, `comonad`, `crypto-api`, `distributive`, `http-api-data`, `indexed-traversable-instances`, `invariant`, `kan-extensions`, `keys`, `lens`, `pointed`, `profunctors`, `semialign`, `semigroupoids`, `skein` |
| `tagsoup` | [`0.14.8`](http://hackage.haskell.org/package/tagsoup-0.14.8) | [`BSD-3-Clause`](http://hackage.haskell.org/package/tagsoup-0.14.8/src/LICENSE) | Parsing and extracting information from (possibly malformed) HTML/XML documents | `xss-sanitize` |
| **`terminfo`** | [`0.4.1.5`](http://hackage.haskell.org/package/terminfo-0.4.1.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/terminfo-0.4.1.5/src/LICENSE) | Haskell bindings to the terminfo library. | `haskeline` |
| `text-short` | [`0.1.5`](http://hackage.haskell.org/package/text-short-0.1.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/text-short-0.1.5/src/LICENSE) | Memory-efficient representation of Unicode text strings | `aeson` |
| `th-abstraction` | [`0.4.5.0`](http://hackage.haskell.org/package/th-abstraction-0.4.5.0) | [`ISC`](http://hackage.haskell.org/package/th-abstraction-0.4.5.0/src/LICENSE) | Nicer interface for reified information about data types | `aeson`, `bifunctors`, `free`, `invariant`, `lens`, `th-lift` |
| `th-compat` | [`0.1.4`](http://hackage.haskell.org/package/th-compat-0.1.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/th-compat-0.1.4/src/LICENSE) | Backward- (and forward-)compatible Quote and Code types | `network-uri` |
-| `th-lift` | [`0.8.2`](http://hackage.haskell.org/package/th-lift-0.8.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/th-lift-0.8.2/src/COPYING) | Derive Template Haskell's Lift class for datatypes. | `shakespeare`, `th-lift-instances` |
+| `th-lift` | [`0.8.3`](http://hackage.haskell.org/package/th-lift-0.8.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/th-lift-0.8.3/src/COPYING) | Derive Template Haskell's Lift class for datatypes. | `shakespeare`, `th-lift-instances` |
| `th-lift-instances` | [`0.1.20`](http://hackage.haskell.org/package/th-lift-instances-0.1.20) | [`BSD-3-Clause`](http://hackage.haskell.org/package/th-lift-instances-0.1.20/src/LICENSE) | Lift instances for template-haskell for common data types. | `persistent` |
| `these` | [`1.1.1.1`](http://hackage.haskell.org/package/these-1.1.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/these-1.1.1.1/src/LICENSE) | An either-or-both data type. | `aeson`, `lens`, `monoidal-containers`, `purescript`, `semialign`, `serialise`, `strict` |
| `time-compat` | [`1.9.6.1`](http://hackage.haskell.org/package/time-compat-1.9.6.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/time-compat-1.9.6.1/src/LICENSE) | Compatibility package for time | `aeson`, `attoparsec-iso8601`, `http-api-data` |
| `time-manager` | [`0.0.0`](http://hackage.haskell.org/package/time-manager-0.0.0) | [`MIT`](http://hackage.haskell.org/package/time-manager-0.0.0/src/LICENSE) | Scalable timer | `http2`, `warp` |
| `tls` | [`1.6.0`](http://hackage.haskell.org/package/tls-1.6.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/tls-1.6.0/src/LICENSE) | TLS/SSL protocol native implementation (Server and Client) | `connection`, `http-client-tls` |
-| `transformers-base` | [`0.4.6`](http://hackage.haskell.org/package/transformers-base-0.4.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/transformers-base-0.4.6/src/LICENSE) | Lift computations from the bottom of a transformer stack | `enclosed-exceptions`, `free`, `lifted-async`, `lifted-base`, `monad-control`, `monad-logger`, `purescript`, `shelly` |
-| `transformers-compat` | [`0.7.2`](http://hackage.haskell.org/package/transformers-compat-0.7.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/transformers-compat-0.7.2/src/LICENSE) | A small compatibility shim for the transformers library | `Glob`, `adjunctions`, `aeson-better-errors`, `comonad`, `constraints`, `invariant`, `kan-extensions`, `keys`, `lens`, `monad-control`, `monad-logger`, `optparse-applicative`, `pointed`, `protolude`, `purescript`, `semigroupoids`, `transformers-base` |
+| `transformers-base` | [`0.4.6`](http://hackage.haskell.org/package/transformers-base-0.4.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/transformers-base-0.4.6/src/LICENSE) | Lift computations from the bottom of a transformer stack | `free`, `lifted-async`, `lifted-base`, `monad-control`, `monad-logger`, `purescript` |
+| `transformers-compat` | [`0.7.2`](http://hackage.haskell.org/package/transformers-compat-0.7.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/transformers-compat-0.7.2/src/LICENSE) | A small compatibility shim for the transformers library | `Glob`, `adjunctions`, `aeson-better-errors`, `comonad`, `constraints`, `invariant`, `kan-extensions`, `keys`, `lens`, `monad-control`, `monad-logger`, `optparse-applicative`, `pointed`, `protolude`, `semigroupoids`, `transformers-base` |
| `type-equality` | [`1`](http://hackage.haskell.org/package/type-equality-1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/type-equality-1/src/LICENSE) | Data.Type.Equality compat package | `constraints` |
-| `typed-process` | [`0.2.10.1`](http://hackage.haskell.org/package/typed-process-0.2.10.1) | [`MIT`](http://hackage.haskell.org/package/typed-process-0.2.10.1/src/LICENSE) | Run external processes, with strong typing of streams | `conduit-extra`, `purescript` |
+| `typed-process` | [`0.2.11.0`](http://hackage.haskell.org/package/typed-process-0.2.11.0) | [`MIT`](http://hackage.haskell.org/package/typed-process-0.2.11.0/src/LICENSE) | Run external processes, with strong typing of streams | `conduit-extra` |
| `uniplate` | [`1.6.13`](http://hackage.haskell.org/package/uniplate-1.6.13) | [`BSD-3-Clause`](http://hackage.haskell.org/package/uniplate-1.6.13/src/LICENSE) | Help writing simple, concise and fast generic operations. | `cheapskate` |
-| **`unix`** | [`2.7.2.2`](http://hackage.haskell.org/package/unix-2.7.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unix-2.7.2.2/src/LICENSE) | POSIX functionality | `Cabal`, `base-compat`, `conduit`, `crypto-random`, `directory`, `easy-file`, `entropy`, `fsnotify`, `haskeline`, `hinotify`, `process`, `setenv`, `simple-sendfile`, `streaming-commons`, `unix-compat`, `unliftio`, `wai-extra`, `warp`, `yesod` |
-| `unix-compat` | [`0.6`](http://hackage.haskell.org/package/unix-compat-0.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unix-compat-0.6/src/LICENSE) | Portable POSIX-compatibility layer. | `fast-logger`, `fsnotify`, `shelly`, `wai-app-static`, `warp`, `yesod-core`, `yesod-static` |
+| **`unix`** | [`2.7.2.2`](http://hackage.haskell.org/package/unix-2.7.2.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unix-2.7.2.2/src/LICENSE) | POSIX functionality | `Cabal`, `base-compat`, `conduit`, `crypto-random`, `directory`, `easy-file`, `entropy`, `haskeline`, `process`, `setenv`, `simple-sendfile`, `streaming-commons`, `unix-compat`, `unliftio`, `wai-extra`, `warp`, `yesod` |
+| `unix-compat` | [`0.6`](http://hackage.haskell.org/package/unix-compat-0.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unix-compat-0.6/src/LICENSE) | Portable POSIX-compatibility layer. | `fast-logger`, `wai-app-static`, `warp`, `yesod-core`, `yesod-static` |
| `unix-time` | [`0.4.8`](http://hackage.haskell.org/package/unix-time-0.4.8) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unix-time-0.4.8/src/LICENSE) | Unix time parser/formatter and utilities | `fast-logger`, `http2` |
-| `unliftio` | [`0.2.22.0`](http://hackage.haskell.org/package/unliftio-0.2.22.0) | [`MIT`](http://hackage.haskell.org/package/unliftio-0.2.22.0/src/LICENSE) | The MonadUnliftIO typeclass for unlifting monads to IO (batteries included) | `classy-prelude`, `persistent`, `warp`, `yesod-core` |
-| `unliftio-core` | [`0.2.0.1`](http://hackage.haskell.org/package/unliftio-core-0.2.0.1) | [`MIT`](http://hackage.haskell.org/package/unliftio-core-0.2.0.1/src/LICENSE) | The MonadUnliftIO typeclass for unlifting monads to IO | `conduit`, `conduit-extra`, `http-conduit`, `monad-logger`, `persistent`, `resourcet`, `typed-process`, `unliftio` |
+| `unliftio` | [`0.2.24.0`](http://hackage.haskell.org/package/unliftio-0.2.24.0) | [`MIT`](http://hackage.haskell.org/package/unliftio-0.2.24.0/src/LICENSE) | The MonadUnliftIO typeclass for unlifting monads to IO (batteries included) | `classy-prelude`, `http2`, `persistent`, `warp`, `yesod-core` |
+| `unliftio-core` | [`0.2.1.0`](http://hackage.haskell.org/package/unliftio-core-0.2.1.0) | [`MIT`](http://hackage.haskell.org/package/unliftio-core-0.2.1.0/src/LICENSE) | The MonadUnliftIO typeclass for unlifting monads to IO | `conduit`, `conduit-extra`, `http-conduit`, `monad-logger`, `persistent`, `resourcet`, `typed-process`, `unliftio` |
| `utf8-string` | [`1.0.2`](http://hackage.haskell.org/package/utf8-string-1.0.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/utf8-string-1.0.2/src/LICENSE) | Support for reading and writing UTF8 Strings | `language-javascript`, `purescript`, `sourcemap`, `xss-sanitize` |
| `uuid-types` | [`1.0.5`](http://hackage.haskell.org/package/uuid-types-1.0.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/uuid-types-1.0.5/src/LICENSE) | Type definitions for Universally Unique Identifiers | `aeson`, `http-api-data` |
| `vault` | [`0.3.1.5`](http://hackage.haskell.org/package/vault-0.3.1.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/vault-0.3.1.5/src/LICENSE) | a persistent store for values of arbitrary types | `persistent`, `wai`, `wai-extra`, `warp` |
diff --git a/pursuit.cabal b/pursuit.cabal
index eae8bc9..5c88cfe 100644
--- a/pursuit.cabal
+++ b/pursuit.cabal
@@ -102,7 +102,7 @@ library
, containers
, vector
, time
- , purescript ==0.15.6
+ , purescript ==0.15.8
, bower-json
, blaze-builder
, blaze-markup
diff --git a/stack.yaml b/stack.yaml
index 544dee7..51f4f78 100644
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,4 +1,4 @@
-resolver: nightly-2022-06-09
+resolver: lts-20.9
# Resolves hjsmin requiring language-javascript ==0.6, while the purescript
# compiler requires language-javascript ==0.7.
allow-newer: true
@@ -12,7 +12,7 @@ extra-deps:
- bytestring-trie-0.2.7@sha256:f78e9d1dba699ce56080824693787918e9e8904db99d04d3470941420b1dd3ed,9010
- classy-prelude-yesod-1.5.0
- language-javascript-0.7.0.0
- - purescript-0.15.6
+ - purescript-0.15.8
- monoidal-containers-0.6.2.0
- protolude-0.3.1
- process-1.6.13.1
diff --git a/stack.yaml.lock b/stack.yaml.lock
index de97319..35c133b 100644
--- a/stack.yaml.lock
+++ b/stack.yaml.lock
@@ -5,75 +5,75 @@
packages:
- completed:
- name: barrier
- version: 0.1.1
+ commit: db5e27c8ff8f98b2ea18036ce20f853a92aec595
git: https://github.com/PureFunctor/barrier.git
+ name: barrier
pantry-tree:
- size: 1892
sha256: b7d15fa12674068618745c2cbdaa6d0fa256206d0904d4e8964606ee7fd57676
- commit: db5e27c8ff8f98b2ea18036ce20f853a92aec595
+ size: 1892
+ version: 0.1.1
original:
- git: https://github.com/PureFunctor/barrier.git
commit: db5e27c8ff8f98b2ea18036ce20f853a92aec595
+ git: https://github.com/PureFunctor/barrier.git
- completed:
hackage: bytestring-trie-0.2.7@sha256:f78e9d1dba699ce56080824693787918e9e8904db99d04d3470941420b1dd3ed,9010
pantry-tree:
- size: 1221
sha256: b1f438713b95d8e1e95af11c5d747d1fa9b647c2f55be817ff91e4bd4d69ca00
+ size: 1221
original:
hackage: bytestring-trie-0.2.7@sha256:f78e9d1dba699ce56080824693787918e9e8904db99d04d3470941420b1dd3ed,9010
- completed:
hackage: classy-prelude-yesod-1.5.0@sha256:8f7e183bdfd6d2ea9674284c4f285294ab086aff60d9be4e5d7d2f3c1a2b05b7,1330
pantry-tree:
- size: 330
sha256: ae84d4cc0e1daf985db6cdcf2ac92319531b8e60f547183cc46480d00aafbe20
+ size: 330
original:
hackage: classy-prelude-yesod-1.5.0
- completed:
hackage: language-javascript-0.7.0.0@sha256:3eab0262b8ac5621936a4beab6a0f97d0e00a63455a8b0e3ac1547b4088dae7d,3898
pantry-tree:
- size: 2244
sha256: b0f28d836cb3fbde203fd7318a896c3a20acd8653a905e1950ae2d9a64bccebf
+ size: 2244
original:
hackage: language-javascript-0.7.0.0
- completed:
- hackage: purescript-0.15.6@sha256:d06964345d46009b0a2d5f610f9e0394912da682f508458e7c059a4d6b0299c1,20800
+ hackage: purescript-0.15.8@sha256:5d7c19e5a49f83acbe8ecc43bf93feb0e075bb11992df9b83af4467aea0bf41d,21427
pantry-tree:
- size: 153963
- sha256: 8a43be3726b172e8cfeebfb05462f17eeb3af932576c5e48cf366c0751f1fdf8
+ sha256: 79dde609e3b525e30234fd76b0901f72d48dea47a879d547864d959f85b81760
+ size: 156457
original:
- hackage: purescript-0.15.6
+ hackage: purescript-0.15.8
- completed:
hackage: monoidal-containers-0.6.2.0@sha256:97289baf716f22fdae04b4fcbee066453d2f4c630ef3f631aeeab61ee713841e,2309
pantry-tree:
- size: 569
sha256: 55c0b7f60f8350546d437c9c0ad52c1dba35cac727972e7dc0f12201870df62f
+ size: 569
original:
hackage: monoidal-containers-0.6.2.0
- completed:
hackage: protolude-0.3.1@sha256:1cc9e5a5c26c33a43c52b554443dd9779fef13974eaa0beec7ca6d2551b400da,2647
pantry-tree:
- size: 1645
sha256: 6452a6ca8d395f7d810139779bb0fd16fc1dbb00f1862630bc08ef5a100430f9
+ size: 1645
original:
hackage: protolude-0.3.1
- completed:
hackage: process-1.6.13.1@sha256:c8bb8b7c993ff72d771381b3b56852dd154bce51880a24789c11f57b0688d353,2963
pantry-tree:
- size: 1543
sha256: 58117b15fa330c79b3bca6b29c65f815e45840f79cc0915d3434f25e54ac8fa5
+ size: 1543
original:
hackage: process-1.6.13.1
- completed:
hackage: Cabal-3.6.3.0@sha256:ff97c442b0c679c1c9876acd15f73ac4f602b973c45bde42b43ec28265ee48f4,12459
pantry-tree:
- size: 19757
sha256: b250a53bdb56844f047a2927833bb565b936a289abfa85dfc2a63148d776368a
+ size: 19757
original:
hackage: Cabal-3.6.3.0
snapshots:
- completed:
- size: 607265
- url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2022/6/9.yaml
- sha256: 819ac07621dac5b2c320c45cb8c27f141f95114a1749b19b06d2c3606c79e839
- original: nightly-2022-06-09
+ sha256: c11fcbeb1aa12761044755b1109d16952ede2cb6147ebde777dd5cb38f784501
+ size: 649333
+ url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/9.yaml
+ original: lts-20.9
diff --git a/static/help-docs/authors.md b/static/help-docs/authors.md
index 451d588..1e8e869 100644
--- a/static/help-docs/authors.md
+++ b/static/help-docs/authors.md
@@ -1,86 +1,6 @@
## How to submit packages
-Packages can only be uploaded to Pursuit if the following conditions are true:
-- The repository is not a mono-repo.
-- Your project must be registred in the [`purescript/registry` repo's `new-packages.json` file](https://github.com/purescript/registry/blob/master/new-packages.json). If it's not yet there, then submit a PR adding it.
-- `bower install` exits successfully without any conflicts.
-- `pulp build` (and if applicable `pulp test`) exits successfully without any conflicts.
-- A tag points to the same commit that is currently checked out (whether by a checked out commit, branch, or tag)
-- The `git` working directory is clean.
-
-`bower` often causes problems in publishing, and this is something that will be fixed once the PureScript Registry is started. Until then, keep the following in mind:
-- In your package's root directory, always start from a clean bower state by running `rm -rf bower_components/ && bower cache clean`
-- If a dependency is **not** in the Bower registry (e.g. `bower info purescript-package-name` returns `ENOTFOUND`), it can be installed using the long form. For example:
- - Schema: `bower install --save =#`
- - Example: `bower install --save purescript-js-uri=https://github.com/purescript-contrib/purescript-js-uri.git#^1.0.0`
-- If you run `bower install` and the command encounters a version conflict and asks which one to use for a given dependency, then your package cannot be published to Pursuit. There are two possible reasons for this:
- - one or more of your `bower.json` file's `dependencies` or `devDependencies` (if used) needs to be updated
- - Try running the following:
-
- ```
- # installs `ncu` globally
- npm i -g npm-check-updates
- # get list of outdated packages
- ncu -p bower
- # update versions to latest ones automatically
- ncu -u -p bower
- ```
-
- - one or more of your dependencies (e.g. `bar`) did not update their `bower.json` file's `dependencies` field to refer to the new version of their dependency (e.g. `baz`) before publishing it (e.g. `bar`). As a result, your direct dependency, `foo@2.0.0`, may depend on `baz@2.0.0` while your other direct dependency `bar@2.0.0` still depends on `baz@1.0.0`. Bower will complain when it isn't sure whether to use `baz@1.0.0` or `baz@2.0.0`.
- - Try contacting the author of the package and ask them to update their `bower.json` file correctly and publish a new release.
-
-1. Put the code up on GitHub. (Currently, GitHub is the only supported hosting method. If you'd rather host your code somewhere else, please open an issue and let us know).
-
-2. Verify that `bower install`, `pulp build`, and (if applicable) `pulp test` exit successfully.
-
-3. (Optional, highly recommended) Check that the documentation looks sensible locally before publishing by running `pulp docs -- --format html`.
-
-4. Create a git tag for the version you're releasing, if you haven't already. It is recommended to use `pulp version` to do this for you, as doing it this way will also check your package for common errors.
-
-5. Authenticate to GitHub by running `pulp login`. (This is necessary in order for us to be able to tell who uploaded which packages).
-
-6. Change to your project directory and run `pulp publish`. This will the push commits and the relevant tag to your "origin" Git remote, and then generate your documentation and upload it to Pursuit.
-
- `pulp publish` also accepts a `--no-push` flag which skips the Bower registration check as well as pushing commits (this is useful for uploading other people's packages, if you ever need to do this). There is also a `--push-to` option which allows you to specify a different Git remote to push tags and commits to.
-
- **Note: If `pulp publish` fails with a `400` error, try running it a second time.** Usually, your project's documentation will be successfully published on the second run. For example:
-
- ```
- # tag gets pushed in first run, so we don't need it in the second run
- yes | pulp publish
- yes | pulp publish --no-push
- ```
-
-
-Your package, together with documentation, should now appear in Pursuit.
-
-## Submitting packages from a script
-
-You can also use Pulp to submit packages from a script. Pulp prompts for confirmation when you run `pulp publish`, so you will need to use a program like `yes` to answer affirmatively.
-
-For example, if you want to automatically upload documentation from your Travis CI build on tags, you should add the following to your `after_script` build step:
-
-`test -n "$TRAVIS_TAG" && ( yes | pulp publish --no-push )`
-
-Alternatively, if you don't want to use Pulp for whatever reason, you can upload packages using Pursuit's HTTP API directly:
-
-- Gzip the JSON output produced by `psc-publish` and save it to a file.
-- If you don't already have one, get a GitHub API token by visiting . No scopes are required, since the token is only used for authentication.
-- Make a POST request to https://pursuit.purescript.org/packages, with gzipped JSON as the request body, including a `Content-Encoding: gzip` header, and with your GitHub token in the Authorization header, like this: `Authorization: token {token}`.
-
-For example, using curl:
-
-```
-curl -X POST \
- https://pursuit.purescript.org/packages \
- --data-binary @pursuit.json.gz \
- -H 'Content-Encoding: gzip' \
- -H 'Accept: application/json' \
- -H "Authorization: token $(cat my-oauth-token.txt)" \
- -v
-```
-
-If your submission is successful, Pursuit will return a 201 Created response, and the URL for your newly uploaded package will be in the Location header.
+Previously, users would need to use `bower` to upload packages' documentation. Uploading documentation is now handled by the PureScript Registry (still in alpha at the time of this writing). See the [PureScript Registry repo](https://github.com/purescript/registry) for how to register and publish packages and their documentation. For more context, read the Discourse announcement, [Registry Alpha Launched](https://discourse.purescript.org/t/registry-alpha-launched/3146).
## How to mark package as deprecated