From 51936eaafd52e452b3a502b869638e58d142716e Mon Sep 17 00:00:00 2001 From: Richard Cocks <50965970+richardcocks@users.noreply.github.com> Date: Wed, 19 Aug 2026 17:34:23 +0100 Subject: [PATCH 1/2] Prep for release 1.2.0 Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 5 ++++- examples/playground/manifest.toml | 2 +- gleam.toml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a1c33d..2137e67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## Unreleased +## v1.2.0 Watch mode now runs on the JavaScript target (Node and Deno), so `gleam run --target javascript -m vouch -- watch` works without the BEAM @@ -18,6 +18,9 @@ Enter forces a rerun, `a` runs the whole suite, `q` (or Ctrl+C) quits — single keypress, no Enter needed. When stdin is not an interactive console the keys degrade away and Ctrl+C still quits. +Watch mode no longer crashes when stdout is not a TTY, so it can run +under editors and CI log capture. + ## v1.1.0 Add --test-name-filter for startest compatibility to allow running in zed. diff --git a/examples/playground/manifest.toml b/examples/playground/manifest.toml index c9027e5..2fcc6a2 100644 --- a/examples/playground/manifest.toml +++ b/examples/playground/manifest.toml @@ -9,7 +9,7 @@ packages = [ { name = "argv", version = "1.1.0", build_tools = ["gleam"], requirements = [], otp_app = "argv", source = "hex", outer_checksum = "3277D100448BDB4A29B6D58C0F36F631CBC349E8BDD09766C6309DF202831140" }, { name = "gleam_stdlib", version = "1.0.5", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "CEE5B6C076A85B45F60C585F4316C63EC8B7127C119D5738C3958A9C4D50404E" }, - { name = "vouch", version = "1.1.0", build_tools = ["gleam"], requirements = ["argv", "gleam_stdlib"], source = "local", path = "../.." }, + { name = "vouch", version = "1.2.0", build_tools = ["gleam"], requirements = ["argv", "gleam_stdlib"], source = "local", path = "../.." }, ] [requirements] diff --git a/gleam.toml b/gleam.toml index 8ed7e46..0937bcd 100644 --- a/gleam.toml +++ b/gleam.toml @@ -1,5 +1,5 @@ name = "vouch" -version = "1.1.0" +version = "1.2.0" description = "A gleeunit-compatible test runner with todo outcomes, JSONL, teamcity and JUnit output, and process isolation" licences = ["Apache-2.0"] # Verified floor (podman, v1.14.0 images, both targets): the assert keyword From ba926a1e3a4523737ca9b8a03170ccc743330849 Mon Sep 17 00:00:00 2001 From: Richard Cocks <50965970+richardcocks@users.noreply.github.com> Date: Wed, 19 Aug 2026 17:39:21 +0100 Subject: [PATCH 2/2] Update CHANGELOG.md --- CHANGELOG.md | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2137e67..c28e7c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,24 +2,21 @@ ## v1.2.0 -Watch mode now runs on the JavaScript target (Node and Deno), so -`gleam run --target javascript -m vouch -- watch` works without the BEAM -installed. Quitting is Ctrl+C on JavaScript (q then Enter on Erlang stays -as it was). Deno projects using watch mode need `allow_run = ["gleam"]` in -their `gleam.toml`. - -The inner test runs now follow the watcher's own target by default; -pass `--target=erlang|javascript` after the `--` to run them on a -different target than the watcher. Both `--target=x` and `--target x` -spellings are accepted, matching gleam's own flag. - -On the JavaScript host, watch mode now has the core Jest/Vitest keys: -Enter forces a rerun, `a` runs the whole suite, `q` (or Ctrl+C) quits — -single keypress, no Enter needed. When stdin is not an interactive -console the keys degrade away and Ctrl+C still quits. - -Watch mode no longer crashes when stdout is not a TTY, so it can run -under editors and CI log capture. +Watch mode added for the JavaScript target, supporting both Node and Deno + +The syntax for this is slightly awkward: +`gleam run --target javascript -m vouch -- watch` noting that +the `--target` has to come before the `--` not after! + +This controls the target of the parent watcher, and defaults the +inner runtime to that too. You can have the runtime of +the inner tests be different by specifying `--target=erlang` after +the `--`. + +On the javascript runner, you can re-run all manually with `a` and +quitting will happen on `q`. On the erlang runner you have to press `q` +and then hit `` sorry, I can't figure out how to get more responsive +console in erlang. PRs welcome! ## v1.1.0