Repository navigation
Release on v* tag push - #3
Merged
Merged
Conversation
HTML tables padded every row to the widest row with no column cap, so a ~1 MB table of one wide row over many short ones grew as rows x columns and ran out of memory. Cells past the 128-column cap (the Markdown limit) now join the last column, keeping their text. BackgroundCache handed the same in-flight future to every request and prefetch caller, so one caller cancelling or timing it out broke every other caller and later requests until the build finished. Each caller now gets its own follower future. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
BlockView and XmlTreeView saved a document's scroll position from the flow's first visible cell, which only moves on a layout pass. Showing two documents before a pulse (fast keyboard browsing) saved the outgoing document with the previous document's row, so it later reopened scrolled to an unrelated position. Each view now keeps the row it last scrolled to until its next layout pass and reports that row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
The reader's key filter matched UP, DOWN, J, K, HOME, END and the page keys without looking at modifiers and consumed them, so application accelerators such as Ctrl+K, Ctrl+J, Cmd+Up or Ctrl+End scrolled the reader instead of firing while it had focus. Keys with Ctrl, Alt, Meta or the shortcut modifier now pass through; Shift still pages back with Space. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
Ctrl+Space and similar accelerators toggled the focused branch and were consumed while the tree had focus; only a plain Space toggles now. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
Every release job checked out the tag by name, so a tag force-moved while the workflow ran could publish code that validate and CI never saw. All three checkouts now use the event's commit, and validate fails if the tag no longer points at it. The deploy and the manual bundle dry run, which both sign with the release key, now run in a maven-central environment that can carry required reviewers and the secrets, and the dry run is limited to main. The dry run also checks that every artifact in the bundle is signed instead of only that a bundle exists, and the help and versions plugins it invokes by prefix are pinned. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
The docview-textmate jar carried only the VS Code MIT license and the TextMate Bundle License, but most grammars come from other MIT upstreams (MagicStack, Shopify, GitHub/Atom, Jeff Hykin, Microsoft grammar repos, the Atom Java grammar via redhat-developer), and MIT requires each one's copyright and permission notice to travel with the copies. The vendored TM4E core likewise translates MIT code from vscode-textmate, vscode and node-oniguruma, whose notices were only in source headers that compiled classes drop. Add grammars/THIRD-PARTY-NOTICES.txt with each upstream's notice at the pinned commit (VS Code's fuller cgmanifest notice where it records one), and tm4e/NOTICE-MIT.txt packaged under META-INF/licenses/tm4e/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
The project has a single maintainer, so an approval gate and environment-scoped secrets add setup without guarding against anyone. The release stays pinned to the published commit, and the dry run stays limited to main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
The per-document budget timed whole tokensForLine calls, and the TextMate session budget timed whole tokenizeLine calls. Both counted grammar rule compilation and time spent waiting for the shared grammar lock while another document (or a low-priority prefetch) tokenized, so concurrent builds drained a document's budget. The document budget was also only checked before each call, while one TextMate call could tokenize every earlier line of a block and run up to the 1 s session budget past it. HighlightSession gains a default tokensForLine(line, maxNanos, spent): the budget passes its remaining time and is charged what the session reports. The default keeps the old behaviour (wall time, no allowance), and the guarded wrapper forwards it and charges wall time to a session that fails before reporting. TextMate caps each line's deadline at the smaller of 100 ms, the session's remaining budget and the call's allowance, and reports only regex search time. LineDeadline also no longer counts a just-finished search twice when the watchdog races its bookkeeping, and keeps a thread interrupt that Joni turned into an InterruptedException and cleared. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
- Ordered lists in WebView pages now carry a start attribute from their
first marker, so "3. a" shows 3 and an ordered run after a bullet run
continues its numbering, as the native reader already showed.
- Thematic breaks may have spaces between markers ("* * *", "- - -",
"_ _ _"), per CommonMark; they rendered as an emphasized list item or
paragraph. One shared check now replaces five copies of the pattern,
and mixed markers ("- * -") are no longer a rule.
- The contents tree takes heading text from the renderer's own inline
output instead of separate patterns, so "snake_case_name" and a code
span holding link syntax read the same as on the page.
- An object or applet element no longer hides everything after it when
left unclosed: its tags are dropped and its fallback content is shown
through the same whitelist, as a browser without plugins does.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
The macos-14 job was cancelled before a runner was assigned on two attempts, with no steps run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
Publishing now starts when a v* tag is pushed, as in the maintainer's other repositories, so a release no longer needs the GitHub UI. The validate job keeps its checks (tag matches the project version, no snapshot, tag still on the pushed commit) and now also requires that commit to be on main, so a stray tag on another branch cannot publish. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwoQ7jw5qzPPePBj6NEpaS
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.
Publishing to Maven Central now starts when a
v*tag is pushed, instead of when a GitHub release is published. This matches the maintainer's other repositories, and a release no longer needs the GitHub UI.The validate job keeps its existing checks:
It adds one more: the tagged commit must be on
main, so a stray tag on another branch cannot publish. The manual bundle dry run is unchanged.The diff against
maintouches only.github/workflows/release.yml. The branch also carries a no-change merge of its earlier, already-merged history, so this should be squash-merged.Generated by Claude Code