Skip to content

Commit e006f7c

Browse files
Version Packages (#981)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 04ca1f0 commit e006f7c

File tree

5 files changed

+52
-44
lines changed

5 files changed

+52
-44
lines changed

.changeset/all-parts-occur.md

Lines changed: 0 additions & 42 deletions
This file was deleted.

packages/blob/CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,48 @@
11
# @vercel/blob
22

3+
## 2.3.0
4+
5+
### Minor Changes
6+
7+
- 04ca1f0: Add private storage support (beta), a new `get()` method, and conditional gets
8+
9+
**Private storage (beta)**
10+
11+
You can now upload and read private blobs by setting `access: 'private'` on `put()` and `get()`. Private blobs require authentication to access — they are not publicly accessible via their URL.
12+
13+
**New `get()` method**
14+
15+
Fetch blob content by URL or pathname. Returns a `ReadableStream` along with blob metadata (url, pathname, contentType, size, etag, etc.).
16+
17+
**Conditional gets with `ifNoneMatch`**
18+
19+
Pass an `ifNoneMatch` option to `get()` with a previously received ETag. When the blob hasn't changed, the response returns `statusCode: 304` with `stream: null`, avoiding unnecessary re-downloads.
20+
21+
**Example**
22+
23+
```ts
24+
import { put, get } from "@vercel/blob";
25+
26+
// Upload a private blob
27+
const blob = await put("user123/avatar.png", file, { access: "private" });
28+
29+
// Read it back
30+
const response = await get(blob.pathname, { access: "private" });
31+
// response.stream — ReadableStream of the blob content
32+
// response.blob — metadata (url, pathname, contentType, size, etag, ...)
33+
34+
// Conditional get — skip download if unchanged
35+
const cached = await get(blob.pathname, {
36+
access: "private",
37+
ifNoneMatch: response.blob.etag,
38+
});
39+
if (cached.statusCode === 304) {
40+
// Blob hasn't changed, reuse previous data
41+
}
42+
```
43+
44+
Learn more: https://vercel.com/docs/vercel-blob/private-storage
45+
346
## 2.2.0
447

548
### Minor Changes

packages/blob/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vercel/blob",
3-
"version": "2.2.0",
3+
"version": "2.3.0",
44
"description": "The Vercel Blob JavaScript API client",
55
"homepage": "https://vercel.com/storage/blob",
66
"repository": {

test/next/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# vercel-storage-integration-test-suite
22

3+
## 0.3.17
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [04ca1f0]
8+
- @vercel/blob@2.3.0
9+
310
## 0.3.16
411

512
### Patch Changes

test/next/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vercel-storage-integration-test-suite",
3-
"version": "0.3.16",
3+
"version": "0.3.17",
44
"private": true,
55
"scripts": {
66
"build": "next build",

0 commit comments

Comments
 (0)