Skip to content

perf(parser): replace syntax tree with compact tape - #2140

Merged
ya7010 merged 2 commits into
tombi-toml:mainfrom
ya7010:ya7010/perf-parser-parse-result
Aug 25, 2026
Merged

ya7010 merged 2 commits into
tombi-toml:mainfrom
ya7010:ya7010/perf-parser-parse-result

Conversation

@ya7010

@ya7010 ya7010 commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • replace the rowan-derived syntax tree with a compact, source-backed TOML syntax tape
  • split stable AST and document-tree interfaces from their syntax-backed implementations
  • keep unescaped text source-backed, pool decoded text once, and use compact sparse position indexes
  • move syntax editing into the formatter and keep extension-facing LSP data independent from tower-lsp

Validation

  • cargo nextest run --workspace --locked --no-fail-fast (2,284 passed)
  • cargo nextest run --locked -p tombi-ast-syntax -p tombi-parser -p tombi-lsp --no-fail-fast (828 passed after review fixes)
  • cargo clippy --workspace --all-targets --locked -- -D warnings
  • cargo test --workspace --doc --locked
  • cargo build --verbose --locked
  • cargo xtask codegen grammar
  • cargo shear
  • wasm32 clippy for tombi-wasm with lib and lsp features
  • docs format and lint checks

Compatibility

This intentionally changes the Rust AST, document-tree, and extension toolkit APIs.

Copilot AI lite review requested due to automatic review settings August 25, 2026 00:27
@ya7010 ya7010 added breaking-change Breaking change Tag for Release Note rust Pull requests that update rust code labels Aug 25, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

rowan 由来の Red/Green Tree ベース実装をやめ、ソース参照を維持するコンパクトな「syntax tape」へ置き換えつつ、安定 API(tombi-ast / tombi-document-tree)と、その syntax-backed 実装(tombi-ast-syntax / tombi-document-tree-syntax)を分離する変更です。これにより、パーサ・フォーマッタ・LSP・拡張(extensions)を含む全体の型/依存関係が新実装へ移行されています。

Changes:

  • tombi-ast-syntax / tombi-document-tree-syntax を導入し、パーサ/lexer/LSP/validator/linter/serde などを新しい syntax-backed 型へ移行
  • tombi-syntax と tombi-rg-tree(および関連の型変換)を削除/切り離し
  • tower-lsp 依存を extension-facing API から剥がし、LSP 側で型変換を担う方向へ整理(例: InlayHintKind、IntoLsp 変換の移動)

Reviewed changes

Copilot reviewed 284 out of 412 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
xtask/src/command/codegen_grammar.rs grammar codegen の出力先を tombi-ast-syntax 配下へ移動
xtask/src/codegen/grammar/syntax_kind.rs tombi_rg_tree への From<SyntaxKind> を削除
toml-test/Cargo.toml document-tree 実装 crate を *-syntax に切替
toml-test/bin/decode.rs into_root() / TryIntoDocumentTree を新実装へ切替
tombi.code-workspace workspace 参照 crate を新構成に合わせて更新
rust/serde_tombi/src/de/error.rs tombi_document_tree_syntax::Error へ切替
rust/serde_tombi/src/de.rs parsed.root() と IntoDocumentTreeAndErrors の切替
rust/serde_tombi/src/config.rs parsed.root() へ切替
rust/serde_tombi/Cargo.toml tombi-ast-syntax / tombi-document-tree-syntax へ依存更新
extensions/tombi-extension-tombi/src/hover.rs DocumentTree 型を *-syntax へ切替
extensions/tombi-extension-tombi/src/completion.rs DocumentTree 型切替 + CommentContext のジェネリクス化追従
extensions/tombi-extension-tombi/Cargo.toml tombi-document-tree-syntax へ依存更新
extensions/tombi-extension-pyproject/src/goto_declaration.rs DocumentTree/Value 型を *-syntax へ切替
extensions/tombi-extension-pyproject/src/did_open.rs DocumentTree 型切替 + テストの into_root() 追従
extensions/tombi-extension-pyproject/src/completion.rs DocumentTree 型切替 + CommentContext ジェネリクス化追従
extensions/tombi-extension-pyproject/Cargo.toml tombi-ast-syntax / tombi-document-tree-syntax 等へ依存更新
extensions/tombi-extension-cargo/src/goto_declaration.rs DocumentTree/Value 型を *-syntax へ切替
extensions/tombi-extension-cargo/src/did_open.rs DocumentTree 型切替 + Key::value() API 追従 + テスト更新
extensions/tombi-extension-cargo/src/cargo_lock.rs into_root() + DocumentTree 型切替
extensions/tombi-extension-cargo/src/accessors.rs DocumentTree/Value 型を *-syntax へ切替
extensions/tombi-extension-cargo/Cargo.toml tombi-ast-syntax / tombi-document-tree-syntax 等へ依存更新
crates/tombi-validator/src/validate/value.rs tombi_document_tree_syntax::Value へ移行
crates/tombi-validator/src/validate/string.rs tombi_ast_syntax + tombi_document_tree_syntax へ移行
crates/tombi-validator/src/validate/one_of.rs ValueImpl / comment directive 型を新実装へ移行
crates/tombi-validator/src/validate/offset_date_time.rs tombi_document_tree_syntax + comment directive 型移行
crates/tombi-validator/src/validate/not_schema.rs 同上(comment directive / ValueImpl)
crates/tombi-validator/src/validate/local_time.rs 同上(LocalTime)
crates/tombi-validator/src/validate/local_date.rs 同上(LocalDate)
crates/tombi-validator/src/validate/local_date_time.rs 同上(LocalDateTime)
crates/tombi-validator/src/validate/integer.rs 同上(Integer)
crates/tombi-validator/src/validate/if_then_else.rs ValueImpl を新実装へ移行
crates/tombi-validator/src/validate/float.rs Float を新実装へ移行
crates/tombi-validator/src/validate/boolean.rs Boolean を新実装へ移行
crates/tombi-validator/src/validate/array.rs Array を新実装へ移行
crates/tombi-validator/src/validate/any_of.rs ValueImpl / comment directive 型を新実装へ移行
crates/tombi-validator/src/validate/all_of.rs ValueImpl / comment directive 型を新実装へ移行
crates/tombi-validator/src/diagnostic.rs ValueType を tombi_document_tree_syntax に更新
crates/tombi-validator/src/comment_directive/document.rs Root/Table 型を *-syntax に更新 + IntoDocumentTree API 更新
crates/tombi-validator/Cargo.toml tombi-ast-syntax / tombi-document-tree-syntax へ依存更新
crates/tombi-text/src/lib.rs ドキュメント表現を現状に合わせて更新
crates/tombi-text/src/features/lsp/line_index.rs Vec<Span> を Arc<[Span]> にして共有/省メモリ化
crates/tombi-text/Cargo.toml wasm/native で tower-lsp の runtime feature を分岐
crates/tombi-syntax/src/lib.rs crate 実装を削除
crates/tombi-syntax/src/language.rs crate 実装を削除
crates/tombi-syntax/src/error.rs crate 実装を削除
crates/tombi-syntax/src/builder.rs crate 実装を削除
crates/tombi-syntax/Cargo.toml crate を削除
crates/tombi-schema-store/src/store.rs ast-syntax feature ガード追加 + API 可視性調整
crates/tombi-schema-store/src/schema/semantic_schema.rs ValueType を tombi_document_tree_syntax に更新
crates/tombi-schema-store/src/lib.rs ast-syntax feature に合わせた import/公開関数の cfg 化
crates/tombi-schema-store/Cargo.toml ast-syntax / document-tree feature を新依存へ接続
crates/tombi-rg-tree/src/red/preorder.rs crate 実装を削除
crates/tombi-rg-tree/src/red/node_children.rs crate 実装を削除
crates/tombi-rg-tree/src/red/element_children.rs crate 実装を削除
crates/tombi-rg-tree/src/red.rs crate 実装を削除
crates/tombi-rg-tree/src/lib.rs crate 実装を削除
crates/tombi-rg-tree/src/language.rs crate 実装を削除
crates/tombi-rg-tree/src/green.rs crate 実装を削除
crates/tombi-rg-tree/src/cow_mut.rs crate 実装を削除
crates/tombi-rg-tree/README.md README を削除
crates/tombi-rg-tree/Cargo.toml crate を削除
crates/tombi-parser/src/token_set.rs tombi_ast_syntax の SyntaxKind/T へ切替
crates/tombi-parser/src/parse/value.rs parse 対象型を tombi_ast_syntax::* へ切替
crates/tombi-parser/src/parse/value_with_comma_group.rs 同上
crates/tombi-parser/src/parse/table.rs 同上
crates/tombi-parser/src/parse/key.rs 同上
crates/tombi-parser/src/parse/key_value_with_comma_group.rs 同上
crates/tombi-parser/src/parse/key_value_group.rs 同上
crates/tombi-parser/src/parse/dangling_comment_group.rs 同上
crates/tombi-parser/src/parse/comma.rs 同上
crates/tombi-parser/src/parse/array_of_table.rs 同上
crates/tombi-parser/src/marker.rs event API を新実装に合わせて更新
crates/tombi-parser/Cargo.toml tombi-ast-syntax へ切替 + dev-deps 再編
crates/tombi-lsp/tests/test_references.rs 参照テストの期待値更新
crates/tombi-lsp/tests/test_inlay_hint.rs InlayHintKind を extension 側型へ切替
crates/tombi-lsp/src/semantic_tokens/table.rs range 取得を range() ベースに変更 + 型移行
crates/tombi-lsp/src/semantic_tokens/root.rs 同上
crates/tombi-lsp/src/semantic_tokens/key.rs 同上
crates/tombi-lsp/src/semantic_tokens/key_value.rs 同上
crates/tombi-lsp/src/semantic_tokens/inline_table.rs 同上
crates/tombi-lsp/src/semantic_tokens/comment.rs 同上
crates/tombi-lsp/src/semantic_tokens/builder.rs SyntaxElement 依存を排除し Range 直接渡しへ
crates/tombi-lsp/src/semantic_tokens/array.rs 型移行
crates/tombi-lsp/src/semantic_tokens/array_or_table.rs 型移行
crates/tombi-lsp/src/schema_resolver.rs tombi_document_tree_syntax へ型移行
crates/tombi-lsp/src/lib.rs extension モジュールを公開
crates/tombi-lsp/src/hover/value/string.rs hover 対象型を tombi_document_tree_syntax に移行
crates/tombi-lsp/src/hover/value/offset_date_time.rs 同上
crates/tombi-lsp/src/hover/value/local_time.rs 同上
crates/tombi-lsp/src/hover/value/local_date.rs 同上
crates/tombi-lsp/src/hover/value/local_date_time.rs 同上
crates/tombi-lsp/src/hover/value/integer.rs 同上
crates/tombi-lsp/src/hover/value/float.rs 同上
crates/tombi-lsp/src/hover/value/boolean.rs 同上
crates/tombi-lsp/src/hover/value.rs ValueImpl / Key 型の移行
crates/tombi-lsp/src/hover/one_of.rs ValueImpl 境界を新実装へ
crates/tombi-lsp/src/hover/comment.rs Root 型 + IntoDocumentTree API の移行
crates/tombi-lsp/src/hover/any_of.rs ValueImpl 境界を新実装へ
crates/tombi-lsp/src/hover/all_of.rs ValueImpl 境界を新実装へ
crates/tombi-lsp/src/hover.rs DocumentTree/Key/ValueImpl の型移行
crates/tombi-lsp/src/handler/references.rs accessors 取得を tombi_document_tree_syntax へ切替
crates/tombi-lsp/src/handler/goto_definition.rs 同上 + Root 型更新
crates/tombi-lsp/src/handler/goto_declaration.rs 同上
crates/tombi-lsp/src/handler/document_symbol.rs Value enum を *-syntax へ切替
crates/tombi-lsp/src/handler/document_link.rs IntoLsp 変換を LSP 側 extension モジュールへ集約
crates/tombi-lsp/src/handler/completion.rs CommentContext<tombi_ast_syntax::Comment> へ型更新
crates/tombi-lsp/src/goto_type_definition/value/string.rs tombi_document_tree_syntax へ移行
crates/tombi-lsp/src/goto_type_definition/value/offset_date_time.rs 同上
crates/tombi-lsp/src/goto_type_definition/value/local_time.rs 同上
crates/tombi-lsp/src/goto_type_definition/value/local_date.rs 同上
crates/tombi-lsp/src/goto_type_definition/value/local_date_time.rs 同上
crates/tombi-lsp/src/goto_type_definition/value/integer.rs 同上
crates/tombi-lsp/src/goto_type_definition/value/float.rs 同上
crates/tombi-lsp/src/goto_type_definition/value/boolean.rs 同上
crates/tombi-lsp/src/goto_type_definition/value/array.rs ArrayKind / range 取得を新実装へ
crates/tombi-lsp/src/goto_type_definition/value.rs ValueImpl::value_type を新実装へ
crates/tombi-lsp/src/goto_type_definition/comment.rs Root 型 + IntoDocumentTree API の移行
crates/tombi-lsp/src/goto_type_definition/all_of.rs ValueImpl 境界を新実装へ
crates/tombi-lsp/src/document.rs ast / document_tree を *-syntax 型で保持
crates/tombi-lsp/src/completion/value/string.rs completion 対象型を tombi_document_tree_syntax に移行
crates/tombi-lsp/src/completion/value/one_of.rs keys 型移行
crates/tombi-lsp/src/completion/value/offset_date_time.rs 同上
crates/tombi-lsp/src/completion/value/local_time.rs 同上
crates/tombi-lsp/src/completion/value/local_date.rs 同上
crates/tombi-lsp/src/completion/value/local_date_time.rs 同上
crates/tombi-lsp/src/completion/value/integer.rs 同上
crates/tombi-lsp/src/completion/value/float.rs 同上
crates/tombi-lsp/src/completion/value/branch_result.rs Key::value() API 追従
crates/tombi-lsp/src/completion/value/boolean.rs 同上
crates/tombi-lsp/src/completion/value/any_of.rs keys 型移行
crates/tombi-lsp/src/completion/value/all_of.rs keys 型移行
crates/tombi-lsp/src/completion/schema_completion.rs keys 型移行
crates/tombi-lsp/src/completion/comment.rs Root/Comment/IntoDocumentTree の型移行
crates/tombi-lsp/Cargo.toml tombi-ast-syntax / tombi-schema-store feature などへ依存更新
crates/tombi-linter/tests/integration/unevaluated_items_test_schema.rs ValueType を *-syntax へ更新
crates/tombi-linter/tests/integration/tuple_items_test_schema.rs 同上
crates/tombi-linter/tests/integration/recursive_anchor_ref_test_schema.rs 同上
crates/tombi-linter/tests/integration/prefix_items_test_schema.rs 同上
crates/tombi-linter/tests/integration/cargo_schema.rs 同上
crates/tombi-linter/tests/integration/anchor_dynamic_ref_test_schema.rs 同上
crates/tombi-linter/src/rule/missing_comma.rs lint 対象 AST 型を tombi_ast_syntax へ移行
crates/tombi-linter/src/rule/inline_table_toml_version.rs 同上
crates/tombi-linter/src/linter.rs IntoDocumentTree API を *-syntax に更新
crates/tombi-linter/src/lint/value/string.rs lint 対象型を tombi_ast_syntax へ移行
crates/tombi-linter/src/lint/value/integer.rs 同上
crates/tombi-linter/src/lint/value/inline_table.rs 同上
crates/tombi-linter/src/lint/value/float.rs 同上
crates/tombi-linter/src/lint/value/date_time.rs 同上
crates/tombi-linter/src/lint/value/boolean.rs 同上
crates/tombi-linter/src/lint/value/array.rs 同上
crates/tombi-linter/src/lint/value.rs 同上
crates/tombi-linter/src/lint/table.rs 同上
crates/tombi-linter/src/lint/root.rs 同上 + ValueType 更新
crates/tombi-linter/src/lint/key_value.rs 同上
crates/tombi-linter/src/lint/array_of_table.rs 同上
crates/tombi-linter/Cargo.toml tombi-ast-syntax / tombi-document-tree-syntax 等へ依存更新
crates/tombi-lexer/tests/test_lex.rs SyntaxKind import を tombi-ast-syntax に更新
crates/tombi-lexer/src/token.rs SyntaxKind を tombi-ast-syntax に更新
crates/tombi-lexer/src/lib.rs EOF span を u32 安全変換に変更 + import 更新
crates/tombi-lexer/src/lexed.rs SyntaxKind import を tombi-ast-syntax に更新
crates/tombi-lexer/Cargo.toml tombi-ast-syntax へ依存更新
crates/tombi-json-syntax/src/lib.rs tombi_rg_tree 依存・型 alias を削除
crates/tombi-json-syntax/src/language.rs language 実装を削除
crates/tombi-json-syntax/Cargo.toml tombi-rg-tree 依存を削除
crates/tombi-formatter/src/lib.rs editor モジュールを追加
crates/tombi-formatter/src/format/value/integer.rs tombi_ast_syntax の token 型へ切替
crates/tombi-formatter/src/format/value/float.rs 同上
crates/tombi-formatter/src/format/value/date_time.rs tombi_ast_syntax へ移行
crates/tombi-formatter/src/format/value/boolean.rs 同上
crates/tombi-formatter/src/format/table.rs header キー処理を Keys 所有型 API に追従
crates/tombi-formatter/src/format/key_value.rs tombi_ast_syntax へ移行
crates/tombi-formatter/src/format/array_of_table.rs tombi_ast_syntax へ移行
crates/tombi-formatter/src/editor/rule/inline_table_comma_trailing_comment.rs 旧 ast-editor の編集ルールを formatter 側へ移植
crates/tombi-formatter/src/editor/rule/array_comma_trailing_comment.rs 同上
crates/tombi-formatter/src/editor/rule.rs editor ルールのモジュール定義を追加
crates/tombi-formatter/src/editor/edit/value.rs Edit trait/Change 型を formatter editor に集約
crates/tombi-formatter/src/editor/edit/table.rs 同上
crates/tombi-formatter/src/editor/edit/key_value.rs 同上
crates/tombi-formatter/src/editor/edit/array_of_table.rs 同上
crates/tombi-formatter/Cargo.toml formatter を editor/validator 等に統合する依存へ再編
crates/tombi-extension/src/text_edit.rs tower-lsp への変換実装を extension から削除
crates/tombi-extension/src/location.rs 同上
crates/tombi-extension/src/lib.rs code_action 追加 + ast/document_tree を再公開 + tower-lsp 再export削除
crates/tombi-extension/src/inlay_hint.rs InlayHintKind を独自型へ(tower-lsp 依存排除)
crates/tombi-extension/src/document_link.rs tower-lsp 変換実装を削除
crates/tombi-extension/src/completion/completion_kind.rs tower-lsp 変換 impl を削除
crates/tombi-extension/Cargo.toml tombi-text の lsp feature 依存削除 + tower-lsp 依存削除
crates/tombi-document/src/value/table.rs document-tree の型を *-syntax 実装へ切替
crates/tombi-document/src/value/string.rs 同上
crates/tombi-document/src/value/integer.rs 同上
crates/tombi-document/src/value/float.rs 同上
crates/tombi-document/src/value/boolean.rs 同上
crates/tombi-document/src/value/array.rs 同上
crates/tombi-document/src/key.rs Key::value() API 追従
crates/tombi-document/Cargo.toml tombi-document-tree-syntax を追加依存
crates/tombi-document-tree/src/support/integer.rs tombi-ast 依存のサポート re-export を削除
crates/tombi-document-tree/src/support/float.rs 同上
crates/tombi-document-tree/README.md README を削除
crates/tombi-document-tree/Cargo.toml 実装依存を落として API クレート化(依存大幅削減)
crates/tombi-document-tree-syntax/src/value/offset_date_time.rs IntoDocumentTree を context 付きへ更新 + *-syntax 型移行
crates/tombi-document-tree-syntax/src/value/local_time.rs 同上
crates/tombi-document-tree-syntax/src/value/local_date.rs 同上
crates/tombi-document-tree-syntax/src/value/local_date_time.rs 同上
crates/tombi-document-tree-syntax/src/value/float.rs 同上
crates/tombi-document-tree-syntax/src/value/boolean.rs 同上
crates/tombi-document-tree-syntax/src/value_type.rs ValueType を新規導入
crates/tombi-document-tree-syntax/src/support/integer.rs integer サポートを tombi_ast_syntax へ移行
crates/tombi-document-tree-syntax/src/support/float.rs float サポートを tombi_ast_syntax へ移行
crates/tombi-document-tree-syntax/src/support/comment.rs comment パースの可視性/所有権を調整
crates/tombi-document-tree-syntax/src/support/chrono.rs chrono サポートを tombi_ast_syntax 型へ移行 + pub(crate) 化
crates/tombi-document-tree-syntax/src/support.rs module 可視性を調整
crates/tombi-document-tree-syntax/README.md 新しい実装 crate として README 追加
crates/tombi-document-tree-syntax/Cargo.toml 新 crate を追加
crates/tombi-comment-directive-serde/src/lib.rs comment directive の AST/DocumentTree 依存を *-syntax へ
crates/tombi-comment-directive-serde/Cargo.toml tombi-ast-syntax / tombi-document-tree-syntax へ依存更新
crates/tombi-ast/src/support/node.rs 旧 syntax-tree ベース helper を削除
crates/tombi-ast/src/support/literal.rs 旧 literal support module を削除
crates/tombi-ast/src/support.rs 旧 support 構成を削除
crates/tombi-ast/src/impls/key_value.rs 旧 impl を削除
crates/tombi-ast/src/impls.rs 旧 impl を削除
crates/tombi-ast/src/algo.rs 旧 algo(rowan系)を削除
crates/tombi-ast/Cargo.toml 依存を軽量化(syntax-tree 依存除去)
crates/tombi-ast-syntax/src/utility_types.rs NodeOrToken/walk イベント等のユーティリティ追加
crates/tombi-ast-syntax/src/lib.rs 新 crate ルート(tape/ast/generated の再export)
crates/tombi-ast-syntax/src/generated/syntax_kind.rs tombi_rg_tree 変換 impl を削除
crates/tombi-ast-syntax/src/generated.rs generated module を追加
crates/tombi-ast-syntax/src/ast/token/comment.rs token 型を tombi_ast_syntax に統一
crates/tombi-ast-syntax/src/ast/token.rs token module 構成を更新
crates/tombi-ast-syntax/src/ast/support/node.rs node helper を新 SyntaxNode API で再実装
crates/tombi-ast-syntax/src/ast/support/literal/integer.rs integer literal パーサを新規追加
crates/tombi-ast-syntax/src/ast/support/literal/float.rs float literal パーサを新規追加
crates/tombi-ast-syntax/src/ast/support/literal/boolean.rs boolean literal パーサを新規追加
crates/tombi-ast-syntax/src/ast/support/literal.rs literal module を追加
crates/tombi-ast-syntax/src/ast/support/iter.rs iterator の node 型を新実装へ
crates/tombi-ast-syntax/src/ast/support.rs support module 構成を追加
crates/tombi-ast-syntax/src/ast/node/value_or_key_value.rs AstNode の syntax 型を新実装へ
crates/tombi-ast-syntax/src/ast/node/table_or_array_of_table.rs 同上
crates/tombi-ast-syntax/src/ast/node/dangling_comment_group.rs children API を新実装へ
crates/tombi-ast-syntax/src/ast/node/dangling_comment_group_or.rs 同上
crates/tombi-ast-syntax/src/ast/node.rs node module の構成更新
crates/tombi-ast-syntax/src/ast/impls.rs impls module を追加
crates/tombi-ast-syntax/src/ast/generated/ast_token.rs 生成された token 定義を追加
crates/tombi-ast-syntax/src/ast/generated/ast_node.rs 生成された node 定義を新 API に追従
crates/tombi-ast-syntax/src/ast/generated.rs generated の module パス更新
crates/tombi-ast-syntax/src/ast/algo.rs ancestors 探索を新実装で追加
crates/tombi-ast-syntax/Cargo.toml 新 crate を追加
crates/tombi-ast-editor/src/rule/order_override.rs 旧 ast-editor 実装を削除
crates/tombi-ast-editor/src/rule/array_comma_trailing_comment.rs 旧 ast-editor 実装を削除
crates/tombi-ast-editor/src/rule.rs 旧 ast-editor 実装を削除
crates/tombi-ast-editor/src/node.rs 旧 ast-editor 実装を削除
crates/tombi-ast-editor/src/lib.rs 旧 ast-editor crate を削除
crates/tombi-ast-editor/src/change.rs 旧 ast-editor 実装を削除
crates/tombi-ast-editor/Cargo.toml 旧 ast-editor crate を削除
crates/tombi-accessor/src/pattern_accessor.rs Cow<str> の所有権を String へ確定(into_owned)
blog/comment_directive_priority.ja.md 新 crate 名/構成に合わせた説明更新
.gitattributes generated file パスを新構成に合わせて更新

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread extensions/tombi-extension-cargo/src/completion.rs Outdated
Comment thread extensions/tombi-extension-pyproject/src/completion.rs Outdated
Comment thread crates/tombi-schema-store/src/store.rs Outdated
Comment thread extensions/tombi-extension-tombi/src/completion.rs Outdated
@ya7010
ya7010 merged commit eb3c112 into tombi-toml:main Aug 25, 2026
29 checks passed
jylenhof pushed a commit to jylenhof/mise-en-place-resources that referenced this pull request Sep 1, 2026
Automated mise tool upgrades from local config.

mise-managed tools:
- `action-validator`
- `actionlint`
- `editorconfig-checker`
- `ghalint`
- `lychee`
- `pinact`
- `pipx:gh-action-pulse`
- `prek`
- `rumdl`
- `shellcheck`
- `shfmt`
- `tombi`
- `uv`
- `yamlfmt`
- `yamllint`
- `zizmor`

Command: `mise upgrade --bump --local action-validator actionlint editorconfig-checker ghalint lychee pinact pipx:gh-action-pulse prek rumdl shellcheck shfmt tombi uv yamlfmt yamllint zizmor`

<details>
<summary>Version changelog (6 tools)</summary>

| Tool | Requested | Installed |
|------|-----------|-----------|
| `editorconfig-checker` | `3.11.1` → `3.11.2` | `3.11.1` → `3.11.2` |
| `prek` | `0.4.14` → `0.5.0` | `0.4.14` → `0.5.0` |
| `rumdl` | `0.2.60` → `0.2.62` | `0.2.60` → `0.2.62` |
| `shfmt` | `3.13.1` → `3.14.0` | `3.13.1` → `3.14.0` |
| `tombi` | `1.4.1` → `1.5.0` | `1.4.1` → `1.5.0` |
| `uv` | `0.12.5` → `0.12.7` | `0.12.5` → `0.12.7` |

</details>

<details>
<summary>Release notes (6 tools)</summary>

<details>
<summary>editorconfig-checker: `3.11.1` → `3.11.2` (editorconfig-checker/editorconfig-checker)</summary>

### v3.11.2

## editorconfig-checker v3.11.2 (2026-08-25T21:11:31Z)

Welcome to this new release of editorconfig-checker!

## Changelog
### Others
* b0a550a82df22ed8bbc48156d3d6fa9bf20c975c: upgrade go to v1.27 to mitigate #613 (@​klaernie)

## Thanks!

Those were the changes on v3.11.2!

</details>
<details>
<summary>prek: `0.4.14` → `0.5.0` (j178/prek)</summary>

### v0.5.0

## Release Notes

Released on 2026-08-27.

### Highlights

#### Choose where hook toolchains come from

`language_version` now accepts a source `preference` alongside the version
`request`, letting you control where prek looks for a compatible toolchain when
it creates a hook environment. Use `managed` (the default) or `system` to choose
which source prek tries first while still allowing fallback and downloads. Use
`only-managed` or `only-system` to require one source.

For example, this local Ruff hook requires a Python 3.12 toolchain managed by
prek:

```yaml
repos:
  - repo: local
    hooks:
      - id: ruff
        name: ruff
        language: python
        entry: ruff check
        additional_dependencies: [ruff]
        language_version:
          request: "3.12"
          preference: only-managed
```

With `only-managed`, prek reuses a compatible toolchain from its managed store
or downloads one when needed. It never falls back to Python from `PATH`, an OS
package manager, or a version manager, so toolchain selection does not depend on
the developer or CI machine's external environment.

Existing scalar values such as `language_version: "3.12"` continue to work. See
[toolchain management and `language_version`](https://prek.j178.dev/0.5.0/languages/#toolchain-management-and-language_version)
for the full source-selection behavior. ([#2613](j178/prek#2613))

### Breaking changes

The breaking changes in this release are mostly small cleanups, and most users should not be affected.

- Group names can no longer start with `@`. This prefix is now reserved for special group selectors such as the new `@​ungrouped` selector. ([#2617](j178/prek#2617))
- `PREK_MAX_CONCURRENCY` has been removed. Use `PREK_CONCURRENT_HOOKS` and `PREK_CONCURRENT_BATCHES` to control hook and per-hook batch concurrency separately. ([#2620](j178/prek#2620))
- The top-level `prek init-template-dir` command… (truncated)

</details>
<details>
<summary>rumdl: `0.2.60` → `0.2.62` (rvben/rumdl)</summary>

### v0.2.61

### Added

- **cli**: add `--stdin-batch` for NUL-framed multi-document linting and `--stdin-batch-closed-world` for supplied-document-only link resolution

## Downloads

| File | Platform | Checksum |
|------|----------|----------|
| [rumdl-v0.2.61-x86_64-unknown-linux-gnu.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-unknown-linux-gnu.tar.gz) | Linux x86_64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [rumdl-v0.2.61-x86_64-unknown-linux-musl.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-unknown-linux-musl.tar.gz) | Linux x86_64 (musl) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-unknown-linux-musl.tar.gz.sha256) |
| [rumdl-v0.2.61-aarch64-unknown-linux-gnu.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-unknown-linux-gnu.tar.gz) | Linux ARM64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [rumdl-v0.2.61-aarch64-unknown-linux-musl.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-unknown-linux-musl.tar.gz) | Linux ARM64 (musl) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [rumdl-v0.2.61-x86_64-apple-darwin.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-apple-darwin.tar.gz) | macOS x86_64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-apple-darwin.tar.gz.sha256) |
| [rumdl-v0.2.61-aarch64-apple-darwin.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-apple-darwin.tar.gz) | macOS ARM64 (Apple Silicon) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-a… (truncated)

### v0.2.62

### Added

- **flavor**: add support for Markdown with Gherkin (MDG) ([db62377](rvben/rumdl@db62377))

## Downloads

| File | Platform | Checksum |
|------|----------|----------|
| [rumdl-v0.2.62-x86_64-unknown-linux-gnu.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-unknown-linux-gnu.tar.gz) | Linux x86_64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [rumdl-v0.2.62-x86_64-unknown-linux-musl.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-unknown-linux-musl.tar.gz) | Linux x86_64 (musl) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-unknown-linux-musl.tar.gz.sha256) |
| [rumdl-v0.2.62-aarch64-unknown-linux-gnu.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-unknown-linux-gnu.tar.gz) | Linux ARM64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [rumdl-v0.2.62-aarch64-unknown-linux-musl.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-unknown-linux-musl.tar.gz) | Linux ARM64 (musl) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [rumdl-v0.2.62-x86_64-apple-darwin.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-apple-darwin.tar.gz) | macOS x86_64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-apple-darwin.tar.gz.sha256) |
| [rumdl-v0.2.62-aarch64-apple-darwin.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-apple-darwin.tar.gz) | macOS ARM64 (Apple Silicon) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarc… (truncated)

</details>
<details>
<summary>shfmt: `3.13.1` → `3.14.0` (mvdan/sh)</summary>

### v3.14.0

This release drops support for Go 1.25 and includes many enhancements, particularly in the interpreter, which implements more shell features and fixes many divergences from Bash.

- **cmd/shfmt**
  - Add `--detect` to find shell files by executable bit or shebang - #944
- **syntax**
  - Add `Preorder`, an iterator over all nodes, complementing `Walk`
  - Add `encoding.TextUnmarshaler` implementations for each operator type
  - Support `${ foo;}` and `${|foo;}` inside double quotes - #1368
  - Support array elements in `{varname}` redirects, like `exec {fds[3]}>&-` - #719
  - Backslashes inside backquotes within double quotes escape double quotes - #1083
  - Allow pound signs in associative array keys like `${args[cmd,#]}` - #1285
  - Don't treat `#` as the start of a comment inside `[[ ]]` tests - #1326
  - Don't join `then` or `do` with a semicolon when heredocs are pending - #1047
  - Print a space after `!` in arithmetic expressions, avoiding history expansion - #987
  - Space nested closing parentheses like the opening ones - #876
  - Make `SplitBraces` reject malformed sequences and skip backslash escapes - #1330
  - Zsh: support the `${=name}`, `${~name}`, and `${^name}` prefixes - #1238
  - Zsh: support the `;|` case terminator and leading parentheses for globs - #1293, #1279
  - Zsh: parse subscript flag arguments as patterns, and allow `[` globs in arrays - #1278, #1322
- **syntax/typedjson**
  - Encode operators as their syntax form, such as `">>"`, rather than integers - #1321
  - Return errors rather than panicking on malformed input
- **interp**
  - Add `BashOpts` to set Bash options like `shopt` - #962
  - Add `AccessHandler` to control file access checks, used by `-r` and `cd` - #1318
  - Add `HandlerContext.LastExitStatus`, and provide a `HandlerContext` to stat handlers
  - Implement the `help` and `times` builtins, as well as `$-` - #1398
  - Implement the `;&` and `;;&` case terminators - #1391
  - Implemen… (truncated)

</details>
<details>
<summary>tombi: `1.4.1` → `1.5.0` (tombi-toml/tombi)</summary>

### v1.5.0

<!-- Release notes generated using configuration in .github/release.yml at v1.5.0 -->

## What's Changed
Tombi v1.5.0 is a major performance and architecture release.

We redesigned the parser and AST around a compact, source-backed syntax tape, replacing the previous red-green syntax tree.
The new architecture is optimized for Tombi’s lossless, long-lived editor and LSP workloads: it improves memory locality and reduces allocation and pointer-chasing overhead while preserving comments, punctuation, incomplete syntax, and diagnostics.
The AST and document-tree interfaces are now also separated from their syntax-backed implementations.

We also optimized hot paths throughout the parser, JSON Schema processing, linter, formatter, and stdin-based CLI workflows.
In our Apple M2 Max benchmarks, long ASCII comment lexing was approximately 2.3× faster, selected JSON parsing workloads improved by up to 84%, and repository-wide lint time decreased from approximately 355 ms to 81 ms.

### 🚨 Breaking Changes
* perf(parser): replace syntax tree with compact tape by @​ya7010 in tombi-toml/tombi#2140

### 🐝 Bug Fixes
* fix(lsp): preserve composite schema metadata by @​ya7010 in tombi-toml/tombi#2139

### 🛠️ Other Changes
* Improve minimal-change guidance for agents by @​ya7010 in tombi-toml/tombi#2137
* perf(parser): accelerate long comment scanning by @​ya7010 in tombi-toml/tombi#2141
* perf: speed up lint and format by @​ya7010 in tombi-toml/tombi#2142
* perf: reduce stdin runtime overhead by @​ya7010 in tombi-toml/tombi#2143
* perf(json): accelerate long string parsing by @​ya7010 in tombi-toml/tombi#2145
* perf(json): optimize lexer and parser hot paths by @​ya7010 in tombi-toml/tombi#2146

**Full Changelog**: https://github.com/tombi-toml/tomb… (truncated)

</details>
<details>
<summary>uv: `0.12.5` → `0.12.7` (astral-sh/uv)</summary>

### 0.12.6

## Release Notes

Released on 2026-08-25.

### Python

- Update CPython to use OpenSSL 3.5.8 and libffi 3.4.8 [#21295](astral-sh/uv#21295))
### Enhancements

- Report cache-cleaning space savings from filesystem block allocation and avoid double-counting hard links ([#21261](astral-sh/uv#21261))
- Limit warnings about unbounded `uv_build` requirements to source-distribution builds ([#21078](astral-sh/uv#21078))
- Display byte counts below 1 KiB without a fractional part ([#21237](astral-sh/uv#21237))

### Preview features

- Add `uv workspace metadata --sync --exact` to remove packages outside the selected resolution ([#21117](astral-sh/uv#21117))
- Add the `artifact-hash-filtering` preview feature to make `uv pip compile --generate-hashes` honor `--only-binary` and `--no-binary` ([#21235](astral-sh/uv#21235))
- Respect package-specific `exclude-newer` cutoffs when `uv check` selects its `ty` executable ([#21227](astral-sh/uv#21227))
- Preserve virtual-environment hints from `tar-codec` source-distribution errors when the base interpreter is outside a `bin` directory ([#21146](astral-sh/uv#21146))

### Performance

- Enable profile-guided optimization for Linux x86-64 release binaries ([#21001](astral-sh/uv#21001))
- Enable profile-guided optimization for Windows x86-64 release binaries ([#21003](astral-sh/uv#21003))
- Enable profile-guided optimization for macOS ARM64 release binaries ([#21002](astral-sh/uv#21002))
- Enable profile-guided optimization for Linux ARM64 release binaries ([#21004](astral-sh/uv#21004))
- Speed up syncing projects with many activated conflict items by reusing their encoded representation ([#21148](https://github.com/astral-sh/uv/pull/21148))… (truncated)

### 0.12.7

## Release Notes

Released on 2026-08-27.

### Python

- Replace managed Python installations when upgrading to a newer build of the same version ([#21323](astral-sh/uv#21323))

### Enhancements

- Support Linux `s390x`, `ppc64le`, and `loongarch64` targets for cross-platform dependency resolution ([#21313](astral-sh/uv#21313))
- Retry downloads with configured credentials when Azure Storage denies anonymous access to an endpoint configured via `UV_AZURE_ENDPOINT_URL` ([#21318](astral-sh/uv#21318))

### Preview features

- Use content-based directory hashes to deduplicate extracted wheels in the cache with the `content-addressed-cache` preview feature ([#19693](astral-sh/uv#19693))

### Bug fixes

- Reject source archives with hash mismatches before persisting their extracted contents to the cache ([#21248](astral-sh/uv#21248))

### Other changes

- remove pyx specific features ([#21182](astral-sh/uv#21182), [#21183](astral-sh/uv#21183), [#21184](astral-sh/uv#21184), [#21185](astral-sh/uv#21185), [#21186](astral-sh/uv#21186))

## Install uv 0.12.7

### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.7/uv-installer.sh | sh
```

### Install prebuilt binaries via powershell script

```sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.12.7/uv-installer.ps1 | iex"
```

## Download uv 0.12.7

|  File  | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.7/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0… (truncated)

</details>

</details>

Modified files:
- `.mise.toml`

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
jylenhof pushed a commit to jylenhof/mise-update-tool that referenced this pull request Sep 1, 2026
Automated mise tool upgrades from local config.

mise-managed tools:
- `action-validator`
- `actionlint`
- `aube`
- `editorconfig-checker`
- `ghalint`
- `pinact`
- `pipx:gh-action-pulse`
- `prek`
- `rumdl`
- `shellcheck`
- `shfmt`
- `tombi`
- `uv`
- `yamlfmt`
- `yamllint`
- `zizmor`

Command: `mise upgrade --bump --local action-validator actionlint aube editorconfig-checker ghalint pinact pipx:gh-action-pulse prek rumdl shellcheck shfmt tombi uv yamlfmt yamllint zizmor`

<details>
<summary>Version changelog (7 tools)</summary>

| Tool | Requested | Installed |
|------|-----------|-----------|
| `aube` | `latest` → `latest` | `2.1.0` → `2.2.0` |
| `editorconfig-checker` | `3.11.1` → `3.11.2` | `3.11.1` → `3.11.2` |
| `prek` | `0.4.14` → `0.5.0` | `0.4.14` → `0.5.0` |
| `rumdl` | `0.2.60` → `0.2.62` | `0.2.60` → `0.2.62` |
| `shfmt` | `3.13.1` → `3.14.0` | `3.13.1` → `3.14.0` |
| `tombi` | `1.4.1` → `1.5.0` | `1.4.1` → `1.5.0` |
| `uv` | `0.12.5` → `0.12.7` | `0.12.5` → `0.12.7` |

</details>

<details>
<summary>Release notes (7 tools)</summary>

<details>
<summary>aube: `2.1.0` → `2.2.0` (jdx/aube)</summary>

### v2.2.0

A small release that gives standalone aube a bundled package-extensions compatibility catalog and exposes its node-gyp bootstrap through the public embedding facade.

## Added

- **Embeddable node-gyp bootstrap** ([#1365](aubepkg/aube#1365) by @​jdx) — aube's locked, in-process node-gyp bootstrap is now available through the stable embedding facade and returns the resolved executable path. This lets embedders (e.g. mise) service aube's lazy shim command without an ambient `npm` or a separately installed `aube` binary, while aube keeps ownership of the node-gyp version, cache layout, npmrc propagation, and cross-process locking. Standalone aube's hidden `__node-gyp-bootstrap` command now routes through the same API, and binary lookup uses `is_file()` across platform names so Windows `.exe`/`.cmd` caches resolve correctly.

## Fixed

- **Bundled curated package extensions** ([#1369](aubepkg/aube#1369) by @​jdx) — Standalone aube now ships a bundled compatibility catalog (~161 curated rules from Yarn's `@​yarnpkg/extensions@2.0.7` plus pnpm's Rust CLI additions) that repairs missing or incompatible peer/optional dependencies across common ecosystems (Angular, Nuxt, React, Vue, Gatsby, GraphQL, Webpack, Parcel, and more). The phantom rules removed upstream by pnpm are excluded. These defaults are applied at the lowest precedence — user and project `packageExtensions` always win — and are kept out of `packageExtensionsChecksum`, so catalog updates never invalidate existing lockfiles or break `--frozen-lockfile`. Set `ignoreCompatibilityDb=true` to opt out of the bundled repairs; malformed bundled entries are skipped with a `WARN_AUBE_INVALID_BUNDLED_PACKAGE_EXTENSION` warning rather than failing the install.

**Full Changelog**: aubepkg/aube@v2.1.0...v2.2.0

## 💚 Sponsor aube

aube is maintained by [@​jdx](https://github.com/jdx), an open source developer for [**entire.io**](https://entire.io),… (truncated)

</details>
<details>
<summary>editorconfig-checker: `3.11.1` → `3.11.2` (editorconfig-checker/editorconfig-checker)</summary>

### v3.11.2

## editorconfig-checker v3.11.2 (2026-08-25T21:11:31Z)

Welcome to this new release of editorconfig-checker!

## Changelog
### Others
* b0a550a82df22ed8bbc48156d3d6fa9bf20c975c: upgrade go to v1.27 to mitigate #613 (@​klaernie)

## Thanks!

Those were the changes on v3.11.2!

</details>
<details>
<summary>prek: `0.4.14` → `0.5.0` (j178/prek)</summary>

### v0.5.0

## Release Notes

Released on 2026-08-27.

### Highlights

#### Choose where hook toolchains come from

`language_version` now accepts a source `preference` alongside the version
`request`, letting you control where prek looks for a compatible toolchain when
it creates a hook environment. Use `managed` (the default) or `system` to choose
which source prek tries first while still allowing fallback and downloads. Use
`only-managed` or `only-system` to require one source.

For example, this local Ruff hook requires a Python 3.12 toolchain managed by
prek:

```yaml
repos:
  - repo: local
    hooks:
      - id: ruff
        name: ruff
        language: python
        entry: ruff check
        additional_dependencies: [ruff]
        language_version:
          request: "3.12"
          preference: only-managed
```

With `only-managed`, prek reuses a compatible toolchain from its managed store
or downloads one when needed. It never falls back to Python from `PATH`, an OS
package manager, or a version manager, so toolchain selection does not depend on
the developer or CI machine's external environment.

Existing scalar values such as `language_version: "3.12"` continue to work. See
[toolchain management and `language_version`](https://prek.j178.dev/0.5.0/languages/#toolchain-management-and-language_version)
for the full source-selection behavior. ([#2613](j178/prek#2613))

### Breaking changes

The breaking changes in this release are mostly small cleanups, and most users should not be affected.

- Group names can no longer start with `@`. This prefix is now reserved for special group selectors such as the new `@​ungrouped` selector. ([#2617](j178/prek#2617))
- `PREK_MAX_CONCURRENCY` has been removed. Use `PREK_CONCURRENT_HOOKS` and `PREK_CONCURRENT_BATCHES` to control hook and per-hook batch concurrency separately. ([#2620](j178/prek#2620))
- The top-level `prek init-template-dir` command… (truncated)

</details>
<details>
<summary>rumdl: `0.2.60` → `0.2.62` (rvben/rumdl)</summary>

### v0.2.61

### Added

- **cli**: add `--stdin-batch` for NUL-framed multi-document linting and `--stdin-batch-closed-world` for supplied-document-only link resolution

## Downloads

| File | Platform | Checksum |
|------|----------|----------|
| [rumdl-v0.2.61-x86_64-unknown-linux-gnu.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-unknown-linux-gnu.tar.gz) | Linux x86_64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [rumdl-v0.2.61-x86_64-unknown-linux-musl.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-unknown-linux-musl.tar.gz) | Linux x86_64 (musl) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-unknown-linux-musl.tar.gz.sha256) |
| [rumdl-v0.2.61-aarch64-unknown-linux-gnu.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-unknown-linux-gnu.tar.gz) | Linux ARM64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [rumdl-v0.2.61-aarch64-unknown-linux-musl.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-unknown-linux-musl.tar.gz) | Linux ARM64 (musl) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [rumdl-v0.2.61-x86_64-apple-darwin.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-apple-darwin.tar.gz) | macOS x86_64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-x86_64-apple-darwin.tar.gz.sha256) |
| [rumdl-v0.2.61-aarch64-apple-darwin.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-apple-darwin.tar.gz) | macOS ARM64 (Apple Silicon) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.61/rumdl-v0.2.61-aarch64-a… (truncated)

### v0.2.62

### Added

- **flavor**: add support for Markdown with Gherkin (MDG) ([db62377](rvben/rumdl@db62377))

## Downloads

| File | Platform | Checksum |
|------|----------|----------|
| [rumdl-v0.2.62-x86_64-unknown-linux-gnu.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-unknown-linux-gnu.tar.gz) | Linux x86_64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [rumdl-v0.2.62-x86_64-unknown-linux-musl.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-unknown-linux-musl.tar.gz) | Linux x86_64 (musl) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-unknown-linux-musl.tar.gz.sha256) |
| [rumdl-v0.2.62-aarch64-unknown-linux-gnu.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-unknown-linux-gnu.tar.gz) | Linux ARM64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [rumdl-v0.2.62-aarch64-unknown-linux-musl.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-unknown-linux-musl.tar.gz) | Linux ARM64 (musl) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [rumdl-v0.2.62-x86_64-apple-darwin.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-apple-darwin.tar.gz) | macOS x86_64 | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-x86_64-apple-darwin.tar.gz.sha256) |
| [rumdl-v0.2.62-aarch64-apple-darwin.tar.gz](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarch64-apple-darwin.tar.gz) | macOS ARM64 (Apple Silicon) | [checksum](https://github.com/rvben/rumdl/releases/download/v0.2.62/rumdl-v0.2.62-aarc… (truncated)

</details>
<details>
<summary>shfmt: `3.13.1` → `3.14.0` (mvdan/sh)</summary>

### v3.14.0

This release drops support for Go 1.25 and includes many enhancements, particularly in the interpreter, which implements more shell features and fixes many divergences from Bash.

- **cmd/shfmt**
  - Add `--detect` to find shell files by executable bit or shebang - #944
- **syntax**
  - Add `Preorder`, an iterator over all nodes, complementing `Walk`
  - Add `encoding.TextUnmarshaler` implementations for each operator type
  - Support `${ foo;}` and `${|foo;}` inside double quotes - #1368
  - Support array elements in `{varname}` redirects, like `exec {fds[3]}>&-` - #719
  - Backslashes inside backquotes within double quotes escape double quotes - #1083
  - Allow pound signs in associative array keys like `${args[cmd,#]}` - #1285
  - Don't treat `#` as the start of a comment inside `[[ ]]` tests - #1326
  - Don't join `then` or `do` with a semicolon when heredocs are pending - #1047
  - Print a space after `!` in arithmetic expressions, avoiding history expansion - #987
  - Space nested closing parentheses like the opening ones - #876
  - Make `SplitBraces` reject malformed sequences and skip backslash escapes - #1330
  - Zsh: support the `${=name}`, `${~name}`, and `${^name}` prefixes - #1238
  - Zsh: support the `;|` case terminator and leading parentheses for globs - #1293, #1279
  - Zsh: parse subscript flag arguments as patterns, and allow `[` globs in arrays - #1278, #1322
- **syntax/typedjson**
  - Encode operators as their syntax form, such as `">>"`, rather than integers - #1321
  - Return errors rather than panicking on malformed input
- **interp**
  - Add `BashOpts` to set Bash options like `shopt` - #962
  - Add `AccessHandler` to control file access checks, used by `-r` and `cd` - #1318
  - Add `HandlerContext.LastExitStatus`, and provide a `HandlerContext` to stat handlers
  - Implement the `help` and `times` builtins, as well as `$-` - #1398
  - Implement the `;&` and `;;&` case terminators - #1391
  - Implemen… (truncated)

</details>
<details>
<summary>tombi: `1.4.1` → `1.5.0` (tombi-toml/tombi)</summary>

### v1.5.0

<!-- Release notes generated using configuration in .github/release.yml at v1.5.0 -->

## What's Changed
Tombi v1.5.0 is a major performance and architecture release.

We redesigned the parser and AST around a compact, source-backed syntax tape, replacing the previous red-green syntax tree.
The new architecture is optimized for Tombi’s lossless, long-lived editor and LSP workloads: it improves memory locality and reduces allocation and pointer-chasing overhead while preserving comments, punctuation, incomplete syntax, and diagnostics.
The AST and document-tree interfaces are now also separated from their syntax-backed implementations.

We also optimized hot paths throughout the parser, JSON Schema processing, linter, formatter, and stdin-based CLI workflows.
In our Apple M2 Max benchmarks, long ASCII comment lexing was approximately 2.3× faster, selected JSON parsing workloads improved by up to 84%, and repository-wide lint time decreased from approximately 355 ms to 81 ms.

### 🚨 Breaking Changes
* perf(parser): replace syntax tree with compact tape by @​ya7010 in tombi-toml/tombi#2140

### 🐝 Bug Fixes
* fix(lsp): preserve composite schema metadata by @​ya7010 in tombi-toml/tombi#2139

### 🛠️ Other Changes
* Improve minimal-change guidance for agents by @​ya7010 in tombi-toml/tombi#2137
* perf(parser): accelerate long comment scanning by @​ya7010 in tombi-toml/tombi#2141
* perf: speed up lint and format by @​ya7010 in tombi-toml/tombi#2142
* perf: reduce stdin runtime overhead by @​ya7010 in tombi-toml/tombi#2143
* perf(json): accelerate long string parsing by @​ya7010 in tombi-toml/tombi#2145
* perf(json): optimize lexer and parser hot paths by @​ya7010 in tombi-toml/tombi#2146

**Full Changelog**: https://github.com/tombi-toml/tomb… (truncated)

</details>
<details>
<summary>uv: `0.12.5` → `0.12.7` (astral-sh/uv)</summary>

### 0.12.6

## Release Notes

Released on 2026-08-25.

### Python

- Update CPython to use OpenSSL 3.5.8 and libffi 3.4.8 [#21295](astral-sh/uv#21295))
### Enhancements

- Report cache-cleaning space savings from filesystem block allocation and avoid double-counting hard links ([#21261](astral-sh/uv#21261))
- Limit warnings about unbounded `uv_build` requirements to source-distribution builds ([#21078](astral-sh/uv#21078))
- Display byte counts below 1 KiB without a fractional part ([#21237](astral-sh/uv#21237))

### Preview features

- Add `uv workspace metadata --sync --exact` to remove packages outside the selected resolution ([#21117](astral-sh/uv#21117))
- Add the `artifact-hash-filtering` preview feature to make `uv pip compile --generate-hashes` honor `--only-binary` and `--no-binary` ([#21235](astral-sh/uv#21235))
- Respect package-specific `exclude-newer` cutoffs when `uv check` selects its `ty` executable ([#21227](astral-sh/uv#21227))
- Preserve virtual-environment hints from `tar-codec` source-distribution errors when the base interpreter is outside a `bin` directory ([#21146](astral-sh/uv#21146))

### Performance

- Enable profile-guided optimization for Linux x86-64 release binaries ([#21001](astral-sh/uv#21001))
- Enable profile-guided optimization for Windows x86-64 release binaries ([#21003](astral-sh/uv#21003))
- Enable profile-guided optimization for macOS ARM64 release binaries ([#21002](astral-sh/uv#21002))
- Enable profile-guided optimization for Linux ARM64 release binaries ([#21004](astral-sh/uv#21004))
- Speed up syncing projects with many activated conflict items by reusing their encoded representation ([#21148](https://github.com/astral-sh/uv/pull/21148))… (truncated)

### 0.12.7

## Release Notes

Released on 2026-08-27.

### Python

- Replace managed Python installations when upgrading to a newer build of the same version ([#21323](astral-sh/uv#21323))

### Enhancements

- Support Linux `s390x`, `ppc64le`, and `loongarch64` targets for cross-platform dependency resolution ([#21313](astral-sh/uv#21313))
- Retry downloads with configured credentials when Azure Storage denies anonymous access to an endpoint configured via `UV_AZURE_ENDPOINT_URL` ([#21318](astral-sh/uv#21318))

### Preview features

- Use content-based directory hashes to deduplicate extracted wheels in the cache with the `content-addressed-cache` preview feature ([#19693](astral-sh/uv#19693))

### Bug fixes

- Reject source archives with hash mismatches before persisting their extracted contents to the cache ([#21248](astral-sh/uv#21248))

### Other changes

- remove pyx specific features ([#21182](astral-sh/uv#21182), [#21183](astral-sh/uv#21183), [#21184](astral-sh/uv#21184), [#21185](astral-sh/uv#21185), [#21186](astral-sh/uv#21186))

## Install uv 0.12.7

### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.7/uv-installer.sh | sh
```

### Install prebuilt binaries via powershell script

```sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.12.7/uv-installer.ps1 | iex"
```

## Download uv 0.12.7

|  File  | Platform | Checksum |
|--------|----------|----------|
| [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.12.7/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0… (truncated)

</details>

</details>

Modified files:
- `.mise.toml`

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
jylenhof pushed a commit to jylenhof/mise-en-place-tips that referenced this pull request Sep 1, 2026
Automated mise tool upgrades from local config.

mise-managed tools:
- `tombi`

Command: `mise upgrade --bump --local tombi`

<details>
<summary>Version changelog (tombi)</summary>

| Tool | Requested | Installed |
|------|-----------|-----------|
| `tombi` | `1.4.1` → `1.5.0` | `1.4.1` → `1.5.0` |

</details>

<details>
<summary>Release notes (1 tools)</summary>

<details>
<summary>tombi: `1.4.1` → `1.5.0` (tombi-toml/tombi)</summary>

### v1.5.0

<!-- Release notes generated using configuration in .github/release.yml at v1.5.0 -->

## What's Changed
Tombi v1.5.0 is a major performance and architecture release.

We redesigned the parser and AST around a compact, source-backed syntax tape, replacing the previous red-green syntax tree.
The new architecture is optimized for Tombi’s lossless, long-lived editor and LSP workloads: it improves memory locality and reduces allocation and pointer-chasing overhead while preserving comments, punctuation, incomplete syntax, and diagnostics.
The AST and document-tree interfaces are now also separated from their syntax-backed implementations.

We also optimized hot paths throughout the parser, JSON Schema processing, linter, formatter, and stdin-based CLI workflows.
In our Apple M2 Max benchmarks, long ASCII comment lexing was approximately 2.3× faster, selected JSON parsing workloads improved by up to 84%, and repository-wide lint time decreased from approximately 355 ms to 81 ms.

### 🚨 Breaking Changes
* perf(parser): replace syntax tree with compact tape by @​ya7010 in tombi-toml/tombi#2140

### 🐝 Bug Fixes
* fix(lsp): preserve composite schema metadata by @​ya7010 in tombi-toml/tombi#2139

### 🛠️ Other Changes
* Improve minimal-change guidance for agents by @​ya7010 in tombi-toml/tombi#2137
* perf(parser): accelerate long comment scanning by @​ya7010 in tombi-toml/tombi#2141
* perf: speed up lint and format by @​ya7010 in tombi-toml/tombi#2142
* perf: reduce stdin runtime overhead by @​ya7010 in tombi-toml/tombi#2143
* perf(json): accelerate long string parsing by @​ya7010 in tombi-toml/tombi#2145
* perf(json): optimize lexer and parser hot paths by @​ya7010 in tombi-toml/tombi#2146

**Full Changelog**: https://github.com/tombi-toml/tomb… (truncated)

</details>

</details>

Modified files:
- `.mise.toml`
jylenhof pushed a commit to jylenhof/github-actions-resources that referenced this pull request Sep 1, 2026
Automated mise tool upgrades from local config.

mise-managed tools:
- `tombi`

Command: `mise upgrade --bump --local tombi`

<details>
<summary>Version changelog (tombi)</summary>

| Tool | Requested | Installed |
|------|-----------|-----------|
| `tombi` | `1.4.1` → `1.5.0` | `1.4.1` → `1.5.0` |

</details>

<details>
<summary>Release notes (1 tools)</summary>

<details>
<summary>tombi: `1.4.1` → `1.5.0` (tombi-toml/tombi)</summary>

### v1.5.0

<!-- Release notes generated using configuration in .github/release.yml at v1.5.0 -->

## What's Changed
Tombi v1.5.0 is a major performance and architecture release.

We redesigned the parser and AST around a compact, source-backed syntax tape, replacing the previous red-green syntax tree.
The new architecture is optimized for Tombi’s lossless, long-lived editor and LSP workloads: it improves memory locality and reduces allocation and pointer-chasing overhead while preserving comments, punctuation, incomplete syntax, and diagnostics.
The AST and document-tree interfaces are now also separated from their syntax-backed implementations.

We also optimized hot paths throughout the parser, JSON Schema processing, linter, formatter, and stdin-based CLI workflows.
In our Apple M2 Max benchmarks, long ASCII comment lexing was approximately 2.3× faster, selected JSON parsing workloads improved by up to 84%, and repository-wide lint time decreased from approximately 355 ms to 81 ms.

### 🚨 Breaking Changes
* perf(parser): replace syntax tree with compact tape by @​ya7010 in tombi-toml/tombi#2140

### 🐝 Bug Fixes
* fix(lsp): preserve composite schema metadata by @​ya7010 in tombi-toml/tombi#2139

### 🛠️ Other Changes
* Improve minimal-change guidance for agents by @​ya7010 in tombi-toml/tombi#2137
* perf(parser): accelerate long comment scanning by @​ya7010 in tombi-toml/tombi#2141
* perf: speed up lint and format by @​ya7010 in tombi-toml/tombi#2142
* perf: reduce stdin runtime overhead by @​ya7010 in tombi-toml/tombi#2143
* perf(json): accelerate long string parsing by @​ya7010 in tombi-toml/tombi#2145
* perf(json): optimize lexer and parser hot paths by @​ya7010 in tombi-toml/tombi#2146

**Full Changelog**: https://github.com/tombi-toml/tomb… (truncated)

</details>

</details>

Modified files:
- `.mise.toml`
jylenhof pushed a commit to jylenhof/mise-en-place-tips that referenced this pull request Sep 1, 2026
Automated mise tool upgrades from local config.

mise-managed tools:
- `tombi`

Command: `mise upgrade --bump --local tombi`

<details>
<summary>Version changelog (tombi)</summary>

| Tool | Requested | Installed |
|------|-----------|-----------|
| `tombi` | `1.4.1` → `1.5.0` | `1.4.1` → `1.5.0` |

</details>

<details>
<summary>Release notes (1 tools)</summary>

<details>
<summary>tombi: `1.4.1` → `1.5.0` (tombi-toml/tombi)</summary>

### v1.5.0

<!-- Release notes generated using configuration in .github/release.yml at v1.5.0 -->

## What's Changed
Tombi v1.5.0 is a major performance and architecture release.

We redesigned the parser and AST around a compact, source-backed syntax tape, replacing the previous red-green syntax tree.
The new architecture is optimized for Tombi’s lossless, long-lived editor and LSP workloads: it improves memory locality and reduces allocation and pointer-chasing overhead while preserving comments, punctuation, incomplete syntax, and diagnostics.
The AST and document-tree interfaces are now also separated from their syntax-backed implementations.

We also optimized hot paths throughout the parser, JSON Schema processing, linter, formatter, and stdin-based CLI workflows.
In our Apple M2 Max benchmarks, long ASCII comment lexing was approximately 2.3× faster, selected JSON parsing workloads improved by up to 84%, and repository-wide lint time decreased from approximately 355 ms to 81 ms.

### 🚨 Breaking Changes
* perf(parser): replace syntax tree with compact tape by @​ya7010 in tombi-toml/tombi#2140

### 🐝 Bug Fixes
* fix(lsp): preserve composite schema metadata by @​ya7010 in tombi-toml/tombi#2139

### 🛠️ Other Changes
* Improve minimal-change guidance for agents by @​ya7010 in tombi-toml/tombi#2137
* perf(parser): accelerate long comment scanning by @​ya7010 in tombi-toml/tombi#2141
* perf: speed up lint and format by @​ya7010 in tombi-toml/tombi#2142
* perf: reduce stdin runtime overhead by @​ya7010 in tombi-toml/tombi#2143
* perf(json): accelerate long string parsing by @​ya7010 in tombi-toml/tombi#2145
* perf(json): optimize lexer and parser hot paths by @​ya7010 in tombi-toml/tombi#2146

**Full Changelog**: https://github.com/tombi-toml/tomb… (truncated)

</details>

</details>

Modified files:
- `.mise.toml`

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
jylenhof pushed a commit to jylenhof/github-actions-resources that referenced this pull request Sep 1, 2026
Automated mise tool upgrades from local config.

mise-managed tools:
- `tombi`

Command: `mise upgrade --bump --local tombi`

<details>
<summary>Version changelog (tombi)</summary>

| Tool | Requested | Installed |
|------|-----------|-----------|
| `tombi` | `1.4.1` → `1.5.0` | `1.4.1` → `1.5.0` |

</details>

<details>
<summary>Release notes (1 tools)</summary>

<details>
<summary>tombi: `1.4.1` → `1.5.0` (tombi-toml/tombi)</summary>

### v1.5.0

<!-- Release notes generated using configuration in .github/release.yml at v1.5.0 -->

## What's Changed
Tombi v1.5.0 is a major performance and architecture release.

We redesigned the parser and AST around a compact, source-backed syntax tape, replacing the previous red-green syntax tree.
The new architecture is optimized for Tombi’s lossless, long-lived editor and LSP workloads: it improves memory locality and reduces allocation and pointer-chasing overhead while preserving comments, punctuation, incomplete syntax, and diagnostics.
The AST and document-tree interfaces are now also separated from their syntax-backed implementations.

We also optimized hot paths throughout the parser, JSON Schema processing, linter, formatter, and stdin-based CLI workflows.
In our Apple M2 Max benchmarks, long ASCII comment lexing was approximately 2.3× faster, selected JSON parsing workloads improved by up to 84%, and repository-wide lint time decreased from approximately 355 ms to 81 ms.

### 🚨 Breaking Changes
* perf(parser): replace syntax tree with compact tape by @​ya7010 in tombi-toml/tombi#2140

### 🐝 Bug Fixes
* fix(lsp): preserve composite schema metadata by @​ya7010 in tombi-toml/tombi#2139

### 🛠️ Other Changes
* Improve minimal-change guidance for agents by @​ya7010 in tombi-toml/tombi#2137
* perf(parser): accelerate long comment scanning by @​ya7010 in tombi-toml/tombi#2141
* perf: speed up lint and format by @​ya7010 in tombi-toml/tombi#2142
* perf: reduce stdin runtime overhead by @​ya7010 in tombi-toml/tombi#2143
* perf(json): accelerate long string parsing by @​ya7010 in tombi-toml/tombi#2145
* perf(json): optimize lexer and parser hot paths by @​ya7010 in tombi-toml/tombi#2146

**Full Changelog**: https://github.com/tombi-toml/tomb… (truncated)

</details>

</details>

Modified files:
- `.mise.toml`

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
jylenhof pushed a commit to jylenhof/gh-action-pulse that referenced this pull request Sep 11, 2026
Automated mise tool upgrades from local config.

mise-managed tools:
- `tombi`

Command: `mise upgrade --bump --local tombi`

<details>
<summary>Version changelog (tombi)</summary>

| Tool | Requested | Installed |
|------|-----------|-----------|
| `tombi` | `1.4.1` → `1.5.4` | `1.4.1` → `1.5.4` |

</details>

<details>
<summary>Release notes (1 tools)</summary>

<details>
<summary>tombi: `1.4.1` → `1.5.4` (tombi-toml/tombi)</summary>

### v1.5.0

<!-- Release notes generated using configuration in .github/release.yml at v1.5.0 -->

## What's Changed
Tombi v1.5.0 is a major performance and architecture release.

We redesigned the parser and AST around a compact, source-backed syntax tape, replacing the previous red-green syntax tree.
The new architecture is optimized for Tombi’s lossless, long-lived editor and LSP workloads: it improves memory locality and reduces allocation and pointer-chasing overhead while preserving comments, punctuation, incomplete syntax, and diagnostics.
The AST and document-tree interfaces are now also separated from their syntax-backed implementations.

We also optimized hot paths throughout the parser, JSON Schema processing, linter, formatter, and stdin-based CLI workflows.
In our Apple M2 Max benchmarks, long ASCII comment lexing was approximately 2.3× faster, selected JSON parsing workloads improved by up to 84%, and repository-wide lint time decreased from approximately 355 ms to 81 ms.

### 🚨 Breaking Changes
* perf(parser): replace syntax tree with compact tape by @​ya7010 in tombi-toml/tombi#2140

### 🐝 Bug Fixes
* fix(lsp): preserve composite schema metadata by @​ya7010 in tombi-toml/tombi#2139

### 🛠️ Other Changes
* Improve minimal-change guidance for agents by @​ya7010 in tombi-toml/tombi#2137
* perf(parser): accelerate long comment scanning by @​ya7010 in tombi-toml/tombi#2141
* perf: speed up lint and format by @​ya7010 in tombi-toml/tombi#2142
* perf: reduce stdin runtime overhead by @​ya7010 in tombi-toml/tombi#2143
* perf(json): accelerate long string parsing by @​ya7010 in tombi-toml/tombi#2145
* perf(json): optimize lexer and parser hot paths by @​ya7010 in tombi-toml/tombi#2146

**Full Changelog**: https://github.com/tombi-toml/tomb… (truncated)

### v1.5.1

<!-- Release notes generated using configuration in .github/release.yml at v1.5.1 -->

## What's Changed
### 🐝 Bug Fixes
* fix(linter): suppress false strict warnings for ref siblings by  @​kjanat in tombi-toml/tombi#2152
* test(lexer): cover CRLF after basic string escape and simplify test macro by  @​kjanat in tombi-toml/tombi#2150
* fix(lexer): reject newline following escaped quote or backslash in basic string by @​lxl66566 in tombi-toml/tombi#2149

### 🛠️ Other Changes
* fix: tombi lint by @​ya7010 in tombi-toml/tombi#2147
* perf: enable gzip compression for reqwest by @​lxl66566 in tombi-toml/tombi#2148

## New Contributors
* @​lxl66566 made their first contribution in tombi-toml/tombi#2148

**Full Changelog**: tombi-toml/tombi@v1.5.0...v1.5.1

### v1.5.2

<!-- Release notes generated using configuration in .github/release.yml at v1.5.2 -->

## What's Changed
### 🐝 Bug Fixes
* fix(json-lexer): accept standalone CR as whitespace by @​lxl66566 in tombi-toml/tombi#2162
### 📦 Dependencies
* fix: update vulnerable npm dependencies by @​xtqqczze in tombi-toml/tombi#2157
* chore(deps): update Cargo.lock by @​xtqqczze in tombi-toml/tombi#2161
### 🛠️ Other Changes
* fix(deps): disable default features for zip package by @​xtqqczze in tombi-toml/tombi#2156

**Full Changelog**: tombi-toml/tombi@v1.5.1...v1.5.2

### v1.5.3

<!-- Release notes generated using configuration in .github/release.yml at v1.5.3 -->

## What's Changed
### 🐝 Bug Fixes
* test(parser): preserve key after escaped multiline string by @​ya7010 in tombi-toml/tombi#2168
* fix(lsp): respect ignore files in watcher updates by @​ya7010 in tombi-toml/tombi#2169
### 🛠️ Other Changes
* ci: submit WinGet updates from organization fork by @​ya7010 in tombi-toml/tombi#2163
* fix(lexer): close multi-line string after escaped backslash by @​MaxFreedomPollard in tombi-toml/tombi#2167

## New Contributors
* @​MaxFreedomPollard made their first contribution in tombi-toml/tombi#2167

**Full Changelog**: tombi-toml/tombi@v1.5.2...v1.5.3

### v1.5.4

<!-- Release notes generated using configuration in .github/release.yml at v1.5.4 -->

## What's Changed
### 🛠️ Other Changes
* fix(lsp): stop triggering completions on newline by @​ya7010 in tombi-toml/tombi#2172

**Full Changelog**: tombi-toml/tombi@v1.5.3...v1.5.4

</details>

</details>

Modified files:
- `.mise.toml`

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
social4hyq pushed a commit to social4hyq/homebrew-core that referenced this pull request Sep 20, 2026
tombi 1.5.0

Created-by: HarmonybrewBot
Commit-by: HarmonybrewBot
Merged-by: HarmonybrewBot
Description: Created by `brew bump`

---

Created with `brew bump-formula-pr`.<details>
  <summary>release notes</summary>
  <pre><!-- Release notes generated using configuration in .github/release.yml at v1.5.0 -->

## What's Changed
Tombi v1.5.0 is a major performance and architecture release.

We redesigned the parser and AST around a compact, source-backed syntax tape, replacing the previous red-green syntax tree.
The new architecture is optimized for Tombi’s lossless, long-lived editor and LSP workloads: it improves memory locality and reduces allocation and pointer-chasing overhead while preserving comments, punctuation, incomplete syntax, and diagnostics.
The AST and document-tree interfaces are now also separated from their syntax-backed implementations.

We also optimized hot paths throughout the parser, JSON Schema processing, linter, formatter, and stdin-based CLI workflows.
In our Apple M2 Max benchmarks, long ASCII comment lexing was approximately 2.3× faster, selected JSON parsing workloads improved by up to 84%, and repository-wide lint time decreased from approximately 355 ms to 81 ms.

### 🚨 Breaking Changes
* perf(parser): replace syntax tree with compact tape by @ya7010 in tombi-toml/tombi#2140

### 🐝 Bug Fixes
* fix(lsp): preserve composite schema metadata by @ya7010 in tombi-toml/tombi#2139

### 🛠️ Other Changes
* Improve minimal-change guidance for agents by @ya7010 in tombi-toml/tombi#2137
* perf(parser): accelerate long comment scanning by @ya7010 in tombi-toml/tombi#2141
* perf: speed up lint and format by @ya7010 in tombi-toml/tombi#2142
* perf: reduce stdin runtime overhead by @ya7010 in tombi-toml/tombi#2143
* perf(json): accelerate long string parsing by @ya7010 in tombi-toml/tombi#2145
* perf(json): optimize lexer and parser hot paths by @ya7010 in tombi-toml/tombi#2146


**Full Changelog**: https://github.com/tombi-toml/tombi/compare/v1.4.1...v1.5.0</pre>
  <p>View the full release notes at <a href="https://github.com/tombi-toml/tombi/releases/tag/v1.5.0">https://github.com/tombi-toml/tombi/releases/tag/v1.5.0</a>.</p>
</details>
<hr>

See merge request: Harmonybrew/homebrew-core!18085
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Breaking change Tag for Release Note rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants