# Changelog (/docs/changelog)



New components and docs ship when the site deploys. Changes to `@uploadcn/core`,
`@uploadcn/react` and `@uploadcn/server` ship as npm releases, and every package also
has its own `CHANGELOG.md` on [GitHub](https://github.com/uploadcn/uploadcn/tree/main/packages).

To update the packages:

<CodeBlockTabs defaultValue="npm">
  <CodeBlockTabsList>
    <CodeBlockTabsTrigger value="npm">
      npm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="pnpm">
      pnpm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="yarn">
      yarn
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="bun">
      bun
    </CodeBlockTabsTrigger>
  </CodeBlockTabsList>

  <CodeBlockTab value="npm">
    ```bash
    npm install @uploadcn/core@latest @uploadcn/react@latest @uploadcn/server@latest
    ```
  </CodeBlockTab>

  <CodeBlockTab value="pnpm">
    ```bash
    pnpm add @uploadcn/core@latest @uploadcn/react@latest @uploadcn/server@latest
    ```
  </CodeBlockTab>

  <CodeBlockTab value="yarn">
    ```bash
    yarn add @uploadcn/core@latest @uploadcn/react@latest @uploadcn/server@latest
    ```
  </CodeBlockTab>

  <CodeBlockTab value="bun">
    ```bash
    bun add @uploadcn/core@latest @uploadcn/react@latest @uploadcn/server@latest
    ```
  </CodeBlockTab>
</CodeBlockTabs>

To update a component, add it again and review the diff:

<CodeBlockTabs defaultValue="npm">
  <CodeBlockTabsList>
    <CodeBlockTabsTrigger value="npm">
      npm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="pnpm">
      pnpm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="yarn">
      yarn
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="bun">
      bun
    </CodeBlockTabsTrigger>
  </CodeBlockTabsList>

  <CodeBlockTab value="npm">
    ```bash
    npx shadcn@latest add @uploadcn/upload --overwrite
    ```
  </CodeBlockTab>

  <CodeBlockTab value="pnpm">
    ```bash
    pnpm dlx shadcn@latest add @uploadcn/upload --overwrite
    ```
  </CodeBlockTab>

  <CodeBlockTab value="yarn">
    ```bash
    yarn dlx shadcn@latest add @uploadcn/upload --overwrite
    ```
  </CodeBlockTab>

  <CodeBlockTab value="bun">
    ```bash
    bun x shadcn@latest add @uploadcn/upload --overwrite
    ```
  </CodeBlockTab>
</CodeBlockTabs>

## November 10, 2026 [#november-10-2026]

**Packages 0.1.5**

### Paste to upload [#paste-to-upload]

Add `paste` and an upload component takes screenshots and copied files pasted with
<kbd>Ctrl</kbd>+<kbd>V</kbd> or <kbd>⌘</kbd>+<kbd>V</kbd>. It is opt-in, and one line turns
it on for one component, any block, or the whole app.

* New component: [Upload Paste](/docs/components/upload-paste), a wrapper that adds
  paste to any block, animated ones included.
* `paste` on [`Upload`](/docs/components/upload#paste), on
  [File Upload](/docs/components/file-upload) and on `UploadConfigProvider`.
* Pasted files are validated like dropped files, clipboard images get a real name, and
  pastes into text fields are never intercepted.
* Slot forms (Identity Verification, Document Checklist, Job Application) put a pasted
  file in the slot you are on, or the first empty one.
* New hook: [`useDropzonePaste`](/docs/hooks#usedropzonepaste).

### Provider config generator [#provider-config-generator]

The [config generator](/docs/storage/config-generator) writes the `.env` template, the
CORS rules and the permissions for Amazon S3, Cloudflare R2, Tigris and Cloudinary, in
each provider's own format, from your bucket name and origins.

### Also [#also]

* This changelog, and a dot in the sidebar next to pages that are new.
* The header fits on small phones.

## November 6, 2026 [#november-6-2026]

**Packages 0.1.4**

* `cloudinaryAdapter` uploads large files in chunks of at least 5 MiB, which Cloudinary
  requires. Errors from Cloudinary now carry its own reason.
* [Folder Upload](/docs/components/folder-upload) shows the real files inside the
  folder.
* Example previews are centered, dark mode is softer, and the animated blocks are
  cleaner.

## October 15, 2026 [#october-15-2026]

**Packages 0.1.3**

* `cloudinaryAdapter` signs again before a signature turns one hour old, when an upload
  resumes and between the chunks of long uploads.
* The upload path is now tested against live S3-compatible servers on every change.

## October 14, 2026 [#october-14-2026]

**Packages 0.1.2**

* Uploads restored after a page reload now finish on Tigris and MinIO. `s3Storage`
  decodes the XML character references those services send.

## October 13, 2026 [#october-13-2026]

* New guide: [Tigris](/docs/storage/tigris).

## October 12, 2026 [#october-12-2026]

* UploadCN is in the official shadcn registry directory. Components install with one
  command and no setup. See [Registry](/docs/registry).

## October 9, 2026 [#october-9-2026]

**Packages 0.1.1 and 0.1.0**

* 0.1.1: components render when no adapter is configured, log a setup hint once, and
  each upload fails with the same hint, so pages build before storage is set up.
* 0.1.0: the first public release of UploadCN: the upload engine, React hooks and
  primitives, the upload route, and the registry of components and blocks.
