upup v3.0.0
upup v3.0.0 is a ground-up rewrite: one framework-agnostic headless core, native UI for six frameworks, a hardened server-mode, and cloud drives — all published to npm under the new @upupjs scope (MIT).
Coming from v1 (
upup-react-file-uploader)? Start with the migration guide.
✨ Highlights
- Headless core (
@upupjs/core) — a framework-agnostic engine: file state + orchestrator, the upload pipeline (compression, HEIC decode, web-worker offload), cloud-drive plugins, i18n, and theming. Zero framework dependencies. - Native UI for 6 frameworks —
@upupjs/react,@upupjs/vue,@upupjs/svelte,@upupjs/angular,@upupjs/vanilla, and@upupjs/preact. React is the visual canon; every other framework is DOM-identical and parity-tested byte-for-byte. - Hardened server-mode (
@upupjs/server) — S3 / MinIO presign + proxy upload, cloud-drive OAuth token exchange, and an HMAC-signed trust model (signed length, key/uploadId binding, mandatory secrets). Secure by default: forged or unsigned requests get a403. - Next.js integration (
@upupjs/next) — a client re-export plus/serverroute handlers for both the App and Pages routers. - Cloud drives — Google Drive, OneDrive, Dropbox, and Box, in both client and server modes.
- More sources — camera capture, screen capture, and link import.
- Lean by default — heavy capabilities (HEIC via
libheif-js, resumable uploads viatus-js-client) are optional dependencies loaded on demand behind subpath exports; the pipeline worker is a separate module, never inlined.
⚠️ Breaking changes (from v1 upup-react-file-uploader)
- New package scope — everything ships under
@upupjs/*; v1 was the singleupup-react-file-uploaderpackage. - New architecture — a headless core with
Upup*UI components; the public API surface is redesigned. - Server trust model — server-mode uploads are HMAC-verified and require configured secrets by default.
📦 Packages
All 9 packages are published to npm under the @upupjs scope:
| Package | Version |
|---|---|
@upupjs/angular |
3.0.0 |
@upupjs/core |
3.0.0 |
@upupjs/next |
3.0.0 |
@upupjs/preact |
3.0.0 |
@upupjs/react |
3.0.0 |
@upupjs/server |
3.0.0 |
@upupjs/svelte |
3.0.0 |
@upupjs/vanilla |
3.0.0 |
@upupjs/vue |
3.0.0 |
📥 Install
# pick your framework
npm i @upupjs/react # or @upupjs/vue · @upupjs/svelte · @upupjs/angular · @upupjs/vanilla · @upupjs/preact
# server mode — presign + proxy uploads to any S3-compatible storage
npm i @upupjs/server # plus @upupjs/next for Next.js route handlers📝 What’s changed
Full changelog: v2.0.0...v3.0.0
👥 Contributors
Thanks to everyone who shipped this release:
- AminDhouib — 1124 commits
📖 Docs · 🐙 DevinoSolutions/upup · MIT licensed