diff --git a/features/streams.yml b/features/streams.yml index f36a5c393a3..2a7759c7f03 100644 --- a/features/streams.yml +++ b/features/streams.yml @@ -3,40 +3,94 @@ description: The streams API creates, composes, and consumes continuously genera spec: https://streams.spec.whatwg.org/ caniuse: streams group: streams -# TODO: Later support -# - api.ReadableStreamDefaultController -# - api.ReadableStreamDefaultController.close -# - api.ReadableStreamDefaultController.desiredSize -# - api.ReadableStreamDefaultController.enqueue -# - api.ReadableStreamDefaultController.error -# - api.ReadableStreamDefaultReader -# - api.ReadableStreamDefaultReader.cancel -# - api.ReadableStreamDefaultReader.closed -# - api.ReadableStreamDefaultReader.read -# - api.ReadableStreamDefaultReader.releaseLock -# - api.TransformStream -# - api.TransformStream.TransformStream -# - api.TransformStream.readable -# - api.TransformStream.writable -# - api.TransformStreamDefaultController -# - api.TransformStreamDefaultController.desiredSize -# - api.TransformStreamDefaultController.enqueue -# - api.TransformStreamDefaultController.error -# - api.TransformStreamDefaultController.terminate -# - api.WritableStream.close -# - api.WritableStreamDefaultWriter.WritableStreamDefaultWriter - -# TODO: consider BYOB feature -# - api.ReadableStreamBYOBReader -# - api.ReadableStreamBYOBReader.ReadableStreamBYOBReader -# - api.ReadableStreamBYOBReader.cancel -# - api.ReadableStreamBYOBReader.closed -# - api.ReadableStreamBYOBReader.read -# - api.ReadableStreamBYOBReader.releaseLock -# - api.ReadableStreamBYOBRequest -# - api.ReadableStreamBYOBRequest.respond -# - api.ReadableStreamBYOBRequest.respondWithNewView -# - api.ReadableStreamBYOBRequest.view - -# TODO: consider abortable stream feature -# - api.WritableStreamDefaultController.signal +# TODO: https://github.com/web-platform-dx/web-features/issues/1971 +# Status changed: https://github.com/web-platform-dx/web-features/pull/2358 +# 2024-12-19 — low → false — Regressed status to match Caniuse, which considers support beginning at BYOB shipping. +# References: +# - https://caniuse.com/streams +status: + compute_from: + - api.ReadableStreamBYOBReader +compat_features: + - api.ReadableByteStreamController + - api.ReadableByteStreamController.byobRequest + - api.ReadableByteStreamController.close + - api.ReadableByteStreamController.desiredSize + - api.ReadableByteStreamController.enqueue + - api.ReadableByteStreamController.error + - api.ReadableStream.from_static + - api.ReadableStream.transferable + - api.ReadableStream.values + - api.ReadableStreamBYOBReader + - api.ReadableStreamBYOBReader.ReadableStreamBYOBReader + - api.ReadableStreamBYOBReader.cancel + - api.ReadableStreamBYOBReader.closed + - api.ReadableStreamBYOBReader.read + - api.ReadableStreamBYOBReader.read.options_min_parameter + - api.ReadableStreamBYOBReader.releaseLock + - api.ReadableStreamBYOBReader.releaseLock.reject_pending_read_request + - api.ReadableStreamBYOBRequest + - api.ReadableStreamBYOBRequest.respond + - api.ReadableStreamBYOBRequest.respondWithNewView + - api.ReadableStreamBYOBRequest.view + - api.ReadableStreamDefaultController + - api.ReadableStreamDefaultController.close + - api.ReadableStreamDefaultController.desiredSize + - api.ReadableStreamDefaultController.enqueue + - api.ReadableStreamDefaultController.error + - api.ReadableStreamDefaultReader + - api.ReadableStreamDefaultReader.ReadableStreamDefaultReader + - api.ReadableStreamDefaultReader.cancel + - api.ReadableStreamDefaultReader.closed + - api.ReadableStreamDefaultReader.read + - api.ReadableStreamDefaultReader.releaseLock + - api.ReadableStreamDefaultReader.releaseLock.reject_pending_read_request + - api.TextDecoderStream.readable + - api.TextDecoderStream.writable + - api.TextEncoderStream.readable + - api.TextEncoderStream.writable + - api.TransformStream + - api.TransformStream.TransformStream + - api.TransformStream.readable + - api.TransformStream.transferable + - api.TransformStream.writable + - api.TransformStreamDefaultController + - api.TransformStreamDefaultController.desiredSize + - api.TransformStreamDefaultController.enqueue + - api.TransformStreamDefaultController.error + - api.TransformStreamDefaultController.terminate + - api.WritableStream.close + - api.WritableStream.transferable + - api.WritableStreamDefaultController.signal + - api.WritableStreamDefaultWriter.WritableStreamDefaultWriter + - api.ByteLengthQueuingStrategy + - api.ByteLengthQueuingStrategy.ByteLengthQueuingStrategy + - api.ByteLengthQueuingStrategy.highWaterMark + - api.ByteLengthQueuingStrategy.size + - api.CountQueuingStrategy + - api.CountQueuingStrategy.CountQueuingStrategy + - api.CountQueuingStrategy.highWaterMark + - api.CountQueuingStrategy.size + - api.ReadableStream + - api.ReadableStream.ReadableStream + - api.ReadableStream.cancel + - api.ReadableStream.getReader + - api.ReadableStream.locked + - api.ReadableStream.pipeThrough + - api.ReadableStream.pipeTo + - api.ReadableStream.tee + - api.WritableStream + - api.WritableStream.WritableStream + - api.WritableStream.abort + - api.WritableStream.getWriter + - api.WritableStream.locked + - api.WritableStreamDefaultController + - api.WritableStreamDefaultController.error + - api.WritableStreamDefaultWriter + - api.WritableStreamDefaultWriter.abort + - api.WritableStreamDefaultWriter.close + - api.WritableStreamDefaultWriter.closed + - api.WritableStreamDefaultWriter.desiredSize + - api.WritableStreamDefaultWriter.ready + - api.WritableStreamDefaultWriter.releaseLock + - api.WritableStreamDefaultWriter.write diff --git a/features/streams.yml.dist b/features/streams.yml.dist index 719d416694e..3558c4e6ce2 100644 --- a/features/streams.yml.dist +++ b/features/streams.yml.dist @@ -2,16 +2,13 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: low - baseline_low_date: 2022-06-28 + baseline: false support: - chrome: "59" - chrome_android: "59" - edge: "79" + chrome: "89" + chrome_android: "89" + edge: "89" firefox: "102" firefox_android: "102" - safari: "14.1" - safari_ios: "14.5" compat_features: # baseline: high # baseline_low_date: 2019-01-29 @@ -61,6 +58,40 @@ compat_features: - api.CountQueuingStrategy.highWaterMark - api.CountQueuingStrategy.size + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "43" + # chrome_android: "43" + # edge: "79" + # firefox: "65" + # firefox_android: "65" + # safari: "10" + # safari_ios: "10" + - api.ReadableStreamDefaultReader + - api.ReadableStreamDefaultReader.cancel + - api.ReadableStreamDefaultReader.closed + - api.ReadableStreamDefaultReader.read + - api.ReadableStreamDefaultReader.releaseLock + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "52" + # chrome_android: "52" + # edge: "79" + # firefox: "65" + # firefox_android: "65" + # safari: "10" + # safari_ios: "10" + - api.ReadableStreamDefaultController + - api.ReadableStreamDefaultController.close + - api.ReadableStreamDefaultController.desiredSize + - api.ReadableStreamDefaultController.enqueue + - api.ReadableStreamDefaultController.error + # baseline: high # baseline_low_date: 2020-01-15 # baseline_high_date: 2022-07-15 @@ -115,6 +146,32 @@ compat_features: # safari_ios: "10.3" - api.ReadableStream.pipeTo + # baseline: high + # baseline_low_date: 2022-05-03 + # baseline_high_date: 2024-11-03 + # support: + # chrome: "78" + # chrome_android: "78" + # edge: "79" + # firefox: "100" + # firefox_android: "100" + # safari: "14.1" + # safari_ios: "14.5" + - api.WritableStreamDefaultWriter.WritableStreamDefaultWriter + + # baseline: high + # baseline_low_date: 2022-05-03 + # baseline_high_date: 2024-11-03 + # support: + # chrome: "81" + # chrome_android: "81" + # edge: "81" + # firefox: "100" + # firefox_android: "100" + # safari: "14.1" + # safari_ios: "14.5" + - api.WritableStream.close + # baseline: low # baseline_low_date: 2022-06-28 # support: @@ -126,3 +183,121 @@ compat_features: # safari: "10.1" # safari_ios: "10.3" - api.ReadableStream.pipeThrough + + # baseline: low + # baseline_low_date: 2022-06-28 + # support: + # chrome: "67" + # chrome_android: "67" + # edge: "79" + # firefox: "102" + # firefox_android: "102" + # safari: "14.1" + # safari_ios: "14.5" + - api.TransformStream + - api.TransformStream.TransformStream + - api.TransformStream.readable + - api.TransformStream.writable + - api.TransformStreamDefaultController + - api.TransformStreamDefaultController.desiredSize + - api.TransformStreamDefaultController.enqueue + - api.TransformStreamDefaultController.error + - api.TransformStreamDefaultController.terminate + + # baseline: low + # baseline_low_date: 2022-09-20 + # support: + # chrome: "71" + # chrome_android: "71" + # edge: "79" + # firefox: "105" + # firefox_android: "105" + # safari: "14.1" + # safari_ios: "14.5" + - api.TextDecoderStream.readable + - api.TextDecoderStream.writable + - api.TextEncoderStream.readable + - api.TextEncoderStream.writable + + # baseline: low + # baseline_low_date: 2023-03-27 + # support: + # chrome: "98" + # chrome_android: "98" + # edge: "98" + # firefox: "100" + # firefox_android: "100" + # safari: "16.4" + # safari_ios: "16.4" + - api.WritableStreamDefaultController.signal + + # baseline: false + # support: + # chrome: "78" + # chrome_android: "78" + # edge: "79" + # firefox: "100" + # firefox_android: "100" + - api.ReadableStreamDefaultReader.ReadableStreamDefaultReader + + # baseline: false + # support: + # chrome: "87" + # chrome_android: "87" + # edge: "87" + # firefox: "103" + # firefox_android: "103" + - api.ReadableStream.transferable + - api.TransformStream.transferable + - api.WritableStream.transferable + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "89" + # chrome_android: "89" + # edge: "89" + # firefox: "102" + # firefox_android: "102" + - api.ReadableByteStreamController + - api.ReadableByteStreamController.byobRequest + - api.ReadableByteStreamController.close + - api.ReadableByteStreamController.desiredSize + - api.ReadableByteStreamController.enqueue + - api.ReadableByteStreamController.error + - api.ReadableStreamBYOBReader + - api.ReadableStreamBYOBReader.ReadableStreamBYOBReader + - api.ReadableStreamBYOBReader.cancel + - api.ReadableStreamBYOBReader.closed + - api.ReadableStreamBYOBReader.read + - api.ReadableStreamBYOBReader.releaseLock + - api.ReadableStreamBYOBRequest + - api.ReadableStreamBYOBRequest.respond + - api.ReadableStreamBYOBRequest.respondWithNewView + - api.ReadableStreamBYOBRequest.view + + # baseline: false + # support: + # chrome: "124" + # chrome_android: "124" + # edge: "124" + # firefox: "110" + # firefox_android: "110" + - api.ReadableStream.values + + # baseline: false + # support: + # firefox: "102" + # firefox_android: "102" + - api.ReadableStreamBYOBReader.releaseLock.reject_pending_read_request + - api.ReadableStreamDefaultReader.releaseLock.reject_pending_read_request + + # baseline: false + # support: + # firefox: "117" + # firefox_android: "117" + - api.ReadableStream.from_static + + # baseline: false + # support: {} + - api.ReadableStreamBYOBReader.read.options_min_parameter