Skip to content

Release v0.11.7 - #505

Merged
HaoZeke merged 38 commits into
mainfrom
develop
Sep 23, 2026
Merged

HaoZeke merged 38 commits into
mainfrom
develop

Conversation

@HaoZeke

@HaoZeke HaoZeke commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

Release v0.11.7 from develop onto main.

Bugfix release. Native parsing and wrap keep reStructuredText, Markdown, Org, and LaTeX structure that a width cut or a sentence boundary used to rewrite: table and list markers, fences, HTML blocks, sectioning commands, and math displays.

scripts/check_release_ready.sh passed for v0.11.7. Leave the conda sha256 until the tag exists.

After merge: tag v0.11.7 on the merge commit once main CI is green, then the post-tag steps in RELEASING.md.

Init writes an executable pre-commit hook that prefers snapper-fmt and
stages without the colliding Btrfs snapper clean filter. The local git
filter is snapper-fmt --native --stdin-filepath %f.

Fixtures cover abbreviations, LaTeX math, Org blocks, Markdown fences,
and wrapped lists. sdiff is empty when only wrapping differs. Default
clause_breaks stay off. Both CLI names stay.
CommonMark type-6 void tags include param and track. End the HTML block
on the tag line so leftover following prose stays Prose and still splits.
Docutils isolate_simple_table borders have interior spaces, so Body.line
is false. Skip-cut keeps ===== ===== off column 0 like a section adornment.
ol-bibtex, ol-eshell, and ol-w3m prefixes join the org-element plain-link
table so leftover after the path hangs and wrap cannot park them at column 0.
Docutils grid-table tops are structure. A wrap cut that parked +---+ at column 0 minted a table.
A Jinja statement and a Docutils anonymous target are structure. A wrap cut that parked either at column 0 minted a block.
A column-0 line that starts with + and is not a grid-table top is
still structure. Skip-cut keeps +===+ and +foo with the previous line.
CommonMark allows only spaces or tabs after a closing fence. A marker
with any other tail stays inside the code block.
Emacs org-item-re takes a space or a tab after the bullet. A tab
was prose, so the item joined the paragraph above it.
An optional short title and the KOMA commands addsec, addchap, and
addpart are sectioning lines. Skip-cut keeps them off column 0.
A line of one or two equals or hyphens is a setext underline.
Wrap escapes it instead of leaving it at column 0.
Org ordered markers are one or more digits. Wrap no longer uses the
CommonMark nine-digit cap, so a long marker stays off column 0.
A paragraph whose text is only :: is a literal marker. A
two-character title underlined with :: stays a section.
Docutils keeps the indented block under an anonymous target until a
blank. That block was a quote, so its sentences split.
One blank line keeps an indented paragraph in the item. Two blank
lines end the plain list.
Text after a list marker is parsed as blocks. A fence, heading,
thematic break, HTML block, or table there is not item prose.
A four-space footnote continuation is reparsed as blocks. An ATX
heading on that line stays structure instead of joining the note.
CommonMark ends those blocks at the next blank line. A matching end
tag does not. Void tags still stop on the tag line.
Sentence splitting already keeps a verb span whole. Width wrap now
does too, so a space inside the delimiter cannot break the span.
An item ends at a line indented less than or equal to its bullet.
A two-space continuation stays in a column-0 ordered item.
A line indented like a child bullet ends that child. The outer
bullet stays open, so the line is a new paragraph of the parent.
Indented code cannot interrupt a paragraph. A list line indented
to the marker hang plus four spaces stays in the open item.
A blank line before that indent is still indented code.
amsmath smallmatrix and its delimiter variants are math arrays,
the same class as matrix. A period in the body no longer splits.
amsmath xalignat and xxalignat are alignment displays, the same
class as alignat. A period in the body no longer splits.
amsmath subarray is a math stack, the same class as array. A period
in the body no longer splits.
amscd CD is a commutative diagram, the same class as a math array.
A period in the body no longer splits.
bussproofs prooftree is a proof diagram, the same class as a
commutative diagram. A period in the body no longer splits.
empheq wraps a display. A body line that is not an inner non-prose
environment no longer sentence-splits.
amsmath intertext and mathtools shortintertext are paragraphs
between alignment rows. A period in the argument now splits, and
the alignment rows stay intact.
cases.sty numcases and subnumcases are numbered case displays, the
same class as amsmath cases. A period in a case no longer splits.
quantikz is a circuit diagram, the same class as tikzcd. A period
in the body no longer splits.
yquant is a circuit diagram, the same class as quantikz. A period
in the body no longer splits.
Pin the channel versions and record the bugfix changelog.
The 0.11.7 pin rewrote every 0.11.6 in the lockfile. zerovec is a
registry crate, and cargo metadata --locked rejected the new checksum.
Dogfood --check reformats the smudge/clean setup paragraph onto
one line.
NUL-delimited read is not POSIX. Ubuntu dash skipped the loop, so
staged prose was left unchanged.
The unit test still required a POSIX sh shebang after the hook moved to
bash, so the ubuntu check and the wasm feature suite failed on it.
@HaoZeke
HaoZeke merged commit becf802 into main Sep 23, 2026
25 checks passed
@HaoZeke
HaoZeke deleted the develop branch September 23, 2026 13:56
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