All Versions
Latest Version
Avg Release Cycle
17 days
Latest Release
490 days ago

Changelog History
Page 17

  • v0.14.0 Changes

    πŸš€ Released: January 27, 2017. πŸ“± Theme: The new 13: Responsive Dashboard, Standalone & Pluggable Server, Dropbox. Uppy Server version: 0.3.0.

    • [x] dashboard: use isWide prop/class instead of media queries, so that compact/mobile version can be used in bigger screens too (@arturi)
    • [x] dashboard: basic β€œlist” view in addition to current β€œgrid” view (@arturi)
    • [x] dashboard: more icons for file types (@arturi)
    • [x] dashboard: add totalSize and totalUploadedSize to StatusBar (@arturi)
    • [x] dashboard: figure out where to place Informer, accounting for StatusBar β€” over the StatusBar for now (@arturi)
    • [x] dashboard: add <progress> element for progressbar, like here Added hidden for now, for semantics/accessibility (@arturi)
    • 🚚 [x] dragdrop: show number of selected files, remove upload btn (@arturi)
    • πŸ— [x] build: exclude locales from build (@arturi)
    • πŸ”Œ [x] core: i18n for each plugin in options β€” local instead of global (@arturi)
    • 0️⃣ [x] core: add default pluralization (can be overrinden in plugin options) to Translator (@arturi)
    • [x] core: use yo-yoify to solve Function.caller / strict mode issue and make our app faster/smaller by transforming template strings into pure and fast document calls (@arturi)
    • [x] server: a pluggable uppy-server (express / koa for now) (@ifedapoolarewaju)
    • [x] server: standalone uppy-server (@ifedapoolarewaju)
    • πŸ”Œ [x] server: Integrate dropbox plugin (@ifedapoolarewaju)
    • [x] server: smooth authentication: after auth you are back in your app where you left, no page reloads (@ifedapoolarewaju)
    • [x] tus: fix upload progress from uppy-server (@arturi, @ifedapoolarewaju)
    • [x] core: basic React component β€” DnD (@arturi)
    • πŸ”Œ [x] core: fix support for both ES6 module import and CommonJS requires with add-module-exports babel plugin (@arturi)
  • v0.13.0 Changes

    πŸš€ To be released: December 23, 2016. πŸš€ Theme: The release that wasn't πŸŽ„.

  • v0.12.0 Changes

    πŸš€ Released: November 25, 2016. πŸ“± Theme: Responsive. Cancel. Feedback. ES6 Server. Uppy Server version: 0.2.0.

    • πŸš€ [x] meta: write 0.12 release blog post (@arturi)
    • πŸ”Œ [x] core: figure out import/require for core and plugins β€” just don’t use spread for plugins (@arturi)
    • [x] meta: create a demo video, showcasing Uppy Dashboard for the main page, like (@arturi)
    • ⚑️ [x] meta: update Readme, update screenshot (@arturi)
    • πŸ‘• [x] server: add pre-commit and lint-staged (@arturi)
    • πŸš€ [x] server: re-do build setup: building at deploy and prepublish when typing npm run release:patch 0.0.1 -> 0.0.2 (@ifedapoolarewaju)
    • πŸ— [x] server: re-do build setup: es6 src -> es5 lib (use plugin packs from Uppy)
    • πŸ‘• [x] server: re-do build setup: eslint --fix ./src via (@ifedapoolarewaju)
    • πŸ— [x] server: re-do build setup: babel-node or babel-require could do realtime transpiling for development (how does that hook in with e.g. nodemon?) (@ifedapoolarewaju)
    • 🚚 [x] server: refacor: remove/reduce file redundancy (@ifedapoolarewaju)
    • [x] server: error handling: 404 and 401 error handler (@ifedapoolarewaju)
    • [x] server: bug fix: failing google drive (@ifedapoolarewaju)
    • [x] webcam: stop using the webcam (green light off) after the picture is taken / tab is hidden (@arturi)
    • [x] core: allow usage without new, start renaming Core() to Uppy() in examples (@arturi)
    • [x] core: api β€” consider Yosh’s feedback and proposals, come up with follow up questions (@arturi)
    • πŸ”Œ [x] dashboard: local mode β€” no acquire plugins / external services, just DnD β€” ActionBrowseTagline (@arturi)
    • [x] dashboard: only show pause/resume when tus is used (@arturi)
    • [x] dashboard: cancel uploads button for multipart (@arturi)
    • πŸ“± [x] dashboard: responsive design β€” stage 1 (@arturi)
    • πŸš€ [x] meta: write 0.11 release blog post (@arturi)
  • v0.11.0 Changes

    πŸš€ Released: November 1, 2016. Releasemaster: Artur. πŸ“„ Theme: StatusBar and API docs.

    • 🌲 [x] core: log method should have an option to throw error in addition to just logging (@arturi)
    • πŸ”Œ [x] experimental: PersistentState plugin that saves state to localStorage β€” useful for development (@arturi)
    • [x] dashboard: implement new StatusBar with progress and pause/resume buttons (@arturi)
    • [x] dashboard: attempt to throttle StatusBar, so it doesn’t re-render too often (@arturi)
    • ♻️ [x] dashboard: refactor β€” only load one acquire panel at a time (activeAcquirer or empty), change focus behavior, utilize onload/onunload
    • ♻️ [x] experimental: create a Dashboard UI for Redux refactor (@hedgerh)
    • [x] dashboard: make trigger optional β€” not needed when rendering inline (@arturi)
    • [x] fileinput: pretty input element #93 (@arturi)
    • [x] meta: document current Uppy architecture and question about the future (@arturi, @hedgerh)
    • πŸ‘€ [x] test: see about adding tests for autoProceed: true (@arturi)
    • πŸ”Œ [x] website: and ability to toggle options in Dashboard example: inline/modal, autoProceed, which plugins are enabled #89 (@arturi)
    • ⬆️ [x] website: finish https upgrade for, uppy-server and tus, set up pingdom notifications (@arturi, @kvz, @hedgerh)
    • ⚑️ [x] website: update guide, API docs and main page example to match current actual API (@arturi)
    • [x] uppy-server: Make uppy server have dynamic controllers (@hedgerh)
  • v0.10.0 Changes

    πŸš€ Released: Septermber 23, 2016. Releasemaster: Artur. Theme: Getting together.

    • πŸ“œ [x] core: expose some events/APIs/callbacks to the user: onFileUploaded, onFileSelected, onAllUploaded, addFile (or parseFile), open modal... (@arturi, @hedgerh)
    • πŸ’» [x] core: how would Uppy work without the UI, if one wants to Uppy to just add files and upload, while rendering preview and UI by themselves #116 β€” discussion Part 1 (@arturi, @hedgerh)
    • ♻️ [x] core: refactor towards react compatibility as discussed in (@hedgerh)
    • πŸ‘€ [x] core: CSS modules? allow bundling of CSS in JS for simple use in NPM? See #120#issuecomment-242455042, try β€” verdict: not yet, try again later (@arturi, @hedgerh)
    • πŸ›° [x] core: try Web Workers and FileReaderSync for image resizing again β€” still slow, probably message payload between webworker and regular thread is huge (@arturi)
    • 0️⃣ [x] core: i18n strings should extend default en_US dictionary β€” if a certain string in not available in German, English should be displayed (@arturi)
    • ♻️ [x] dashboard: refactor to smaller components, pass props down (@arturi)
    • [x] dashboard: option to render Dashboard inline instead of a modal dialog (@arturi)
    • [x] dashboard: global circular progress bar, try out different designs for total upload speed and ETA (@arturi)
    • [x] dashboard: show total upload speed and ETA, for all files (@arturi)
    • πŸ’» [x] dashboard: copy link to uploaded file button, cross-browser (@arturi) ( (@arturi)
    • ♻️ [x] dashobard: refreshed design and grand refactor (@arturi)
    • [x] dashboard: improve file paste the best we can (@arturi)
    • πŸ”Œ [x] provider: abstract google drive into provider plugin for reuse (@hedgerh)
    • πŸ’» [x] google drive: improve UI (@hedgerh)
    • [x] tus: add resumable capability flag (@arturi)
    • [x] tus: start fixing pause/resume issues and race conditions (@arturi)
    • βœ… [x] test: working Uppy example on Require Bin β€” latest version straight from NPM (@arturi @acconut)
    • πŸš€ [x] meta: update readme docs, add unpkg CDN links ( (@arturi)
    • πŸš€ [x] meta: write 0.10 release blog post (@arturi)
  • v0.9.0 Changes

    πŸš€ Released: August 26, 2016. Releasemaster: Harry.

    Theme: Making Progress, Then Pause & Resume.

    • [x] dashboard: informer interface: message when all uploads are "done" (@arturi)
    • πŸš€ [x] meta: write 0.9 release blog post (@hedgerh)
    • [x] webcam: a barely working webcam record & upload (@hedgerh)
    • πŸ“‡ [x] metadata: Uppy + tus empty metadata value issue in Safari --> tus issue β€” nailed down, passed to @acconut (@arturi, @acconut)
    • [x] core: experiment with switching to virtual-dom in a separate branch; experiment with rollup again (@arturi)
    • [x] core: figure out race conditions (animations not completing because file div gets re-added to the dom each time) with yo-yo/morphdom (@arturi)
    • [x] core: switch to β€” smaller, allows for on('*') (@arturi)
    • [x] dashboard: add aria-labels and titles everywhere to improve accessibility #114 (@arturi)
    • 🌐 [x] dashboard: file name + extension should fit on two lines, truncate in the middle (maybe (@arturi)
    • [x] dashboard: implement a circular progress indicator on top of the fileItem with play/pause (@arturi)
    • ♻️ [x] dashboard: refactor to smaller components, as discussed in #110 (@arturi)
    • [x] dashboard: show upload remaining time and speed, option to disable (@arturi)
    • ♻️ [x] google drive: refactor to smaller components, as discussed in #110 (@hedgerh)
    • [x] meta: reach out to choo author (@arturi)
    • πŸš€ [x] meta: write 0.8 release blog post (@arturi)
    • πŸ“‡ [x] metadata: add labels to fields in fileCard (@arturi)
    • πŸ“‡ [x] metadata: the aftermath β€” better UI (@arturi)
    • πŸ‘€ [x] test: Get IE6 on Win XP to run Uppy and see it fall back to regular form upload #108 (@arturi)
    • ♻️ [x] test: refactor tests, add DragDrop back (@arturi)
    • ⚑️ [x] tus: update uppy to [email protected], test on requirebin (@arturi)
    • [x] tus: add ability to pause/resume all uploads at once (@arturi)
    • [x] tus: add ability to pause/resume upload (@arturi)
  • v0.8.0 Changes

    πŸš€ Released: July 29, 2016. Releasemaster: Artur. Theme: The Webcam Edition.

    • [x] core: fix bug: no meta information from uppy-server files (@hedgerh)
    • [x] core: fix bug: uppy-server file is treated as local and directly uploaded (@hedgerh)
    • [x] uppy-server: hammering out websockets/oauth (@hedgerh, @acconut)
    • [x] debugger: introduce MagicLog as a way to debug state changes in Uppy (@arturi)
    • πŸ“‡ [x] modifier: A MetaData plugin to supply meta data (like width, tag, filename, user_id) (@arturi)
    • πŸ“‡ [x] modifier: pass custom metadata with non-tus-upload. Maybe mimic meta behavior of tus here, too (@arturi)
    • πŸ“‡ [x] modifier: pass custom metadata with tus-upload with tus-js-client (@arturi)
    • [x] webcam: initial version: webcam light goes on (@hedgerh)
    • πŸ’… [x] progress: better icons, styles (@arturi)
    • πŸ‘ [x] core: better mime/type detection (via mime + extension) (@arturi)
    • [x] core: add deep-freeze to getState so that we are sure we are not mutating state accidentally (@arturi)
    • πŸš€ [x] meta: release β€œUppy Begins” post (@arturi @kvz)
    • πŸ‘ [x] meta: better readme on GitHub and NPM (@arturi)
    • πŸ‘• [x] test: add pre-commit & lint-staged (@arturi)
    • ⚑️ [x] test: add next-update to check if packages we use can be safely updated (@arturi)
    • πŸ’… [x] website: blog polish β€” add post authors and their gravatars (@arturi)
    • πŸ’» [x] dashboard: UI revamp, more prototypes, background image, make dashboard nicer (@arturi)
    • [x] dashboard: try a workflow where import from external service slides over and takes up the whole dashboard screen (@arturi)
    • πŸ”€ [x] modal: merge modal and dashboard (@arturi)
  • v0.7.0 Changes

    πŸš€ Released: July 11, 2016. πŸ’» Theme: Remote Uploads, UI Redesign.

    • [x] core: Investigate if there is a way to manage an oauth dialog and not navigate away from Uppy; Put entire(?) state into oauth redirect urls / LocalStorage with an identifier ? (@hedgerh)
    • πŸ’» [x] core: Rethink UI: Part I (interface research for better file selection / progress representation) (@arturi)
    • [x] core: let user cancel uploads in progress (@arturi)
    • 🐎 [x] core: resize image file previews (to 100x100px) for performance (@arturi)
    • [x] server: add tus-js-client when it's node-ready (@hedgerh)
    • πŸ’» [x] server: make uppy-server talk to uppy-client in the browser, use websockets. (@hedgerh)
    • πŸ”Œ [x] dashboard: new β€œworkspace” plugin, main area that allows for drag & drop and shows progress/actions on files, inspired by ProgressDrawer
    • [x] website: add new logos and blog (@arturi)
    • [x] drive: Return cb after writing all files (@hedgerh)
    • [x] server: Make Google Drive files to actually upload to the endpoint (@hedgerh)
    • πŸ— [x] build: browsersync does 3 refreshes, can that be one? should be doable via cooldown/debounce? -> get rid of require shortcuts (@arturi)
    • πŸ— [x] build: regular + min + gzipped versions of the bundle (@arturi)
    • πŸ— [x] build: set up a simple and quick dev workflow β€” watch:example (@arturi)
  • v0.6.4 Changes

    πŸš€ Released: June 03, 2016. πŸš€ Theme: The aim low release.

    • πŸ— [x] build: minification of the bundle (@arturi)
    • πŸ— [x] build: revisit sourcemaps for production. can we have them without a mandatory extra request?
    • πŸ— [x] build: supply Uppy es5 and es6 entry points in npm package (@arturi)
    • πŸ— [x] build: switch to instead of parallelshell (@arturi)
    • [x] drive: Make sure uppy-server does not explode on special file types: (@hedgerh)
    • [x] modal: accessibility. focus on the first input field / button in tab panel (@arturi)
    • [x] progressdrawer: figure out crazy rerendering of previews by yoyo/bel:, (@arturi)
    • ♻️ [x] core: substantial refactor of mount & rendering (@arturi)
    • πŸ”Š [x] core: better state change logs for better debugging (@arturi)
    • πŸ’… [x] progressdrawer: improve styles, add preview icons for all (@arturi)
    • [x] server: Start implementing the, remote files should be added to state.files and marked as remote (@hedgerh)
    • βœ… [x] test: Add pass/fail Saucelabs flag to acceptance tests (@arturi)
    • πŸ’… [x] website: Polish Saucelabs stats (social badge + stats layout) (@arturi)
    • [x] meta: Create Uppy logos (@markstory)
    • [x] website: fix examples and cleanup (@arturi)
    • [x] website: Add Saucelabs badges to (@kvz)
    • [x] website: fix disappearing icons issue, postcss-inline-svg (@arturi)
  • v0.0.5 Changes

    πŸš€ Released: May 07, 2016. πŸ’… Theme: Acceptance tests and Google Drive Polish.

    • πŸ— [x] test: Wire saucelabs and travis togeteher, make saucelabs fail fatal to travis builds
    • βœ… [x] test: Add addFile-hack so we can have acceptance tests on Safari as well as Edge (@arturi)
    • πŸ’… [x] drive: possible UI polish (@hedgerh)
    • [x] drive: write files to filesystem correctly (@hedgerh)
    • βœ… [x] test: Fix 15s timeout image.jpg (@arturi)
    • βœ… [x] test: Sign up for Live account so we can check ourselves what gives and verify saucelabs isn't to blame (@arturi) <-- Turns out, Saucelabs already does that for us
    • 🐧 [x] test: Get tests to pass Latest version of Internet Explorer (Windows 10), Safari (OSX), Firefox (Linux), Opera (Windows 10) (@arturi) <-- IE 10, Chrome, Firefox on Windows and Linux, but not Safari and Microsoft Edge β€” Selenium issues
    • βœ… [x] test: Get saucelabs to show what gives (errors, screenshots, anything) (@arturi)
    • πŸ— [x] build: sourcemaps for local development (@arturi) <-- Not adding it in production to save the extra request. For local dev, this was added already via Browserify
    • [x] core: Add polyfill for fetch (@hedgerh)
    • πŸ”Œ [x] core: Apply plugins when DOM elements aren't static (#25)
    • [x] core: figure out the shelf thing (@arturi, @hedgerh)
    • ⚑️ [x] core: reduce the monstrous 157.74Kb prebuilt bundle footprint <-- we see no way to optimize at this stage
    • [x] drive: add breadcrumb navigation (@hedgerh)
    • πŸ“„ [x] drive: convert google docs to office format (@hedgerh)
    • πŸ—„ [x] modal: Avoid duplicating event listeners <-- deprecated by yoyo
    • [x] progressbar: make it great again (@arturi)
    • ⚑️ [x] progressdrawer: figure out why the whole list is replaced with every update (dom diff problems) (@arturi)
    • βœ… [x] test: Let Travis use the Remote WebDriver instead of the Firefox WebDriver (, so Saucelabs can run our acceptance tests against a bunch of real browsers. Local acceptance tests keep using Firefox <-- need to add command to Travis (@arturi)
    • 🚚 [x] test: Move failing multipart test back from v0.0.5 dir, make it pass (@arturi)
    • πŸ‘ [x] tus: Add support tus 1.0 uploading capabilities (#3) <-- works!
    • [x] website: Make cycling through taglines pretty (in terms of code and a nice animation or sth) (@arturi)
    • 🚚 [x] website: Move the activity feed from to the Uppy homepage (@arturi)
    • πŸ’… [x] website: Polish and undo its CSS crimes (@arturi)