From f34c14f9b1afbd0fa8d44edfa39f46c7e042caf2 Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Thu, 25 Jun 2026 10:37:33 +0200 Subject: [PATCH 1/2] docs: add scriv-managed changelog Adds a CHANGELOG.md managed with scriv (fragments in changelog.d/), provides scriv in the flake dev shell, backfills the v0.1.0 and v0.2.0 releases, and captures the unreleased new-spago migration and scripts/run runner as a pending fragment. The AGENTS.md Releasing note now points at the scriv flow. Part of the ecosystem-wide changelog adoption (purescript-lua/purescript-lua#101); canon in package-set ADR 0009. --- AGENTS.md | 2 +- CHANGELOG.md | 24 ++++++++++++++++++++ changelog.d/0001-new-spago-and-run-script.md | 9 ++++++++ changelog.d/scriv.ini | 9 ++++++++ flake.nix | 1 + 5 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md create mode 100644 changelog.d/0001-new-spago-and-run-script.md create mode 100644 changelog.d/scriv.ini diff --git a/AGENTS.md b/AGENTS.md index ad5bfc4..837c6c3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -48,7 +48,7 @@ A bare `function … end` or an unparenthesised expression fails to parse. ## Releasing -Tag-driven, with no GitHub Release or changelog entry. The full conventions live in the [package-set repo](https://github.com/purescript-lua/purescript-lua-package-sets/blob/master/CONTRIBUTING.md): push an annotated tag on `master`, bump this fork's `version` in the package set's `src/packages.json`, refresh `latest-compatible-sets.json`, and push a `psc-*` set tag. +Tag-driven. The full conventions live in the [package-set repo](https://github.com/purescript-lua/purescript-lua-package-sets/blob/master/CONTRIBUTING.md): write a `changelog.d/` fragment for any `src/` change, run `scriv collect --version ` and commit the updated `CHANGELOG.md`, then push an annotated tag on `master`, bump this fork's `version` in the package set's `src/packages.json`, refresh `latest-compatible-sets.json`, and push a `psc-*` set tag. ## Decisions diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..50b683e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,24 @@ +# Changelog + +Notable changes to `purescript-lua-ngx` (PureScript bindings to the OpenResty +`ngx_http_lua` API, targeting Lua 5.1) are recorded here. The format is based on +[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and entries are +assembled from fragments in `changelog.d/` with +[scriv](https://scriv.readthedocs.io/) on each release. + + + +## v0.2.0 - 2024-04-16 + +### Changed + +- Refreshed the flake and dependencies for the current toolchain. + +## v0.1.0 - 2023-03-31 + +### Added + +- Initial PureScript bindings to the OpenResty / `ngx_http_lua` API for the Lua + target. + + diff --git a/changelog.d/0001-new-spago-and-run-script.md b/changelog.d/0001-new-spago-and-run-script.md new file mode 100644 index 0000000..8e47dd1 --- /dev/null +++ b/changelog.d/0001-new-spago-and-run-script.md @@ -0,0 +1,9 @@ +### Added + +- `scripts/run`: an OpenResty demo runner that serves the compiled dist under + `content_by_lua`. + +### Changed + +- Migrated to the new spago (`spago.yaml` + the published Lua package set) and + fixed the push-CI trigger so it runs on `main`. diff --git a/changelog.d/scriv.ini b/changelog.d/scriv.ini new file mode 100644 index 0000000..1f8b456 --- /dev/null +++ b/changelog.d/scriv.ini @@ -0,0 +1,9 @@ +[scriv] +format = md +md_header_level = 2 +categories = Added, Changed, Fixed, Removed +# Hyphen separator (Keep a Changelog style), not scriv's default em dash, so +# collected entries match the hand-written backfill. The `%` are doubled +# because scriv reads this file with configparser interpolation, which treats a +# bare `%` specially; `%%` is an escaped literal `%`. +entry_title_template = {%% if version %%}{{ version }} - {%% endif %%}{{ date.strftime('%%Y-%%m-%%d') }} diff --git a/flake.nix b/flake.nix index 9d18826..a824793 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,7 @@ openresty # nginx + lua-nginx-module, for ./scripts/run pslua.packages.${system}.default purs-bin.purs-0_15_16 + scriv spago-bin.spago-1_0_4 treefmt ]; From 50981a86f49e2c56e8d29f6399097d21c9db87d8 Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Thu, 25 Jun 2026 10:53:19 +0200 Subject: [PATCH 2/2] docs: release note tags on main, not master (ngx default branch) Addresses Copilot review on PR #7: the Releasing note inherited the fork template's `master`, but ngx's default branch is `main`. --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 837c6c3..d415169 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -48,7 +48,7 @@ A bare `function … end` or an unparenthesised expression fails to parse. ## Releasing -Tag-driven. The full conventions live in the [package-set repo](https://github.com/purescript-lua/purescript-lua-package-sets/blob/master/CONTRIBUTING.md): write a `changelog.d/` fragment for any `src/` change, run `scriv collect --version ` and commit the updated `CHANGELOG.md`, then push an annotated tag on `master`, bump this fork's `version` in the package set's `src/packages.json`, refresh `latest-compatible-sets.json`, and push a `psc-*` set tag. +Tag-driven. The full conventions live in the [package-set repo](https://github.com/purescript-lua/purescript-lua-package-sets/blob/master/CONTRIBUTING.md): write a `changelog.d/` fragment for any `src/` change, run `scriv collect --version ` and commit the updated `CHANGELOG.md`, then push an annotated tag on `main`, bump this fork's `version` in the package set's `src/packages.json`, refresh `latest-compatible-sets.json`, and push a `psc-*` set tag. ## Decisions