Skip to main content

Uppy 4.0 is here: TypeScript rewrite, Google Photos, React hooks, and much more.

Uppy 0.19: Tests, Informer details and better APIs

· 4 min read

Hello! The 0.19 release is about internal fixes, optimizations and refactoring, as well as some work on PRs that we’ll hopefully tell you about soon!

Jest tests

Thanks to our contributer, @richardwillars, and following the example set by Uppy Server, we’ve switched to Jest for Uppy’s unit tests, and added a bunch of new tests as well. And even more are being added as we speak!

We're also happy to report that more tests have been added for Uppy Server.

Dashboard APIs

We’ve exposed show/hide/isOpen APIs for the Dashboard UI plugin. Now you can open and close the modal dialog programmatically:

const modal = uppy.getPlugin('Dashboard');
modal.show();

// ...

button.addEventListener('click', () => {
if (modal.isOpen()) {
modal.hide();
} else {
modal.show();
}
});

Check out the docs.

Uppy 0.18: Dogumentation and The GoldenRetriever

· 5 min read

Hi! Another month — a new Uppy release 🎉

Note: current latest release is actually 0.19, but this post got delayed, so we are publishing it first. 0.19 post is coming next.

New documentation

Documentation for Uppy has been re-written, and now features chapters on Uppy’s settings and API, using various plugins, and running Uppy Server. Check it out: https://uppy.io/docs/. More chapters to come!

The GoldenRetriever

The GoldenRetriever has been released as a public beta. For details, please refer to the previous post, The GoldenRetriever: Making uploads survive browser crashes, but the gist is: when enabled, this plugin will save uppy-state to localStorage on every change, and then if your browser crashes, or you accidentaly navigate away from a tab,later when you return, your uploads will resume like nothing happened. Spoiler: it uses Service Workers and IndexedDB.

The Golden Retriever: Making uploads survive browser crashes

· 7 min read

TL;DR: We're on a mission to improve file uploading on the web. We released tus: the open protocol for resumable file uploads, as well as Uppy: the next open source file uploader for web browsers. Uppy uses tus, which makes it resilient to poor network conditions and crashing servers. Today we’re launching an Uppy feature that also makes it resilient to browser crashes, which we believe is an industry first. We’re sharing a quick demo video, a bit of background, how exactly we achieved this, and how you can try it yourself.

***

Don’t you just hate it when you’re about to share the perfect photos from your trip to Iceland, and halfway through, your cat jumps on the keyboard and trashes your browser? Or the battery in your laptop dies? Or you accidentally close the tab or navigate away? We hate that too!

If action games have had checkpoints since 1687 — why can’t file uploaders? Well, as it turns out, they can! We found a way to get those Iceland pics into the hands of your loved ones with near-zero levels of frustration, even after a dreaded Blue Screen of Death! (if that is still a thing ;)

Uppy 0.17: Restrictions

· 6 min read

Hi! We are back with yet another Uppy release that contains some often requested features such as file restrictions and better file type detection, alongside a brand new Instagram plugin, UI improvements and more!

Uppy 0.16: Transloadit!

· 5 min read
ife

Hello there! Missed us much? :) We're chomping at the bits, at least, to tell you about our latest release. This one has been in the works longer than usual, but then again, it's also way cooler than usual, so let's get right to it.

Uppy 0.15: Spring cleanup

· 5 min read

Spring is in the air and Uppy is feeling particularly full of life. In this post about Uppy 0.15, we have some exciting stories about babel-plugin-yo-yoify, progress event throttling, and new friends.

Uppy 0.14: Responsive Dashboard, Standalone & Pluggable Server, Dropbox

· 6 min read

Hi! Hope y’all have had great holidays! 🎄 Which reminds us, we still have a gift for you — and we even wrapped it in a package (npm). Look inside and you’ll find that Uppy 0.14!

“But wait”, you might ask, “where is the 0.13 release that we have been waiting for?”

Well, let’s just say we are superstitious like that. You won’t see us coding under any ladders either! And we were also in the middle of the holiday season, so we decided to call 0.13 “The Release That Wasn’t” and skip it.

Let’s take a look at what Uppy 0.14 has in store for you.

Uppy 0.12: Responsive. Cancel. Feedback. Refreshed ES6 server

· 4 min read

Hello! Here’s what’s new in Uppy 0.12.

Dashboard: local mode and multipart uploads support in UI

Prior to this release, we’ve optimized the Dashboard for usage with multiple “acquire plugins”, say Webcam + Google Drive. But sometimes all you need is “local disk” with drag & drop support, nice file previews and progress. And now the Dashboard UI works great with that use case out of the box. When you don’t add (.use) any acquire plugins, it looks like this:

Also (prior to this release), we’ve built the Dashboard to work well with tus resumable uploads. That’s why you can pause and resume individual uploads, as well as all at once. But if you use an endpoint that is not yet ready for the future and upload resumability (here’s how to fix that, by the way), the Dashboard UI will show regular “cancel” buttons instead of pause/resume.

Dashboard is gradually becoming more mobile friendly too, but we’ll be saving some of that stuff for the next release.

Server

Uppy server has undergone a quite a few changes, including the build setup:

  • We are using ES2015, transpiling to ES5 with Babel.
  • Added linting, lint-staged, pre-commit all that good stuff.
  • Added npm run release command that publishes releases for us.
  • Google Drive is working again on the Uppy Server side.
  • Refactoring, error handling and more minor improvements.

Uppy 0.11: StatusBar, research, https and API docs

· 4 min read

Hey everyone! It has been a while since we last shared some news about our progress and we can't wait to let you know what’s up(py)!

In October, we have been working hard to get Uppy 0.11 ready for release. This entailed, among other things, doing a write-up of our general architecture, bringing in a friend to look at what we’ve been up to, experimenting with Redux, and updating the Dashboard UI and website example.

Here's what we have been up to, in some more detail.

Uppy 0.10: Getting together, the future, Google Drive UI, exposed events

· 6 min read

Hi! Another month has passed and we have just released a new version of Uppy. Here’s what we’ve been up to.

Thinking about the future 🔮

We have been spending quite a lot of time thinking about Uppy's future and the direction in which we would like to take this project. Our primary concern is making Uppy as flexible as possible as well as compatible with popular libraries, such as React and React Native. We also want to make it easy to port Uppy to any environments or ecosystems that are not officially supported.

We have done a lot of research. We created prototypes of Uppy React components and we also created a new module that we like to call "Uppy Base." uppy-base is a thin module containing reusable functionality from some of our plugins that can be used in any ecosystem or environment, without being opinionated about the UI.