Releases: vercel/storage
@vercel/[email protected]
Minor Changes
-
261319e: # Add abortSignal
Adds
abortSignal
option to all methods. This allows users to cancel requests using an AbortController and passing its signal to the operation.Here's how to use it:
const abortController = new AbortController(); vercelBlob .put('canceled.txt', 'test', { access: 'public', abortSignal: abortController.signal, }) .then((blob) => { console.log('Blob created:', blob); }); setTimeout(function () { // Abort the upload abortController.abort(); }, 100);
@vercel/[email protected]
Patch Changes
- 5b9b53d: Remove dependency pins in package.json.
@vercel/[email protected]
Patch Changes
- 13988ed: BREAKING CHANGE: The
contentType
field of the PutBlobResult is now optional which might break TS builds. This aligns the SDK typings with the actual Response of the Blob API.
@vercel/[email protected]
Minor Changes
- e36fa70: feat(types): re-export pg-types for Drizzle
@vercel/[email protected]
Patch Changes
- Updated dependencies [e36fa70]
- @vercel/[email protected]
@vercel/[email protected]
Minor Changes
- 5fb6969: Make
@opentelemetry/api
optional and expose asetTracerProvider
function
@vercel/[email protected]
Patch Changes
- 69a5c52: fix(blob): correctly handle Node.js buffers as input
@vercel/[email protected]
Patch Changes
- 78d5814: prevents having too many open connections
@vercel/[email protected]
Patch Changes
- 4e7e216: mark @opentelemetry/api as optional peer dependency
@vercel/[email protected]
Major Changes
-
fcdc55e: - BREAKING CHANGE Return values are now read-only to improve in-memory caching
It used to be possible to change the returned value as shown in this example:
import { get } from '@vercel/edge-config'; const countries = await get('allowedCountryCodes'); countries.DE = true; // Will now cause TypeScript to error
Moving forward, modifications like the above will cause a type error.
If there is a need to modify the value, then the
clone
function can be used to clone the data and make it modifiable.import { get, clone } from '@vercel/edge-config'; const myArray = await get('listOfAllowedIPs'); const myArrayClone = clone(myArray); // Clones the data to make it modifiable myArrayClone.push('127.0.0.1'); // The `push` operation will work now
-
BREAKING CHANGE SDK now throws underlying errors
Previous versions of the
@vercel/edge-config
package would catch most errors thrown by native functions and throw a generic network error instead - even if the underlying issue wasn't a network error. The new version will throw the original errors.Note applications which rely on the
@vercel/edge-config: Unexpected error
and@vercel/edge-config: Network error
errors must adapt to the new implementation by ensuring other types of errors are handled as well. -
The SDK now uses stale-while-revalidate semantics during development
When
@vercel/edge-config
is used during development, withNODE_ENV
being set todevelopment
, any read operation will fetch the entire Edge Config once and keep it in-memory to quickly resolve all other read operations for other keys, without waiting for the network. Subsequent reads will update the in-memory data in the background.This behaviour can be disabled by setting the environment variable
EDGE_CONFIG_DISABLE_DEVELOPMENT_SWR
to1
, or by using thedisableDevelopmentCache
option on thecreateClient
function.