Major Changes
-
7e8e04f:
@uppy/utils,@uppy/store-default,@uppy/companion-clientand@uppy/provider-views
have been merged into@uppy/core
(#6370). No new versions of them will be
published: their existing releases stay on npm but are deprecated in favour of the
@uppy/coresubpaths.Removed package New import @uppy/utils@uppy/core/utils@uppy/store-default@uppy/core/store-default@uppy/companion-client@uppy/core/companion-client@uppy/provider-views@uppy/core/provider-viewsRemove them from your
package.json— every Uppy plugin already depends on@uppy/core, so
there is now a single source of truth instead of a sub-dependency that could be pinned to
an older copy in your lockfile.Also breaking:
- Provider CSS moved:
@uppy/provider-views/css/style.min.css→
@uppy/core/provider-views/css/style.min.css. Most apps don't import this directly —
it ships bundled in@uppy/dashboard's CSS. RequestOptionsmoved from@uppy/utilsto@uppy/core/companion-client.CompanionClientProviderandCompanionClientSearchProviderare removed. They were
hand-maintained stand-ins that existed only because@uppy/utilscould not see the
real provider classes. ImportProviderfrom@uppy/core/companion-clientinstead.
Through the
uppymeta-package or the CDN bundle, nothing changes:server
(companion-client),views.ProviderViewandDefaultStorekeep their names and are
repointed at the@uppy/coresubpaths internally. Only direct imports of the four
packages need the table above. - Provider CSS moved:
-
ad4050b: Send token using websocket instead of window.opener.
Breaking in@uppy/corebecause it needs newest version of Companion in order to work.
Breaking in@uppy/companionbecausecompanion.socket()now requirescompanionOptionsto be passed as the second argument. -
4a0e6c9: Remove
isTouchDevice
Minor Changes
-
ddffd2c: Narrow a number of
anytypes to real types. Some affect the public interface.This also fixes some bugs the new types revealed:
- The "copy link" helper now actually applies its styles to the temporary textarea it creates. Previously the style object was stringified to
"[object Object]", leaving the textarea unstyled and able to scroll the page when selected. - Cancelling the file card now emits
dashboard:file-edit-completewith the file being edited, instead ofundefined. - The "missing required meta fields" message now passes the file to a
metaFieldscallback, which previously receivedundefined, and no longer throws when a field listed in therequiredMetaFieldsrestriction has no matching entry inmetaFields.
- The "copy link" helper now actually applies its styles to the temporary textarea it creates. Previously the style object was stringified to
-
84ad853: Import Preact from @uppy/core utilities to guarantee a single version across packages.
Patch Changes
-
675697d: Add
useGooglePickerreact hook and remove unusedRequestClientoptionsname,pluginIdandprovider. -
c3c7cef: Bump shared runtime dependencies (preact, nanoid, lodash, classnames, shallow-equal, pretty-bytes, p-queue, tus-js-client, @transloadit/types @transloadit/prettier-bytes v1, is-mobile, exifr, compressorjs, rxjs, tslib). Also includes type-only fixes in
@uppy/companion'sjwt.tsandrequest.tsto track@types/jsonwebtokenv9 and@types/node. -
2608032: Export the
Processortype so consumers can type functions passed toaddPreProcessor,addPostProcessor, andaddUploader -
260804f: Type
nameandmimeTypeonPickedItemBaseas optional, matching what the
Google Picker actually returns.@types/google.pickerv0.0.52 corrected these
to be optional because views other than Drive documents may omit them. Files
picked without a name or mime type are passed through and resolved by Companion
rather than failing the whole selection.nameis now also optional onMinimalRequiredUppyFile(the type accepted by
uppy.addFile()/addFiles()), which matches the existing runtime behaviour —
getFileNamealready falls back to the mime type ornonamewhen a file
descriptor has no name. -
7ac2623: uploadRemoteFile() now queues token request and websocket request as a single job in the request queue.
-
1a1aef3: Keep remote provider views within the Dashboard when breadcrumbs and filenames are long.