v0.19.9
[0.19.9] - 2026-05-25
Fixed
-
alef
test-apps run: ruby + elixir harnesses now honor a parent-providedMOCK_SERVER_URL. The Rubyspec_helper.rband Elixirtest_helper.exsgenerated templates previously always tried to spawn thee2e/rust/target/release/mock-serverbinary, which doesn't exist undertest_apps/. Whenalef test-apps runexportsMOCK_SERVER_URL(set sinceee35c8fe) the harnesses now detect it and skip the spawn entirely — mirroring the go/python/wasm guard added in the same commit. Ruby usesnext if ENV['MOCK_SERVER_URL']inside thebefore(:suite)hook; Elixir wraps the spawn block inunless 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 prependsGOWORK=off.cd test_apps/go && go test ./...failed in consumer repos that carry ago.workfile — the workspace absorbstest_apps/goandgorejects the module as a non-member. PrependingGOWORK=offisolates the test app from the outer workspace sogo test ./...always works. (src/core/config/test_apps_run_defaults.rs) -
alef
test-apps run(WASM):globalSetup.tsnow pre-awaits the wasm-bindgen module init. Published wasm packages built with wasm-bindgen export a default asyncinit()function that must be awaited before any exported symbol is usable. Without it the first test that calls a wasm export fails withCannot read properties of undefined (reading '__wbindgen_add_to_stack_pointer'). The generatedglobalSetup.tsnow imports the wasm package and awaits its default export (or a namedinitexport) at the top ofsetup(), before theMOCK_SERVER_URLguard. Thepkg_nameJinja variable is now threaded throughrender_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. Previouslysync-versionsupdated manifests underpackages/<lang>/andtest_apps/<lang>/but skipped the generated integration test trees undere2e/<lang>/. This caused CI failures on the first run after a bump: Java'se2e/java/pom.xmlheld a stale<version>and<systemPath>for the system-scope JAR dependency (Maven could not resolve it), and Ruby'se2e/ruby/Gemfile.lockwas out of sync with the bumped gem version sobundle install --frozenexited 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 existingsync_gemfile_lockhelper),sync_e2e_go_mod(updates the library module version in therequireblock), andsync_e2e_dart_pubspec_lock(updatesversion:under path-source package entries). All four rewrites are idempotent; hosted/third-party version strings are untouched. (src/cli/pipeline/version.rs)