From 3ff4603524f2c9a88eb491d26a45162277da516b Mon Sep 17 00:00:00 2001 From: orion kindel Date: Wed, 28 Jan 2026 10:17:32 -0600 Subject: [PATCH] chore: add changelog --- CHANGELOG.md | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++ bun.lockb | Bin 11061 -> 24206 bytes package.json | 5 +- 3 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..4f101cf --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,209 @@ +## [](https://37.16.28.76/orion/purescript-pg/compare/v2.0.21...v) (2026-01-28) + +### Bug Fixes + +* use explicit imports in re-export modules ([#1](https://37.16.28.76/orion/purescript-pg/issues/1)) ([f0fd42c](https://37.16.28.76/orion/purescript-pg/commit/f0fd42ceb61998b4011bd521c3caed640690d8ef)) +## [2.0.20](https://37.16.28.76/orion/purescript-pg/compare/v2.0.19...v2.0.20) (2024-11-13) +## [2.0.19](https://37.16.28.76/orion/purescript-pg/compare/v2.0.17...v2.0.19) (2024-08-21) + +### Bug Fixes + +* improve error stringification ([5f8be2e](https://37.16.28.76/orion/purescript-pg/commit/5f8be2e1f294eadee1a08a5768987a70b6ccb71d)) +* use package set ([f35576e](https://37.16.28.76/orion/purescript-pg/commit/f35576e4e6ddd26b78cb7f95cee8c24fb1a5a268)) +## [2.0.17](https://37.16.28.76/orion/purescript-pg/compare/v2.0.16...v2.0.17) (2024-06-29) +## [2.0.16](https://37.16.28.76/orion/purescript-pg/compare/v2.0.15...v2.0.16) (2024-06-29) + +### Bug Fixes + +* correct implementations of MonadAff, MonadEffect, Fork, Bracket ([d2c3eba](https://37.16.28.76/orion/purescript-pg/commit/d2c3eba0821ceae16ac0609bcfb22296800fb329)) +## [2.0.15](https://37.16.28.76/orion/purescript-pg/compare/v2.0.14...v2.0.15) (2024-06-25) + +### Bug Fixes + +* pipes should use streamin/out ([23496f7](https://37.16.28.76/orion/purescript-pg/commit/23496f71f3adf7378a1f595de86fc8eac4268e8e)) +## [2.0.14](https://37.16.28.76/orion/purescript-pg/compare/v2.0.13...v2.0.14) (2024-06-25) +## [2.0.13](https://37.16.28.76/orion/purescript-pg/compare/v2.0.12...v2.0.13) (2024-06-25) + +### Bug Fixes + +* strict ([4308ebe](https://37.16.28.76/orion/purescript-pg/commit/4308ebe7e16922b530ebce2a515504082cf3fcb2)) +## [2.0.12](https://37.16.28.76/orion/purescript-pg/compare/v2.0.11...v2.0.12) (2024-06-25) + +### Bug Fixes + +* more relaxation ([901e931](https://37.16.28.76/orion/purescript-pg/commit/901e931af48a43c7ce32d9ccecd3f7321f91b9eb)) +## [2.0.11](https://37.16.28.76/orion/purescript-pg/compare/v2.0.10...v2.0.11) (2024-06-25) + +### Bug Fixes + +* relax class constraints ([1a96e2e](https://37.16.28.76/orion/purescript-pg/commit/1a96e2e6d8b8bc5d533c851aac7b323de498bd96)) +## [2.0.10](https://37.16.28.76/orion/purescript-pg/compare/v2.0.9...v2.0.10) (2024-06-25) + +### Bug Fixes + +* parRE is alt ([fad3e8d](https://37.16.28.76/orion/purescript-pg/commit/fad3e8dbcbb2d8ed162c0ec6c55884df1b01a9f2)) +## [2.0.9](https://37.16.28.76/orion/purescript-pg/compare/v2.0.7...v2.0.9) (2024-06-25) +## [2.0.7](https://37.16.28.76/orion/purescript-pg/compare/v2.0.1...v2.0.7) (2024-06-25) + +### Bug Fixes + +* unused constraint ([cd01d28](https://37.16.28.76/orion/purescript-pg/commit/cd01d280f42838e5ca7df2fb1374764c0d477036)) +## [2.0.1](https://37.16.28.76/orion/purescript-pg/compare/v2.0.0...v2.0.1) (2024-06-25) +## [2.0.0](https://37.16.28.76/orion/purescript-pg/compare/v1.7.2...v2.0.0) (2024-06-25) + +### ⚠ BREAKING CHANGES + +* rework error handling + +### Features + +* rework error handling ([11c1645](https://37.16.28.76/orion/purescript-pg/commit/11c16451733f619919569935e449cd1a3626a2b2)) +## [1.7.2](https://37.16.28.76/orion/purescript-pg/compare/v1.7.1...v1.7.2) (2024-06-24) + +### Bug Fixes + +* bump node-stream-pipes ([9ab6e37](https://37.16.28.76/orion/purescript-pg/commit/9ab6e37bb16b56a11bee14342a78275d0173e121)) +## [1.7.1](https://37.16.28.76/orion/purescript-pg/compare/v1.7.0...v1.7.1) (2024-06-23) + +### Bug Fixes + +* bump node-stream-pipes to 2.0.2 (big perf improvement) ([d10d21b](https://37.16.28.76/orion/purescript-pg/commit/d10d21b708df50ae03edc6467d33ccd1ee8cb2e9)) +## [1.7.0](https://37.16.28.76/orion/purescript-pg/compare/v1.6.5...v1.7.0) (2024-06-14) + +### Bug Fixes + +* add interval support ([fbb1f3b](https://37.16.28.76/orion/purescript-pg/commit/fbb1f3b8a5d67f00189f52f398ad0717d028cb63)) +## [1.6.5](https://37.16.28.76/orion/purescript-pg/compare/v1.6.4...v1.6.5) (2024-05-22) + +### Bug Fixes + +* tagOf is not instanceof ([7ed85ae](https://37.16.28.76/orion/purescript-pg/commit/7ed85ae22bc156fe6ad09ae785556887f082d033)) +* update node-stream-pipes ([a56add0](https://37.16.28.76/orion/purescript-pg/commit/a56add0ffc82ad0e9d15a1759a931c7b332fe134)) +## [1.6.4](https://37.16.28.76/orion/purescript-pg/compare/v1.6.3...v1.6.4) (2024-05-12) + +### Bug Fixes + +* stdin txn ([27a7abb](https://37.16.28.76/orion/purescript-pg/commit/27a7abb32952b447aa52e7bfade7a74a8df8200b)) +## [1.6.3](https://37.16.28.76/orion/purescript-pg/compare/v1.6.1...v1.6.3) (2024-05-12) + +### Bug Fixes + +* ensure-ranges ([cfb0160](https://37.16.28.76/orion/purescript-pg/commit/cfb01608cd6abcd3447187670f07431a19f85743)) +## [1.6.1](https://37.16.28.76/orion/purescript-pg/compare/v1.6.0...v1.6.1) (2024-05-12) + +### Bug Fixes + +* pipes monad stuff ([1884036](https://37.16.28.76/orion/purescript-pg/commit/188403681a331de7c85765283c033025d1c80a01)) +## [1.6.0](https://37.16.28.76/orion/purescript-pg/compare/v1.5.1...v1.6.0) (2024-05-11) + +### Features + +* add node-stream-pipes support ([b3806d5](https://37.16.28.76/orion/purescript-pg/commit/b3806d5f6e293ede46697a8354d774edd11056b3)) +## [1.5.1](https://37.16.28.76/orion/purescript-pg/compare/v1.5.0...v1.5.1) (2024-05-01) + +### Bug Fixes + +* impl Alternative ([d66c326](https://37.16.28.76/orion/purescript-pg/commit/d66c3261b62e3ed039b7625e2b399fa7d9f02b3e)) +## [1.5.0](https://37.16.28.76/orion/purescript-pg/compare/v1.4.0...v1.5.0) (2024-04-30) + +### Features + +* streaming STDIO support ([e592664](https://37.16.28.76/orion/purescript-pg/commit/e59266406b7c6aabee2f28534366fd79f9a164c9)) +## [1.4.0](https://37.16.28.76/orion/purescript-pg/compare/v1.3.0...v1.4.0) (2024-04-29) + +### Features + +* MOVE support for cursors, RowsAffected ([24b2156](https://37.16.28.76/orion/purescript-pg/commit/24b215652438d0280ecf5be71c7ebdeb0187fc6e)) +## [1.3.0](https://37.16.28.76/orion/purescript-pg/compare/v1.2.7...v1.3.0) (2024-04-11) + +### Features + +* generalize PostgresT to MonadPostgres to allow mocking ([8722e69](https://37.16.28.76/orion/purescript-pg/commit/8722e69013054dbe1b4386565d32bd7c6e7c1d9c)) +## [1.2.7](https://37.16.28.76/orion/purescript-pg/compare/v1.2.6...v1.2.7) (2024-04-11) + +### Bug Fixes + +* impl unlift ([a4d4e6b](https://37.16.28.76/orion/purescript-pg/commit/a4d4e6bd7567dd3d4c4bd30418ef23c159e21973)) +## [1.2.6](https://37.16.28.76/orion/purescript-pg/compare/v1.2.5...v1.2.6) (2024-04-11) +## [1.2.5](https://37.16.28.76/orion/purescript-pg/compare/v1.2.4...v1.2.5) (2024-04-11) +## [1.2.4](https://37.16.28.76/orion/purescript-pg/compare/v1.2.3...v1.2.4) (2024-04-11) + +### Bug Fixes + +* impl monadrec ([5a99e58](https://37.16.28.76/orion/purescript-pg/commit/5a99e5806214058263f3807c0aa77048c2e651f3)) +## [1.2.3](https://37.16.28.76/orion/purescript-pg/compare/v1.2.2...v1.2.3) (2024-04-06) + +### Bug Fixes + +* pin unresult api to rept ([de1aacc](https://37.16.28.76/orion/purescript-pg/commit/de1aaccfb603925b2cbf01ad898c571a42e3e19a)) +## [1.2.2](https://37.16.28.76/orion/purescript-pg/compare/v1.2.1...v1.2.2) (2024-04-06) + +### Bug Fixes + +* relax cursor constraints, fix enum test ([8761461](https://37.16.28.76/orion/purescript-pg/commit/87614611dd32a3ba18e65e3045977c55649f8a95)) +## [1.2.1](https://37.16.28.76/orion/purescript-pg/compare/v1.2.0...v1.2.1) (2024-04-06) + +### Bug Fixes + +* FromRow t bound on cursor ([500e67d](https://37.16.28.76/orion/purescript-pg/commit/500e67d793725efa5e900cff8a91d7be192d4169)) +## [1.2.0](https://37.16.28.76/orion/purescript-pg/compare/v1.1.1...v1.2.0) (2024-04-06) + +### Features + +* UnresultT ([bc120b0](https://37.16.28.76/orion/purescript-pg/commit/bc120b072c5c93da4f424f0e304c0f762ae9c653)) +## [1.1.1](https://37.16.28.76/orion/purescript-pg/compare/v1.1.0...v1.1.1) (2024-04-06) + +### Bug Fixes + +* improve custom enum api ([4aab053](https://37.16.28.76/orion/purescript-pg/commit/4aab05300b58192c9e6ebd75761336be97b6c3bd)) +## [1.1.0](https://37.16.28.76/orion/purescript-pg/compare/v1.0.6...v1.1.0) (2024-04-06) + +### Features + +* allow instances of serialize + deserialize outside this lib ([5fcf8c4](https://37.16.28.76/orion/purescript-pg/commit/5fcf8c4549487f26eee4874cdbdaf0a43d2abde5)) + +### Bug Fixes + +* prepare ([bd25d12](https://37.16.28.76/orion/purescript-pg/commit/bd25d12453c760a935942365fab7f295212c51ca)) +## [1.0.6](https://37.16.28.76/orion/purescript-pg/compare/1.0.5...v1.0.6) (2024-04-03) +## [1.0.5](https://37.16.28.76/orion/purescript-pg/compare/v1.0.4...1.0.5) (2024-04-03) + +### Bug Fixes + +* prepare ([60f442f](https://37.16.28.76/orion/purescript-pg/commit/60f442fc219d674e6409425e40c5d2bcf4fb77fd)) +* prepare ([154fb0f](https://37.16.28.76/orion/purescript-pg/commit/154fb0f1e734ecacede3cb250f66903a138c8d1c)) +## [1.0.4](https://37.16.28.76/orion/purescript-pg/compare/v1.0.3...v1.0.4) (2024-04-03) + +### Bug Fixes + +* make publishing easier ([dee8b85](https://37.16.28.76/orion/purescript-pg/commit/dee8b85b84d6fe7209598b77ca6246567c7c297f)) +## [1.0.3](https://37.16.28.76/orion/purescript-pg/compare/v1.0.2...v1.0.3) (2024-04-03) + +### Features + +* withPool ([8160660](https://37.16.28.76/orion/purescript-pg/commit/8160660a989bf65b9df1e74373ecc1006c4d5d43)) +## [1.0.2](https://37.16.28.76/orion/purescript-pg/compare/v1.0.1...v1.0.2) (2024-04-03) +## [1.0.1](https://37.16.28.76/orion/purescript-pg/compare/v1.0.0...v1.0.1) (2024-04-03) +## [1.0.0](https://37.16.28.76/orion/purescript-pg/compare/e2eb753317a3293df08aa4a295f22c634ea5bf19...v1.0.0) (2024-04-03) + +### Features + +* cursor monad ([e8d8fd2](https://37.16.28.76/orion/purescript-pg/commit/e8d8fd24f36b5860b17737b5c6f58de23bb235b8)) +* FromResult, tests ([08dd5fe](https://37.16.28.76/orion/purescript-pg/commit/08dd5fe9649fcc7d112fb4ef74068ecad0f13321)) +* init, basic serde ([e2eb753](https://37.16.28.76/orion/purescript-pg/commit/e2eb753317a3293df08aa4a295f22c634ea5bf19)) +* pool, docs ([7520b9e](https://37.16.28.76/orion/purescript-pg/commit/7520b9eb192d2dc585c3eea25845ba9ba390ffed)) +* transaction, session monads to handle resource acq + rel ([1e0f06d](https://37.16.28.76/orion/purescript-pg/commit/1e0f06d176f5988c09a0df227f2c2b601515cf9c)) + +### Bug Fixes + +* client, result bindings ([d791668](https://37.16.28.76/orion/purescript-pg/commit/d7916683d7f6c3952ca2b0c5042bc194fcc9a47d)) +* JSON support ([753d14f](https://37.16.28.76/orion/purescript-pg/commit/753d14fdd91c2ed3d112b12b70757e0835c0a1d4)) +* prepare publish ([013f696](https://37.16.28.76/orion/purescript-pg/commit/013f69624923d6395151c9175fa2505ce99369ed)) +* prepare publish ([fa71c25](https://37.16.28.76/orion/purescript-pg/commit/fa71c25b8c693fecc4e8b1e79c0fc491e7e2c5ac)) +* prepare publish ([544c711](https://37.16.28.76/orion/purescript-pg/commit/544c7114ea920475a00faaac7fd07b834c0883e9)) +* some ergonomics, tests use postgres ([340cee4](https://37.16.28.76/orion/purescript-pg/commit/340cee4745645e293ff6b94042f41f4a40f9e38e)) +* spago.yaml publish ([e93c360](https://37.16.28.76/orion/purescript-pg/commit/e93c360d5484c1005d5d07ac0d8843588ba487a2)) +* spago.yaml publish ([d080f30](https://37.16.28.76/orion/purescript-pg/commit/d080f30b0f533e72a753e816e71509bcd5da0a0c)) +* spago.yaml publish ([c3041c7](https://37.16.28.76/orion/purescript-pg/commit/c3041c72d2cf32641ba3c32351e7ff1e60dc0076)) +* test client bindings ([d1f84bc](https://37.16.28.76/orion/purescript-pg/commit/d1f84bcc72e1829ece3ffac9561c50b1bf4edb8c)) +* test performance ([ad0e595](https://37.16.28.76/orion/purescript-pg/commit/ad0e5959b81f624bd081a6e2322c0ebab5174351)) diff --git a/bun.lockb b/bun.lockb index 01606f753385531ecd1cd0f6234857f0c23d9f9f..c21b24e303b70b6b863e72597fc14d3e080affe2 100755 GIT binary patch literal 24206 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