Clarify multipart collection release notes - #7160
Conversation
|
| Name | Type |
|---|---|
| effect | Patch |
| @effect/ai-anthropic | Patch |
| @effect/ai-openai | Patch |
| @effect/ai-openai-compat | Patch |
| @effect/ai-openrouter | Patch |
| @effect/atom-react | Patch |
| @effect/atom-solid | Patch |
| @effect/atom-vue | Patch |
| @effect/docgen | Patch |
| @effect/doctest | Patch |
| @effect/openapi-generator | Patch |
| @effect/opentelemetry | Patch |
| @effect/platform-browser | Patch |
| @effect/platform-bun | Patch |
| @effect/platform-deno | Patch |
| @effect/platform-node | Patch |
| @effect/platform-node-shared | Patch |
| @effect/sql-clickhouse | Patch |
| @effect/sql-d1 | Patch |
| @effect/sql-libsql | Patch |
| @effect/sql-mssql | Patch |
| @effect/sql-mysql2 | Patch |
| @effect/sql-pg | Patch |
| @effect/sql-pglite | Patch |
| @effect/sql-sqlite-bun | Patch |
| @effect/sql-sqlite-do | Patch |
| @effect/sql-sqlite-node | Patch |
| @effect/sql-sqlite-react-native | Patch |
| @effect/sql-sqlite-wasm | Patch |
| @effect/vitest | Patch |
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — Reviewed the full diff of this docs-and-changeset clarification against the Channel.mkUint8Array implementation and the multipart collection path it documents.
- Changeset rewording — The
multipart-collect-linear.mdnote now names both the newChannel.mkUint8ArrayAPI and theFile.contentEffectquadratic-buffering fix (~90x on a 16 MiB chunked upload). I confirmed this is grounded: the pre-#7157collectUint8Arrayre-allocated and copied the full accumulator on every pull (the quadratic pathFileImpl.contentEffectused), and the 16 MiB / 64 KiB chunked scenario is the case exercised bypackages/effect/benchmark/http/multipart.ts. Stream.mkUint8Array/Stream.mkArrayBuffer**Gotchas**— New JSDoc documenting full in-memory materialization and that the source must not reuse or mutate emitted buffers. Accurate:Channel.mkUint8Arrayaccumulates buffer references viarunFoldand copies into the result only after the channel completes (Channel.ts:7993), so emitted buffers are in fact retained until collection completes.
@v0 or keep the SHA fresh with Dependabot | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏
Bundle Size AnalysisGenerated from PR build output; treat the content below as untrusted.
|

Summary
Channel.mkUint8ArrayAPI and theFile.contentEffectquadratic-buffering fixStream.mkUint8ArrayandStream.mkArrayBufferValidation
pnpm checkchangeset status --since origin/mainCloses EFF-573