Commit graph

436 commits

Author SHA1 Message Date
Prakash
675b48fa14
@uppy/upgrade devdeps v2 (#6318)
AI disclaimer : AI used

## Changes
- **jsdom 26 → 29** across all packages' devDependencies —
**except`@uppy/aws-s3`** (left at 26; that plugin is being rewritten and
its deps are handled on the rewrite branch).
- **`@uppy/xhr-upload` unit tests migrated from nock to MSW**, and
`nock` dropped from its devDependencies.
  ## Why the test migration was needed
jsdom **28** overhauled resource loading so `XMLHttpRequest` now goes
through jsdom's internal (undici-based) fetch instead of Node's `http`
module ([jsdom 28 release
notes](https://github.com/jsdom/jsdom/releases/tag/28.0.0)).
nock intercepts at the Node `http` / `http.ClientRequest` layer ([nock
README](https://github.com/nock/nock)), so it can no longer see uppy's
upload requests — the mocked responses never arrive and the tests time
out. (This is the long-standing nock + jsdom XHR incompatibility:
[nock#518](https://github.com/nock/nock/issues/518).)

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-03 15:30:55 +05:30
Prakash
d7aaab7ad1
@uppy: upgrade dev deps (#6315)
addresses #6297

I'll raise another PR which would include deps which require code
changes
2026-06-02 10:48:58 +08:00
Prakash
c3c7cef4ed
@uppy: upgrade deps (#6307)
will do a separte PR for changes which would require code changes so
it's easier to review , didn't upgrade any deps for `@uppy/aws-s3` since
we'll merge the rewrite so I think we should do that upgrade in the
rewrite branch before merging.

update : Dependency upgrades which required code changes were raised
separately

- #6309 
- #6310

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-29 18:58:42 +05:30
Prakash
12de077e6d
remove @uppy/instagram (#6257)
closes #5455 , this PR removes all Instagram support from both the
client and Companion server.

Removed:
- Instagram from @uppy/remote-sources (src, package.json, keywords)
- Instagram export from uppy bundle (bundle.ts, index.ts, package.json)
- Companion Instagram OAuth provider (provider/index.js, grant.js)
- Companion standalone helper Instagram env vars (helper.js,
env_example)
- All Companion Instagram tests (providers.test.js,
provider-manager.test.js, fixtures/index.js, mockserver.js)
2026-05-13 14:42:10 +05:30
dependabot[bot]
09bf6857a1
build(deps): bump lodash from 4.17.21 to 4.17.23 (#6152)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to
4.17.23.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dec55b7a3b"><code>dec55b7</code></a>
Bump main to v4.17.23 (<a
href="https://redirect.github.com/lodash/lodash/issues/6088">#6088</a>)</li>
<li><a
href="19c9251b36"><code>19c9251</code></a>
fix: setCacheHas JSDoc return type should be boolean (<a
href="https://redirect.github.com/lodash/lodash/issues/6071">#6071</a>)</li>
<li><a
href="b5e672995a"><code>b5e6729</code></a>
jsdoc: Add -0 and BigInt zeros to _.compact falsey values list (<a
href="https://redirect.github.com/lodash/lodash/issues/6062">#6062</a>)</li>
<li><a
href="edadd45214"><code>edadd45</code></a>
Prevent prototype pollution on baseUnset function</li>
<li><a
href="4879a7a7d0"><code>4879a7a</code></a>
doc: fix autoLink function, conversion of source links (<a
href="https://redirect.github.com/lodash/lodash/issues/6056">#6056</a>)</li>
<li><a
href="9648f692b0"><code>9648f69</code></a>
chore: remove <code>yarn.lock</code> file (<a
href="https://redirect.github.com/lodash/lodash/issues/6053">#6053</a>)</li>
<li><a
href="dfa407db0b"><code>dfa407d</code></a>
ci: remove legacy configuration files (<a
href="https://redirect.github.com/lodash/lodash/issues/6052">#6052</a>)</li>
<li><a
href="156e1965ae"><code>156e196</code></a>
feat: add renovate setup (<a
href="https://redirect.github.com/lodash/lodash/issues/6039">#6039</a>)</li>
<li><a
href="933e1061b8"><code>933e106</code></a>
ci: add pipeline for Bun (<a
href="https://redirect.github.com/lodash/lodash/issues/6023">#6023</a>)</li>
<li><a
href="072a807ff7"><code>072a807</code></a>
docs: update links related to Open JS Foundation (<a
href="https://redirect.github.com/lodash/lodash/issues/5968">#5968</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/lodash/lodash/compare/4.17.21...4.17.23">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lodash&package-manager=npm_and_yarn&previous-version=4.17.21&new-version=4.17.23)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/transloadit/uppy/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 15:01:18 +01:00
dependabot[bot]
fd8f54f542
build(deps): bump preact from 10.26.9 to 10.26.10 (#6123)
Bumps [preact](https://github.com/preactjs/preact) from 10.26.9 to
10.26.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/preactjs/preact/releases">preact's
releases</a>.</em></p>
<blockquote>
<h2>10.26.10</h2>
<h2>Fixes</h2>
<ul>
<li>Enforce strict equality for VNode object constructors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e6f88b0842"><code>e6f88b0</code></a>
10.26.10</li>
<li><a
href="c373f23c48"><code>c373f23</code></a>
10.26 strict equality (<a
href="https://redirect.github.com/preactjs/preact/issues/4988">#4988</a>)</li>
<li><a
href="d008a1a242"><code>d008a1a</code></a>
10.26.x</li>
<li>See full diff in <a
href="https://github.com/preactjs/preact/compare/10.26.9...10.26.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=preact&package-manager=npm_and_yarn&previous-version=10.26.9&new-version=10.26.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/transloadit/uppy/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-08 12:00:59 +01:00
github-actions[bot]
9d087791dc
[ci] release (#6096)
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.2.1

### Patch Changes

- d766c30: Fix: Don't restore `currentUploads` if no files are being
restored.
-   Updated dependencies [648f245]
    -   @uppy/utils@7.1.5

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

### Patch Changes

- 50e2420: Improve Google Drive Picker folder picking: Resolve also
folders inside shared drives (but not symlinks to folders)
-   Updated dependencies [648f245]
-   Updated dependencies [50e2420]
    -   @uppy/utils@7.1.5
    -   @uppy/provider-views@5.2.2

## @uppy/provider-views@5.2.2

### Patch Changes

- 50e2420: Improve Google Drive Picker folder picking: Resolve also
folders inside shared drives (but not symlinks to folders)
-   Updated dependencies [648f245]
    -   @uppy/utils@7.1.5

## @uppy/utils@7.1.5

### Patch Changes

- 648f245: Fix `complete` event never firing for XHR and make sure the
fetch aborts immediately if Uppy is cancelled before the fetch starts.

## @uppy/xhr-upload@5.1.1

### Patch Changes

- 648f245: Fix `complete` event never firing for XHR and make sure the
fetch aborts immediately if Uppy is cancelled before the fetch starts.
-   Updated dependencies [648f245]
    -   @uppy/utils@7.1.5

## uppy@5.2.1

### Patch Changes

-   Updated dependencies [648f245]
-   Updated dependencies [50e2420]
-   Updated dependencies [d766c30]
    -   @uppy/xhr-upload@5.1.1
    -   @uppy/google-drive-picker@1.1.1
    -   @uppy/provider-views@5.2.2
    -   @uppy/golden-retriever@5.2.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-09 10:01:30 +01:00
Mikael Finstad
50e242098b
resolve folder inside shared drive (#6093)
also ignore shortcuts to folders
and simplify

closes #6089

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-12-05 22:45:00 +07: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
Mikael Finstad
e6613488fc
allow selecting folders (#6074)
for google drive #5532

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-02 10:34:03 +07:00
Prakash
4817585b66
@uppy/companion: fix broken icons for webdav provider (#6069)
This fixes #6063.

It should be merged after #6059. Icon issue was fixed but This still
doesn’t fix the thumbnail preview issue, because OwnCloud and Nextcloud
don’t provide enough information about their thumbnail preview
endpoints. The docs aren’t very helpful: they mention how to make a
`PROPFIND` request to get extra metadata (such as has_preview)
[doc_ref](https://docs.nextcloud.com/server/stable/developer_manual/client_apis/WebDAV/basic.html#requesting-properties),
but I couldn’t get it to work with our webdav client.

Even if we did manage to obtain the thumbnail preview URL, it would be a
complicated capability to add, since we’d have to handle each WebDAV
server separately. That would lead to the same problems discussed here:
https://github.com/transloadit/uppy/pull/6059#issuecomment-3564642795 ,
so I don't think we need to spend anymore time on this.

**Before** 
<img width="1238" height="1014" alt="image"
src="https://github.com/user-attachments/assets/378c8b4b-640f-4e5d-9fef-48d255f729f9"
/>


**After** 
<img width="982" height="708" alt="image"
src="https://github.com/user-attachments/assets/7e20b119-c5a9-45dd-a0bd-7ddf95672137"
/>
2025-11-29 01:25:12 +05:30
Prakash
ec75d863ec
@uppy/provider-views: add e2e tests for Server side search (#6015)
Tests added as discussed in
[slack_discussion](https://transloadit.slack.com/archives/C0FMW9PSB/p1759931999124149?thread_ts=1759700542.941939&cid=C0FMW9PSB)

directory structure mocked : 

```
root/ 
├── first/
│   ├── second/
│   │   ├── third/
│   │   │   ├── nested-target.pdf
│   │   │   └── new-file.pdf
│   │   ├── deep-file.txt
│   │   ├── target.pdf
│   │   └── workspace.pdf
│   └── intermediate.doc
├── workspace/
│   └── project/
│       └── code.js
└── readme.md

```

Some of the mocked responses in CompanionHandler.ts aren’t used in the
tests, but I’ve kept them to preserve the legitimacy of the above
directory structure.
2025-11-07 16:50:57 +05:30
github-actions[bot]
b1e33bcef7
[ci] release (#6046)
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/provider-views@5.1.2

### Patch Changes

-   46e339a: Add missing lodash dependency

## @uppy/react@5.1.1

### Patch Changes

-   16aa6fe: Add missing useUppyContext export

## uppy@5.1.10

### Patch Changes

-   Updated dependencies [46e339a]
    -   @uppy/provider-views@5.1.2

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-30 10:10:59 +01:00
Merlijn Vos
46e339a150
@uppy/provider-views: add missing lodash dependency (#6045)
Fixes #6039
2025-10-30 09:59:36 +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]
91c6bfd7d7
[ci] release (#6008)
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/companion@6.1.0

### Minor Changes

- 5ba2c1c: Introduce the concept of server-side search and add support
for it for the Dropbox provider. Previously, only client-side filtering
in the currently viewed folder was possible, which was limiting. Now
users using Companion with Dropbox can perform a search across their
entire account.

## @uppy/companion-client@5.1.0

### Minor Changes

- 5ba2c1c: Introduce the concept of server-side search and add support
for it for the Dropbox provider. Previously, only client-side filtering
in the currently viewed folder was possible, which was limiting. Now
users using Companion with Dropbox can perform a search across their
entire account.

### Patch Changes

-   Updated dependencies [5ba2c1c]
    -   @uppy/utils@7.1.0
    -   @uppy/core@5.1.0

## @uppy/core@5.1.0

### Minor Changes

- 5ba2c1c: Introduce the concept of server-side search and add support
for it for the Dropbox provider. Previously, only client-side filtering
in the currently viewed folder was possible, which was limiting. Now
users using Companion with Dropbox can perform a search across their
entire account.

### Patch Changes

-   Updated dependencies [5ba2c1c]
    -   @uppy/utils@7.1.0

## @uppy/provider-views@5.1.0

### Minor Changes

- 5ba2c1c: Introduce the concept of server-side search and add support
for it for the Dropbox provider. Previously, only client-side filtering
in the currently viewed folder was possible, which was limiting. Now
users using Companion with Dropbox can perform a search across their
entire account.

### Patch Changes

-   Updated dependencies [5ba2c1c]
    -   @uppy/utils@7.1.0
    -   @uppy/core@5.1.0

## @uppy/utils@7.1.0

### Minor Changes

- 5ba2c1c: Introduce the concept of server-side search and add support
for it for the Dropbox provider. Previously, only client-side filtering
in the currently viewed folder was possible, which was limiting. Now
users using Companion with Dropbox can perform a search across their
entire account.

## uppy@5.1.6

### Patch Changes

-   Updated dependencies [5ba2c1c]
    -   @uppy/companion-client@5.1.0
    -   @uppy/provider-views@5.1.0
    -   @uppy/core@5.1.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-08 22:01:27 +02:00
Prakash
5ba2c1c8d3
Server side search @uppy/Companion (#6003)
## High Level View

<img width="3367" height="1576" alt="Global Search (1)"
src="https://github.com/user-attachments/assets/134e8658-5cbd-4816-87a1-3bd42603089d"
/>


- Search View replicated , through minimal components `<GlobalSearchView
/>` and `<SearchResultItem />`
- Both components take only the minimal state needed to render the
search view no dependency on PartialTree. search response from companion
server is directly passed to GlobalSearchView for file state.
- `#buildPath` creates missing parent nodes in partialTree (if any) and
opens the folder in the normal way using a minimal wrapper over
openFolder function.
- Both interactions : "checking a file/folder" and "opening a folder"
use the same function `#buildPath` to build the path, then use the
already existing `openFolder` and `toggleCheckBox`.
- Max search results: 1000. Pagination removed for simplicity (can be
added later).
- From a UI/UX standpoint, all functionality works as expected.
- The only limitation is occasional inconsistent partial checked states
when the tree isn’t fully built — unavoidable since percolateUp and
percolateDown require the complete partialTree to sync state correctly.
This issue isn’t critical; even in other cases, we already mark folders
"checked" whereas they may be empty if not yet fetched.
- I figured out it's better to just derive the checkedState from
PartialTree , and then pass it to `GlobalSearchView` rather than keep it
separate and then worrying about checked state syncs across two views
for UI to look right.
- IMO this is the most simplest approach I could come up with. without
sacrificing any user functionality and it carefully reuses all the util
code.

---------

Co-authored-by: Merlijn Vos <merlijn@soverin.net>
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2025-10-08 21:18:17 +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
Copilot
84cf20ea4c
Add stability warning comment to SCSS source files (#5960)
Adds a stability warning comment to the top of all `src/style.scss`
files in the following Uppy packages to inform consumers that the source
code and variables are not part of the stable API:

- @uppy/audio
- @uppy/core
- @uppy/dashboard
- @uppy/drag-drop
- @uppy/drop-target
- @uppy/image-editor
- @uppy/provider-views
- @uppy/screen-capture
- @uppy/status-bar
- @uppy/url
- @uppy/webcam

The comment added is:
```scss
// NOTE TO CONSUMERS: The code and variables in these source files are not considered stable and can change at any time, even in minor and patch releases!
```

This warning helps clarify that while the compiled CSS output and public
APIs remain stable, the internal SCSS source files, variables, and
implementation details should not be relied upon by consumers as they
may change without notice in any release.

The changes are minimal and surgical - exactly one line added to the top
of each file with no other modifications to existing code.

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

*This pull request was created as a result of the following prompt from
Copilot chat.*
> Add the following comment at the very top of each src/style.scss file
in the following Uppy packages: @uppy/audio, @uppy/core,
@uppy/dashboard, @uppy/drag-drop, @uppy/drop-target, @uppy/image-editor,
@uppy/provider-views, @uppy/screen-capture, @uppy/status-bar, @uppy/url,
@uppy/webcam.
> 
> Comment to add:
> // NOTE TO CONSUMERS: The code and variables in these source files are
not considered stable and can change at any time, even in minor and
patch releases!
> 
> Ensure the comment is the first line in each file, above any existing
code or imports.

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

 Let Copilot coding agent [set things up for
you](https://github.com/transloadit/uppy/issues/new?title=+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

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: Prakash <qxprakash@gmail.com>
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2025-09-11 21:53:40 +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]
d4bdb463c1
[ci] release (#5936)
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/companion@6.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.

## @uppy/components@1.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/core@5.0.1

## @uppy/core@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/utils@7.0.1

## @uppy/dashboard@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/provider-views@5.0.1
    -   @uppy/utils@7.0.1
    -   @uppy/core@5.0.1

## @uppy/drag-drop@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/utils@7.0.1
    -   @uppy/core@5.0.1

## @uppy/provider-views@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/utils@7.0.1
    -   @uppy/core@5.0.1

## @uppy/react@5.0.2

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/components@1.0.1
    -   @uppy/dashboard@5.0.1
    -   @uppy/utils@7.0.1
    -   @uppy/core@5.0.1

## @uppy/svelte@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/components@1.0.1
    -   @uppy/dashboard@5.0.1
    -   @uppy/core@5.0.1

## @uppy/utils@7.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.

## @uppy/vue@3.0.2

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/components@1.0.1
    -   @uppy/dashboard@5.0.1
    -   @uppy/core@5.0.1

## uppy@5.1.1

### Patch Changes

-   7abd062: Add missing styles for drag-drop and status-bar
-   Updated dependencies [49522ec]
    -   @uppy/provider-views@5.0.1
    -   @uppy/dashboard@5.0.1
    -   @uppy/drag-drop@5.0.1
    -   @uppy/core@5.0.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-28 17:03:19 +02:00
Merlijn Vos
49522ec5cb
Remove preact/compat (#5935)
We drag it in unneccesarily in the bundle and it can cause JSX clashes
in React apps with `"jsx": "preserve"` in their `tsconfig.json`
(https://github.com/preactjs/preact/issues/4908)

- Remove `@types/react` from companion (unused)
- Fix tsconfig's for @uppy/utils (build was fine, but editor diagnostics
weren't)
2025-08-28 16:57:07 +02:00
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
58e9025d07 Merge branch 'main' of https://github.com/transloadit/uppy into merge_v2 2025-08-21 20:40:23 +05:30
Prakash
d82bbdbbfe lint fix 2025-08-21 14:34:12 +05:30
Prakash
6a33652458 Merge branch 'main' of https://github.com/transloadit/uppy into 5.0 2025-08-20 16:17:08 +05:30
github-actions[bot]
1c3fc13957
[ci] release (#5901)
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/core@4.5.3

### Patch Changes

- eee05db: Fix retry after setting missed metaFields requiring you to
click "retry" and then "upload" again. Now "retry" immediately restarts
the upload.

## @uppy/golden-retriever@4.2.3

### Patch Changes

- a0a248a: Fix golden retriever crash when removing a file after
restoring and clicking upload
-   Updated dependencies [eee05db]
    -   @uppy/core@4.5.3

## @uppy/provider-views@4.5.3

### Patch Changes

- 2f62f40: VirtualList now virtualises rows in the file list, as was
intented. This means better performance when scrolling thousands for
files.
-   Updated dependencies [eee05db]
    -   @uppy/core@4.5.3

## @uppy/react-native@0.6.5

### Patch Changes

-   Updated dependencies [eee05db]
    -   @uppy/core@4.5.3

## @uppy/thumbnail-generator@4.2.3

### Patch Changes

- 79502f7: Make tiny/small thumbnails look better by not scaling them to
cover the entire grid item
-   Updated dependencies [eee05db]
    -   @uppy/core@4.5.3

## uppy@4.18.3

### Patch Changes

-   Updated dependencies [a0a248a]
-   Updated dependencies [2f62f40]
-   Updated dependencies [eee05db]
-   Updated dependencies [79502f7]
    -   @uppy/golden-retriever@4.2.3
    -   @uppy/provider-views@4.5.3
    -   @uppy/core@4.5.3
    -   @uppy/thumbnail-generator@4.2.3

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-20 12:44:12 +02:00
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
Mikael Finstad
2f62f4001f
Fix virtual list on main (take 3) (#5899)
rewrite to tsx
rewrite to hook
fix broken virtualization (it didn't work)
removed focus element retention (cannot get it to work)
fixes #4679
closes #5307
see also
https://github.com/transloadit/uppy/pull/5255#issuecomment-2205924942

closes #5890
2025-08-07 22:46:20 +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
Merlijn Vos
c66fd85340
Fix remaining package.json imports (#5862)
Closes #5860
2025-08-01 17:16:01 +02:00
Prakash
c5b51f6158
Add Export Maps (#5830)
- added export maps to all the @uppy packages .
- imports remain unaffected except for peerDep packages in `@uppy/react`
`@uppy/svelte` and `@uppy/vue3`.
- export maps added for index files , css , and package.json. 
- Added side effects for all the packages.

---------

Co-authored-by: Mikael Finstad <finstaden@gmail.com>
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-07-31 17:22:57 +02:00
Murderlon
7d6d90ba5c
Version packages
After manual releasing all packages as changesets messed things up
2025-07-29 20:09:54 +02:00
github-actions[bot]
4ccd3716af
[ci] release (#5849) 2025-07-29 17:10:10 +02:00
Merlijn Vos
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
0294539af6
Fix object not extensible (#5835)
Closes #5829
2025-07-21 12:48:18 +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
75c8007cf9
Isolate CSS building per package (#5799)
- Isolate CSS bundling per package
- Fix _all_ sass deprecation warnings
- Remove global scripts
- Run CSS building in parallel .

Is it repetitive? Yes a bit. But it's mono repo best practice and once
we introduce turbo each css build step can be individually cached. That
means when you edit scss in one package, only that needs to be rebuild,
not the TS of that package nor any other CSS. This PR lays the
groundwork for that.
2025-07-07 11:47:14 +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]
c16657e075
Release: uppy@4.18.0 (#5796)
| Package                    | Version | Package                    | Version |
| -------------------------- | ------- | -------------------------- | ------- |
| @uppy/components           |   0.2.0 | @uppy/remote-sources       |   2.3.4 |
| @uppy/core                 |   4.4.7 | @uppy/screen-capture       |   4.3.1 |
| @uppy/google-drive-picker  |   0.3.6 | @uppy/svelte               |   4.5.0 |
| @uppy/google-photos-picker |   0.3.6 | @uppy/vue                  |   2.3.0 |
| @uppy/locales              |   4.6.0 | @uppy/webcam               |   4.2.1 |
| @uppy/provider-views       |   4.4.5 | uppy                       |  4.18.0 |
| @uppy/react                |   4.4.0 |                            |         |

- meta: Remove remark reference from CI (Murderlon)
- @uppy/components,@uppy/screen-capture: useScreenCapture fixes (Prakash / #5793)
- examples: Add useRemoteSource (Merlijn Vos / #5778)
- @uppy/components: Use webcam fixes2 (Mikael Finstad / #5791)
- meta: Remove remark (Merlijn Vos / #5790)
- meta: Delete old, unused files (Merlijn Vos / #5788)
- meta: Sort package.json (Murderlon)
- examples: Headless Hooks: Add useScreenCapture (Prakash / #5784)
- @uppy/locales: Update pt_BR localization (Gabriel Pereira / #5780)
- e2e: Skip for now then (Murderlon)
- e2e: fixup! Fix CI for now (Murderlon)
- e2e: Fix CI for now (Murderlon)
- examples: Add useWebcam (Merlijn Vos / #5741)
- @uppy/react,@uppy/svelte,@uppy/vue: Add useDropzone & useFileInput (Merlijn Vos / #5735)
- meta: build(deps): bump base-x from 3.0.9 to 3.0.11 (dependabot[bot] / #5772)
- @uppy/provider-views: improve metadata handling in Google Photos Picker (ben rosenbaum / #5769)
2025-06-30 13:50:55 +00:00
Merlijn Vos
cb2999926b
Add useRemoteSource (#5778) 2025-06-24 11:00:37 +02:00