Commit graph

422 commits

Author SHA1 Message Date
github-actions[bot]
dabd878b87
[ci] release (#6170)
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/utils@7.2.0

### Minor Changes

- 6b1abaa: Introduce modern, minimal TaskQueue to replace
RateLimitedQueue

## @uppy/xhr-upload@5.2.0

### Minor Changes

- 6b1abaa: Introduce modern, minimal TaskQueue to replace
RateLimitedQueue

### Patch Changes

-   Updated dependencies [6b1abaa]
    -   @uppy/utils@7.2.0

## @uppy/companion@6.2.2

### Patch Changes

-   49db42d: Fix bug with 429 not returning JSON response with message
-   4652dc6: upgrade @aws-sdk/ deps in @uppy/companion

## @uppy/transloadit@5.5.1

### Patch Changes

-   4787960: Add type re-export for `AssemblyInstructionsInput`
- 2f6849d: Fix allowMultipleUploadBatches to prevent adding/removing
files while an upload is in progress (#6156)
-   29d2772: remove monkey patch from uppy bundle package
-   Updated dependencies [6b1abaa]
    -   @uppy/utils@7.2.0

## uppy@5.2.4

### Patch Changes

-   29d2772: remove monkey patch from uppy bundle package
-   a86c624: upgrade esbuild in uppy to "^0.27.0"
-   Updated dependencies [6b1abaa]
-   Updated dependencies [4787960]
-   Updated dependencies [2f6849d]
-   Updated dependencies [29d2772]
    -   @uppy/xhr-upload@5.2.0
    -   @uppy/transloadit@5.5.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-25 20:59:50 +05:30
Prakash
29d27726c8
remove monkey patch in bundle.ts (#6207)
full context here :
https://transloadit.slack.com/archives/C0FMW9PSB/p1771342759948189

I tested the local bundle it works as expected with the same API and 15%
reduced bundle size.
2026-03-09 00:07:53 +05:30
Copilot
47879609c7
Export AssemblyInstructionsInput type from @uppy/transloadit (#6184)
The `AssemblyInstructionsInput` type from `@transloadit/types` is now
publicly exported from `@uppy/transloadit`, allowing consumers to type
their assembly parameters without importing from the external package.

## Changes

- Re-exported `AssemblyInstructionsInput` type in
`packages/@uppy/transloadit/src/index.ts`

## Usage

```typescript
import type { AssemblyInstructionsInput } from '@uppy/transloadit'

const params: AssemblyInstructionsInput = {
  steps: {
    encode: {
      robot: '/video/encode',
      use: ':original',
      preset: 'mp4',
    },
  },
}
```

The type was already imported internally and aliased as
`AssemblyParameters`. This change makes it available to plugin
consumers.

<!-- START COPILOT ORIGINAL PROMPT -->



<details>

<summary>Original prompt</summary>

> Make the AssemblyInstructionsInput type available from the
@uppy/transloadit package by re-exporting it from
packages/@uppy/transloadit/src/index.ts.
> 
> Background
> - The Transloadit plugin imports the type AssemblyInstructionsInput
from the external package @transloadit/types and aliases it as
AssemblyParameters in packages/@uppy/transloadit/src/index.ts.
> - Consumers of the @uppy/transloadit package need direct access to the
AssemblyInstructionsInput type but it is not currently exported from the
plugin package.
> 
> Change requested
> - Add a type re-export so that consumers can import
AssemblyInstructionsInput from the transloadit plugin package, e.g.
>   import type { AssemblyInstructionsInput } from '@uppy/transloadit'
> 
> Files to change
> - packages/@uppy/transloadit/src/index.ts
> - Add the following export alongside the other package exports (near
the end of the module where other exports live):
> 
> ```typescript name=packages/@uppy/transloadit/src/index.ts
url=https://github.com/transloadit/uppy/blob/main/packages/@uppy/transloadit/src/index.ts
> -export { COMPANION_URL, COMPANION_ALLOWED_HOSTS }
> +export { COMPANION_URL, COMPANION_ALLOWED_HOSTS }
> +
> +// Re-export type from @transloadit/types so callers can import it
from the plugin package.
> +export type { AssemblyInstructionsInput } from '@transloadit/types'
> ```
> 
> Notes
> - This is a purely type-only export and should be erased at compile
time; it does not add runtime code.
> - No other behavior or API surface should change.
> 
> Please create a branch, apply the change, and open a pull request with
a descriptive title and a short description of the change. Run
TypeScript build checks if available.
> 


</details>



<!-- START COPILOT CODING AGENT SUFFIX -->

*This pull request was created from Copilot chat.*
>

<!-- START COPILOT CODING AGENT TIPS -->
---

💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mifi <402547+mifi@users.noreply.github.com>
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2026-03-02 10:38:57 +08:00
Copilot
f6efd2ebcc
Fix allowMultipleUploadBatches by preventing file operations during upload (#6156)
## Implementation Plan for Transloadit allowMultipleUploadBatches Fix

- [x] Explore the codebase to understand existing structure
  - [x] Review transloadit/src/index.ts
  - [x] Review existing event handlers (#onError, #onCancelAll)
  - [x] Review install() and uninstall() methods
  - [x] Understand test structure
- [x] Implement the proper fix in
packages/@uppy/transloadit/src/index.ts
- [x] Set allowNewUpload: false at start of #prepareUpload
(preprocessor)
- [x] Reset allowNewUpload: true at end of #afterUpload (postprocessor)
  - [x] Reset allowNewUpload: true in #prepareUpload error handler
  - [x] Keep existing resets in #onError and #onCancelAll handlers
  - [x] Removed event listener approach (was causing race conditions)
- [x] Update tests to match implementation
- [x] Test allowNewUpload lifecycle through actual upload flow
(preprocessor/postprocessor)
  - [x] Test allowNewUpload reset on preprocessor error
  - [x] Test allowNewUpload reset on error event
  - [x] Test allowNewUpload reset on cancel-all
  - [x] Remove obsolete event listener tests

<!-- START COPILOT CODING AGENT TIPS -->
---

💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mifi <402547+mifi@users.noreply.github.com>
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2026-02-09 21:42:43 +08:00
github-actions[bot]
9d87b9eab1
[ci] release (#6166)
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/components@1.2.0

### Minor Changes

- 37f69d0: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

- 37f69d0: - Fix Vue components to work with kebab-case props
(`:edit-file` instead of `:editFile`)
-   Updated dependencies [37f69d0]
    -   @uppy/image-editor@4.2.0

## @uppy/image-editor@4.2.0

### Minor Changes

- 37f69d0: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

## @uppy/react@5.2.0

### Minor Changes

- 37f69d0: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

-   Updated dependencies [37f69d0]
-   Updated dependencies [37f69d0]
    -   @uppy/components@1.2.0

## @uppy/svelte@5.2.0

### Minor Changes

- 37f69d0: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

-   Updated dependencies [37f69d0]
-   Updated dependencies [37f69d0]
    -   @uppy/components@1.2.0

## @uppy/transloadit@5.5.0

### Minor Changes

- 37f69d0: Migrate from 'transloadit' to '@transloadit/types' to get the
types. No need to drag in the entire SDK.

### Patch Changes

-   Updated dependencies [37f69d0]
    -   @uppy/tus@5.1.1

## @uppy/vue@3.2.0

### Minor Changes

- 37f69d0: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

- 37f69d0: - Fix Vue components to work with kebab-case props
(`:edit-file` instead of `:editFile`)
-   Updated dependencies [37f69d0]
-   Updated dependencies [37f69d0]
    -   @uppy/components@1.2.0

## @uppy/locales@5.1.1

### Patch Changes

-   37f69d0: Update cs_CZ dropPaste keys to use the correct variables.

## @uppy/tus@5.1.1

### Patch Changes

- 37f69d0: Fix Node.js support by conditionally setting a property which
does not exist in Node.js instead of crashing.

## uppy@5.2.3

### Patch Changes

-   Updated dependencies [37f69d0]
-   Updated dependencies [37f69d0]
-   Updated dependencies [37f69d0]
-   Updated dependencies [37f69d0]
    -   @uppy/locales@5.1.1
    -   @uppy/tus@5.1.1
    -   @uppy/transloadit@5.5.0
    -   @uppy/image-editor@4.2.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-03 11:08:41 +01:00
Murderlon
37f69d088d
Revert "[ci] release (#6162)"
This reverts commit 671e6b26f4.
2026-02-03 10:51:07 +01:00
github-actions[bot]
671e6b26f4
[ci] release (#6162)
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/components@1.2.0

### Minor Changes

- c0a8776: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

- c0a8776: - Fix Vue components to work with kebab-case props
(`:edit-file` instead of `:editFile`)
-   Updated dependencies [c0a8776]
    -   @uppy/image-editor@4.2.0

## @uppy/image-editor@4.2.0

### Minor Changes

- c0a8776: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

## @uppy/react@5.2.0

### Minor Changes

- c0a8776: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

-   Updated dependencies [c0a8776]
-   Updated dependencies [c0a8776]
    -   @uppy/components@1.2.0

## @uppy/svelte@5.2.0

### Minor Changes

- c0a8776: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

-   Updated dependencies [c0a8776]
-   Updated dependencies [c0a8776]
    -   @uppy/components@1.2.0

## @uppy/transloadit@5.5.0

### Minor Changes

- c0a8776: Migrate from 'transloadit' to '@transloadit/types' to get the
types. No need to drag in the entire SDK.

### Patch Changes

-   Updated dependencies [c0a8776]
    -   @uppy/tus@5.1.1

## @uppy/vue@3.2.0

### Minor Changes

- c0a8776: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

- c0a8776: - Fix Vue components to work with kebab-case props
(`:edit-file` instead of `:editFile`)
-   Updated dependencies [c0a8776]
-   Updated dependencies [c0a8776]
    -   @uppy/components@1.2.0

## @uppy/locales@5.1.1

### Patch Changes

-   c0a8776: Update cs_CZ dropPaste keys to use the correct variables.

## @uppy/tus@5.1.1

### Patch Changes

- c0a8776: Fix Node.js support by conditionally setting a property which
does not exist in Node.js instead of crashing.

## uppy@5.2.3

### Patch Changes

-   Updated dependencies [c0a8776]
-   Updated dependencies [c0a8776]
-   Updated dependencies [c0a8776]
-   Updated dependencies [c0a8776]
    -   @uppy/locales@5.1.1
    -   @uppy/tus@5.1.1
    -   @uppy/transloadit@5.5.0
    -   @uppy/image-editor@4.2.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-03 10:15:43 +01:00
Murderlon
c0a8776484
Revert "[ci] release (#6153)"
This reverts commit 0ee8fef148.
2026-01-29 17:32:56 +01:00
github-actions[bot]
0ee8fef148
[ci] release (#6153)
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/components@1.2.0

### Minor Changes

- 850c1cb: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

- 680052b: - Fix Vue components to work with kebab-case props
(`:edit-file` instead of `:editFile`)
-   Updated dependencies [850c1cb]
    -   @uppy/image-editor@4.2.0

## @uppy/image-editor@4.2.0

### Minor Changes

- 850c1cb: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

## @uppy/react@5.2.0

### Minor Changes

- 850c1cb: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

-   Updated dependencies [680052b]
-   Updated dependencies [850c1cb]
    -   @uppy/components@1.2.0

## @uppy/svelte@5.2.0

### Minor Changes

- 850c1cb: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

-   Updated dependencies [680052b]
-   Updated dependencies [850c1cb]
    -   @uppy/components@1.2.0

## @uppy/transloadit@5.5.0

### Minor Changes

- 680052b: Migrate from 'transloadit' to '@transloadit/types' to get the
types. No need to drag in the entire SDK.

### Patch Changes

-   Updated dependencies [680052b]
    -   @uppy/tus@5.1.1

## @uppy/vue@3.2.0

### Minor Changes

- 850c1cb: Introduce `useImageEditor` to build your own UI for using our
image editor in React, Vue, and Svelte.

### Patch Changes

- 680052b: - Fix Vue components to work with kebab-case props
(`:edit-file` instead of `:editFile`)
-   Updated dependencies [680052b]
-   Updated dependencies [850c1cb]
    -   @uppy/components@1.2.0

## @uppy/locales@5.1.1

### Patch Changes

-   680052b: Update cs_CZ dropPaste keys to use the correct variables.

## @uppy/tus@5.1.1

### Patch Changes

- 680052b: Fix Node.js support by conditionally setting a property which
does not exist in Node.js instead of crashing.

## uppy@5.2.3

### Patch Changes

-   Updated dependencies [680052b]
-   Updated dependencies [680052b]
-   Updated dependencies [680052b]
-   Updated dependencies [850c1cb]
    -   @uppy/locales@5.1.1
    -   @uppy/tus@5.1.1
    -   @uppy/transloadit@5.5.0
    -   @uppy/image-editor@4.2.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-29 17:28:33 +01:00
Murderlon
680052b3ce
Revert "[ci] release (#6144)"
This reverts commit e290a176e7.
2026-01-23 12:52:09 +01:00
github-actions[bot]
e290a176e7
[ci] release (#6144)
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/transloadit@5.5.0

### Minor Changes

- efda84c: Migrate from 'transloadit' to '@transloadit/types' to get the
types. No need to drag in the entire SDK.

### Patch Changes

-   Updated dependencies [54a46db]
    -   @uppy/tus@5.1.1

## @uppy/components@1.1.1

### Patch Changes

- fa23832: - Fix Vue components to work with kebab-case props
(`:edit-file` instead of `:editFile`)

## @uppy/locales@5.1.1

### Patch Changes

-   642c75d: Update cs_CZ dropPaste keys to use the correct variables.

## @uppy/tus@5.1.1

### Patch Changes

- 54a46db: Fix Node.js support by conditionally setting a property which
does not exist in Node.js instead of crashing.

## @uppy/vue@3.1.1

### Patch Changes

- fa23832: - Fix Vue components to work with kebab-case props
(`:edit-file` instead of `:editFile`)
-   Updated dependencies [fa23832]
    -   @uppy/components@1.1.1

## uppy@5.2.3

### Patch Changes

-   Updated dependencies [642c75d]
-   Updated dependencies [54a46db]
-   Updated dependencies [efda84c]
    -   @uppy/locales@5.1.1
    -   @uppy/tus@5.1.1
    -   @uppy/transloadit@5.5.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-21 10:27:20 +01:00
Merlijn Vos
efda84cc23
@uppy/transloadit: use lighter types package (#6147)
We don't need to drag in the entire SDK just for types.
2026-01-19 11:18:43 +01:00
github-actions[bot]
5c6337682e
[ci] release (#6087)
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/image-generator@1.0.0

### Major Changes

- 5684efa: Introduce @uppy/image-generator to generate images based on a
prompt using Transloadit

### Patch Changes

-   Updated dependencies [5684efa]
-   Updated dependencies [5684efa]
    -   @uppy/provider-views@5.2.1
    -   @uppy/transloadit@5.4.0

## @uppy/locales@5.1.0

### Minor Changes

- 5684efa: Introduce @uppy/image-generator to generate images based on a
prompt using Transloadit

## @uppy/transloadit@5.4.0

### Minor Changes

-   5684efa: Export Assembly, AssemblyError, Client

## uppy@5.2.0

### Minor Changes

- 5684efa: Introduce @uppy/image-generator to generate images based on a
prompt using Transloadit

### Patch Changes

-   Updated dependencies [5684efa]
-   Updated dependencies [5684efa]
-   Updated dependencies [5684efa]
    -   @uppy/provider-views@5.2.1
    -   @uppy/webdav@1.1.1
    -   @uppy/transloadit@5.4.0
    -   @uppy/image-generator@1.0.0
    -   @uppy/locales@5.1.0

## @uppy/provider-views@5.2.1

### Patch Changes

-   5684efa: Refactor internal components

## @uppy/webdav@1.1.1

### Patch Changes

-   5684efa: Refactor internal components
-   Updated dependencies [5684efa]
    -   @uppy/provider-views@5.2.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-04 12:19:08 +01:00
Merlijn Vos
5684efa64e
Introduce @uppy/image-generator (#6056)
Closes #5378 

- Introduce `@uppy/image-generator`, a new plugin to generate images
based on a prompt via Transloadit
- until we have "golden templates" the idea is to just send
[steps](https://transloadit.com/docs/topics/templates/#overruling-templates-at-runtime)
- because we must send steps and since we must use signature
authentication for security, which is signed based on the params we
send, we can't reuse the `assemblyOptions` the consumers is already
passing to `@uppy/transloadit` (if they use that uploaders, not needed).
- Remove `SearchInput` (this component was trying to be too many things,
all with conditional boolean props, which is bad practise) in favor of
`useSearchForm` and reuse this hook in two new components `SearchView`
and `FilterInput`
- Reuse all the styles from `SearchProviderView`. This deviates from the
design in #5378. It felt too inconsistent to me to do another UI here
again. For the initial version, I think it's best to stay consistent and
then redesign with search providers taken into account too.
- Because the service is so slow, I went a bit further with the loading
state to show funny messages that rotate while loading mostly because
users will start thinking it is broken after 5 seconds while it fact we
are still loading. But open to ideas here.

This unfortunately means the integration for the consumer is not as lean
and pretty as you would hope. On the upside, it does give them complete
freedom.

```ts
.use(ImageGenerator, {
  assemblyOptions: async (prompt) => {
    const res = await fetch(`/assembly-options?prompt=${encodeURIComponent(prompt)}`)
    return res.json()
  }
})
```

on the consumer's server:

```ts
import crypto from 'node:crypto'

const utcDateString = (ms) => {
  return new Date(ms)
    .toISOString()
    .replace(/-/g, '/')
    .replace(/T/, ' ')
    .replace(/\.\d+Z$/, '+00:00')
}

// expire 1 hour from now (this must be milliseconds)
const expires = utcDateString(Date.now() + 1 * 60 * 60 * 1000)
const authKey = 'YOUR_TRANSLOADIT_KEY'
const authSecret = 'YOUR_TRANSLOADIT_SECRET'

const params = JSON.stringify({
  auth: {
    key: authKey,
    expires,
  },
  // can not contain any more steps, the only step must be /image/generate
  steps: {
    generated_image: { // can be named different
      robot: '/image/generate',
      result: true, // mandatory
      aspect_ratio: '2:3', // up to them
      model: 'flux-1.1-pro-ultra', // up to them
      prompt, // mandatory
      num_outputs: 2, // up to them
    },
  },
})
const signatureBytes = crypto.createHmac('sha384', authSecret).update(Buffer.from(params, 'utf-8'))
// The final signature needs the hash name in front, so
// the hashing algorithm can be updated in a backwards-compatible
// way when old algorithms become insecure.
const signature = `sha384:${signatureBytes.digest('hex')}`

// respond with { params, signature } JSON to the client
```


https://github.com/user-attachments/assets/9217e457-b38b-48ac-81f0-37a417309e98



<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Adds AI image generation plugin using Transloadit, exports low-level
Transloadit APIs, and replaces SearchInput with new
FilterInput/SearchView + useSearchForm across provider views.
> 
> - **New plugin: `@uppy/image-generator`**
> - UI plugin to generate images from a prompt via Transloadit
(`src/index.tsx`, styles, locale, build configs).
> - Integrated into dev Dashboard and included in `uppy` bundle and
global styles.
> - **Provider Views refactor**
> - Remove `SearchInput`; introduce `useSearchForm`, `SearchView`, and
`FilterInput` components.
> - Update `ProviderView`, `SearchProviderView`, and `Webdav` to use new
components; export them from `@uppy/provider-views`.
> - **Transloadit updates**
> - Export `Assembly`, `AssemblyError`, and `Client` from
`@uppy/transloadit`.
>   - Minor internal change: normalize `assemblyOptions.fields`.
> - **Locales**
> - Add strings for image generation and minor additions (e.g.,
`chooseFiles`).
>   - Ensure locales build depends on `@uppy/image-generator`.
> - **Build config**
> - Turborepo: add `uppy#build:css` and hook `image-generator` into
locales build.
> - **Changesets**
> - `@uppy/image-generator` major; `@uppy/transloadit` minor;
`@uppy/locales` and `uppy` minor; `@uppy/provider-views` and
`@uppy/webdav` patch.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
4b1b729069. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Prakash <qxprakash@gmail.com>
2025-12-03 11:59:52 +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
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]
76abdfb325
[ci] release (#6029)
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@1.1.0

### Minor Changes

- 72d2d68: Remove @uppy/utils and add @uppy/status-bar to
peerDependencies

## @uppy/components@1.1.0

### Minor Changes

- 72d2d68: Add @uppy/{screen-capture,status-bar,webcam} as optional peer
dependencies

### Patch Changes

-   26bf726: Dropzone and FileInput inherit restrictions from @uppy/core

## @uppy/react@5.1.0

### Minor Changes

- 72d2d68: Add @uppy/{screen-capture,status-bar,webcam} as optional peer
dependencies

### Patch Changes

-   86f353d: Remove dashboard export from index.ts
-   Updated dependencies [72d2d68]
-   Updated dependencies [26bf726]
    -   @uppy/components@1.1.0

## @uppy/svelte@5.1.0

### Minor Changes

- 72d2d68: Add @uppy/{screen-capture,status-bar,webcam} as optional peer
dependencies

### Patch Changes

-   Updated dependencies [72d2d68]
-   Updated dependencies [26bf726]
    -   @uppy/components@1.1.0

## @uppy/transloadit@5.2.0

### Minor Changes

- 72d2d68: Remove unused @uppy/{companion-client,provider-views}
dependencies

### Patch Changes

-   Updated dependencies [08b64f9]
    -   @uppy/utils@7.1.2

## @uppy/vue@3.1.0

### Minor Changes

- 72d2d68: Add @uppy/{screen-capture,status-bar,webcam} as optional peer
dependencies

### Patch Changes

-   Updated dependencies [72d2d68]
-   Updated dependencies [26bf726]
    -   @uppy/components@1.1.0

## @uppy/onedrive@5.0.2

### Patch Changes

-   5edcb2e: Fix: Enable `supportsRefreshToken` for OneDrive
-   Updated dependencies [08b64f9]
    -   @uppy/utils@7.1.2

## @uppy/utils@7.1.2

### Patch Changes

- 08b64f9: fix ts issue with generateFileID and
`exactOptionalPropertyTypes`

## uppy@5.1.9

### Patch Changes

-   Updated dependencies [72d2d68]
-   Updated dependencies [5edcb2e]
    -   @uppy/transloadit@5.2.0
    -   @uppy/onedrive@5.0.2

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-28 10:15:14 +01:00
Merlijn Vos
72d2d68ea3
Fix various deps and peer deps in packages (#6030)
**Fixes**

- `@uppy/components` incorrectly had a lot of packages in `dependencies`
while they should be `peerDependencies`. Also removed `remote-sources`
completely as this drags in a lot of plugins and we don't even need it
there.
- `@uppy/{react,vue,svelte}` now has to have the same `peerDependencies`
as `components` as the requirement has been moved up. We also mark them
as optional, they are only needed if you use a hook such as `useWebcam`
needing `@uppy/webcam`.
- Remove `companion-client` and `provider-views` from `transloadit`.
Those are never used by the package.
- Remove `@uppy/utils` from `@uppy/angular` and `@uppy/react`, we can
just use imports from `core`
- Place `@uppy/status-bar` back in peer deps. This is critical but
forgotten when status bar was put back inside frameworks.

**Implications**
- Moving peer deps to deps in `@uppy/components` now requires people to
install these dependencies. However, they kind of had to anyway before
as we require people to install the plugin on uppy (`.use(Webcam')`) if
you want to use `useWebcam` and if you try to import a dep you did not
install they would have gotten an error already.
- Note: this is not the same situation as with importing dashboard
component from @uppy/react which causes a runtime crash because
@uppy/dashboard is missing. In this case we only depend on _types_, so
we don't have this problem.
2025-10-28 09:55:21 +01:00
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]
b7605df940
[ci] release (#6002)
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/transloadit@5.1.2

### Patch Changes

- 201c422: Move `transloadit` into `dependencies` so types are resolved
without users having to install it manually.

## uppy@5.1.5

### Patch Changes

-   Updated dependencies [201c422]
    -   @uppy/transloadit@5.1.2

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-03 10:28:20 +02:00
Merlijn Vos
201c42294d
@uppy/transloadit: move transloadit into dependencies (#6001)
Fixes #6000
2025-10-02 18:10:53 +02:00
github-actions[bot]
98d8d1d0a1
[ci] release (#5997)
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/transloadit@5.1.1

### Patch Changes

- bc2d0ed: Ensure final assembly status fetch uses `assembly_ssl_url` so
Transloadit requests stay on HTTPS.

## uppy@5.1.4

### Patch Changes

-   Updated dependencies [bc2d0ed]
    -   @uppy/transloadit@5.1.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-02 12:27:42 +02:00
Kevin van Zonneveld
bc2d0ed235
Use assembly_ssl_url for final status fetch (#5996)
## Summary
- ensure the final Transloadit status fetch prefers `assembly_ssl_url`
- add a changeset preparing the patch release

## Testing
- yarn workspace @uppy/transloadit test
2025-10-02 12:23:07 +02:00
github-actions[bot]
5bf7520dfa
[ci] release (#5988)
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/transloadit@5.1.0

### Minor Changes

- 6f76412: Use the `transloadit` Node.js SDK's exported Assembly types
instead of our inaccurate, hand-rolled ones.

    **Warning**

The names of our type exports here are unchanged, but they do pack
slightly different types. Overall you'll find they are both more
complete, but also more loose. Runtime wise there should be no breaking
changes, but it could mean you may need a couple of extra guards to make
TypeScript happy.

A cool benefit from the new types tho, is that Robot parameters will now
autocomplete for you.
More information on these types, and our approach rolling them out, can
be found here
<https://transloadit.com/blog/2025/09/nodejs-sdk-v4/#our-approach-to-type-retrofitting>

## @uppy/components@1.0.3

### Patch Changes

-   34639ba: add imageThumbnail prop to FilesList/FilesGrid

## @uppy/svelte@5.0.2

### Patch Changes

- da754b7: Fix props reactivity. Now when the value of a prop you pass
to a component changes, it is actually picked up.
-   Updated dependencies [34639ba]
    -   @uppy/components@1.0.3

## uppy@5.1.3

### Patch Changes

-   Updated dependencies [6f76412]
    -   @uppy/transloadit@5.1.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-01 16:22:05 +02:00
Kevin van Zonneveld
6f764122a9
Re-use types from the Transloadit node-sdk (#5992)
The schemas and types that we have in the Transloadit Node.js SDK v4 are
used in our API's system tests. We've also ran hundreds of thousands of
Assemblies through them, ever loosening them, until they all fit. This
means the schemas are fairly wide, but model the reality of our 15 year
old API. In the future we will make schema failures in the API fatal (as
already is the case with system tests), and we don't want to break
production traffic when we do. So we accept wider schemas than are
beautiful, and once the schemas control what is allowed in all places,
we gradually evolve the API and schemas towards being more pretty in
lockstep.

More on this in
https://transloadit.com/blog/2025/09/nodejs-sdk-v4/#our-approach-to-type-retrofitting

For uppy this means, we'll need a few more guards than we had with our
handrolled types, that actually assumed things that turned out to be not
true in all cases. Not all Assembly status responses have an id or a url
for one example. There are for instance particular errors (by Node,
Nginx, Haproxy) that would not return those. The added guards will
ensure we don't break deeply inside customer code.

This PR was completely written by gpt-5-codex, which means it was faster
and of higher quality than if I had handrolled it as a founder
unfamiliar with this codebase, but despite of that, please still review
my contribution with as much care as you would normally :)

---------

Co-authored-by: Mikael Finstad <finstaden@gmail.com>
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-09-30 19:15:39 +02: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
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
Mikael Finstad
d31c90e443
Run biome check on main (#5896)
this time on main
closes #5891

also: fix a11y tabIndex (key event handler)
2025-08-11 10:06:21 +02:00
github-actions[bot]
bbfbbbea35
[ci] release (#5884)
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/locales@4.8.4

### Patch Changes

-   ea04a4d: Add "files" in package.json to only publish what's needed

## @uppy/transloadit@4.3.3

### Patch Changes

-   ee0b2fc: Add `user_meta` type to `AssemblyResult`

## uppy@4.18.2

### Patch Changes

-   ea04a4d: Add "files" in package.json to only publish what's needed
-   Updated dependencies [ee0b2fc]
-   Updated dependencies [ea04a4d]
    -   @uppy/transloadit@4.3.3
    -   @uppy/locales@4.8.4

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-07 09:34:54 +02:00
Merlijn Vos
ee0b2fc146
@uppy/transloadit: add user_meta type (#5881)
Closes #5850
2025-08-06 12:24:48 +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
Mikael Finstad
acdc683d47
Refactor Companion to ESM (#5803)
- convert cjs to esm
- refactor from jest to vitest

closes #3979

---------

Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-07-29 19:07:48 +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
github-actions[bot]
cb1b753d8a
Release: uppy@4.14.0 (#5712)
| Package                    | Version | Package                    | Version |
| -------------------------- | ------- | -------------------------- | ------- |
| @uppy/audio                |   2.1.2 | @uppy/locales              |   4.5.2 |
| @uppy/box                  |   3.2.2 | @uppy/onedrive             |   4.2.3 |
| @uppy/companion            |   5.6.0 | @uppy/react                |   4.2.3 |
| @uppy/core                 |   4.4.4 | @uppy/remote-sources       |   2.3.2 |
| @uppy/dashboard            |   4.3.3 | @uppy/screen-capture       |   4.2.2 |
| @uppy/drag-drop            |   4.1.2 | @uppy/status-bar           |   4.1.3 |
| @uppy/dropbox              |   4.2.2 | @uppy/transloadit          |   4.2.2 |
| @uppy/facebook             |   4.2.2 | @uppy/unsplash             |   4.3.3 |
| @uppy/file-input           |   4.1.2 | @uppy/url                  |   4.2.3 |
| @uppy/google-drive         |   4.3.2 | @uppy/utils                |   6.1.3 |
| @uppy/google-drive-picker  |   0.3.4 | @uppy/webcam               |   4.1.2 |
| @uppy/google-photos-picker |   0.3.4 | @uppy/webdav               |   0.3.2 |
| @uppy/image-editor         |   3.3.2 | @uppy/zoom                 |   3.2.2 |
| @uppy/instagram            |   4.2.2 | uppy                       |  4.14.0 |

- @uppy/core: dry retryAll() and upload() (Mikael Finstad / #5691)
- @uppy/angular: Revert "Support Angular 19" (Mikael Finstad / #5710)
- @uppy/angular: Support Angular 19 (Arnaud Flaesch / #5709)
- @uppy/companion: implement dropbox business teams (Mikael Finstad / #5708)
- @uppy/utils: add msg mimetype (Merlijn Vos / #5699)
- @uppy/core: fix locale type for plugins (Merlijn Vos / #5700)
- examples: build(deps-dev): bump vite from 5.4.14 to 5.4.15 (dependabot[bot] / #5703)
- @uppy/locales: Update nb_NO.ts (Tore Sinding Bekkedal / #5678)
- meta: build(deps): bump docker/login-action from 3.3.0 to 3.4.0 (dependabot[bot] / #5689)
- examples: @uppy-example/aws-nodejs: fix fileType not present in S3 objects (Prakash / #5680)
- @uppy/core: fix events when retrying with upload() (Prakash / #5696)
- meta: Fix locales building (Mikael Finstad / #5693)
- @uppy/google-photos: remove google photos 😢 (Mikael Finstad / #5690)
- @uppy/locales: Update cs_CZ.ts (David Petrásek / #5658)
2025-04-08 14:44:08 +00:00