Back to Dapr

Dapr 1.16.10

docs/release_notes/v1.16.10.md

1.17.61.7 KB
Original Source

Dapr 1.16.10

This update includes bug fixes:

WASM binding and middleware components fail to register on non-wasm architectures

Problem

After upgrading to Dapr v1.16.0, applications using the WASM output binding or WASM HTTP middleware component fail to start with the error:

FATA[0000] Fatal error from runtime: process component wasm error:
[INIT_COMPONENT_FAILURE]: initialization error occurred for wasm
(bindings.wasm/v1): couldn't find binding wasm (bindings.wasm/v1)

Impact

WASM binding and WASM HTTP middleware components are completely unavailable on all production architectures (amd64, arm64, arm), affecting all versions from v1.16.0 through v1.16.9.

Root Cause

In v1.16.0, PR #9009 renamed component registration files for naming consistency:

  • binding_webassembly.gobindings_wasm.go
  • middleware_http_webassembly.gomiddleware_http_wasm.go

Go applies an implicit build constraint when a filename matches *_GOARCH.go. Since wasm is a valid GOARCH value, files ending in _wasm.go are only compiled when GOARCH=wasm, causing the WASM components to never be registered on amd64/arm64/arm platforms. This inadvertently reverted fixes from #5486 and #6439 which specifically addressed this exact filename clash.

Solution

Renamed the files back to use the _webassembly suffix which does not match any valid GOARCH value:

  • bindings_wasm.gobindings_webassembly.go
  • middleware_http_wasm.gomiddleware_http_webassembly.go