Commit graph

359 commits

Author SHA1 Message Date
Prakash
2d429a8aef
@uppy/aws-s3: remote uploads and golden retriever (#6186)
- add support for remote uploads
- add support for restore using golden-retriever
- update examples
- #6181 still persists

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2026-06-17 13:54:48 +05:30
Prakash
da46951771
@uppy/aws-s3: wrong upload meta in upload-success event (#6234)
right now whenever you upload any file through multipart upload you'll
find empty body returned in `upload-success` event

cause : response from completeMultipartRequest returned in CamelCase
which was not parsed correctly

```xml
<?xml version="1.0" encoding="UTF-8"?>

<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Location>https://testbucketnewfix.s3.eu-north-1.amazonaws.com/13febe01-8d5b-4ed3-bda1-9620fc37c694-VSCode-darwin-universal.dmg</Location><Bucket>testbucketnewfix</Bucket><Key>13febe01-8d5b-4ed3-bda1-9620fc37c694-VSCode-darwin-universal.dmg</Key><ETag>"be4129821e06a893b453f1373995202b-49"</ETag><ChecksumCRC64NVME>Wjr7mcJOfU0=</ChecksumCRC64NVME><ChecksumType>FULL_OBJECT</ChecksumType></CompleteMultipartUploadResult>
```

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-17 13:54:47 +05:30
Prakash
779c19c9d7
@uppy/aws-s3 add queue (#6171)
- queue support added for file level concurrency.
2026-06-17 13:54:47 +05:30
Prakash
3529f97899
fix signature mismatch in @uppy/aws-s3 (#6165)
shouldUseMultipart: true was not working due to signature mismatch

AI summary :

This pull request improves support for specifying the `contentType`
during S3 uploads, ensuring that the correct content type is set when
generating presigned URLs for both single and multipart uploads. It also
updates the client-side and server-side code to handle this new
parameter.

**Backend and API enhancements:**
- Updated the `/s3/presign` endpoint in `index.js` to accept an optional
`contentType` parameter and to include it in the S3 `PutObjectCommand`
and `CreateMultipartUploadCommand` requests, defaulting to
`'application/octet-stream'` if not provided.
[[1]](diffhunk://#diff-0c4471088c62917198e1438777b4c7e78fd4d87d450d2a7c78b86b7c647ac97bL360-R360)
[[2]](diffhunk://#diff-0c4471088c62917198e1438777b4c7e78fd4d87d450d2a7c78b86b7c647ac97bR384-R391)

**Client-side and types improvements:**
- Added `contentType` to the `presignableRequest` type to ensure type
safety and clarity when passing this parameter.
- Modified the S3 client (`S3.ts`) to include `contentType` when making
presign requests.
- Updated the example HTML (`rewrite-test.html`) to send `contentType`
in presign requests and enabled multipart uploads for testing.
[[1]](diffhunk://#diff-ca9bc28a71d2d8ac4e0aa6844698f2244594a12e695fc3e153db36674ccb2b52L103-R103)
[[2]](diffhunk://#diff-ca9bc28a71d2d8ac4e0aa6844698f2244594a12e695fc3e153db36674ccb2b52R114)
2026-06-17 13:54:47 +05:30
Prakash
828b8df284
Use fetcher in s3mini for progress and retries with backoff (#6155)
Cherry-picked as the previous branch got messy ( from last PR )

- XHR-based uploads using `@uppy/utils/fetcher`
- Silent offline detection (without treating it as an error) with
automatic resume ( inspired from old plugin code )
- Retry with backoff using fetcher defaults:
  - Max retries: 3
  - Delays: 300ms → 600ms → 1200ms
  - Retries on 5xx and 429; skips other 4xx errors
- S3 Error Mappings
2026-06-17 13:54:47 +05:30
Prakash
af1ce527f5
implement minimal aws-s3 plugin (#6151)
Working :

- Simple uploads (putObject)
- Multipart uploads
- Pause / Resume / Abort , Resume works using listParts as before
- Progress tracking per chunk ( `#onProgress` ) - this is temporary ,
until we implement xhr based progress tracking as - before.

**added new examples to examples/aws-nodejs to test the rewrite , old
examples will eventually be removed**

Not Yet Implemented

- Rate limiting  – Currently uploads are sequential
- Retries
- Remote file uploads – Files from Google Drive, Dropbox, etc.
XHR progress
- full wiring with uppy state ( I saw few state bugs while testing it
manually )

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Murderlon <merlijn@soverin.net>
2026-06-17 13:54:47 +05:30
Prakash
8757a86b15
s3mini use presigned URLs instead of signed headers (#6130)
#### This PR replaces signed headers with presigned urls , for signing.
- I implemented this along with the uploader rewrite , but raised PR for
this it separately to reduce diffs.
- `signer.ts` now returns signed url , which is directly used by
`_presignedRequest` method to make calls to s3
- tested it with uploader rewrite working fine.

---------

Co-authored-by: Murderlon <merlijn@soverin.net>
2026-06-17 13:54:47 +05:30
Prakash
a3ca750b13
remove tests 2026-06-17 13:54:47 +05:30
Prakash
e7f62dd5c6
remove HTTPCommunication queue and clean index.ts and MultipartUplaoder.ts 2026-06-17 13:54:47 +05:30
Prakash
bd8d51b02d
@uppy/aws-s3: add support for tempCredentials in s3mini (#6110)
- added `getCredentials` callback in `S3Config`
- simplified signer test util ( `sigv4-signer.js` ) and moved to
`src/signer.ts`
- all tests run in a new non root minio user ( required for sts ) ,
which gets created before the tests start see `tests/s3-client/setup.js`
- tests added for sts , using `@aws-sdk/client-sts` for getting creds.
- credential caching inspired from the current implementation in
`@aws-s3` plugin , see `#getTemporarySecurityCredentials` inside
`@uppy/aws-s3/src/index.ts`

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-06-17 13:54:47 +05:30
Prakash
db9506a57c
give credit 2026-06-17 13:54:47 +05:30
Prakash
6b9521f6b1
add s3mini client to @uppy/aws-s3 plugin (#6103)
- base branch cleanup and ran `yarn && yarn dedupe`
- client copied and tests wired up
2026-06-17 13:54:47 +05:30
Merlijn Vos
3c3034b408
Dedupe dependencies (#6085)
With `yarn dedupe`. New type error surfaced due to new types getting
loaded.


<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Dedupes dependencies and updates code: aligns S3 presign tests with
checksum behavior, narrows HMAC key type, tweaks AudioOscilloscope
buffer typing, and simplifies Tus success logging.
> 
> - **AWS S3**:
> - Tests: add `requestChecksumCalculation` (from
`@aws-sdk/middleware-flexible-checksums`) to `S3Client` options to match
presign behavior.
> - Impl: change `generateHmacKey` signature to accept `string |
ArrayBuffer` (remove `Uint8Array`).
> - **Audio**:
> - `AudioOscilloscope`: change `dataArray` type to
`Uint8Array<ArrayBuffer>`.
> - **Tus**:
> - Simplify success log to `Download <url>` (remove file name
extraction).
> - **Dependencies**:
>   - Deduplicate/upgrade various packages in lockfile.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
5b95865a7c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-12-05 10:22:11 +01:00
github-actions[bot]
556e36de4c
[ci] release (#6060)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## @uppy/audio@3.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/aws-s3@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/box@4.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/compressor@3.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/core@5.2.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.
- 4817585: added icon to webdav provider, add css to truncate large file
names
-   Updated dependencies [ac12f35]
    -   @uppy/utils@7.1.4

## @uppy/dashboard@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- cc3ff31: Move golden retriever clear files logic to the restore
function. This prevents race condition bugs when storing state.
-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/thumbnail-generator@5.1.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/drag-drop@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/drop-target@4.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/dropbox@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/facebook@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/form@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/golden-retriever@5.2.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- cc3ff31: Move golden retriever clear files logic to the restore
function. This prevents race condition bugs when storing state.
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/google-drive@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/google-drive-picker@1.1.0

### Minor Changes

- e661348: Allow selecting folders with Google Drive Picker. They will
be recursively resolved.
- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/google-photos-picker@1.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/image-editor@4.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/instagram@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/onedrive@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/provider-views@5.2.0

### Minor Changes

- e661348: Allow selecting folders with Google Drive Picker. They will
be recursively resolved.
- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- 4817585: added icon to webdav provider, add css to truncate large file
names
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/remote-sources@3.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [cc3ff31]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/dashboard@5.1.0
    -   @uppy/google-drive@5.1.0
    -   @uppy/instagram@5.1.0
    -   @uppy/facebook@5.1.0
    -   @uppy/onedrive@5.1.0
    -   @uppy/unsplash@5.1.0
    -   @uppy/dropbox@5.1.0
    -   @uppy/core@5.2.0
    -   @uppy/zoom@4.1.0
    -   @uppy/box@4.1.0
    -   @uppy/url@5.1.0

## @uppy/screen-capture@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/status-bar@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/thumbnail-generator@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/transloadit@5.3.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/tus@5.1.0
    -   @uppy/utils@7.1.4

## @uppy/tus@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/unsplash@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/url@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/webcam@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/webdav@1.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/xhr-upload@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/zoom@4.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/companion@6.2.1

### Patch Changes

- 4817585: added icon to webdav provider, add css to truncate large file
names

## @uppy/locales@5.0.1

### Patch Changes

-   c3c16ae: Improve zh-CN and zh-TW locale
-   8744c4d: Improve Dutch locale
-   Updated dependencies [ac12f35]
    -   @uppy/utils@7.1.4

## @uppy/utils@7.1.4

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.

## uppy@5.1.12

### Patch Changes

-   Updated dependencies [cc3ff31]
-   Updated dependencies [c3c16ae]
-   Updated dependencies [8744c4d]
-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/dashboard@5.1.0
    -   @uppy/golden-retriever@5.2.0
    -   @uppy/locales@5.0.1
    -   @uppy/provider-views@5.2.0
    -   @uppy/google-drive-picker@1.1.0
    -   @uppy/google-photos-picker@1.1.0
    -   @uppy/thumbnail-generator@5.1.0
    -   @uppy/remote-sources@3.1.0
    -   @uppy/screen-capture@5.1.0
    -   @uppy/google-drive@5.1.0
    -   @uppy/image-editor@4.1.0
    -   @uppy/drop-target@4.1.0
    -   @uppy/transloadit@5.3.0
    -   @uppy/compressor@3.1.0
    -   @uppy/status-bar@5.1.0
    -   @uppy/xhr-upload@5.1.0
    -   @uppy/drag-drop@5.1.0
    -   @uppy/instagram@5.1.0
    -   @uppy/facebook@5.1.0
    -   @uppy/onedrive@5.1.0
    -   @uppy/unsplash@5.1.0
    -   @uppy/dropbox@5.1.0
    -   @uppy/aws-s3@5.1.0
    -   @uppy/webcam@5.1.0
    -   @uppy/webdav@1.1.0
    -   @uppy/audio@3.1.0
    -   @uppy/core@5.2.0
    -   @uppy/form@5.1.0
    -   @uppy/zoom@4.1.0
    -   @uppy/box@4.1.0
    -   @uppy/tus@5.1.0
    -   @uppy/url@5.1.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-02 10:09:28 +01:00
Mikael Finstad
ac12f35f5b
Move completed uploads exclusion logic (#6058)
into uploader plugins

fixes #6051

also [fix deprecated usage of done
callback](2511142276)
2025-11-24 19:47:45 +07:00
Prakash
79e6460a6c
Make Generics Optional in uppy.getPlugin (#6057)
fixes #6024.

### Problem
- `getPlugin()` defaults to `UnknownPlugin`, so methods like `openModal`
are not visible , since core is not aware of that plugin type

### Proposed change
- Introduce a types-only registry in core:
- `export interface PluginTypeRegistry<M extends Meta, B extends Body>
{}`
- Overload `getPlugin` to return a precise type when the id is a known
key of the registry.
- add `Dashboard` to  PluginTypeRegistry through module augmentation:
  - `'Dashboard': Dashboard<M, B>`.
- When a project imports from `@uppy/dashboard`, its module augmentation
extends PluginTypeRegistry, adding the correct type into it
- I've added Tests , kept them in a separate file so it's easier to
review , once this approach gets approved I'll add them to
`Uppy.test.ts`

Once this PR gets a positive review I'll add this for other plugins ,
currently only added for `@uppy/dashboard`

**Build with Local tarball can be checked here** 


https://stackblitz.com/~/github.com/qxprakash/uppy-type-test?file=type_test.ts
2025-11-17 18:18:54 +05:30
github-actions[bot]
2c4727e5f4
[ci] release (#6011)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## @uppy/aws-s3@5.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/companion-client@5.1.1
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/companion@6.1.1

### Patch Changes

- 6a60ee5: Reject request early instead of crashing on missing
`filename` for /s3/multipart and /s3/params endpoints

## @uppy/companion-client@5.1.1

### Patch Changes

- 0c16fe4: - Split UppyFile into two intefaces distinguished by the
`isRemote` boolean:
    -   LocalUppyFile
    -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/components@1.0.4

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Move `restore-confirmed` from `onUploadStart` event listener to
`startUpload`, else it would cause `restore-confirmed` to be triggered
even if there is no `recoveredState` to recover
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/image-editor@4.0.2

## @uppy/compressor@3.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/core@5.1.1

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`)
- Introduce new field `progress`.`complete`: if there is a
post-processing step, set it to `true` once post processing is complete.
If not, set it to `true` once upload has finished.
- Throw a proper `Nonexistent upload` error message if trying to upload
a non-existent upload, instead of TypeError
    -   Rewrite `Uppy.upload()` - this fixes two bugs:
1. No more duplicate emit call when
this.#restricter.validateMinNumberOfFiles throws (`#informAndEmit` and
`this.emit('error')`)
2. 'restriction-failed' now also gets correctly called when
`checkRequiredMetaFields` check errors.
    -   Don't re-upload completed files #5930
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
    -   Remove TagFile type - Use UppyFile instead.
    -   Make `name` required on UppyFile (it is in reality always set)
- Fix bug: `RestrictionError` sometimes thrown with a `file` property
that was _not_ a `UppyFile`, but a `File`. This would happen if someone
passed a `File` instead of a `MinimalRequiredUppyFile` into
`core.addFile` (which is valid to do according to our API)
    -   Improve some log messages
    -   Simplify Uppy `postprocess-complete` handler
-   Updated dependencies [0c16fe4]
    -   @uppy/utils@7.1.1

## @uppy/dashboard@5.0.3

### Patch Changes

-   0c16fe4: - Remove `restore-canceled` event as it was not being used.
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1
    -   @uppy/provider-views@5.1.1
    -   @uppy/thumbnail-generator@5.0.2

## @uppy/golden-retriever@5.1.1

### Patch Changes

- 0c16fe4: - **Internal inter-package breaking change:** Remove hacky
internal event `restore:get-data` that would send a function as its
event data (to golden retriever for it to call the function to receive
data from it). Add instead `restore:plugin-data-changed` that publishes
data when it changes. This means that **old versions of
`@uppy/transloadit` are not compatible with newest version of
`@uppy/golden-retriever` (and vice versa)**.
    -   Large internal refactor of Golden Retriever
- Use `state-update` handler to trigger save to local storage and blobs,
instead of doing it in various other event handlers (`complete`,
`upload-success`, `file-removed`, `file-editor:complete`, `file-added`).
this way we don't miss any state updates. also simplifies the code a
lot. this fixes:
- Always store blob when it changes - this fixes the bug when using the
compressor plugin, it would store the uncompressed original blob (like
when using image editor plugin)
- Add back throttle: but throttling must happen on the actual local
storage save calls inside MetaDataStore, _not_ the handleStateUpdate
function, so we don't miss any state updates (and end up with
inconsistent data). Note that there is still a race condition where if
the user removes a file (causing the blob to be deleted), then quickly
reloads the page before the throttled save has happened, the file will
be restored but the blob will be missing, so it will become a ghost.
this is probably not a big problem though. need to disable throttling
when running tests (add it as an option to the plugin)
    -   Fix implicit `any` types in #restore filesWithBlobs
- Don't error when saving indexedDB file that already exists (make it
idempotent)
- Fix bug: Golden Retriever was not deleting from IndexedDbStore if
ServiceWorkerStore exists, causing a storage leak
    -   Remove unused Golden Retriever cleanup.ts
- Clean up stored files on `complete` event _only_ if _all_ files
succeeded (no failed files). this allows the user to retry failed files
if they get interrupted - fixes #5927, closes #5955
- Only set `isGhost` for non-successful files - it doesn't make sense
for successfully uploaded files to be ghosted because they're already
done. #5930
- Add `upload-success` event handler `handleFileUploaded`: this handler
will remove blobs of files that have successfully uploaded. this
prevents leaking blobs when an upload with multiple files gets
interrupted (but some files have uploaded successfully), because
`#handleUploadComplete` (which normally does the cleanup) doesn't get
called untill _all_ files are complete.
- Fix `file-editor:complete` potential race condition: it would delete
and add at the same time (without first awaiting delete operation)
    -   Fix: Don't double `setState` when restoring
    -   Improve types in golden retriever and MetaDataStore
- MetaDataStore: move old state expiry to from `constructor` to `load()`
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/image-editor@4.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/provider-views@5.1.1

### Patch Changes

-   0c16fe4: - Rename `getTagFile` to `companionFileToUppyFile`
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/thumbnail-generator@5.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/transloadit@5.1.3

### Patch Changes

- 0c16fe4: - **Internal inter-package breaking change:** Remove hacky
internal event `restore:get-data` that would send a function as its
event data (to golden retriever for it to call the function to receive
data from it). Add instead `restore:plugin-data-changed` that publishes
data when it changes. This means that **old versions of
`@uppy/transloadit` are not compatible with newest version of
`@uppy/golden-retriever` (and vice versa)**.
- Minor internal refactoring in order to make sure that we will always
emit `restore:plugin-data-changed` whenever assembly state changes
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/companion-client@5.1.1
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1
    -   @uppy/provider-views@5.1.1
    -   @uppy/tus@5.0.2

## @uppy/tus@5.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/companion-client@5.1.1
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/url@5.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/companion-client@5.1.1
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/utils@7.1.1

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`)
- Introduce new field `progress`.`complete`: if there is a
post-processing step, set it to `true` once post processing is complete.
If not, set it to `true` once upload has finished.
- Throw a proper `Nonexistent upload` error message if trying to upload
a non-existent upload, instead of TypeError
    -   Rewrite `Uppy.upload()` - this fixes two bugs:
1. No more duplicate emit call when
this.#restricter.validateMinNumberOfFiles throws (`#informAndEmit` and
`this.emit('error')`)
2. 'restriction-failed' now also gets correctly called when
`checkRequiredMetaFields` check errors.
    -   Don't re-upload completed files #5930
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
    -   Remove TagFile type - Use UppyFile instead.
    -   Make `name` required on UppyFile (it is in reality always set)
- Fix bug: `RestrictionError` sometimes thrown with a `file` property
that was _not_ a `UppyFile`, but a `File`. This would happen if someone
passed a `File` instead of a `MinimalRequiredUppyFile` into
`core.addFile` (which is valid to do according to our API)
    -   Improve some log messages
    -   Simplify Uppy `postprocess-complete` handler

## uppy@5.1.7

### Patch Changes

-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/aws-s3@5.0.2
    -   @uppy/companion-client@5.1.1
    -   @uppy/compressor@3.0.2
    -   @uppy/core@5.1.1
    -   @uppy/dashboard@5.0.3
    -   @uppy/golden-retriever@5.1.1
    -   @uppy/image-editor@4.0.2
    -   @uppy/provider-views@5.1.1
    -   @uppy/thumbnail-generator@5.0.2
    -   @uppy/transloadit@5.1.3
    -   @uppy/tus@5.0.2
    -   @uppy/url@5.0.2

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-17 20:24:52 +02:00
Mikael Finstad
0c16fe44b9
Golden retriever refactor and UppyFile type improvements (#5978)
Probably best reviewed commit by commit.

I also split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
- LocalUppyFile
- RemoteUppyFile

Also:
- Removed the TagFile type
- Don't re-upload completed files - fixes #5930
- Clean up stored files on `complete` event *only* if *all* files
succeeded (no failed files). this allows the user to retry failed files
if the browser & upload get interrupted - fixes #5927, closes #5955
- Only set `isGhost` for non-successful files. it doesn't make sense for
successfully uploaded files to be ghosted because they're already done.
#5930

fixes #6013

---------

Co-authored-by: Prakash <qxprakash@gmail.com>
2025-10-17 23:17:40 +08:00
github-actions[bot]
54ee01105d
[ci] release (#5939)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## @uppy/golden-retriever@5.1.0

### Minor Changes

- 6c0cbe6: Converted sw.js to sw.ts so that it can be transpiled, in the
build.

### Patch Changes

-   4b6a76c: added missing exports.
- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/angular@1.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/dashboard@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/audio@3.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/aws-s3@5.0.1

### Patch Changes

-   4b6a76c: added missing exports.
- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/box@4.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/companion@6.0.2

### Patch Changes

- 7e5acf1: fix the server crashing due a malformed json in a websocket
message
- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.

## @uppy/companion-client@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/components@1.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
    -   @uppy/core@5.0.2
    -   @uppy/audio@3.0.1
    -   @uppy/image-editor@4.0.1
    -   @uppy/remote-sources@3.0.1
    -   @uppy/screen-capture@5.0.1
    -   @uppy/webcam@5.0.1

## @uppy/compressor@3.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/core@5.0.2

### Patch Changes

-   4b6a76c: added missing exports.
- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/utils@7.0.2

## @uppy/dashboard@5.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/provider-views@5.0.2
    -   @uppy/thumbnail-generator@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/drag-drop@5.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/drop-target@4.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/dropbox@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/facebook@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/form@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/google-drive@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/google-drive-picker@1.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/google-photos-picker@1.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/image-editor@4.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/instagram@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/onedrive@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/provider-views@5.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/react@5.0.3

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/components@1.0.2
    -   @uppy/dashboard@5.0.2
    -   @uppy/screen-capture@5.0.1
    -   @uppy/utils@7.0.2
    -   @uppy/webcam@5.0.1

## @uppy/remote-sources@3.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
    -   @uppy/core@5.0.2
    -   @uppy/box@4.0.1
    -   @uppy/dashboard@5.0.2
    -   @uppy/dropbox@5.0.1
    -   @uppy/facebook@5.0.1
    -   @uppy/google-drive@5.0.1
    -   @uppy/instagram@5.0.1
    -   @uppy/onedrive@5.0.1
    -   @uppy/unsplash@5.0.1
    -   @uppy/url@5.0.1
    -   @uppy/zoom@4.0.1

## @uppy/screen-capture@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/status-bar@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/thumbnail-generator@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/transloadit@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/tus@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/tus@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/unsplash@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/url@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/utils@7.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
- 9bac4c8: Fix `TypeError: Cannot use 'in' operator to search for
'draggable' in null`

## @uppy/vue@3.0.3

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   9f18ac7: Export UppyContext and UppyContextSymbol
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
    -   @uppy/core@5.0.2
    -   @uppy/components@1.0.2
    -   @uppy/dashboard@5.0.2

## @uppy/webcam@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/webdav@1.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/xhr-upload@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/zoom@4.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## uppy@5.1.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [6c0cbe6]
    -   @uppy/golden-retriever@5.1.0
    -   @uppy/aws-s3@5.0.1
    -   @uppy/core@5.0.2
    -   @uppy/audio@3.0.1
    -   @uppy/box@4.0.1
    -   @uppy/companion-client@5.0.1
    -   @uppy/compressor@3.0.1
    -   @uppy/dashboard@5.0.2
    -   @uppy/drag-drop@5.0.2
    -   @uppy/drop-target@4.0.1
    -   @uppy/dropbox@5.0.1
    -   @uppy/facebook@5.0.1
    -   @uppy/form@5.0.1
    -   @uppy/google-drive-picker@1.0.1
    -   @uppy/google-drive@5.0.1
    -   @uppy/google-photos-picker@1.0.1
    -   @uppy/image-editor@4.0.1
    -   @uppy/instagram@5.0.1
    -   @uppy/onedrive@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/remote-sources@3.0.1
    -   @uppy/screen-capture@5.0.1
    -   @uppy/status-bar@5.0.1
    -   @uppy/thumbnail-generator@5.0.1
    -   @uppy/transloadit@5.0.1
    -   @uppy/tus@5.0.1
    -   @uppy/unsplash@5.0.1
    -   @uppy/url@5.0.1
    -   @uppy/webcam@5.0.1
    -   @uppy/webdav@1.0.1
    -   @uppy/xhr-upload@5.0.1
    -   @uppy/zoom@4.0.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-16 16:07:17 +02:00
Prakash
4b6a76cbf4
add missing exports (#5952)
fixes #5940
2025-09-04 22:43:50 +05:30
Prakash
f997d8b401
Revert "add missing exports" (#5951)
Reverts transloadit/uppy#5944
2025-09-04 22:29:21 +05:30
Prakash
06f8382338
add missing exports (#5944)
fixes #5940
2025-09-04 22:24:49 +05:30
Prakash
975317dd17
remove main from package.json (#5950)
redo of #5943 , forgot to add changesets , reverted in #5949
2025-09-04 17:39:50 +05:30
Prakash
d65e6e4179
Revert "packages/@uppy/* : remove "main" from package.json (#5943)" (#5949)
This reverts commit 2117874073.
2025-09-04 17:26:34 +05:30
Prakash
2117874073
packages/@uppy/* : remove "main" from package.json (#5943)
- The blocker was `@uppy/angular` — its build was failing because it
could not resolve modules and types for its dependencies
(`@uppy/dashboard`, `@uppy/utils`, `@uppy/provider-views`,
`@uppy/core`).

```typescript
------------------------------------------------------------------------------
Building entry point '@uppy/angular'
------------------------------------------------------------------------------
✖ Compiling with Angular sources in Ivy partial compilation mode.
../dashboard/lib/Dashboard.d.ts:1:106 - error TS2307: Cannot find module '@uppy/core' or its corresponding type declarations.

1 import type { Body, DefinePluginOpts, Meta, State, UIPluginOptions, UnknownPlugin, Uppy, UppyFile } from '@uppy/core';
                                                                                                           ~~~~~~~~~~~~
../dashboard/lib/Dashboard.d.ts:2:26 - error TS2307: Cannot find module '@uppy/core' or its corresponding type declarations.

2 import { UIPlugin } from '@uppy/core';
                           ~~~~~~~~~~~~
../dashboard/lib/Dashboard.d.ts:3:35 - error TS2307: Cannot find module '@uppy/provider-views' or its corresponding type declarations.


```

Angular (TypeScript with moduleResolution: node) required a "main" or
"types" field in each dependency’s package.json, and ignored their
"exports" map.
2025-09-04 17:02:01 +05:30
github-actions[bot]
e183da8de9
[ci] release (#5918)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## @uppy/audio@3.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/aws-s3@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/core@5.0.0

## @uppy/box@4.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/companion@6.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

- acdc683: Make Companion ESM-only. As of Node.js 20.19.0, you can
require(esm) if you haven't transitioned yet.

## @uppy/companion-client@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/components@1.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [c5b51f6]
    -   @uppy/remote-sources@3.0.0
    -   @uppy/screen-capture@5.0.0
    -   @uppy/image-editor@4.0.0
    -   @uppy/webcam@5.0.0
    -   @uppy/audio@3.0.0
    -   @uppy/core@5.0.0

## @uppy/compressor@3.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/core@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/store-default@5.0.0

## @uppy/dashboard@5.0.0

### Major Changes

-   e869243: ### Merge @uppy/status-bar into @uppy/dashboard

The `@uppy/status-bar` package has been merged into `@uppy/dashboard`.
The plugin gave a false promise of flexibility as a standalone plugin
but was always built tightly coupled for `@uppy/dashboard`. With the new
headless components and hooks, we want go all in those components and
remove the confusing, inflexible ones.

StatusBar is now rendered as an integrated component within Dashboard
rather than as a separate plugin. The standalone `@uppy/status-bar`
package is no longer maintained and should be removed from your
dependencies.

    #### Migration from standalone StatusBar to Dashboard

If you were using StatusBar as a separate plugin, you'll need to migrate
to using Dashboard with the equivalent options.

    **Before:**

    ```javascript
    import StatusBar from "@uppy/status-bar";

    uppy.use(StatusBar, {
      target: "#status-bar",
      showProgressDetails: true,
      hideUploadButton: false,
      hideAfterFinish: true,
    });
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/dashboard";

    uppy.use(Dashboard, {
      target: "#dashboard",
      hideProgressDetails: false,
      hideUploadButton: false,
      hideAfterFinish: true,
    });
    ```

All StatusBar configuration options are now available directly as
Dashboard options:

- `hideProgressDetails` - Hide detailed progress information (previously
`showProgressDetails` with inverted logic)
    -   `hideUploadButton` - Hide the upload button
    -   `hideAfterFinish` - Hide status bar after upload completion
    -   `hideRetryButton` - Hide the retry button
    -   `hidePauseResumeButton` - Hide pause/resume controls
    -   `hideCancelButton` - Hide the cancel button
    -   `doneButtonHandler` - Custom handler for the done button

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/thumbnail-generator@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/drop-target@4.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/dropbox@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/facebook@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/form@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/golden-retriever@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/google-drive@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/google-drive-picker@1.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/google-photos-picker@1.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/image-editor@4.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/instagram@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/locales@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0

## @uppy/onedrive@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/provider-views@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/react@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/utils@7.0.0
    -   @uppy/screen-capture@5.0.0
    -   @uppy/components@1.0.0
    -   @uppy/webcam@5.0.0
    -   @uppy/core@5.0.0

## @uppy/remote-sources@3.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/google-drive@5.0.0
    -   @uppy/instagram@5.0.0
    -   @uppy/facebook@5.0.0
    -   @uppy/onedrive@5.0.0
    -   @uppy/unsplash@5.0.0
    -   @uppy/dropbox@5.0.0
    -   @uppy/core@5.0.0
    -   @uppy/zoom@4.0.0
    -   @uppy/box@4.0.0
    -   @uppy/url@5.0.0

## @uppy/screen-capture@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/store-default@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

## @uppy/svelte@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/components@1.0.0
    -   @uppy/core@5.0.0

## @uppy/thumbnail-generator@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/transloadit@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0
    -   @uppy/tus@5.0.0

## @uppy/tus@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/core@5.0.0

## @uppy/unsplash@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/url@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/core@5.0.0

## @uppy/utils@7.0.0

### Major Changes

- d301c01: Updated export maps for @uppy/utils: removed nested subpath
exports; all utilities are now exported from the root index.js.

    **Before :**

    ```typescript
import getFileTypeExtension from "@uppy/utils/lib/getFileTypeExtension";
    ```

    **After :**

    ```typescript
    import { getFileTypeExtension } from "@uppy/utils";
    ```

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

## @uppy/vue@3.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/components@1.0.0
    -   @uppy/core@5.0.0

## @uppy/webcam@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/xhr-upload@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/core@5.0.0

## @uppy/zoom@4.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## uppy@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/google-photos-picker@1.0.0
    -   @uppy/google-drive-picker@1.0.0
    -   @uppy/thumbnail-generator@5.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/golden-retriever@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/remote-sources@3.0.0
    -   @uppy/screen-capture@5.0.0
    -   @uppy/store-default@5.0.0
    -   @uppy/google-drive@5.0.0
    -   @uppy/image-editor@4.0.0
    -   @uppy/drop-target@4.0.0
    -   @uppy/transloadit@5.0.0
    -   @uppy/compressor@3.0.0
    -   @uppy/xhr-upload@5.0.0
    -   @uppy/instagram@5.0.0
    -   @uppy/facebook@5.0.0
    -   @uppy/onedrive@5.0.0
    -   @uppy/unsplash@5.0.0
    -   @uppy/dropbox@5.0.0
    -   @uppy/locales@5.0.0
    -   @uppy/aws-s3@5.0.0
    -   @uppy/webcam@5.0.0
    -   @uppy/audio@3.0.0
    -   @uppy/core@5.0.0
    -   @uppy/form@5.0.0
    -   @uppy/zoom@4.0.0
    -   @uppy/box@4.0.0
    -   @uppy/tus@5.0.0
    -   @uppy/url@5.0.0
    -   @uppy/webdav@1.0.0

## @uppy/angular@1.0.0

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/webdav@1.0.0

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-22 09:02:12 +02:00
Prakash
6a33652458 Merge branch 'main' of https://github.com/transloadit/uppy into 5.0 2025-08-20 16:17:08 +05:30
Prakash
d301c01d6a
@uppy/utils: update export maps (#5900)
- cleanup `@uppy/utils ` removed unused / redundant modules .
- migrated modules and tests from `.js` to `.ts`
- removed all the nested export paths
- updated `@uppy/utils` import paths for all packages
- `@uppy/angular` is still failing while running`yarn build` , I'm
looking into it.

---------

Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-08-19 12:25:27 +02:00
github-actions[bot]
62cf5bbb14
[ci] release (#5867)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## @uppy/angular@0.9.0

### Minor Changes

-   8b8ab01: Declare components as standalone & support 20.x

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/progress-bar@4.3.2
    -   @uppy/status-bar@4.2.2
    -   @uppy/dashboard@4.4.2
    -   @uppy/drag-drop@4.2.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/audio@2.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/aws-s3@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/companion-client@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/aws-s3-multipart@4.1.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/aws-s3@4.3.2

## @uppy/box@3.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/companion-client@4.5.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/components@0.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/remote-sources@2.4.2
    -   @uppy/screen-capture@4.4.2
    -   @uppy/image-editor@3.4.2
    -   @uppy/webcam@4.3.2
    -   @uppy/audio@2.2.2
    -   @uppy/core@4.5.2

## @uppy/compressor@2.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/core@4.5.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/store-default@4.3.2
    -   @uppy/utils@6.2.2

## @uppy/dashboard@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/thumbnail-generator@4.2.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/status-bar@4.2.2
    -   @uppy/informer@4.3.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/drag-drop@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/drop-target@3.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/dropbox@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/facebook@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/file-input@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/form@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/golden-retriever@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/google-drive@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/google-drive-picker@0.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/google-photos-picker@0.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/image-editor@3.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/informer@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/instagram@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/locales@4.8.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2

## @uppy/onedrive@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/progress-bar@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/provider-views@4.5.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   c66fd85: Fix package.json import
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/react@4.5.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/screen-capture@4.4.2
    -   @uppy/progress-bar@4.3.2
    -   @uppy/components@0.3.2
    -   @uppy/file-input@4.2.2
    -   @uppy/status-bar@4.2.2
    -   @uppy/dashboard@4.4.2
    -   @uppy/drag-drop@4.2.2
    -   @uppy/webcam@4.3.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/react-native@0.6.4

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/instagram@4.3.2
    -   @uppy/core@4.5.2
    -   @uppy/url@4.3.2

## @uppy/redux-dev-tools@4.1.3

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   c66fd85: Fix package.json import
-   Updated dependencies [1b1a9e3]
    -   @uppy/core@4.5.2

## @uppy/remote-sources@2.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/google-drive@4.4.2
    -   @uppy/dashboard@4.4.2
    -   @uppy/instagram@4.3.2
    -   @uppy/facebook@4.3.2
    -   @uppy/onedrive@4.3.2
    -   @uppy/unsplash@4.4.2
    -   @uppy/dropbox@4.3.2
    -   @uppy/core@4.5.2
    -   @uppy/zoom@3.3.2
    -   @uppy/box@3.3.2
    -   @uppy/url@4.3.2

## @uppy/screen-capture@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/status-bar@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/store-default@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json

## @uppy/store-redux@4.1.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   c66fd85: Fix package.json import

## @uppy/thumbnail-generator@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/transloadit@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2
    -   @uppy/tus@4.3.2

## @uppy/tus@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/companion-client@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/unsplash@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/url@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/companion-client@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/utils@6.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json

## @uppy/vue@2.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/progress-bar@4.3.2
    -   @uppy/components@0.3.2
    -   @uppy/file-input@4.2.2
    -   @uppy/status-bar@4.2.2
    -   @uppy/dashboard@4.4.2
    -   @uppy/drag-drop@4.2.2
    -   @uppy/core@4.5.2

## @uppy/webcam@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/webdav@0.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/xhr-upload@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/companion-client@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/zoom@3.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-01 17:30:57 +02:00
Merlijn Vos
1b1a9e3591
Add "files" to all package.json's (#5852)
Closes #5865

I noticed we are publishing all files, we should filter them. npm
automatically adds package.json, license, and readme so you can leave
them out of the files array.
2025-08-01 17:20:42 +02:00
Prakash
c5b51f6158
Add Export Maps (#5830)
- added export maps to all the @uppy packages .
- imports remain unaffected except for peerDep packages in `@uppy/react`
`@uppy/svelte` and `@uppy/vue3`.
- export maps added for index files , css , and package.json. 
- Added side effects for all the packages.

---------

Co-authored-by: Mikael Finstad <finstaden@gmail.com>
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-07-31 17:22:57 +02:00
Murderlon
7d6d90ba5c
Version packages
After manual releasing all packages as changesets messed things up
2025-07-29 20:09:54 +02:00
github-actions[bot]
4ccd3716af
[ci] release (#5849) 2025-07-29 17:10:10 +02:00
Merlijn Vos
7bf319646a
Migrate from Cypress to Vitest Browser Mode (#5828)
- Remove `e2e` folder entirely
- Remove all hacky resolutions and yarn patches
- Remove `@types/jasmine`, `js2ts` (convert a JS file to TS), and
`vue-template-compiler` from `private/`
- Remove e2e CI job
- Add browsers tests for vue, svelte, and react headless components and
hooks.
- Add new (browser) tests for transloadit, aws-s3, and dashboard.
- Remove final useless scripts from `package.json`, use direct
references in CI.
- Fix Dropzone component accessibility discovered during testing
- Clean up github workflows (move linters.yml into ci.yml, update
e2e.yml)

**Why Vitest Browser Mode?**

We could have used playwright but vitest browser mode uses it under the
hood and we get the use the vitest we know a love. No two entirely
different setups, no different assertions to relearn, write e2e tests as
if you're writing unit tests. Easy, fast, beautiful.

https://vitest.dev/guide/browser/

**Has every single e2e test been rewritten?**

No there were quite a few tests that have a lot overlap with existing or
newly added tests. There were also some tests that were so heavily
mocked inside and out you start to wonder what the value still is. Open
to discuss which tests still need to be added.
2025-07-28 11:27:37 +02:00
Merlijn Vos
0525a2c91a
Fix turbo race condition (#5839)
Closes #5822 

- `"^build"` makes sure dependencies of the package are build first.
- Make dependencies of @uppy/components actually dependencies
- Remove concurrency setting. It was too high for computers with low
RAM.
2025-07-23 10:49:11 +02:00
Merlijn Vos
8d312a8551
Resolve @uppy/core yarn install warnings (#5826)
Closes #5774

There are still some warnings left but they are better done in their own
PRs as they require bigger changes.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-07-15 17:19:43 +02:00
Merlijn Vos
7c609a56d9
Use turbo for all unit tests (#5815)
- Upgrade vitest from 1.x to 3.x.
  - Fix some tests that now became more strict and started failing
-  Add test command to all packages + needed dependencies
- Add turbo config for running tests

Another PR will completely redo the e2e test suite.
2025-07-12 13:21:35 +02:00
Merlijn Vos
271db86ad0
Use turbo for building and watching concurrently (#5808)
- Add `typecheck` command to all packages.
- Use turbo to build and watch concurrently with caches.
- Remove root `bin/` folder with last global scripts
- `bin/companion.sh` -> `@uppy/companion/start-dev` (`yarn
start:companion` still works)
- `bin/build-components.mjs` -> `@uppy/components/migrate.mjs` (`yarn
migrate:components` can be used to run it). This only needs to be ran
for new components, not changing existing ones, so that's why it's not
part of the build process.

turbo is smart enough to build dependencies within a package first
before building the package itself (e.g if wanting to build @uppy/audio,
build @uppy/utils first). Unfortunately @uppy/core is a peer dep
everywhere turbo does not take it into account, yet it must be build
first to avoid race conditions. Therefor I added a turbo.json to each
package, which you normally never need, but this is an odd case I
suppose. Other solutions ran into cyclic dep errors.

Another PR would move over the test commands to turbo too.
2025-07-10 13:21:18 +02:00
Merlijn Vos
78299475ae
Migrate from Eslint/Prettier/Stylelint to Biome (#5794) 2025-07-01 14:55:41 +02:00
Merlijn Vos
d408570373
From Babel to TS (#5792) 2025-06-30 16:12:26 +02:00
dependabot[bot]
09048be58b
build(deps-dev): bump vitest from 1.6.0 to 1.6.1 (#5641)
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.6.1/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-11 10:21:50 +01:00
github-actions[bot]
c6d4cdd3f5
Release: uppy@4.13.1 (#5617)
| Package         | Version | Package         | Version |
| --------------- | ------- | --------------- | ------- |
| @uppy/aws-s3    |   4.2.3 | @uppy/tus       |   4.2.2 |
| @uppy/companion |   5.5.1 | uppy            |  4.13.1 |

- @uppy/tus: fix resumeFromPreviousUpload race condition (Merlijn Vos / #5616)
- @uppy/aws-s3: Fixed default shouldUseMultipart (Mika Laitinen / #5613)
- meta: build(deps): bump docker/build-push-action from 6.11.0 to 6.12.0 (dependabot[bot] / #5611)
- @uppy/aws-s3: remove console.error (Mikael Finstad / #5607)
- @uppy/companion: unify http error responses (Mikael Finstad / #5595)
2025-01-22 15:40:47 +00:00
Mika Laitinen
b8dec76494
@uppy/aws-s3: Fixed default shouldUseMultipart (#5613)
fixed shouldUseMultipart and added tests for defaultOptions
2025-01-20 13:33:33 +01:00
Mikael Finstad
efec2374b8
@uppy/aws-s3: remove console.error (#5607)
Update HTTPCommunicationQueue.ts

https://github.com/transloadit/uppy/pull/5602#discussion_r1916248098
2025-01-17 14:20:55 +08:00
github-actions[bot]
ec8a3fe8b8
Release: uppy@4.13.0 (#5605)
| Package         | Version | Package         | Version |
| --------------- | ------- | --------------- | ------- |
| @uppy/aws-s3    |   4.2.2 | @uppy/unsplash  |   4.3.2 |
| @uppy/companion |   5.5.0 | uppy            |  4.13.0 |

- @uppy/aws-s3: always set S3 meta to UppyFile & include key (Merlijn Vos / #5602)
- @uppy/companion: fix forcePathStyle boolean conversion (Mikael Finstad / #5308)
- meta: Fix Webpack CI (Merlijn Vos / #5604)
- @uppy/aws-s3: allow uploads to fail/succeed independently (Merlijn Vos / #5603)
- meta: Add types for css files (Merlijn Vos / #5591)
- @uppy/unsplash: make utmSource optional (Merlijn Vos / #5601)
- meta: build(deps): bump docker/setup-qemu-action from 3.2.0 to 3.3.0 (dependabot[bot] / #5599)
- meta: build(deps): bump docker/build-push-action from 6.10.0 to 6.11.0 (dependabot[bot] / #5600)
- @uppy/companion: add COMPANION_TUS_DEFERRED_UPLOAD_LENGTH (Dominik Schmidt / #5561)
2025-01-15 09:41:29 +00:00
Merlijn Vos
45aecae58d
@uppy/aws-s3: always set S3 meta to UppyFile & include key (#5602) 2025-01-15 10:30:11 +01:00
Merlijn Vos
7586ab4b15
@uppy/aws-s3: allow uploads to fail/succeed independently (#5603) 2025-01-15 09:59:41 +01:00
Murderlon
16b1670add
Revert "@uppy/aws-s3: allow uploads to fail/succeed independently"
This reverts commit 4d7448a907.
2025-01-14 13:52:32 +01:00
Murderlon
4d7448a907
@uppy/aws-s3: allow uploads to fail/succeed independently 2025-01-14 13:51:21 +01:00
github-actions[bot]
e0561585eb
Release: uppy@4.12.2 (#5590)
| Package                    | Version | Package                    | Version |
| -------------------------- | ------- | -------------------------- | ------- |
| @uppy/audio                |   2.1.1 | @uppy/instagram            |   4.2.1 |
| @uppy/aws-s3               |   4.2.1 | @uppy/onedrive             |   4.2.2 |
| @uppy/box                  |   3.2.1 | @uppy/progress-bar         |   4.2.1 |
| @uppy/companion-client     |   4.4.1 | @uppy/provider-views       |   4.4.1 |
| @uppy/compressor           |   2.2.1 | @uppy/react                |   4.2.1 |
| @uppy/core                 |   4.4.1 | @uppy/remote-sources       |   2.3.1 |
| @uppy/dashboard            |   4.3.1 | @uppy/screen-capture       |   4.2.1 |
| @uppy/drag-drop            |   4.1.1 | @uppy/status-bar           |   4.1.1 |
| @uppy/drop-target          |   3.1.1 | @uppy/thumbnail-generator  |   4.1.1 |
| @uppy/dropbox              |   4.2.1 | @uppy/transloadit          |   4.2.1 |
| @uppy/facebook             |   4.2.1 | @uppy/tus                  |   4.2.1 |
| @uppy/file-input           |   4.1.1 | @uppy/unsplash             |   4.3.1 |
| @uppy/form                 |   4.1.1 | @uppy/url                  |   4.2.1 |
| @uppy/golden-retriever     |   4.1.1 | @uppy/vue                  |   2.1.1 |
| @uppy/google-drive         |   4.3.1 | @uppy/webcam               |   4.1.1 |
| @uppy/google-drive-picker  |   0.3.2 | @uppy/webdav               |   0.3.1 |
| @uppy/google-photos        |   0.5.1 | @uppy/xhr-upload           |   4.3.2 |
| @uppy/google-photos-picker |   0.3.2 | @uppy/zoom                 |   3.2.1 |
| @uppy/image-editor         |   3.3.1 | uppy                       |  4.12.2 |
| @uppy/informer             |   4.2.1 |                            |         |

- @uppy/provider-views: Import types consistently from @uppy/core (Merlijn Vos / #5589)
- @uppy/status-bar: fix double upload progress (Mikael Finstad / #5587)
- @uppy/provider-views: fix incorrect import (Merlijn Vos / #5588)
2025-01-09 12:48:54 +00:00