diff --git a/.changeset/mixed-storage-originals.md b/.changeset/mixed-storage-originals.md deleted file mode 100644 index 23983c13..00000000 --- a/.changeset/mixed-storage-originals.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -'@transloadit/node': minor -'transloadit': minor -'@transloadit/mcp-server': patch -'@transloadit/utils': minor ---- - -Store mixed-media originals with `storeAsset()` and recover verified receipts without uploading. -The Storage CLI checkpoints both image and file receipts in one catalog, skips matching replays, -and stops with recoverable evidence if the server changes original bytes. Viewer remains image-only. -Add `getPublicStoredAssetUrl()` for version-pinned originals, downloads and bounded still previews. -Its new Built-ins require the corresponding API2 deployment before adoption; URL construction -does not publish assets. Existing `storeImage()` behavior is preserved. - -The generic CLI intentionally now requires unchanged original bytes, including for images: a -server-transformed upload exits nonzero after saving its actual receipt instead of silently -accepting a watermark. It uses the `file` upload field. Use the existing SDK `storeImage()` API -when deliberately accepting transformed image bytes. - -Plain and hashed replays both trust the local receipt's byte hash and do not verify live existence. -Refresh stale catalogs with `storage receipts sync`; incomplete legacy receipts require recovery -before replay. Sync cannot generate a missing checksum. Dimensionless files and unknown MIME types -remain in `files` outside Viewer's typed map; new uploads and sync require an explicit image MIME -type to classify an entry as a Viewer image. Existing catalogs remain readable. diff --git a/packages/mcp-server/CHANGELOG.md b/packages/mcp-server/CHANGELOG.md index 3e5a194d..983aee02 100644 --- a/packages/mcp-server/CHANGELOG.md +++ b/packages/mcp-server/CHANGELOG.md @@ -1,5 +1,30 @@ # @transloadit/mcp-server +## 0.8.8 + +### Patch Changes + +- af611d4: Store mixed-media originals with `storeAsset()` and recover verified receipts without uploading. + The Storage CLI checkpoints both image and file receipts in one catalog, skips matching replays, + and stops with recoverable evidence if the server changes original bytes. Viewer remains image-only. + Add `getPublicStoredAssetUrl()` for version-pinned originals, downloads and bounded still previews. + Its new Built-ins require the corresponding API2 deployment before adoption; URL construction + does not publish assets. Existing `storeImage()` behavior is preserved. + + The generic CLI intentionally now requires unchanged original bytes, including for images: a + server-transformed upload exits nonzero after saving its actual receipt instead of silently + accepting a watermark. It uses the `file` upload field. Use the existing SDK `storeImage()` API + when deliberately accepting transformed image bytes. + + Plain and hashed replays both trust the local receipt's byte hash and do not verify live existence. + Refresh stale catalogs with `storage receipts sync`; incomplete legacy receipts require recovery + before replay. Sync cannot generate a missing checksum. Dimensionless files and unknown MIME types + remain in `files` outside Viewer's typed map; new uploads and sync require an explicit image MIME + type to classify an entry as a Viewer image. Existing catalogs remain readable. + +- Updated dependencies [af611d4] + - @transloadit/node@6.9.0 + ## 0.8.7 ### Patch Changes diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index eb383721..39f64d1f 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "@transloadit/mcp-server", - "version": "0.8.7", + "version": "0.8.8", "description": "Transloadit MCP server", "keywords": [ "mcp", @@ -63,7 +63,7 @@ }, "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", - "@transloadit/node": "^6.8.0", + "@transloadit/node": "^6.9.0", "@transloadit/sev-logger": "^0.1.9", "@transloadit/zod": "^7.5.0", "ajv": "^8.17.1", diff --git a/packages/mcp-server/server.json b/packages/mcp-server/server.json index 9610ba67..cdc046e7 100644 --- a/packages/mcp-server/server.json +++ b/packages/mcp-server/server.json @@ -3,7 +3,7 @@ "name": "io.github.transloadit/mcp-server", "title": "Transloadit Media Processing", "description": "Process video, audio, images and documents with Transloadit Robots. Connect by URL with OAuth.", - "version": "0.8.7", + "version": "0.8.8", "websiteUrl": "https://transloadit.com/docs/sdks/mcp-server/", "icons": [ { @@ -21,7 +21,7 @@ { "registryType": "npm", "identifier": "@transloadit/mcp-server", - "version": "0.8.7", + "version": "0.8.8", "runtimeHint": "npx", "packageArguments": [ { diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index 38d76f13..b3823212 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -1,5 +1,32 @@ # @transloadit/node +## 6.9.0 + +### Minor Changes + +- af611d4: Store mixed-media originals with `storeAsset()` and recover verified receipts without uploading. + The Storage CLI checkpoints both image and file receipts in one catalog, skips matching replays, + and stops with recoverable evidence if the server changes original bytes. Viewer remains image-only. + Add `getPublicStoredAssetUrl()` for version-pinned originals, downloads and bounded still previews. + Its new Built-ins require the corresponding API2 deployment before adoption; URL construction + does not publish assets. Existing `storeImage()` behavior is preserved. + + The generic CLI intentionally now requires unchanged original bytes, including for images: a + server-transformed upload exits nonzero after saving its actual receipt instead of silently + accepting a watermark. It uses the `file` upload field. Use the existing SDK `storeImage()` API + when deliberately accepting transformed image bytes. + + Plain and hashed replays both trust the local receipt's byte hash and do not verify live existence. + Refresh stale catalogs with `storage receipts sync`; incomplete legacy receipts require recovery + before replay. Sync cannot generate a missing checksum. Dimensionless files and unknown MIME types + remain in `files` outside Viewer's typed map; new uploads and sync require an explicit image MIME + type to classify an entry as a Viewer image. Existing catalogs remain readable. + +### Patch Changes + +- Updated dependencies [af611d4] + - @transloadit/utils@4.11.0 + ## 6.8.0 ### Minor Changes diff --git a/packages/node/package.json b/packages/node/package.json index 9770dd6c..e3072feb 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@transloadit/node", - "version": "6.8.0", + "version": "6.9.0", "description": "Node.js SDK and `transloadit` CLI for Transloadit", "homepage": "https://github.com/transloadit/node-sdk/tree/main/packages/node", "bugs": { @@ -33,7 +33,7 @@ }, "dependencies": { "@transloadit/sev-logger": "^0.1.9", - "@transloadit/utils": "^4.10.0", + "@transloadit/utils": "^4.11.0", "cacheable-lookup": "^7.0.0", "clipanion": "^4.0.0-rc.4", "debug": "^4.4.3", diff --git a/packages/transloadit/package.json b/packages/transloadit/package.json index bf5b0236..38b13000 100644 --- a/packages/transloadit/package.json +++ b/packages/transloadit/package.json @@ -1,6 +1,6 @@ { "name": "transloadit", - "version": "6.8.0", + "version": "6.9.0", "description": "Node.js SDK and `transloadit` CLI for Transloadit", "homepage": "https://github.com/transloadit/node-sdk/tree/main/packages/node", "bugs": { @@ -33,7 +33,7 @@ }, "dependencies": { "@transloadit/sev-logger": "^0.1.9", - "@transloadit/utils": "^4.10.0", + "@transloadit/utils": "^4.11.0", "cacheable-lookup": "^7.0.0", "clipanion": "^4.0.0-rc.4", "debug": "^4.4.3", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 9df6b927..05a57831 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,5 +1,27 @@ # @transloadit/utils +## 4.11.0 + +### Minor Changes + +- af611d4: Store mixed-media originals with `storeAsset()` and recover verified receipts without uploading. + The Storage CLI checkpoints both image and file receipts in one catalog, skips matching replays, + and stops with recoverable evidence if the server changes original bytes. Viewer remains image-only. + Add `getPublicStoredAssetUrl()` for version-pinned originals, downloads and bounded still previews. + Its new Built-ins require the corresponding API2 deployment before adoption; URL construction + does not publish assets. Existing `storeImage()` behavior is preserved. + + The generic CLI intentionally now requires unchanged original bytes, including for images: a + server-transformed upload exits nonzero after saving its actual receipt instead of silently + accepting a watermark. It uses the `file` upload field. Use the existing SDK `storeImage()` API + when deliberately accepting transformed image bytes. + + Plain and hashed replays both trust the local receipt's byte hash and do not verify live existence. + Refresh stale catalogs with `storage receipts sync`; incomplete legacy receipts require recovery + before replay. Sync cannot generate a missing checksum. Dimensionless files and unknown MIME types + remain in `files` outside Viewer's typed map; new uploads and sync require an explicit image MIME + type to classify an entry as a Viewer image. Existing catalogs remain readable. + ## 4.10.1 ### Patch Changes diff --git a/packages/utils/package.json b/packages/utils/package.json index e92a741f..b102a7d9 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@transloadit/utils", - "version": "4.10.1", + "version": "4.11.0", "description": "Transloadit shared utilities", "type": "module", "license": "MIT", diff --git a/yarn.lock b/yarn.lock index 4fc8dd8e..af587d89 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1619,7 +1619,7 @@ __metadata: dependencies: "@modelcontextprotocol/sdk": "npm:^1.29.0" "@playwright/test": "npm:1.64.0" - "@transloadit/node": "npm:^6.8.0" + "@transloadit/node": "npm:^6.9.0" "@transloadit/sev-logger": "npm:^0.1.9" "@transloadit/zod": "npm:^7.5.0" "@types/express": "npm:^5.0.6" @@ -1636,12 +1636,12 @@ __metadata: languageName: unknown linkType: soft -"@transloadit/node@npm:^6.8.0, @transloadit/node@workspace:packages/node": +"@transloadit/node@npm:^6.9.0, @transloadit/node@workspace:packages/node": version: 0.0.0-use.local resolution: "@transloadit/node@workspace:packages/node" dependencies: "@transloadit/sev-logger": "npm:^0.1.9" - "@transloadit/utils": "npm:^4.10.0" + "@transloadit/utils": "npm:^4.11.0" "@types/debug": "npm:^4.1.13" "@types/lodash-es": "npm:^4.17.12" "@types/node": "npm:^25.8.0" @@ -1706,7 +1706,7 @@ __metadata: languageName: unknown linkType: soft -"@transloadit/utils@npm:^4.10.0, @transloadit/utils@npm:^4.10.1, @transloadit/utils@npm:^4.3.0, @transloadit/utils@workspace:packages/utils": +"@transloadit/utils@npm:^4.10.1, @transloadit/utils@npm:^4.11.0, @transloadit/utils@npm:^4.3.0, @transloadit/utils@workspace:packages/utils": version: 0.0.0-use.local resolution: "@transloadit/utils@workspace:packages/utils" dependencies: @@ -6532,7 +6532,7 @@ __metadata: resolution: "transloadit@workspace:packages/transloadit" dependencies: "@transloadit/sev-logger": "npm:^0.1.9" - "@transloadit/utils": "npm:^4.10.0" + "@transloadit/utils": "npm:^4.11.0" "@types/debug": "npm:^4.1.13" "@types/node": "npm:^25.8.0" "@types/recursive-readdir": "npm:^2.2.4"