Skip to content

v0.19.9

Choose a tag to compare

@Goldziher Goldziher released this 25 May 17:30
· 5608 commits to main since this release
v0.19.9
d53bc27

[0.19.9] - 2026-05-25

Fixed

  • alef test-apps run: ruby + elixir harnesses now honor a parent-provided MOCK_SERVER_URL. The Ruby spec_helper.rb and Elixir test_helper.exs generated templates previously always tried to spawn the e2e/rust/target/release/mock-server binary, which doesn't exist under test_apps/. When alef test-apps run exports MOCK_SERVER_URL (set since ee35c8fe) the harnesses now detect it and skip the spawn entirely — mirroring the go/python/wasm guard added in the same commit. Ruby uses next if ENV['MOCK_SERVER_URL'] inside the before(:suite) hook; Elixir wraps the spawn block in unless System.get_env("MOCK_SERVER_URL"). (src/e2e/codegen/ruby.rs, src/e2e/codegen/elixir.rs)

  • alef test-apps run (Go): default run command now prepends GOWORK=off. cd test_apps/go && go test ./... failed in consumer repos that carry a go.work file — the workspace absorbs test_apps/go and go rejects the module as a non-member. Prepending GOWORK=off isolates the test app from the outer workspace so go test ./... always works. (src/core/config/test_apps_run_defaults.rs)

  • alef test-apps run (WASM): globalSetup.ts now pre-awaits the wasm-bindgen module init. Published wasm packages built with wasm-bindgen export a default async init() function that must be awaited before any exported symbol is usable. Without it the first test that calls a wasm export fails with Cannot read properties of undefined (reading '__wbindgen_add_to_stack_pointer'). The generated globalSetup.ts now imports the wasm package and awaits its default export (or a named init export) at the top of setup(), before the MOCK_SERVER_URL guard. The pkg_name Jinja variable is now threaded through render_global_setup() so the import uses the correct package name. (src/e2e/codegen/wasm.rs, src/e2e/templates/wasm/globalSetup.ts.jinja)

  • alef sync-versions: rewrite e2e manifest version pins on every version bump. Previously sync-versions updated manifests under packages/<lang>/ and test_apps/<lang>/ but skipped the generated integration test trees under e2e/<lang>/. This caused CI failures on the first run after a bump: Java's e2e/java/pom.xml held a stale <version> and <systemPath> for the system-scope JAR dependency (Maven could not resolve it), and Ruby's e2e/ruby/Gemfile.lock was out of sync with the bumped gem version so bundle install --frozen exited 16. The fix adds four targeted rewrites: sync_e2e_java_pom (rewrites <version> and <systemPath> inside system-scope <dependency> blocks only, leaving the e2e project's own <version> untouched), e2e/ruby/Gemfile.lock (reuses the existing sync_gemfile_lock helper), sync_e2e_go_mod (updates the library module version in the require block), and sync_e2e_dart_pubspec_lock (updates version: under path-source package entries). All four rewrites are idempotent; hosted/third-party version strings are untouched. (src/cli/pipeline/version.rs)