Skip to content

chore(release): v1.6.3 - #149

Merged
takeokunn merged 2 commits into
mainfrom
chore/release-v1.6.3
Sep 4, 2026
Merged

takeokunn merged 2 commits into
mainfrom
chore/release-v1.6.3

Conversation

@takeokunn

@takeokunn takeokunn commented Sep 4, 2026 •

Copy link
Copy Markdown
Collaborator

Cuts v1.6.3. Patch level: git diff v1.6.2..HEAD adds no command, flag, JSON
field, exit code, or Nix output — every change is a fix or a text-output change,
which docs/notes/releasing.md classifies as patch.

1af7996b (parallel multi-file analysis) is fully reverted by 3868c093;
git diff 1af7996b^ 3868c093 is empty, so it contributes nothing to this
release.

Contents

  • Cargo.toml / Cargo.lock: 1.6.2 → 1.6.3 (lock diff is version lines only).
  • docs/src/getting-started.md, docs/src/reference/compatibility.md: pinned
    install examples updated to v1.6.3.

What ships

Emacs Lisp formatting — edit format --dialect elisp now indents special
forms, nested special forms, and buffer/conditional forms the way Emacs'
indent-region does; honours indent properties at narrow widths; keeps
escaped ? symbols intact; and no longer treats a lambda parameter named after
a special form as one. Blank lines inside progn, let, when and definition
bodies survive formatting, and Emacs Lisp now defaults to --max-blank-lines 1
(an explicit flag still overrides it).

edit normalize-quotes — --all rewrites every form the selector matches.
The flag was ignored here before: the command routed through resolve_one, so a
multi-match selector was refused as ambiguous
(packages/core/cli/src/shared.rs:283) rather than rewritten.

edit reindent-defun — a top-level definition that starts indented is moved
to column zero.

inspect capabilities — exits 0 when the consumer closes stdout early
(| head) rather than failing on the broken pipe.

Verification

nix flake check is running locally on aarch64-darwin, the platform this
repository's CI does not cover — CI fans out over x86_64-linux only. Result is
reported in a comment before merge.

`edit format --dialect elisp` now defaults to `--max-blank-lines 1`, which is
not what leaving it unset means elsewhere: unset renders every top-level gap as
exactly one blank line whatever the source had, while 1 clamps the source count
and so leaves adjacent forms adjacent. Both the flag help and the
`format.blank-lines-max-consecutive` schema summary still claimed the old
dialect-independent behaviour.
@takeokunn

Copy link
Copy Markdown
Collaborator Author

Local verification on aarch64-darwin, the platform CI does not cover (ci.yml
fans out over x86_64-linux only).

nix flake check — nextest ran 15304 tests, 15303 passed. The single
failure was paredit-feature-lint-destructive-sequence cost_tests::cost_the_shipped_rule_is_local at 123465676ns against a
566612ns control, a 218x ratio on an assertion that the two stay near each
other. That crate is not in this release's diff (git diff --name-only v1.6.2..HEAD | grep -c lint-destructive-sequence → 0), and the test passes
isolated in 3.5s (cargo nextest run -p paredit-feature-lint-destructive-sequence --test-threads 1 cost_the_shipped_rule_is_local). It is a wall-clock ratio
measured under a 15k-test parallel run, not a regression. CI's Verify (nextest)
passed on this commit.

The five derivations nix listed alongside it were cancelled by the fail-fast,
not failed, so they were built separately and all pass on darwin:
treefmt (4686 files, 0 changed), treefmt-pr-check,
lint-format-integration, lint-format-integration-pr-check, package.

Release gates from docs/notes/releasing.md

nix build .#                      exit 0
./result/bin/paredit --version    paredit 1.6.3
inspect capabilities --output json  "version": "1.6.3"
cargo audit --deny warnings       exit 0, 239 crate dependencies scanned

The blank-line default, checked against the shipped binary — same source,
--max-blank-lines unset, dialect the only difference:

$ printf '(defun a () 1)\n(defun b () 2)\n' > /tmp/adj.el   # elisp
(defun a ()
  1)
(defun b ()
  2)

$ printf '(defun a () 1)\n(defun b () 2)\n' > /tmp/adj.lisp # common lisp
(defun a ()
  1)

(defun b ()
  2)

Emacs Lisp leaves the forms adjacent; every other dialect still inserts the
blank line. That is what fa6093be corrects in the flag help and the
format.blank-lines-max-consecutive schema summary, both of which still claimed
the dialect-independent behaviour.

@takeokunn
takeokunn merged commit e8efd95 into main Sep 4, 2026
10 checks passed
@takeokunn
takeokunn deleted the chore/release-v1.6.3 branch September 4, 2026 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant