release: v1.0.0#4
Merged
Merged
Conversation
takeokunn
force-pushed
the
release/v1.0.0
branch
from
July 25, 2026 16:39
9ce349c to
5efe08e
Compare
First stable release. The public API -- the symbols exported from the cl-tty-kit package, enumerated in README.md's "API Overview" and asserted against the live package by t/package-introspection.lisp -- is now covered by semantic versioning. Release-gate fixes found while preparing the tag: - t/pty.lisp's SIGTERM case spawned /bin/sleep, which does not exist inside the Nix build sandbox -- only /bin/sh and the Nix store do -- so both checks.x86_64-linux.test and the coverage-report build failed with a :SPAWN pty-operation-failed. It passed locally because Nix ships with `sandbox = false` on macOS, which makes a local `nix flake check` on a Mac strictly weaker than the same check in CI. Now spawns `/bin/sh -c 'exec sleep 5'` and lets PATH resolve coreutils' sleep; `exec` matters, since it replaces the shell so nothing is left reading stdin, which is the whole point of the case. Both copies of the quality-gate doc gain a section on the macOS sandbox gap and the reproduction command. - flake.nix advertised x86_64-darwin, but nixpkgs 26.11 (which the nixos-unstable input now tracks) dropped that platform outright, so every output for it failed to *evaluate*. CI never saw this: plain `nix flake check` only evaluates outputs for the runner's own system, and neither matrix runner is x86_64-darwin. Dropped the platform and switched ci.yml to `nix flake check --all-systems` so the gate covers every platform the flake claims. Foreign systems are evaluated, not built. - t/screen.lisp ended with a trailing blank line, which `git diff --check` -- step 3 of RELEASING.md's own checklist, and a CI step -- reports as a defect. Introduced by this cycle's t/screen.lisp split. - flake.nix's four apps had no meta.description, which `nix flake check` warned about on every system and `nix flake show` renders. - CHANGELOG.md carried the nerima-lisp org adoption survey entry twice. Stability contract, newly written down in README.md, the docs site landing page, RELEASING.md, and docs/src/release-process.md: exported symbols, decoded-event shape, and the tty-kit-error hierarchy are covered; %-prefixed internals, contrib/, build/CI plumbing, and render-diff's exact byte sequence are not. Also carries this cycle's accumulated work: the vendor/ submodule removal in favor of flake inputs, the cl-parser-kit contrib grammar, the :normalize-paste-line-endings decoder option, the four C0 control keys, the t/screen-mutation.lisp split, and the coverage work that brought src/ to 95.36% expression / 96.00% branch. Gates run green on aarch64-darwin, with the sandbox forced on so they match CI: nix flake check --all-systems --option sandbox true, nix build --option sandbox true .#coverage-report, nix run .#verify (suite + 21 examples + source-registry smoke), nix build .#docs (--strict), git diff --check.
takeokunn
force-pushed
the
release/v1.0.0
branch
from
July 25, 2026 16:48
5efe08e to
0dfde1c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First stable release.
The public API — the symbols exported from the
cl-tty-kitpackage, enumerated inREADME.md's "API Overview" and asserted against the live package byt/package-introspection.lisp— is now covered by semantic versioning.Release-gate fixes found while preparing the tag
flake.nixadvertisedx86_64-darwinnixos-unstableinput now tracks) dropped that platform outright, so every output for it failed to evaluate, not merely to build. CI never saw this: plainnix flake checkonly evaluates outputs for the runner's own system, and neither matrix runner isx86_64-darwin. Dropped the platform fromsystems, and switchedci.ymltonix flake check --all-systemsso the gate covers every platform the flake claims. Foreign systems are evaluated, not built, so the check stays cheap.t/screen.lisptrailing blank linegit diff --check— step 3 ofRELEASING.md's own checklist, and a CI step — reports this as a defect. Introduced by this cycle'st/screen.lispsplit; it would have failed the release gate.meta.descriptionnix flake checkwarned about all four on every system, andnix flake showrenders them. These are the entry points the README, installation docs, andRELEASING.mdall point users at.CHANGELOG.mdentrynerima-lisporg adoption survey entry appeared twice, verbatim.Stability contract
Newly written down in
README.md, the docs site landing page,RELEASING.md, anddocs/src/release-process.md— all four naming the same surface:key-eventtype/code/modifiers), thetty-kit-errorcondition hierarchy%-prefixed internals,contrib/, build/CI plumbing, andrender-diff's exact byte sequence (bounded byt/properties.lisp's visible-result property, not a fixed transcript)Also carries this cycle's accumulated work
vendor/submodule removal in favor of flake inputs · the cl-parser-kit contrib grammar · the:normalize-paste-line-endingsdecoder option · the four C0 control keys · thet/screen-mutation.lispsplit · coverage work bringingsrc/to 95.36% expression / 96.00% branchVerification
All green on
aarch64-darwin:nix run .#verify— suite + 21 examples + source-registry smokenix flake check --all-systems— 0 errors, 0 warningsnix build .#docs—--strictnix run .#coveragegit diff --checkThe two contrib CSI grammars (cl-prolog DCG and cl-parser-kit combinators) were additionally differential-tested against each other over 13 cases including edge cases; they agree on all of them.