You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
macOS x86_64 native binaries across all polyglot bindings (Python wheels, npm napi, Ruby gem, Maven JAR, NuGet, C FFI, Go FFI, libts-pack bottle) — restores Intel Mac coverage that was missing under the alef 0.11 transition
Real Homebrew bottle protocol for both ts-pack (CLI) and libts-pack (FFI library) via brew install --build-bottle + brew bottle --json, replacing the prior synthetic tarball approach. Eight bottles per release across arm64_sequoia, sequoia, arm64_linux, x86_64_linux. brew install now pours instead of source-building
libts-pack Homebrew formula bundling tree-sitter language pack as a C library (headers + dylib/so + static archive)
Python sdist published to PyPI alongside the existing platform wheels
E2E fixtures covering Kotlin package + class structure (kotlin_package_class_intel.json), Java package declarations (java_package_intel.json), and a process call exercising the typed extractions map (process_with_extractions.json)
Changed
Migrated to alef 0.15.x (Jinja-based codegen) for all polyglot bindings — Python, TypeScript, Ruby, Go, Java, C#, Elixir, PHP, WASM
WASM now ships the --target nodejs build to npm so consumers no longer hit the bundler-only import * from "env" failure on require()
WASM coverage scoped to a curated 32-language subset to fit the 16 GB GitHub runner during builds
Fixed
Intel: emit StructureKind::Module for Kotlin package_header and Java package_declaration so callers can build fully-qualified names for JVM languages (#112)
Intel: resolve structure names via a fallback chain (name field → type_identifier → identifier → scoped_identifier) so Kotlin classes and Java/Kotlin packages no longer surface with null names (#111)
Java: ship natives/{rid}/ entries inside the published JAR — actions/download-artifact produces nested artifact paths, and the previous staging loop preserved them, so every platform hit UnsatisfiedLinkError on load. Flatten via find and add presence/jar tf guard steps so the regression cannot ship silently again (#114)
Bindings: surface extractions as a typed Map<String, ExtractionPattern> / Map<String, PatternResult> across Java, Python, Go, TypeScript, Ruby, PHP, C#, Elixir, FFI, and WASM (was Optional<String> on Java, blocking pattern extractions through the high-level API). Driven by the alef 0.12.4 codegen fix for AHashMap-typed fields (#115)
C#: strip duplicate { lines emitted by alef 0.14.33 codegen so generated .cs files compile
Ruby: regenerated native.rb no longer recurses into itself via define_singleton_method — magnus codegen now skips re-export when binding name matches the native module method
Node: index.js now contains real platform-dispatch logic so require() resolves the correct .darwin-arm64.node/.linux-x64-gnu.node/etc. instead of failing on the un-suffixed bundle name
WASM: drop bundler-only output, removing spurious 'env' module imports that broke require() from Node consumers
Maven JAR previously missed linux-x86_64 natives because of stage-loop path mishandling; flatten artifact downloads and add a jar tf guard
Hex.pm metadata.config size limit — exclude the parser sources tarball from the package
PHP: fix broken crates/ts-pack-php/README.md links in root README.md — path moved to packages/php/README.md after alef migration (#106)
PHP: fix .task/php.ymlbuild, build:dev, and clean tasks pointing to removed crates/ts-pack-php/ — corrected to crates/ts-pack-core-php/ (#106)
PHP: align packages/php/composer.json and packages/php/README.md package name to canonical Packagist vendor slug (kreuzberg/ not kreuzberg-dev/) (#106)
PHP: document mlocati/php-extension-installer prerequisite in install docs and correct minimum PHP version to 8.4+ (#106)
Go: regenerate stale binding.go with current alef generator