Update to Netlify
Snapshot Sep 30, 2026 · 23:18 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.
Supporting file metadata differs
Newly listed paths: LICENSE.txt, agents/openai.yaml. This compares saved file lists, not package contents; a different collection source can change the list.
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Supporting files
[{"relative_path":"assets/netlify-small.svg","size_in_bytes":1291},{"relative_path":"assets/netlify.png","size_in_bytes":2686}]
[{"relative_path":"LICENSE.txt","size_in_bytes":10776},{"relative_path":"agents/openai.yaml","size_in_bytes":312},{"relative_path":"assets/netlify-small.svg","size_in_bytes":1291},{"relative_path":"assets/netlify.png","size_in_bytes":2686}]
Compare saved observations
Download comparison JSONFull technical diff · 1 changed fields
changed /included_files
[
{
"relative_path": "assets/netlify-small.svg",
"size_in_bytes": 1291
},
{
"relative_path": "assets/netlify.png",
"size_in_bytes": 2686
}
][
{
"relative_path": "LICENSE.txt",
"size_in_bytes": 10776
},
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 312
},
{
"relative_path": "assets/netlify-small.svg",
"size_in_bytes": 1291
},
{
"relative_path": "assets/netlify.png",
"size_in_bytes": 2686
}
]Full snapshot data
{
"name": "netlify-blobs",
"description": "Guide for using Netlify Blobs object storage. Use when storing files, images, documents, or simple key-value data without a full database. Covers getStore(), CRUD operations, metadata, listing, deploy-scoped vs site-scoped stores, and local development.",
"included_files": [
{
"relative_path": "LICENSE.txt",
"size_in_bytes": 10776
},
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 312
},
{
"relative_path": "assets/netlify-small.svg",
"size_in_bytes": 1291
},
{
"relative_path": "assets/netlify.png",
"size_in_bytes": 2686
}
],
"skill_md_contents": "---\nname: netlify-blobs\ndescription: Guide for using Netlify Blobs object storage. Use when storing files, images, documents, or simple key-value data without a full database. Covers getStore(), CRUD operations, metadata, listing, deploy-scoped vs site-scoped stores, and local development.\n---\n\n# Netlify Blobs\n\nNetlify Blobs is zero-config object storage available from any Netlify compute (functions, edge functions, framework server routes). No provisioning required.\n\n```bash\nnpm install @netlify/blobs\n```\n\n## Getting a Store\n\n```typescript\nimport { getStore } from \"@netlify/blobs\";\n\nconst store = getStore({ name: \"my-store\" });\n\n// Use \"strong\" consistency when you need immediate reads after writes\nconst store = getStore({ name: \"my-store\", consistency: \"strong\" });\n```\n\n## CRUD Operations\n\nThese are the **only** store methods. Do not invent others.\n\n### Create / Update\n\n```typescript\n// String or binary data\nawait store.set(\"key\", \"value\");\nawait store.set(\"key\", fileBuffer);\n\n// With metadata\nawait store.set(\"key\", data, {\n metadata: { contentType: \"image/png\", uploadedAt: new Date().toISOString() },\n});\n\n// JSON data\nawait store.setJSON(\"key\", { name: \"Example\", count: 42 });\n```\n\n### Read\n\n```typescript\n// Text (default)\nconst text = await store.get(\"key\"); // string | null\n\n// Typed retrieval\nconst json = await store.get(\"key\", { type: \"json\" }); // object | null\nconst stream = await store.get(\"key\", { type: \"stream\" });\nconst blob = await store.get(\"key\", { type: \"blob\" });\nconst buffer = await store.get(\"key\", { type: \"arrayBuffer\" });\n\n// With metadata\nconst result = await store.getWithMetadata(\"key\");\n// { data: any, etag: string, metadata: object } | null\n\n// Metadata only (no data download)\nconst meta = await store.getMetadata(\"key\");\n// { etag: string, metadata: object } | null\n```\n\n### Delete\n\n```typescript\nawait store.delete(\"key\");\n```\n\n### List\n\n```typescript\nconst { blobs } = await store.list();\n// blobs: [{ etag: string, key: string }, ...]\n\n// Filter by prefix\nconst { blobs } = await store.list({ prefix: \"uploads/\" });\n```\n\n## Store Types\n\n- **Site-scoped** (`getStore()`): Persist across all deploys. Use for most cases.\n- **Deploy-scoped** (`getDeployStore()`): Tied to a specific deploy lifecycle.\n\n## Limits\n\n| Limit | Value |\n|---|---|\n| Max object size | 5 GB |\n| Store name max length | 64 bytes |\n| Key max length | 600 bytes |\n\n## Local Development\n\nLocal dev uses a sandboxed store (separate from production). For Vite-based projects, install `@netlify/vite-plugin` to enable local Blobs access. Otherwise, use `netlify dev`.\n\n**Common error**: \"The environment has not been configured to use Netlify Blobs\" — install `@netlify/vite-plugin` or run via `netlify dev`.\n"
}SHA-256: a8f6c66d45d6997457955229a49248e6bb60fc909c825455c4217df58ec9f49b