Releases: kreuzberg-dev/tree-sitter-language-pack
Releases · kreuzberg-dev/tree-sitter-language-pack
v1.8.0-rc.2
Release candidate 2 for 1.8.0. Tests publish workflow.
v1.8.0-rc.1
Release candidate for publish workflow validation
v1.7.0
What's Changed
- fix(go): move package root from packages/go/v1/ to packages/go/ by @kh3rld in #97
- fix(deps): bump rustls-webpki to patch RUSTSEC-2026-0098 and RUSTSEC-2026-0099 by @kh3rld in #99
- docs: regenerate READMEs for 1.6.1 version bump by @rynewang in #101
- build: compile bundled grammars with -fno-strict-aliasing by @rynewang in #100
- Fix Go language-pack bindings and docs by @pboling in #102
- feat: migrate to alef polyglot binding generator by @Goldziher in #105
New Contributors
Full Changelog: v1.6.0...v1.7.0
v1.6.2
What's Changed
- fix(go): move package root from packages/go/v1/ to packages/go/ by @kh3rld in #97
- fix(deps): bump rustls-webpki to patch RUSTSEC-2026-0098 and RUSTSEC-2026-0099 by @kh3rld in #99
- docs: regenerate READMEs for 1.6.1 version bump by @rynewang in #101
- build: compile bundled grammars with -fno-strict-aliasing by @rynewang in #100
New Contributors
Full Changelog: v1.6.0...v1.6.2
v1.6.1
Fixed
- Go: move package root from
packages/go/v1/topackages/go/so the Go module proxy can resolvego.modat the correct path (#97) - Go: fix CGO
SRCDIR-relative include/lib paths (one fewer../after directory restructure) - Remove
features = ["all"]from e2e Rust testCargo.toml— usedownloadfeature for runtime parser fetching - Remove 305
lang-*features to unblock crates.io publish (300 feature limit) - Regenerate READMEs for v1.6.0, fix Windows query cache test flake
- Bump
rustls-webpkito patch RUSTSEC-2026-0098 and RUSTSEC-2026-0099 (#99) - Fix MIME type inference in core build by embedding
language_definitions.jsonin crate
Changed
- Update dependencies across Python, Node.js, PHP, and Rust lockfiles
- Replace feature group docs with
download/TSLP_LANGUAGESdocumentation in READMEs
v1.6.0
What's New
Performance: Parser & Query Caching
- Thread-local parser cache —
parse_string()now reuses parsers across calls for the same language, avoiding the cost of creating a new parser every time - Two-level compiled query cache —
run_query()caches compiled tree-sitter queries in both a thread-local cache (fast, no locking) and a global shared cache (cross-thread reuse) - Cached parsers in extraction & intelligence —
CompiledExtraction::extract()andintel::parse_source()now use the thread-local parser cache - Pre-computed capture names in
CompiledExtraction— avoids rebuilding capture name vectors on every extraction call - QueryCursor reuse across patterns within a single
extract_from_tree()call
Bug Fixes
compiled_query()now propagatesError::LockPoisonedinstead of silently ignoring poisoned RwLockQueryCursorbyte-range no longer leaks between patterns when reusing the cursor inextract_from_tree()- Replaced
std::collections::HashMapwithahash::AHashMapin parser cache for consistency - Redundant
get_language()call removed fromparse_string()hot path — only called on cache miss - Fixed stale crate-local
language_definitions.json(frozen at 248 languages) causing missing extension mappings for 58 newer languages - Resolved 4 duplicate extension conflicts:
.gd(gap/gdscript),.conf(hocon/nginx),.sv/.svh(verilog/systemverilog) build.rsnow preferssources/language_definitions.jsonover the crate-local copy to prevent future staleness
Go Symbol Extraction
- Go
type_specdeclarations (structs, interfaces, type aliases) are now extracted as symbols with correctSymbolKind
Documentation
- New dedicated "Download Parsers" section in the quickstart guide covering:
- CLI, Python, Node.js, and Rust download APIs
- Language groups (
web,systems,scripting,data,jvm,functional) - Docker and CI pre-download examples
- Configuration file (
language-pack.toml) setup - Cache location and override options
Full Changelog: v1.5.0...v1.6.0
v1.5.0
What's New
Added
- 57 new permissively-licensed grammars — 305 languages total
- abl, c3, cel, cfml, chuck, cst, dhall, elvish, gap, gdshader, glimmer, gnuplot, gotmpl, gowork, gpg, hjson, hocon, hoon, htmldjango, jai, javadoc, json5, kcl, mlir, nasm, norg_meta, ocamllex, openscad, phpdoc, poe_filter, prql, rasi, razor, rbs, roc, rtf, slang, smalltalk, sml, snakemake, souffle, sourcepawn, sql_bigquery, stan, superhtml, sway, systemverilog, tact, tera, typespec, typoscript, vhs, vrl, wgsl_bevy, x86asm, ziggy, ziggy_schema
- CI license validation job — blocks PRs that introduce non-permissive (GPL/AGPL/LGPL/MPL) grammars
Fixed
lessgrammar: regenerated parser from ABI 11 to ABI 14 (was incompatible with tree-sitter 0.26)cornsmoke fixture: replaced invalid snippet with valid corn syntax
Full Changelog: v1.4.2...v1.5.0
v1.4.2
Fixes
- Publish
ts-pack-clito crates.io —cargo install ts-pack-clinow works (#87) - Fix installation docs — corrected package name in README, CLI README, and installation guide
- Remove non-existent
install.shreference from documentation
Install the CLI
cargo install ts-pack-clior via Homebrew:
brew install kreuzberg-dev/tap/ts-packv1.4.1
What's Changed
Fixed
- Include
language_definitions.jsonin the published crate sobuild.rscan find extension mappings, ambiguity data, and C symbol overrides when installed from crates.io
Changed
- Updated dependencies across all language ecosystems
Full Changelog: v1.4.0...v1.4.1
v1.4.0
What's New
Added
detect_language_from_extensionanddetect_language_from_pathexposed across all language bindings (Python, Node.js, Ruby, Go, Java, Elixir, PHP, C#, WASM, C FFI)- Java binding: added
detectLanguage,detectLanguageFromContent,extensionAmbiguity,getHighlightsQuery,getInjectionsQuery,getLocalsQuery,extract,validateExtraction,toSexp,errorCount - Node.js: added missing TypeScript declarations for
detectLanguage,detectLanguageFromExtension,detectLanguageFromPath - E2E test fixtures for language detection functions
Fixed
detect_languageexposed in Python public API (#85)- PHP extension name corrected to
ts-pack-php(hyphens) - C#
DetectLanguageFromContentmissing error check - TypeScript documentation snippets use ESM imports
Changed
- All language snippet READMEs and documentation updated
- Removed automated grammar updates workflow
- README generation templates updated with new API functions
- Java README template uses proper camelCase API names
Full Changelog: v1.3.3...v1.4.0