Skip to content

upup v3.0.0

Choose a tag to compare

@AminDhouib AminDhouib released this 15 Jul 02:07
c7a9736

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 a 403.
  • Next.js integration (@upupjs/next) — a client re-export plus /server route 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 via tus-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 single upup-react-file-uploader package.
  • 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