Releases
grammar-forge-v0.1.0
Compare
Sorry, something went wrong.
No results found
0.1.0 (2026-07-11)
Features
api: add CompleteRequest/CompleteResponse types and BridgeClient.complete() (94b1313 )
bridge: �1 sentence LLM context behind GF_LLM_SENTENCE_CONTEXT (e2e3386 )
bridge: acceptance-rate fields on /stats (c9b54df )
bridge: add offline GET /synonyms (Moby Thesaurus II, public domain) (2679a6d )
bridge: aggregate top_issues/streak/words_this_week in /stats (28a5634 )
bridge: all replacement candidates via grpc (2aeef8a )
bridge: anthropic messages provider (a8b4c4c )
bridge: apply over-edit repair chain before LLM diff (88ee716 )
bridge: byte to utf-16 offset conversion (bdc3603 )
bridge: calibrated confidence on the wire behind GF_CONFIDENCE_CALIBRATION (581dbb0 )
bridge: calibrated-confidence escalation behind GF_ESCALATION_CALIBRATED (531efff )
bridge: completion temperature + dialect-aware LLM prompts (db34404 )
bridge: config and wiring for the semantic verifier (b2f28fb )
bridge: default and wire user dictionary (7f2a906 )
bridge: default over-edit rule chain (e3675bd )
bridge: deterministic dialect-spelling revert as an over-edit rule (0c1a11a )
bridge: deterministic reject suppression in finalize (GF_REJECT_SUPPRESSION) (26fa0a4 )
bridge: dictionary rest endpoints (8de3107 )
bridge: embedded VarCon-derived British dialect lexicon (fdb6eae )
bridge: GF_ESCALATION_TRUSTED_CATEGORIES with eval-gated enablement protocol (80d3ebb )
bridge: GF_OVEREDIT_FILTER config wiring (default on) (58df729 )
bridge: iterative GECToR decoding behind GF_GECTOR_PASSES (6f103c0 )
bridge: merge-not-replace escalation spike flag (4ab0e09 )
bridge: MiniLM semantic verifier behind the ORT build tag (ba7ae7e )
bridge: mount lt-compat routes on rest server (54243a4 )
bridge: N-best LLM sampling with majority-vote merge behind GF_LLM_NBEST (e045d25 )
bridge: named over-edit rules with firing counters (c90997b )
bridge: native languagetool-compatible v2 check (3d44a7e )
bridge: optional fast-path-only spelling serve (0562b0a )
bridge: over-edit rule reverting nor/or proximity-agreement flips (235315e )
bridge: over-edit rule reverting proper-noun comma restructures (2216001 )
bridge: per-edit signal logging (39756d6 )
bridge: per-model-category signal rate aggregation (dba065f )
bridge: protect dictionary words in llm prompt (422c194 )
bridge: rephrase backend override and variants (b22858e )
bridge: rephrase override and alternatives REST (eb75e69 )
bridge: request body cap and server timeouts (5260d97 )
bridge: retention pruning for corrections db (75b967e )
bridge: semantic verifier gate discards low-similarity LLM rewrites (737f83f )
bridge: sentence segmentation with offsets (35b835f )
bridge: sentence suggestion cache (3fc5f68 )
bridge: sentence-level pipeline with cache (8efb394 )
bridge: signal-derived confidence calibrator (ca68353 )
bridge: spike fast-path spelling hints in prompt (4c222db )
bridge: sqlite wal and busy timeout (1585317 )
bridge: sse /correct/stream endpoint (b30222a )
bridge: staged correction with fast-path preview (08adfcb )
bridge: suppress all-allowlisted multiword edits (28821f1 )
bridge: suppress llm re-flags of dictionary words (742a434 )
bridge: T5a multi-frame incremental fast-path streaming (b224d02 )
bridge: tag grpc requests with lt source (3b8064a )
bridge: trusted-category escalation routing generalizes spelling-only skip (be65b8b )
bridge: TTL-cached reject suppressor over the personalization signal (1074b2d )
bridge: user dictionary store (ae4e7df )
bridge: wire dialect spelling guard for british deploys (GF_DIALECT_SPELLING_GUARD) (191da7e )
bridge: wire sentence cache and prompt caching (3af70a0 )
bridge: wire tone analysis (cache, gate, GF_TONE_* backend) (8cc7a41 )
bridge: word-granularity merge spike modes (88eb529 )
browser: accept hotkey applies all in field (d27cd93 )
browser: accessibility for pill popover and chip (112e4aa )
browser: add extension icon (492a619 )
browser: add multiword edits to dictionary (161795b )
browser: add rephraseHotkey setting (default Ctrl+/) (ad5d7ac )
browser: add shared getCaretOffset + keepHighlightsBeforeEdit helpers (a8146cc )
browser: add suppressNativeSpellcheck setting (1fc5e4b )
browser: adopt Legion Works design system + Forge Caret mark (ab7a737 )
browser: apply-moment highlight flourish (1b31cdb )
browser: beforeinput check trigger (1d89919 )
browser: bridge-backed dictionary options (68110a4 )
browser: clearer clean-state affordance (bbb0d70 )
browser: collapse hover tooltip into preview chip (2e410a4 )
browser: correctstream with remembered fallback (2c54c92 )
browser: debug logging setting toggle (ff025c0 )
browser: default accept hotkey to Alt+Enter (365cb6f )
browser: delay grammar check after paste (061dfc1 )
browser: dictionary api client (6208d03 )
browser: draggable faint bottom-right pill (2acb42d )
browser: expose rephrase hotkey in settings UI (f87187c )
browser: fetch-stream sse parser (51d8f5a )
browser: include hostname in tab status (b842510 )
browser: main-world apply agent for slate (00f25ea )
browser: native highlight api for contenteditable (3948e74 )
browser: options toggle for spellcheck suppress (125a5a8 )
browser: pill breakdown bar and top-right anchor (ec2585c )
browser: pill panel api + optional rephrase (df8672e )
browser: popover API top-layer for click card (4b4d5a7 )
browser: recheck focused field on re-enable (0e89ea6 )
browser: rephrase api client (ed512f5 )
browser: rephrase card pending and error states (7cd50f0 )
browser: rephrase selection button and card (70f381a )
browser: rephrase settings section (cd97882 )
browser: route slate editors through safe apply (0e2579e )
browser: slate-safe rich editor apply module (2eef83b )
browser: soft highlight replaces underline (9b6baf7 )
browser: staged preview rendering via sse (c8e9e9c )
browser: suppress native spellcheck on fields (ec14d89 )
browser: sync pipeline builder with preview flag (ec38015 )
browser: tabbed popup with status and settings (87e992e )
browser: tune highlight intensity ladder (1b2cf1b )
browser: tune hover chip timing (71b7a89 )
browser: undo bookkeeping module (fc8643a )
browser: undoable ignore with toast (d696c46 )
browser: unified pill panel with action row (3bf8bde )
browser: widen category palette and scrim polish (13373dc )
browser: wire add-to-dictionary popover action (931b890 )
browser: wire Bug 1 scoped-clear-on-edit + 4 siblings into content orchestrator (230f651 )
browser: wire rephrase hotkey (default Ctrl+/) in content keydown (4b317f5 )
browser: wire rephrase selection flow (7b2e06d )
browser: wire undo, panel rephrase, paused pill (f7a8cff )
ci: publish bridge image to GHCR on release (f35015e )
compose: build the custom PremiumOn LanguageTool image (4747c13 )
compose: idle VRAM offload via llama.cpp --sleep-idle-seconds 300 (77d4e82 )
config: add GF_ARTICLE_FIX flag and wire article fix into service (69afce3 )
config: add GF_COMPLETE_ENABLED gate for /complete endpoint (d1c82aa )
config: GF_ESCALATE_ON_FAST_EDIT (default true) wires the policy flag (1b6d580 )
config: GF_PERSONALIZATION_TTL/ENABLED + wire the cache in main (3aac3aa )
config: GF_TONE_* tone backend + gate env vars (4dd2183 )
correction: add deterministic a/an article fix for silent-h words (1d1d8f6 )
correction: add EscalateOnFastEdit policy (escalate on any fast edit) (46acce8 )
correction: add Rephrase to the core (rephrase prompt + service) (996d5a0 )
correction: add Service.Complete + CompleteEnabled gate (8478bce )
correction: add style Category + Picky request flag (907dd66 )
correction: correct Harper irregular-plural possessive misfires on the fast path (043469a )
correction: drop GECToR/Harper mid-sentence capitalization of function words (b1ea370 )
correction: emit category + replacements[] on /correct (209ac8f )
correction: per-text-unit tone tag LRU cache (0e2c429 )
correction: revert LLM clause-final modal-perfect over-edits (5bbc4f4 )
correction: revert LLM contraction-expansion and singular-they over-edits (42ae17e )
correction: run gated style pass on picky requests (cb3c93a )
correction: Service.AnalyzeTone (field + sentence, cached) + parser nit tests (c62b6cc )
correction: tag LLM-diff edits with Harper's spelling/punctuation category (51c0460 )
correction: tolerant tone-JSON parser (61062ff )
correction: tone domain types + fixed tag vocabulary (830462f )
eval+bridge: trustworthy benchmarks + concurrency/resilience (613f54e )
eval: 125/125 baseline with LLM over-edit repair chain (e1a4aef )
eval: add benchmark fetch script + M2 parsing lib (WS-C) (23f15bc )
eval: add CoNLL-2014 (m2scorer) + BEA-2019 (ERRANT) runners (WS-C) (4f13520 )
eval: clean-text corpus builder with register tags (fa2a760 )
eval: clean-text FP scorer with per-model attribution and --require-exact gate (5375d18 )
eval: machine-enforceable gates in run_all (--require-exact, --max-fp-rate, GF_GATE) + metric summary (83276fe )
eval: per-rule fired-pair-conditioned over-edit threshold study (df3586d )
eval: per-suggestion confidence capture and per-edit ECE with a distance-reduction oracle (8ce9c48 )
eval: record clean-text FP baseline and document the gate (6eadb4d )
eval: semantic-verifier threshold calibration study + equivalence probe (ab8c0d6 )
extension: add api/ layer (wire types, byte offset conversion, category) (07e48fd )
extension: add batched signal queue (d4b0e2f )
extension: add bridge REST client + exact-IPv4 local-URL guard (1268c6a )
extension: add input/ layer (detect, observe, debounce, paste-guard, apply) (e098c71 )
extension: add liquid-glass overlay (underline, popover, status) (d31b399 )
extension: add local-only settings store + accept-hotkey logic (9e78174 )
extension: hover tooltip + click card, full-word hit target, fix pill (97f6cb4 )
extension: liquid-glass edge refraction + refractive rim on overlays (9cf103b )
extension: pill power button, collapse-to-disable, hover Apply-all panel (1251c1c )
extension: red->green word-level diff preview in tooltip + popover (f80b854 )
extension: wire content orchestrator + popup/options + pipeline (87bd706 )
harper: apply style-gating in Correct (suppresses style false positives) (d6bb427 )
harper: classify lints by LintKind via vendored harper-c fork (c081f8a )
harper: configurable dialect + per-rule enable/disable + max-input guard (0f8a097 )
harper: gate style/word-choice "Vocabulary enhancement" lints (3ebe65a )
harper: structured suggestions + Markdown parsing via FFI (1097b93 )
harper: user dictionary via MergedDictionary (SPEC �6) (450c052 )
hotkeys: extract shared rephrase-target decision (browser + vencord) (eae3b7f )
lib: add pluggable debug-log backends (4e-1) (8c25719 )
lib: add process-monotonic checkSeq initializer (638790a )
lib: add shared settings-core schema and resolver (4f-1) (5d682ba )
llm: send a fixed sampling seed for reproducible output (df430be )
ltgrpc: inject premium:true on emitted matches (d4157c3 )
main: wire GF_COMPLETE_ENABLED to service gate (c24394b )
opencode: add completeFn injection seam to OrchestratorDeps (8c4bc38 )
opencode: add completionEnabled + completionDebounceMs settings (3657313 )
opencode: add nextIssueHotkey / prevIssueHotkey settings (1d8768a )
opencode: add status-line state machine (A6) (58b2485 )
opencode: add ungated review-jump commands (ctrl+g/ctrl+shift+g) (bee5326 )
opencode: at-word suggestion details overlay (f86a53e )
opencode: completion accept/dismiss keymap layer (�Tab / esc) (51e7ca8 )
opencode: completion status-line state (� completion ready) (aa4a31c )
opencode: completion trigger with line-looks-unfinished heuristic (e907ece )
opencode: eagerly clear completion ghost on edit (WS-C + A8) (076ae1a )
opencode: ghost completion overlay component (Path A self-render) (055d496 )
opencode: live grammar-check orchestrator with underlines (19b0b65 )
opencode: mask paste placeholders from bridge text (9e28a4a )
opencode: mouse accelerator (A7) + eager dismiss (A8) (7f8e9ad )
opencode: mouse accelerators + status-line category fix (97520c5 )
opencode: remap cycle defaults to ctrl+n/ctrl+p (40599ba )
opencode: rephrase alternatives + regenerate + cycle (8abfc91 )
opencode: scaffold tui plugin with display-width primitives (6a3337b )
opencode: suggestion actions - cycle, apply-all, rephrase (2c67285 )
overlay: add updateItem + clearItem per-item primitive to HighlightLayer (f99b19c )
overlay: add updateItem + clearItem per-item primitive to NativeHighlighter (668d220 )
perf: cache verifyByteSpan by (suggestionId, textHash) (T2/P1) (7ec9de8 )
personalization: TTL few-shot cache from the signal log (5b9e4e0 )
pipeline: drop suggestions whose span abuts or crosses a newline (C1 belt) (6646f06 )
premium: add PremiumOn shim + custom LanguageTool image (1da7556 )
prompt: add BuildComplete + completeSystemPrompt for /complete endpoint (b144370 )
prompt: add BuildStyle picky-mode prompt (4cc7e4e )
prompt: BuildTone (chat tone prompt; GRMR-native skip) (633ed3d )
prompt: inject accept/reject few-shots into the chat system prompt (11a5ee6 )
redesign: #5 build stamp � [gf] build <sha> <iso-time> at content-script load (b7d4406 )
redesign: browser extension icon = GrammarForge pencil logo (0674e18 )
redesign: field scan-line streaming visual (both clients) (cad22be )
redesign: port shared design system to OVERLAY_CSS (91a9bcf )
redesign: vencord review panel rephrase button (b86f437 )
redesign: w0 shared types + card helpers (c918ab6 )
redesign: w1-1 underline tint-on-hover to .gf-u (8195923 )
redesign: w1-2 hover pill re-skin to .gf-tip (7295c6a )
redesign: w1-3 correction card to .gf-card (08edd51 )
redesign: w1-4 rephrase card scope/tone/skeleton/regenerate (6266ed8 )
redesign: w1-5 undo toast re-skin (b041733 )
redesign: w2-1 score orb + streaming fast/slow viz (47e1f1c )
redesign: w2-2 review panel (10a9f12 )
redesign: w2-3 goals popover (c56503a )
redesign: w2-4 stats tab + dictionary manager (74f677c )
redesign: w2-5 synonyms popover (155802d )
redesign: w2-fnd client stats/tone/synonyms methods + shared types (8267ef0 )
redesign: w2-fnd view-model helpers (score/band/visible/high-conf/mute/tone) (e44acdf )
redesign: w2b styles for review panel + goals popover (956e85c )
redesign: w3-1+3b browser wire orb/panel/streaming/synonyms + paused empty-state (8fd2034 )
redesign: w3-2 settings goals + w3-4 theme detect (a52f786 )
redesign: w3-2 settings goals + w3-4 theme detect (0cc885f )
redesign: w3-3 vencord wire panel/goals/stats/synonyms + w3-3b chatbar power glyph + w3-4 dark theme (7fb9629 )
redesign: wire disabled=paused panel state (both clients) (dd2882e )
rest: add POST /rephrase endpoint (b618240 )
rest: advertise premium:true on /health for bridge-native clients (3276e9f )
rest: POST /tone endpoint (f0a0233 )
restserver: add CORS so browser clients can call the bridge (29366ff )
restserver: add POST /complete handler with CompleteEnabled gate (e856d40 )
rest: thread picky flag through /correct (d7d1284 )
scripts: add fetch-models.sh to provision GGUF + native libs + GECToR files (45ccd9d )
sensitive-field exclusion + split rephrase/synonyms control (7769023 )
store: add PersonalizationExamples aggregation query (c52d091 )
store: tone_signals Phase-3 log + AnalyzeTone best-effort logging (ec76249 )
vencord: add rephraseHotkey setting (default ctrl+/) (7258fc3 )
vencord: chat-bar button with pill and panel (6d73cd8 )
vencord: click and focus-flow debug tracing (9fce5be )
vencord: composer check orchestrator (6550318 )
vencord: debug logging setting + hotkey guard (54cb85a )
vencord: default accept hotkey ctrl+period (789b1ae )
vencord: discord composer detection gate (a9d1afc )
vencord: expose rephrase hotkey in settings UI (111ca11 )
vencord: full apply/selection instrumentation (67e3768 )
vencord: hover preview tooltip on flagged words (click still opens panel) (41af6bb )
vencord: Legion re-skin polish + dead code removal (2d1a0b0 )
vencord: panel, undo, dictionary, rephrase (953a4d0 )
vencord: plugin entry with settings (eb96d50 )
vencord: scaffold toolchain and bundler (5e76c4c )
vencord: validated plugin config with defaults (cbd2242 )
vencord: wire Bug 1 scoped-clear-on-edit + 4 siblings into orchestrator (ed6f54f )
vencord: wire rephrase hotkey (default ctrl+/) in capture keydown (8cd4090 )
Bug Fixes
bridge: bypass sentence split for code-like text (f636820 )
bridge: close verifier session on shutdown + warn on stub no-op (7d5d45d )
bridge: coalesce same-word llm diff edits (2d3128a )
bridge: expand allowlist check to word bounds (133ed0c )
bridge: give anthropic max_tokens thinking headroom (eee7c4c )
bridge: guard against truncated llm output (1c50058 )
bridge: inject vocabulary block only on dictionary match (d2a3928 )
bridge: reconstruct word-level personalization pairs (9183ef5 )
bridge: revert LLM mid-word case-flip over-edits (82a31c8 )
bridge: rune-safe personalization truncation (3372a34 )
bridge: sort dialect splices before apply + lexicon cleanup pass (03985a2 )
bridge: tighten chat prompt against restyle + or/nor overcorrection (d0a62d4 )
bridge: widen zero-length insertions in v2 check (8d4d1c5 )
browser: 30s rephrase timeout (2dcd15a )
browser: add whole words to dictionary (7269bb9 )
browser: allowlist bridge url schemes (be8aa79 )
browser: check paste and undo/redo in rich editors (75864fd )
browser: clear chip aria-describedby on teardown (7d34533 )
browser: detach fields nested in removed containers (d52eb07 )
browser: drop jagged SVG glass-rim distortion (545580a )
browser: harden multi-field pill and popover (524ea52 )
browser: harden shared overlay + apply/telemetry correctness (11704a2 )
browser: highlight word range not edit span (ca0acc6 )
browser: include span in verifyByteSpan cache key (267ab52 )
browser: isolate measurement mirror from page DOM (8f53e77 )
browser: keep overlay on SPA nav, persist pill pos (94e5903 )
browser: keep pill alive across render swaps (2f95f9e )
browser: keep popover anchored not centered (526f20d )
browser: line-aware contenteditable text model (0c1cbdf )
browser: match hotkey by physical key code (8ef0753 )
browser: mount runtime at startup (nextPauseMode returned off from initial off-state) (abd1874 )
browser: orb positions via left/top + popover card resets popover API centering (90c7df6 )
browser: paused pill seeds from last-focused field (ed76484 )
browser: persist highlights across edits, focus-only pill (491eb73 )
browser: pill keeps field focus, visible debug logs (7e89f0f )
browser: pill power-button click, faint idle, count badge (1e09b86 )
browser: pill tracks field, refresh native rects (470ffd9 )
browser: popup contrast for tabs and surfaces (063eeff )
browser: reconcile underlines and track scroll (cbc1b06 )
browser: revert slate apply to legacy path (46a15ef )
browser: stored undefined cannot clobber defaults (80fc569 )
browser: svg namespace on pill icon constants (c0b129f )
browser: unspoofable native-highlight style marker (2adf946 )
clients: keep highlights when focus moves into our overlay popover (c890659 )
config: realign LogLevel to new Tone column position (4518ba9 )
correction: decouple per-segment dispatch from sentence cache; cover cache-off newline path (90dec63 )
correction: drop zero-effect LLM-diff suggestions (D2) (457427a )
correction: feed the LLM the original text on escalation (d688eb0 )
correction: finalize picky style suggestions once on the llm-only path (e287dee )
correction: gofumpt-format fakePB method group (64671b3 )
correction: guarantee extractJSONObject termination (no infinite loop on pathological inputs) (888174b )
correction: sort combined suggestions by span before finalize (78c3d23 )
correction: tolerate stray braces around tone JSON (balanced + json.Valid scan) (9768de9 )
correction: treat '\n' as hard sentence boundary in SegmentSentences (639f9e5 )
eval: correct benchmark tokenization (CoNLL PTB-tokenize, BEA caveat) (21476dd )
eval: gitignore exception for clean corpus + per-request error handling in clean_eval (e4ce6f8 )
eval: record relative source path in calibration artifact (e9af194 )
eval: submit de-tokenized CoNLL source to the bridge (D3) (7cc7692 )
extension: atomic Apply-all (no text corruption) + real glass edge distortion (73e986c )
extension: bake colour into wavy underline SVG (was invisible on dark pages) (3475bfb )
extension: clear stale underlines on re-render + repair /signal (7c02d1b )
extension: drop stale check results so the pill can't lag (race) (7e12f04 )
extension: reliable Apply-all + add a recheck button to the pill (b79eac2 )
ltgrpc: always set a non-empty match description (55d8867 )
ltgrpc: widen zero-length insertion spans for LanguageTool (5db1f35 )
opencode: address cross-family review � blocking + nits + A8 test (457f7e8 )
opencode: address cross-family review � BLOCKING 1+2, SHOULD-FIX 3, NITS 4-5 (fee0dd7 )
opencode: completion polish, render/status fixes, bridge completion scoping + cache (a048a30 )
opencode: import Category from @/api/types not @/api/category (823ca29 )
opencode: paste-mask privacy leak, ghost/rephrase conflict, theming (b93cc04 )
opencode: refine overlay interaction (4ba9983 )
opencode: rendering regressions from the redesign pass (637f40b )
opencode: word-wrap rephrase card (no truncation) (530f2b0 )
overlay: HighlightLayer updateItem/clearItem look up by data-item, not pool index (cdc2bc0 )
overlay: placement + z-index audit across all floating surfaces (41b5ddd )
personalization: escape user text in few-shot prompt lines (prompt-injection guard) (a38de50 )
pipeline: C1 filter only drops suggestions whose span CONTAINS a newline (b8a4652 )
prompt: escape rephrase tone/style to prevent prompt injection (03f67cd )
prompt: forbid accent-stripping and correct-agreement changes (565ab87 )
redesign: #1 panel refreshes after accept-all/category/item (no stale list) (090f256 )
redesign: #1 rephrase card + button close on scroll (417a3f8 )
redesign: #1 spellcheck suppression on by default; #2 orb 60�44px (DC: z(46,40)) (8a0a770 )
redesign: #1 underline � replace invalid border-bottom:wavy with SVG mask wave (20571ea )
redesign: #1 /#3 dismiss one-shot + Goals/synonyms onClose calls destroy() (79df9a8 )
redesign: #10 rephrase card closes after accept + onClose wired (22d8184 )
redesign: #2 hover pill centered on actual width (not TOOLTIP_WIDTH_MAX) (75fed5d )
redesign: #2 hover pill centered on word (left = wordCenterX - pillWidth/2) (f610b2b )
redesign: #3 hover pill hover-bridge (400ms grace + pill mouseenter/leave) (327d670 )
redesign: #3 tab switch in-place (no rebuild flash) + #4 card closes on scroll (e14f10d )
redesign: #4 tab swap atomic (off-DOM fragment + replaceChildren, no flash) (cd59ae9 )
redesign: gf-card compact sizing + orb clickable (pointer-events) vs pre-redesign (655e9aa )
redesign: Goals/synonyms light-dismiss + Goals closes with panel (f1e682b )
redesign: Goals+synonyms light-dismiss � mousedown�pointerdown (0eda976 )
redesign: highlight tint hover/active-only (remove focused�is-on) (09000da )
redesign: hover pill defaults above word with caret flip (b95eeef )
redesign: hover pill position + quick-accept button (DC: gf-pillok) (1e795dc )
redesign: panel light-dismiss + Stats�Review tab rebuild (68a8236 )
redesign: panel-aside glass opacity + misleading gf-card comment (da341ef )
redesign: rephrase card styling (DC parity) + outside-click dismiss (ded87d5 )
redesign: synonyms closes on selectionchange/input (stale anchor) (fdff939 )
redesign: synonyms word-resolution for textarea (use selectionStart) (263e8cd )
redesign: SYSTEMIC-1 � scroll/resize closes transient surfaces + panel out-of-viewport (6de0121 )
redesign: SYSTEMIC-2 � unified window-capture dismiss (Goals/synonyms/panel/popover) (3288eac )
redesign: underline-at-rest regression + tooltip z-index + goals/syn opacity (4dd2c1b )
redesign: vencord blur must not clear items when focus moves to GF orb/panel (8fa2224 )
redesign: vencord rerunFor reset phase on stream error (4f7d37f )
redesign: vencord review panel builds from live items on open (4dcf23c )
redesign: vencord review panel refreshes on check results + accept (99b9752 )
redesign: vencord scan-line removal on detach + blur (leak fix) (fb68c83 )
redesign: vencord tab sync + orb removed; panel Stats-guard on refresh (57c91f2 )
redesign: w1b review � vencord stub status field + toast timer test (56ef8bb )
redesign: w2-fnd align score/band/ring/insights to reference DC (8d4bb0a )
redesign: w2c review nits - getBodyContainer null-on-destroy + synonyms ownerDocument (12a85ce )
redesign: w3a review - onAcceptItem re-measure live + drop dead anchor ternary + unused param (0abb809 )
rest: reject trailing data after JSON body in all POST handlers (bd28c0f )
scripts: atomic GGUF download in fetch-models.sh (622c8db )
store: order rejected examples by recency, not count (0500fdc )
vencord: apply via synthetic replacement events (0a25a61 )
vencord: clear field state when Enter send empties the composer (11358b3 )
vencord: correct oxfmt invocation in fmt script (e495e08 )
vencord: drive checks from beforeinput events (5db1c9f )
vencord: goals persistence, teardown leaks, hotkey collision (23fe399 )
vencord: inline selection offsets in traces (d504cb5 )
vencord: keep synonyms popover clear of composer and selection toolbar (b4f16ed )
vencord: paste fallback cancels pending check (9f2b602 )
vencord: pill above button, solid, first in bar (c6128ac )
vencord: pill update survives rect-measure fail (dd81928 )
vencord: slate-aware apply prevents caret desync (ac72c33 )
vencord: use pnpm with local workspace config (9d21e2f )
vencord: widen insertions for slate target ranges (7c2ad8e )
Performance Improvements
browser: cache textarea mirror style (43aa309 )
browser: hit-test index and hover-only restyle (40445d6 )
browser: native hover skips category rebuild (3e886a2 )
browser: one shared scroll resize loop (e8746de )
browser: reconcile and transform the pill (5858a18 )
browser: single-walk contenteditable rect batch (798d0f3 )
client: null-caret short-circuit in applyScopedClearToField (Finding 5) (44e42a0 )
extension: fix SPA listener leak, debounce text read, batch span rects (9a92532 )
opencode: cache display spans to avoid per-cursor rescan (b2ce8df )
verify-cache: bound at 4096 entries (FIFO eviction) (5cf359f )
You can’t perform that action at this time.