Version Packages - #502
Merged
Merged
Version Packages#502
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 Storageor 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
alphatag and pinthe 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]
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, withAssembly/step/result/input provenance. Add native
moveStoredAsset()/deleteStoredAsset();moves return the canonical transaction snapshot and preserve existing references.
getStoredAssetUrl()signs exact original bytes throughbuiltin/storage-serve@0.0.3, with anoptional 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 existingAssembly 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 --hashedfor content-addressed filenames: eight MD5 hex digits before theextension, 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 overwritea 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 aftera trusted upload notification or a local file error. Add explicit
store --overwriteandread-scoped
storage ls <prefix>; overwriting is never implicit.Add
storage receipts sync <prefix> --receipts images.jsonto recover rendering metadata fromsigned, 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 andowner-only credential persistence. Keep
--stdinfor 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], withopt-in private
.env.localscaffolding via--write-env. Never overwrite existing application files.Default store/sync catalogs to
transloadit.images.json. Init writes an empty catalog and a runnable examplefor
apporsrc/app, preserving existing files. Store prints only the saved path and componentusage; 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/viewerand exposeImagewith mutuallyexclusive
storageandtemplateselectors and a separateworkspaceprop. Custom HTTP/S3Templates 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; selectpublic,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 unpublishandstorage publications. Public image init declares server policy before writingfiles 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
signatureAlgorithmto SDK client options while retaining the legacy SHA-384 default andexplicit 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
onboarding with browser login while retaining explicit credentials for automation.
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.
instructions, and type the optional
asset_idin Assembly results. Recognize Storage import/storeerror codes in response validation and terminal-status helpers, preserving API errors while polling.
Sync the canonical
recursiveoption for Storage folder imports into the offline linter andgenerated instructions without adding SDK-only schema fields.
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, withAssembly/step/result/input provenance. Add native
moveStoredAsset()/deleteStoredAsset();moves return the canonical transaction snapshot and preserve existing references.
getStoredAssetUrl()signs exact original bytes throughbuiltin/storage-serve@0.0.3, with anoptional 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 existingAssembly 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 --hashedfor content-addressed filenames: eight MD5 hex digits before theextension, 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 overwritea 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 aftera trusted upload notification or a local file error. Add explicit
store --overwriteandread-scoped
storage ls <prefix>; overwriting is never implicit.Add
storage receipts sync <prefix> --receipts images.jsonto recover rendering metadata fromsigned, 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 andowner-only credential persistence. Keep
--stdinfor 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], withopt-in private
.env.localscaffolding via--write-env. Never overwrite existing application files.Default store/sync catalogs to
transloadit.images.json. Init writes an empty catalog and a runnable examplefor
apporsrc/app, preserving existing files. Store prints only the saved path and componentusage; 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/viewerand exposeImagewith mutuallyexclusive
storageandtemplateselectors and a separateworkspaceprop. Custom HTTP/S3Templates 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; selectpublic,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 unpublishandstorage publications. Public image init declares server policy before writingfiles 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
signatureAlgorithmto SDK client options while retaining the legacy SHA-384 default andexplicit 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
onboarding with browser login while retaining explicit credentials for automation.
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.
instructions, and type the optional
asset_idin Assembly results. Recognize Storage import/storeerror codes in response validation and terminal-status helpers, preserving API errors while polling.
Sync the canonical
recursiveoption for Storage folder imports into the offline linter andgenerated instructions without adding SDK-only schema fields.
@transloadit/utils@4.9.0
Minor Changes
getSmartCdnImageCandidatesnext 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.
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
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, withAssembly/step/result/input provenance. Add native
moveStoredAsset()/deleteStoredAsset();moves return the canonical transaction snapshot and preserve existing references.
getStoredAssetUrl()signs exact original bytes throughbuiltin/storage-serve@0.0.3, with anoptional 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 existingAssembly 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 --hashedfor content-addressed filenames: eight MD5 hex digits before theextension, 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 overwritea 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 aftera trusted upload notification or a local file error. Add explicit
store --overwriteandread-scoped
storage ls <prefix>; overwriting is never implicit.Add
storage receipts sync <prefix> --receipts images.jsonto recover rendering metadata fromsigned, 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 andowner-only credential persistence. Keep
--stdinfor 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], withopt-in private
.env.localscaffolding via--write-env. Never overwrite existing application files.Default store/sync catalogs to
transloadit.images.json. Init writes an empty catalog and a runnable examplefor
apporsrc/app, preserving existing files. Store prints only the saved path and componentusage; 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/viewerand exposeImagewith mutuallyexclusive
storageandtemplateselectors and a separateworkspaceprop. Custom HTTP/S3Templates 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; selectpublic,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 unpublishandstorage publications. Public image init declares server policy before writingfiles 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
signatureAlgorithmto SDK client options while retaining the legacy SHA-384 default andexplicit 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_idin Assembly results. Recognize Storage import/storeerror codes in response validation and terminal-status helpers, preserving API errors while polling.
Sync the canonical
recursiveoption for Storage folder imports into the offline linter andgenerated instructions without adding SDK-only schema fields.
Updated dependencies [a2c5dd7]
Updated dependencies [a2c5dd7]
Updated dependencies [a2c5dd7]
Updated dependencies [a2c5dd7]
@transloadit/types@4.4.1
Patch Changes
instructions, and type the optional
asset_idin Assembly results. Recognize Storage import/storeerror codes in response validation and terminal-status helpers, preserving API errors while polling.
Sync the canonical
recursiveoption for Storage folder imports into the offline linter andgenerated instructions without adding SDK-only schema fields.
@transloadit/zod@4.4.1
Patch Changes
instructions, and type the optional
asset_idin Assembly results. Recognize Storage import/storeerror codes in response validation and terminal-status helpers, preserving API errors while polling.
Sync the canonical
recursiveoption for Storage folder imports into the offline linter andgenerated instructions without adding SDK-only schema fields.