Uppy 0.12: Responsive. Cancel. Feedback. Refreshed ES6 server
Wednesday Dec 7, 2016
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.
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.
The website now features a video demo of Uppy in action, check it out: http://uppy.io.
Fixed a bug where the Webcam would continue to be active (green light on) even after the picture was taken — all good now.
Improved import/require support for ES2015 and CommonJS modules. Basically, we don’t recommend ES2015 spread imports as a default option just yet — no tree shaking in Browserify and Webpack 1. Both import DragDrop from 'uppy/lib/plugin/DragDrop' and const DragDrop = require('uppy/lib/plugin/DragDrop') are now supported. We’ve added add-module-exports babel plugin that replaces export default with module.exports for backwards compatibility.
Optimized dependencies a little: removed the ones we don’t use, upgraded some that we do.
Here is the full list of changes for version 0.12:
meta: write 0.12 release blog post (@arturi)
core: figure out import/require for core and plugins — just don’t use spread for plugins (@arturi)