Skip to content
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2157c01
Move ReadableStream.values from streams to async-iterable-streams
MattiasBuelens Dec 27, 2024
79d84ce
Add transferable-streams feature
MattiasBuelens Dec 27, 2024
f532853
Add readablestream-from feature
MattiasBuelens Dec 27, 2024
85c7740
Add readablestreambyobreader-read-min feature
MattiasBuelens Dec 28, 2024
8df8499
Add transformstream-transformer-cancel feature
MattiasBuelens Dec 28, 2024
fb4d357
Update to BCD 5.6.27
MattiasBuelens Jan 3, 2025
eaa23a5
Assign transformer_cancel BCD feature to transformstream-transformer-…
MattiasBuelens Jan 3, 2025
eedf8a5
Update feature descriptions
MattiasBuelens Jan 7, 2025
d1c049d
Merge branch 'main' into streams-subfeatures
MattiasBuelens Jan 7, 2025
4daeb7c
Update dist
MattiasBuelens Jan 7, 2025
34a89a5
Revert changes in package-lock.json
MattiasBuelens Jan 7, 2025
7b046e8
Run Prettier
MattiasBuelens Jan 7, 2025
234f440
Merge branch 'main' into streams-subfeatures
captainbrosset Jan 8, 2025
cc1c178
Merge branch 'main' into streams-subfeatures
MattiasBuelens Jan 30, 2025
39e208e
Add readable-byte-streams feature
MattiasBuelens Jan 30, 2025
4e97b25
Update dist
MattiasBuelens Jan 30, 2025
a29ca3e
Update note about status change
MattiasBuelens Jan 30, 2025
3f34c8a
Apply suggestions from code review
MattiasBuelens Mar 5, 2025
9b00d49
Merge branch 'main' into streams-subfeatures
MattiasBuelens Mar 5, 2025
fc6b630
Escape quotes
MattiasBuelens Mar 5, 2025
76b44c6
Merge min option into readable-byte-streams
MattiasBuelens Mar 5, 2025
7a73f3f
Run Prettier
MattiasBuelens Mar 5, 2025
9fa5c4c
Merge branch 'main' into streams-subfeatures
captainbrosset Mar 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions features/async-iterable-streams.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ spec: https://streams.spec.whatwg.org/#rs-asynciterator
group: streams
compat_features:
- api.ReadableStream.@@asyncIterator
- api.ReadableStream.values
1 change: 1 addition & 0 deletions features/async-iterable-streams.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ status:
firefox_android: "110"
compat_features:
- api.ReadableStream.@@asyncIterator
- api.ReadableStream.values
26 changes: 26 additions & 0 deletions features/readable-byte-streams.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Readable byte streams
description: Readable byte streams allow you to efficiently read bytes from a stream into a buffer without incurring extra copies.
Comment thread
MattiasBuelens marked this conversation as resolved.
Outdated
spec: https://streams.spec.whatwg.org/
caniuse: streams
group: 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.ReadableStreamBYOBReader
- api.ReadableStreamBYOBReader.ReadableStreamBYOBReader
- api.ReadableStreamBYOBReader.cancel
- api.ReadableStreamBYOBReader.closed
- api.ReadableStreamBYOBReader.read
- api.ReadableStreamBYOBReader.releaseLock
- api.ReadableStreamBYOBReader.releaseLock.reject_pending_read_request
- api.ReadableStreamBYOBRequest
- api.ReadableStreamBYOBRequest.respond
- api.ReadableStreamBYOBRequest.respondWithNewView
- api.ReadableStreamBYOBRequest.view
45 changes: 45 additions & 0 deletions features/readable-byte-streams.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Generated from: readable-byte-streams.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "89"
chrome_android: "89"
edge: "89"
firefox: "102"
firefox_android: "102"
compat_features:
# ⬇️ 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: "105"
# chrome_android: "105"
# edge: "105"
# firefox: "102"
# firefox_android: "102"
- api.ReadableStreamBYOBReader.releaseLock.reject_pending_read_request
6 changes: 6 additions & 0 deletions features/readablestream-from.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: ReadableStream.from()
description: The `ReadableStream.from()` static method wraps iterable and async iterable objects, such as arrays or async generator functions, as a readable stream.
Comment thread
MattiasBuelens marked this conversation as resolved.
Outdated
spec: https://streams.spec.whatwg.org/#rs-from
group: streams
compat_features:
- api.ReadableStream.from_static
10 changes: 10 additions & 0 deletions features/readablestream-from.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Generated from: readablestream-from.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
firefox: "117"
firefox_android: "117"
compat_features:
- api.ReadableStream.from_static
6 changes: 6 additions & 0 deletions features/readablestreambyobreader-read-min.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: "ReadableStreamBYOBReader.read(): min option"
Comment thread
MattiasBuelens marked this conversation as resolved.
Outdated
description: The `min` option for `ReadableStreamBYOBReader.read(view, options)` sets the minimum number of elements that must be available before the read request will fulfill.
spec: https://streams.spec.whatwg.org/#ref-for-dom-readablestreambyobreaderreadoptions-min%E2%91%A0
group: streams
compat_features:
- api.ReadableStreamBYOBReader.read.options_min_parameter
10 changes: 10 additions & 0 deletions features/readablestreambyobreader-read-min.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Generated from: readablestreambyobreader-read-min.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
firefox: "134"
firefox_android: "134"
compat_features:
- api.ReadableStreamBYOBReader.read.options_min_parameter
31 changes: 5 additions & 26 deletions features/streams.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,19 @@
name: Streams
description: The streams API creates, composes, and consumes continuously generated data.
spec: https://streams.spec.whatwg.org/
caniuse: streams
group: streams
# TODO: https://github.com/web-platform-dx/web-features/issues/1971
# Status changed: https://github.com/web-platform-dx/web-features/pull/2358
# Status changed: https://github.com/web-platform-dx/web-features/pull/2358, https://github.com/web-platform-dx/web-features/pull/2491
# 2024-12-19 — low → false — Regressed status to match Caniuse, which considers support beginning at BYOB shipping.
# 2025-01-30 — false → high — Split BYOB into a separate "readable-byte-streams" feature. Linked that one to Caniuse.
# References:
# - https://caniuse.com/streams
status:
compute_from:
- api.ReadableStreamBYOBReader
- api.ReadableStream
- api.TransformStream
- api.WritableStream
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
Expand All @@ -52,15 +33,13 @@ compat_features:
- 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
Expand Down
79 changes: 9 additions & 70 deletions features/streams.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
baseline: high
baseline_low_date: 2022-06-28
baseline_high_date: 2024-12-28
support:
chrome: "89"
chrome_android: "89"
edge: "89"
chrome: "67"
chrome_android: "67"
edge: "79"
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 @@ -185,6 +189,7 @@ compat_features:
# safari_ios: "10.3"
- api.ReadableStream.pipeThrough

# ⬇️ Same status as overall feature ⬇️
# baseline: high
# baseline_low_date: 2022-06-28
# baseline_high_date: 2024-12-28
Expand Down Expand Up @@ -253,69 +258,3 @@ compat_features:
# 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: "105"
# chrome_android: "105"
# edge: "105"
# firefox: "102"
# firefox_android: "102"
- api.ReadableStreamBYOBReader.releaseLock.reject_pending_read_request

# baseline: false
# support:
# chrome: "124"
# chrome_android: "124"
# edge: "124"
# firefox: "110"
# firefox_android: "110"
- api.ReadableStream.values

# baseline: false
# support:
# firefox: "117"
# firefox_android: "117"
- api.ReadableStream.from_static

# baseline: false
# support:
# firefox: "134"
# firefox_android: "134"
- api.ReadableStreamBYOBReader.read.options_min_parameter
8 changes: 8 additions & 0 deletions features/transferable-streams.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Transferable streams
description: Streams are transferable objects, which can be moved between contexts such as workers.
Comment thread
MattiasBuelens marked this conversation as resolved.
Outdated
spec: https://streams.spec.whatwg.org/#rs-transfer
group: streams
compat_features:
- api.ReadableStream.transferable
- api.TransformStream.transferable
- api.WritableStream.transferable
15 changes: 15 additions & 0 deletions features/transferable-streams.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Generated from: transferable-streams.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "87"
chrome_android: "87"
edge: "87"
firefox: "103"
firefox_android: "103"
compat_features:
- api.ReadableStream.transferable
- api.TransformStream.transferable
- api.WritableStream.transferable
6 changes: 6 additions & 0 deletions features/transformstream-transformer-cancel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: "TransformStream: transformer.cancel method"
Comment thread
MattiasBuelens marked this conversation as resolved.
Outdated
description: The `cancel` method of a `TransformStream` transformer cleans up resources when the readable side is cancelled or the writable side is aborted.
Comment thread
MattiasBuelens marked this conversation as resolved.
Outdated
spec: https://streams.spec.whatwg.org/#dom-transformer-cancel
group: streams
compat_features:
- api.TransformStream.TransformStream.transformer_cancel
8 changes: 8 additions & 0 deletions features/transformstream-transformer-cancel.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Generated from: transformstream-transformer-cancel.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support: {}
compat_features:
- api.TransformStream.TransformStream.transformer_cancel