pgserve 2.6.4 → 2.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -14,6 +14,30 @@ All notable changes to `pgserve` are documented here. The format follows
14
14
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres
15
15
  to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
16
16
 
17
+ ## [2.6.5] - 2026-05-12
18
+
19
+ **Hot-fix follow-up to v2.6.4.** v2.6.4 published to npm cleanly but the
20
+ GitHub Releases pipeline failed at `build-tarballs.yml` due to a latent
21
+ bug in `scripts/fetch-postgres-bins.sh` — `stage_from_url` declared
22
+ `local scratch` without initialization, and the function's RETURN trap
23
+ referenced `$scratch` under `set -u`, triggering an `unbound variable`
24
+ error that propagated across function frames and masked the real
25
+ fetch state. (Codex P2 caught the same pattern in `stage_from_pkg`
26
+ during PR #84 review; `stage_from_url` was missed at that time.)
27
+
28
+ ### Fixed
29
+
30
+ - `scripts/fetch-postgres-bins.sh:156` — initialize `local scratch=""`
31
+ before installing the RETURN trap, mirroring the fix already applied
32
+ to `stage_from_pkg` at line 119.
33
+
34
+ ### Same payload as v2.6.4
35
+
36
+ All v2.6.4 changes carry forward unchanged. v2.6.5 is purely the
37
+ GitHub Releases pipeline completion — npm consumers on
38
+ `pgserve: ^2.x` who already picked up v2.6.4 will see v2.6.5 on next
39
+ install but the runtime surface is identical.
40
+
17
41
  ## [2.6.4] - 2026-05-12
18
42
 
19
43
  **Final v2.x maintenance release** — the last `pgserve`-named npm publish.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pgserve",
3
- "version": "2.6.4",
3
+ "version": "2.6.5",
4
4
  "description": "Embedded PostgreSQL server with true concurrent connections - zero config, auto-provision databases",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -153,9 +153,16 @@ stage_from_url() {
153
153
  url="${url//\{pf\}/$pf}"
154
154
  echo " -> source: $url"
155
155
 
156
- local scratch
157
- scratch=$(mktemp -d)
156
+ # Initialize before installing trap — same fix stage_from_pkg has at
157
+ # line 119. Under `set -u` the RETURN trap fires on any early-return
158
+ # path (including ones where `mktemp` hasn't run yet); referencing an
159
+ # unset `$scratch` from the trap would print
160
+ # `scratch: unbound variable` and leak across function frames,
161
+ # masking the real fetch error (codex P2 review on PR #84 fixed this
162
+ # for stage_from_pkg; stage_from_url was missed at the time).
163
+ local scratch=""
158
164
  trap 'rm -rf "$scratch"' RETURN
165
+ scratch=$(mktemp -d) || return 1
159
166
 
160
167
  curl -fsSL "$url" -o "${scratch}/pg.tar.gz"
161
168
  tar -xzf "${scratch}/pg.tar.gz" -C "$scratch"