Skip to content

Commit

Permalink
Add more streams keys/features (#2358)
Browse files Browse the repository at this point in the history
* add status regression note
  • Loading branch information
autonome authored Dec 19, 2024
1 parent 4778d03 commit dc72326
Show file tree
Hide file tree
Showing 2 changed files with 273 additions and 44 deletions.
128 changes: 91 additions & 37 deletions features/streams.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
189 changes: 182 additions & 7 deletions features/streams.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand All @@ -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

0 comments on commit dc72326

Please sign in to comment.