uploads-v0.21.0
Minor Changes
-
963ea12: Add a canonical metadata vocabulary for uploads.
screenshotnow derivesurl,path,env,themeandviewportfrom the capture, andputpromotes an allowlist of image EXIF (viewport,device,software,captured) into queryable metadata before stripping it from the bytes. New--stateand--appflags, and matching MCP params, cover what the CLI cannot derive.uploads find path=/settings state=afteris the payoff.The MCP
metadatadescription previously suggestedpageandresolution; it now names the canonical keys and points atpathas the one to search by.Two behavior changes worth reading before upgrading:
deviceandsoftwarecome from EXIF that was previously discarded, and promoted metadata renders on the public file page. GPS coordinates, serial numbers and personal-name tags are never promoted.- Metadata sent on a put fully replaces that key's stored set. Because derived
keys count as metadata, a re-upload that derives anything now replaces the
set where it previously left it untouched. Pass
--no-autowhen re-uploading a key whose metadata you curated withuploads meta set.
Opt out of the whole derived tier with
--no-autoorUPLOADS_NO_AUTO_META=1.
Patch Changes
- 81b220a: Fixes a gap where a workspace could implicitly bind (or explicitly claim via
uploads github link) another org's GitHub repo the App is installed on, letting it post or deface theuploads-sh[bot]comment there. Claiming an unbound repo now requires the calling workspace's linked GitHub account to have push (or higher) access to that repo, verified live via the App's installation token. An unauthorized claim gets the same soft{ posted: false, reason: "not_authorized" }/{ claimed: false, reason: "not_authorized" }decline as posting to an already-bound repo — never a server error, and the CLI never falls back toghfor it. Repos bound before this check shipped keep working unchanged. - f65813f: Export the canonical metadata helpers (
stateProp,appProp,canonicalMetaFromArgs,metadataArgWithCanonical) from the/mcpentry point so the hosted MCP server can reuse them instead of keeping its own copy of the metadata tool description.
Fetched August 1, 2026

