v1.8.1
[1.8.1] - 2026-05-13
Added
- E2E fixture coverage for: language alias resolution (
shell→bash) viahas_language/get_language/get_parser(3 fixtures);downloadedge cases — empty list, multiple-language, and unknown-language error path (3 fixtures); error-handling for 120KB sources andget_language("")(2 fixtures); and TypeScript function parsing (1 fixture). Brings fixture count from 403 to 412, covering 100% of the publicdownload,get_*, andhas_languagesurface across all 10 language bindings.
Fixed
-
Node:
getLanguage(name)now returns a realtree-sitterLanguagethatnew Parser().setLanguage(lang)accepts at runtime. The previous capsule shim usednapi::bindgen_prelude::External::new(rejected bynode-tree-sitter'sUnwrapLanguage), wrote the External to__parser, and did not type-tag the value. Adopts alef v0.15.49 where the napi capsule codegen emits rawnapi_create_external+napi_type_tag_objectand readsproperty_name/type_tagfrom[crates.node.capsule_types]. -
Python:
PackConfigandProcessConfigtype hints now resolve to the.optionsdataclasses, fixingmypy --stricterrors at everyinit(...)/process(...)call site (adopts alef #72). -
Python: restore
SupportedLanguageasLiteral[...]of all 306 grammars attree_sitter_language_pack.SupportedLanguage. The symbol was dropped during the alef 0.15.x codegen migration and re-importing it raisedImportErrorin 1.8.0 (#121). -
Python:
get_parser("python").parse(b"...")returns a realtree_sitter.Treeagain instead of raisingAttributeError.get_parser/get_languagenow return nativetree_sitter.Parser/tree_sitter.Languageinstances via PyO3 capsule pass-through (alef v0.15.39 wirescapsule_typesthroughgen_bindings) (#121).
Changed
- CI pinned to Node 22 LTS across all workflows.
tree-sitter@0.25.0(thetree-sitternpm package) ships abinding.ccwritten against pre-C++20 stdlib (nostd::ranges,concept,requires) and fails to compile against Node 24/26's V8 headers. Node 22 is the latest supported runtime until upstreamnode-tree-sitterupdates itscflags_ccor ships prebuilds. - CPD pre-commit hook and
packages/java/pom.xmlmaven-pmd-pluginminimum-tokens bumped from 100 → 250: alef's java codegen emits ~200-tokentry/catchcleanup blocks onDownloadManager/LanguageRegistry. Refactoring the codegen to share a helper is tracked separately.