Skip to content

Version Packages - #502

Merged
kvz merged 3 commits into
mainfrom
changeset-release/main
Sep 21, 2026
Merged

kvz merged 3 commits into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Why

Complete the approved SDK release train and publish the first Viewer alpha. Publishing the packages does not deploy or enable Storage: its Built-ins, catalog APIs and device login require the matching API2/Console rollout. Existing origin-pinned HTTP/S3 Templates are independently usable.

Viewer is 0.0.1, with the alpha npm tag and an unstable, images-only API. Its generated minimum Utils dependency is ^4.9.0. The other packages use their normal stable release tags.

Generation and checks

Preparation PR #503 is merged with all checks green. The Changesets bot could not update this existing branch because repository rules forbid force pushes (run 35641988807). This update preserves its history with normal commits: merge latest main, regenerate the release using the original Changesets, and verify the generated files. Branch protection is unchanged; no versions or changelogs were edited by hand. CI must pass on the resulting release head before merge.

@transloadit/viewer@0.0.1

Patch Changes

  • 78de89e: Publish the first alpha of @transloadit/viewer: native responsive images from Transloadit Storage
    or an origin-pinned HTTP/S3 Smart CDN Template, with a Next.js Server Component and a resolved-model
    renderer. Image bytes go directly from Smart CDN to the browser.

    This is an early, images-only API that may change between releases. Install the alpha tag and pin
    the exact version. Storage and browser CLI login require the matching backend and Console rollout;
    an existing compatible HTTP/S3 Template does not require a Storage migration.

  • Updated dependencies [a2c5dd7]

  • Updated dependencies [a2c5dd7]

  • Updated dependencies [a2c5dd7]

    • @transloadit/utils@4.9.0

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@transloadit/node@4.13.0

Minor Changes

  • a2c5dd7: Require Node 20.10.0+ for JSON import attributes and composed AbortSignal cancellation. Logout
    only forgets imported and legacy application keys unless revocation is explicitly requested
    with --revoke.

    Add getStoredAssemblyResults() for verified completed batches of any retained media, with
    Assembly/step/result/input provenance. Add native moveStoredAsset() / deleteStoredAsset();
    moves return the canonical transaction snapshot and preserve existing references.
    getStoredAssetUrl() signs exact original bytes through builtin/storage-serve@0.0.3, with an
    optional safe Unicode attachment filename and a bounded, cache-rotated lifetime. Requires a
    backend with that Built-in and canonical native mutation responses.

    Add client.storeImage(filePath, { path }) for one original Storage image without overwriting.
    Stream the input checksum and verify the completed receipt's path, asset ID, stored bytes and
    EXIF-oriented display dimensions. Community-plan transformations may change the stored size/MD5;
    return authoritative result metadata and expose the input comparison through onReceipt.
    The CLI warns about changed bytes, saves the receipt and adds bounded debug diagnostics.
    Return typed metadata suitable for saving and rendering without another lookup. Preserve Assembly
    upload progress, cancellation and errors; receipt validation after a write is not a rollback.

    Add transloadit storage store <file> <path> using the CLI's existing
    Assembly credentials. Atomically append keyed receipts, preserve previous data on failures and
    reject concurrent writers, then print a ready-to-render Image storage snippet.
    Add storage store --hashed for content-addressed filenames: eight MD5 hex digits before the
    extension, with catalog keys, generated types and JSX following the stored path. Retain the local
    filename as source; reuse matching full-checksum/size receipts without uploading. Never overwrite
    a hash conflict. Document native catalog recovery in the image reference.
    When receipt validation fails after writing, print the destination and Assembly ID for recovery.
    Point to list/sync, not overwrite or another upload. Report pending browser approval every minute.
    Document npm-first onboarding, browser signup and free-plan watermark behavior.
    Keep receipts-file filesystem errors distinct from JSON validation failures, with the file path.
    Retain a completed temporary catalog on local replacement failures, print the verified receipt,
    and preserve an existing catalog's permissions.

    Add getStoredImageReceipt({ assemblyId, expected }) to recover the same verified metadata after
    a trusted upload notification or a local file error. Add explicit store --overwrite and
    read-scoped storage ls <prefix>; overwriting is never implicit.

    Add storage receipts sync <prefix> --receipts images.json to recover rendering metadata from
    signed, bounded native catalog pages without per-file HEAD requests, an Assembly or an original
    download. Recover canonical Workspace, asset ID, retained version ID, current path, dimensions,
    MIME and available checksums. Share
    atomic receipt-file writes and credential-bound endpoint resolution with the existing commands;
    preserve unmatched records and the entire previous file on metadata, listing or write failures.
    Record API provenance for every upload, not only hashed uploads, and on the catalog even when
    publication happens before the first upload. Reject API-environment mismatches
    even when Workspace slugs are identical; a custom delivery host is not an API identity. Recover
    unbound legacy receipts into a separate catalog before reviewing and replacing the old file.
    Recovery records the verified API origin so hashed uploads can be reused without uploading.
    Existing rendering catalogs require this recovery before adopting the version-addressed Viewer.
    Redeploy the application to regenerate private capability-v2 URLs; old capability URLs are not
    accepted by the new handler. New Built-ins select actual retained versions, not arbitrary cache tags.

    Add browser device authorization for auth login, with bounded polling, cancellation and
    owner-only credential persistence. Keep --stdin for an existing Auth Key, verified by a signed read.
    Keep newly entered credentials independent from project dotenv endpoint settings; save an explicit
    trusted endpoint with the key. Add image init [--public | --private], with
    opt-in private .env.local scaffolding via --write-env. Never overwrite existing application files.
    Default store/sync catalogs to transloadit.images.json. Init writes an empty catalog and a runnable example
    for app or src/app, preserving existing files. Store prints only the saved path and component
    usage; its snippet-only public/private flags and init's dead next flag are removed. Keep upload
    local placeholders on sync only when the canonical asset ID and version ID still match.

    Rename the unpublished image package to @transloadit/viewer and expose Image with mutually
    exclusive storage and template selectors and a separate workspace prop. Custom HTTP/S3
    Templates do not require a Storage catalog or inherit its publication policy. Keep credentials
    server-only and authorize the full workspace, Template and path identity for private redirects.

    Consolidate the unpublished Next factories into createImages; select public, authorize,
    or delivery: 'direct' explicitly. The authorize overload retains its typed redirect handler.
    Require Next 16.3.3 or newer in the peer range.

    Reuse the login workspace and combined Auth Key for optional env scaffolding without extra prompts.
    Add signed public-prefix declaration, revocation and listing methods with storage publish,
    storage unpublish and storage publications. Public image init declares server policy before writing
    files and explains that already cached public bytes cannot be recalled.

    Preserve the device key's signing algorithm in CLI credentials and subsequent API requests.
    Add signatureAlgorithm to SDK client options while retaining the legacy SHA-384 default and
    explicit per-call overrides. Init's env setup uses the saved key/workspace/endpoint together,
    independently of stale project or shell credentials. Public/private Template overrides are separate.

    Public init stores workspace and published prefixes in the committed catalog, with no app env file.
    Require public/private intent and bind Storage operations to the selected key's verified workspace.
    Support multi-file store, auth status and server-side auth logout before removing credentials.
    Infer allowed directories from
    public policy even with an empty catalog, and accepts a missing trailing slash. Storage commands
    report the winning credential source without showing credentials; store prints constrained JSX
    bounded to the receipt width. Login makes a bounded read-only Storage policy preflight and gives
    Console advice when unavailable. Keep the image quickstart concise and ship its detailed reference.

Patch Changes

  • a2c5dd7: Honor selected fields in JSON output from Template and Assembly list commands, and lead CLI
    onboarding with browser login while retaining explicit credentials for automation.
  • a2c5dd7: Share Storage path and directory-prefix validation between image integrations and CLI scaffolds.
    Keep generated image recipes scoped, preserve relative imports for hidden receipt catalogs, and
    sign Storage listing requests against the endpoint belonging to the selected key credentials.
  • a2c5dd7: Include the Transloadit Storage import and store Robots in the offline catalog and generated
    instructions, and type the optional asset_id in Assembly results. Recognize Storage import/store
    error codes in response validation and terminal-status helpers, preserving API errors while polling.
    Sync the canonical recursive option for Storage folder imports into the offline linter and
    generated instructions without adding SDK-only schema fields.
  • Updated dependencies [a2c5dd7]
  • Updated dependencies [a2c5dd7]
  • Updated dependencies [a2c5dd7]
    • @transloadit/utils@4.9.0

transloadit@4.13.0

Minor Changes

  • a2c5dd7: Require Node 20.10.0+ for JSON import attributes and composed AbortSignal cancellation. Logout
    only forgets imported and legacy application keys unless revocation is explicitly requested
    with --revoke.

    Add getStoredAssemblyResults() for verified completed batches of any retained media, with
    Assembly/step/result/input provenance. Add native moveStoredAsset() / deleteStoredAsset();
    moves return the canonical transaction snapshot and preserve existing references.
    getStoredAssetUrl() signs exact original bytes through builtin/storage-serve@0.0.3, with an
    optional safe Unicode attachment filename and a bounded, cache-rotated lifetime. Requires a
    backend with that Built-in and canonical native mutation responses.

    Add client.storeImage(filePath, { path }) for one original Storage image without overwriting.
    Stream the input checksum and verify the completed receipt's path, asset ID, stored bytes and
    EXIF-oriented display dimensions. Community-plan transformations may change the stored size/MD5;
    return authoritative result metadata and expose the input comparison through onReceipt.
    The CLI warns about changed bytes, saves the receipt and adds bounded debug diagnostics.
    Return typed metadata suitable for saving and rendering without another lookup. Preserve Assembly
    upload progress, cancellation and errors; receipt validation after a write is not a rollback.

    Add transloadit storage store <file> <path> using the CLI's existing
    Assembly credentials. Atomically append keyed receipts, preserve previous data on failures and
    reject concurrent writers, then print a ready-to-render Image storage snippet.
    Add storage store --hashed for content-addressed filenames: eight MD5 hex digits before the
    extension, with catalog keys, generated types and JSX following the stored path. Retain the local
    filename as source; reuse matching full-checksum/size receipts without uploading. Never overwrite
    a hash conflict. Document native catalog recovery in the image reference.
    When receipt validation fails after writing, print the destination and Assembly ID for recovery.
    Point to list/sync, not overwrite or another upload. Report pending browser approval every minute.
    Document npm-first onboarding, browser signup and free-plan watermark behavior.
    Keep receipts-file filesystem errors distinct from JSON validation failures, with the file path.
    Retain a completed temporary catalog on local replacement failures, print the verified receipt,
    and preserve an existing catalog's permissions.

    Add getStoredImageReceipt({ assemblyId, expected }) to recover the same verified metadata after
    a trusted upload notification or a local file error. Add explicit store --overwrite and
    read-scoped storage ls <prefix>; overwriting is never implicit.

    Add storage receipts sync <prefix> --receipts images.json to recover rendering metadata from
    signed, bounded native catalog pages without per-file HEAD requests, an Assembly or an original
    download. Recover canonical Workspace, asset ID, retained version ID, current path, dimensions,
    MIME and available checksums. Share
    atomic receipt-file writes and credential-bound endpoint resolution with the existing commands;
    preserve unmatched records and the entire previous file on metadata, listing or write failures.
    Record API provenance for every upload, not only hashed uploads, and on the catalog even when
    publication happens before the first upload. Reject API-environment mismatches
    even when Workspace slugs are identical; a custom delivery host is not an API identity. Recover
    unbound legacy receipts into a separate catalog before reviewing and replacing the old file.
    Recovery records the verified API origin so hashed uploads can be reused without uploading.
    Existing rendering catalogs require this recovery before adopting the version-addressed Viewer.
    Redeploy the application to regenerate private capability-v2 URLs; old capability URLs are not
    accepted by the new handler. New Built-ins select actual retained versions, not arbitrary cache tags.

    Add browser device authorization for auth login, with bounded polling, cancellation and
    owner-only credential persistence. Keep --stdin for an existing Auth Key, verified by a signed read.
    Keep newly entered credentials independent from project dotenv endpoint settings; save an explicit
    trusted endpoint with the key. Add image init [--public | --private], with
    opt-in private .env.local scaffolding via --write-env. Never overwrite existing application files.
    Default store/sync catalogs to transloadit.images.json. Init writes an empty catalog and a runnable example
    for app or src/app, preserving existing files. Store prints only the saved path and component
    usage; its snippet-only public/private flags and init's dead next flag are removed. Keep upload
    local placeholders on sync only when the canonical asset ID and version ID still match.

    Rename the unpublished image package to @transloadit/viewer and expose Image with mutually
    exclusive storage and template selectors and a separate workspace prop. Custom HTTP/S3
    Templates do not require a Storage catalog or inherit its publication policy. Keep credentials
    server-only and authorize the full workspace, Template and path identity for private redirects.

    Consolidate the unpublished Next factories into createImages; select public, authorize,
    or delivery: 'direct' explicitly. The authorize overload retains its typed redirect handler.
    Require Next 16.3.3 or newer in the peer range.

    Reuse the login workspace and combined Auth Key for optional env scaffolding without extra prompts.
    Add signed public-prefix declaration, revocation and listing methods with storage publish,
    storage unpublish and storage publications. Public image init declares server policy before writing
    files and explains that already cached public bytes cannot be recalled.

    Preserve the device key's signing algorithm in CLI credentials and subsequent API requests.
    Add signatureAlgorithm to SDK client options while retaining the legacy SHA-384 default and
    explicit per-call overrides. Init's env setup uses the saved key/workspace/endpoint together,
    independently of stale project or shell credentials. Public/private Template overrides are separate.

    Public init stores workspace and published prefixes in the committed catalog, with no app env file.
    Require public/private intent and bind Storage operations to the selected key's verified workspace.
    Support multi-file store, auth status and server-side auth logout before removing credentials.
    Infer allowed directories from
    public policy even with an empty catalog, and accepts a missing trailing slash. Storage commands
    report the winning credential source without showing credentials; store prints constrained JSX
    bounded to the receipt width. Login makes a bounded read-only Storage policy preflight and gives
    Console advice when unavailable. Keep the image quickstart concise and ship its detailed reference.

Patch Changes

  • a2c5dd7: Honor selected fields in JSON output from Template and Assembly list commands, and lead CLI
    onboarding with browser login while retaining explicit credentials for automation.
  • a2c5dd7: Share Storage path and directory-prefix validation between image integrations and CLI scaffolds.
    Keep generated image recipes scoped, preserve relative imports for hidden receipt catalogs, and
    sign Storage listing requests against the endpoint belonging to the selected key credentials.
  • a2c5dd7: Include the Transloadit Storage import and store Robots in the offline catalog and generated
    instructions, and type the optional asset_id in Assembly results. Recognize Storage import/store
    error codes in response validation and terminal-status helpers, preserving API errors while polling.
    Sync the canonical recursive option for Storage folder imports into the offline linter and
    generated instructions without adding SDK-only schema fields.
  • Updated dependencies [a2c5dd7]
  • Updated dependencies [a2c5dd7]
  • Updated dependencies [a2c5dd7]
    • @transloadit/utils@4.9.0

@transloadit/utils@4.9.0

Minor Changes

  • a2c5dd7: Add getSmartCdnImageCandidates next to the signed candidate builder on the Node entry point.
    Share candidate validation and URL encoding while omitting signatures and expiry for genuinely
    public delivery. Callers can use receipt-derived version tags for stable, immutable cache keys.
    Include a proportional (rounded-up) fit height, or the backend limit without source metadata,
    so a Template's default height does not silently invalidate the width descriptors.
  • a2c5dd7: Share Storage path and directory-prefix validation between image integrations and CLI scaffolds.
    Keep generated image recipes scoped, preserve relative imports for hidden receipt catalogs, and
    sign Storage listing requests against the endpoint belonging to the selected key credentials.

Patch Changes

  • a2c5dd7: Keep public-preview candidates within their dimension and quality limits, including width-only
    requests and tall sources. Share the exact Built-in limits with image delivery adapters.

@transloadit/mcp-server@0.3.32

Patch Changes

  • a2c5dd7: Require Node 20.10.0+ for JSON import attributes and composed AbortSignal cancellation. Logout
    only forgets imported and legacy application keys unless revocation is explicitly requested
    with --revoke.

    Add getStoredAssemblyResults() for verified completed batches of any retained media, with
    Assembly/step/result/input provenance. Add native moveStoredAsset() / deleteStoredAsset();
    moves return the canonical transaction snapshot and preserve existing references.
    getStoredAssetUrl() signs exact original bytes through builtin/storage-serve@0.0.3, with an
    optional safe Unicode attachment filename and a bounded, cache-rotated lifetime. Requires a
    backend with that Built-in and canonical native mutation responses.

    Add client.storeImage(filePath, { path }) for one original Storage image without overwriting.
    Stream the input checksum and verify the completed receipt's path, asset ID, stored bytes and
    EXIF-oriented display dimensions. Community-plan transformations may change the stored size/MD5;
    return authoritative result metadata and expose the input comparison through onReceipt.
    The CLI warns about changed bytes, saves the receipt and adds bounded debug diagnostics.
    Return typed metadata suitable for saving and rendering without another lookup. Preserve Assembly
    upload progress, cancellation and errors; receipt validation after a write is not a rollback.

    Add transloadit storage store <file> <path> using the CLI's existing
    Assembly credentials. Atomically append keyed receipts, preserve previous data on failures and
    reject concurrent writers, then print a ready-to-render Image storage snippet.
    Add storage store --hashed for content-addressed filenames: eight MD5 hex digits before the
    extension, with catalog keys, generated types and JSX following the stored path. Retain the local
    filename as source; reuse matching full-checksum/size receipts without uploading. Never overwrite
    a hash conflict. Document native catalog recovery in the image reference.
    When receipt validation fails after writing, print the destination and Assembly ID for recovery.
    Point to list/sync, not overwrite or another upload. Report pending browser approval every minute.
    Document npm-first onboarding, browser signup and free-plan watermark behavior.
    Keep receipts-file filesystem errors distinct from JSON validation failures, with the file path.
    Retain a completed temporary catalog on local replacement failures, print the verified receipt,
    and preserve an existing catalog's permissions.

    Add getStoredImageReceipt({ assemblyId, expected }) to recover the same verified metadata after
    a trusted upload notification or a local file error. Add explicit store --overwrite and
    read-scoped storage ls <prefix>; overwriting is never implicit.

    Add storage receipts sync <prefix> --receipts images.json to recover rendering metadata from
    signed, bounded native catalog pages without per-file HEAD requests, an Assembly or an original
    download. Recover canonical Workspace, asset ID, retained version ID, current path, dimensions,
    MIME and available checksums. Share
    atomic receipt-file writes and credential-bound endpoint resolution with the existing commands;
    preserve unmatched records and the entire previous file on metadata, listing or write failures.
    Record API provenance for every upload, not only hashed uploads, and on the catalog even when
    publication happens before the first upload. Reject API-environment mismatches
    even when Workspace slugs are identical; a custom delivery host is not an API identity. Recover
    unbound legacy receipts into a separate catalog before reviewing and replacing the old file.
    Recovery records the verified API origin so hashed uploads can be reused without uploading.
    Existing rendering catalogs require this recovery before adopting the version-addressed Viewer.
    Redeploy the application to regenerate private capability-v2 URLs; old capability URLs are not
    accepted by the new handler. New Built-ins select actual retained versions, not arbitrary cache tags.

    Add browser device authorization for auth login, with bounded polling, cancellation and
    owner-only credential persistence. Keep --stdin for an existing Auth Key, verified by a signed read.
    Keep newly entered credentials independent from project dotenv endpoint settings; save an explicit
    trusted endpoint with the key. Add image init [--public | --private], with
    opt-in private .env.local scaffolding via --write-env. Never overwrite existing application files.
    Default store/sync catalogs to transloadit.images.json. Init writes an empty catalog and a runnable example
    for app or src/app, preserving existing files. Store prints only the saved path and component
    usage; its snippet-only public/private flags and init's dead next flag are removed. Keep upload
    local placeholders on sync only when the canonical asset ID and version ID still match.

    Rename the unpublished image package to @transloadit/viewer and expose Image with mutually
    exclusive storage and template selectors and a separate workspace prop. Custom HTTP/S3
    Templates do not require a Storage catalog or inherit its publication policy. Keep credentials
    server-only and authorize the full workspace, Template and path identity for private redirects.

    Consolidate the unpublished Next factories into createImages; select public, authorize,
    or delivery: 'direct' explicitly. The authorize overload retains its typed redirect handler.
    Require Next 16.3.3 or newer in the peer range.

    Reuse the login workspace and combined Auth Key for optional env scaffolding without extra prompts.
    Add signed public-prefix declaration, revocation and listing methods with storage publish,
    storage unpublish and storage publications. Public image init declares server policy before writing
    files and explains that already cached public bytes cannot be recalled.

    Preserve the device key's signing algorithm in CLI credentials and subsequent API requests.
    Add signatureAlgorithm to SDK client options while retaining the legacy SHA-384 default and
    explicit per-call overrides. Init's env setup uses the saved key/workspace/endpoint together,
    independently of stale project or shell credentials. Public/private Template overrides are separate.

    Public init stores workspace and published prefixes in the committed catalog, with no app env file.
    Require public/private intent and bind Storage operations to the selected key's verified workspace.
    Support multi-file store, auth status and server-side auth logout before removing credentials.
    Infer allowed directories from
    public policy even with an empty catalog, and accepts a missing trailing slash. Storage commands
    report the winning credential source without showing credentials; store prints constrained JSX
    bounded to the receipt width. Login makes a bounded read-only Storage policy preflight and gives
    Console advice when unavailable. Keep the image quickstart concise and ship its detailed reference.

  • a2c5dd7: Include the Transloadit Storage import and store Robots in the offline catalog and generated
    instructions, and type the optional asset_id in Assembly results. Recognize Storage import/store
    error codes in response validation and terminal-status helpers, preserving API errors while polling.
    Sync the canonical recursive option for Storage folder imports into the offline linter and
    generated instructions without adding SDK-only schema fields.

  • Updated dependencies [a2c5dd7]

  • Updated dependencies [a2c5dd7]

  • Updated dependencies [a2c5dd7]

  • Updated dependencies [a2c5dd7]

    • @transloadit/node@4.13.0

@transloadit/types@4.4.1

Patch Changes

  • a2c5dd7: Include the Transloadit Storage import and store Robots in the offline catalog and generated
    instructions, and type the optional asset_id in Assembly results. Recognize Storage import/store
    error codes in response validation and terminal-status helpers, preserving API errors while polling.
    Sync the canonical recursive option for Storage folder imports into the offline linter and
    generated instructions without adding SDK-only schema fields.

@transloadit/zod@4.4.1

Patch Changes

  • a2c5dd7: Include the Transloadit Storage import and store Robots in the offline catalog and generated
    instructions, and type the optional asset_id in Assembly results. Recognize Storage import/store
    error codes in response validation and terminal-status helpers, preserving API errors while polling.
    Sync the canonical recursive option for Storage folder imports into the offline linter and
    generated instructions without adding SDK-only schema fields.

@kvz
kvz merged commit a4db0b2 into main Sep 21, 2026
13 checks passed
@kvz
kvz deleted the changeset-release/main branch September 21, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant