Workers WebSocket バイナリメッセージがデフォルトで Blob として配信されるように変更
Key Points
- WebSocket バイナリメッセージが Blob デフォルト配信に変更
- 既存コードの instanceof ArrayBuffer チェックが失敗する可能性
- binaryType プロパティで配信形式を制御可能
Summary
Cloudflare Workers の WebSocket でバイナリフレームがデフォルトで Blob オブジェクトとして配信されるようになりました。これは WebSocket 仕様および標準的なブラウザの動作に準拠しています。
Key Points
- バイナリフレームは従来の ArrayBuffer から Blob に変更
- 互換性日付 2026-03-17 以降の Workers に適用(websocket_standard_binary_type フラグ経由)
binaryTypeプロパティで WebSocket ごとに配信タイプを制御可能- 既存コードで
instanceof ArrayBufferチェックを使用している場合は修正が必要 - ArrayBuffer での配信に戻すには、
accept()呼び出し前にws.binaryType = "arraybuffer"を設定 - Wrangler 設定に
no_websocket_standard_binary_typeフラグを追加することで従来の動作を維持可能 - Durable Object の hibernatable WebSocket は引き続き ArrayBuffer で配信