Skip to content

Latest commit

 

History

History
251 lines (213 loc) · 16.5 KB

CHANGELOG.md

File metadata and controls

251 lines (213 loc) · 16.5 KB

Our combined changelog and roadmap. It contains todos as well as dones.

Items can be optionally be tagged tagged by GitHub owner issue if discussion happened / is needed.

Please add your entries in this format:

  • - [ ] (<plugin name>|website|core|meta|build|test): <Present tense verb> <subject> \(<list of associated owners/gh-issues>\).

Following SemVer spec item 4, we're <1.0.0 and allowing ourselves to make breaking changes in minor and patch levels.

In the current stage we aim to release a new version on the first Friday of every new month.

Backlog

Ideas that will be planned and find their way into a release at one point

  • build: go over package.json together and clean up npm run scripts (@arturi, @hedgerh, @kvz)
  • build: investigate Rollup someday, for tree-shaking and smaller dist browserify/browserify#1379 (comment), https://github.com/nolanlawson/rollupify
  • core: Decouple rendering from Plugins and try to make Uppy work with React (add basic example) to remain aware of possible issues (@hedgerh), look at https://github.com/akiran/react-slick
  • core: Have base styles, be explicit about fonts, etc
  • core: Make sure Uppy works well in VR
  • drive: Show a visual indication that downloading has started after double-clicking. Prevent that 6 clicks = 3 downloads
  • instagram: Make a barely working Instagram Plugin + example (#21)
  • meta: Use <waffle.io> instead of Markdown task tracking. Some discussion here (@kvz)
  • modal: polish on mobile
  • presenter: make it work with new components/state (@arturi)
  • presets: Add basic preset that mimics Transloadit's jQuery plugin (#28)
  • test: Human should check http://www.webpagetest.org, use it sometimes to test our website & Uppy? Which will show response/loading times and where big delays are
  • test: Human should test with real screen reader to identify accessibility problems
  • test: add https://github.com/pa11y/pa11y for automated accessibility testing
  • test: Make Edge and Safari work via the tunnel so we can test localhost instead of uppy.io, and test the current build, vs the previous deploy that way
  • test: setup an HTML page with all sorts of crazy styles, resets & bootstrap to see what brakes Uppy (@arturi)
  • website: Make a gif/video of Uppy Modal or DragDrop demo (drag & drop a few files -> upload happens)
  • website: scrollbars on code samples (can’t reproduce!) (@arturi)
  • core: accessibility research
  • test: add next-update https://www.npmjs.com/package/next-update to check if packages we use can be safely updated

0.8.0

Released: N/A

  • core: let user cancel uploads in progress (@arturi)
  • meta: better readme on GitHub and NPM (@arturi)
  • modifier: A plugin to supply meta data (like width, tag, filename, user_id) (@arturi)
  • modifier: pass custom metadata with non-tus-upload. Maybe mimic meta behavior of tus here, too
  • modifier: pass custom metadata with tus-upload with tus-js-client (@arturi)
  • progressdrawer: better icons, style, file types (mime + extension) (@arturi)
  • test: Get IE4 on windows 3.11 to run Uppy and see it fall back to regular form upload (api2.transloadit.com) (@arturi)
  • test: working Uppy example on Require Bin — latest version straight from NPM (@arturi)

0.7.0

Theme: Remote Uploads, UI Redesign

Released: July 1, 2016

  • 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)
  • core: Rethink UI: Part I (interface research for better file selection / progress representation) (@arturi)
  • core: let user cancel uploads in progress (@arturi)
  • core: resize image file previews (to 100x100px) for performance (@arturi)
  • server: add tus-js-client when it's node-ready (@hedgerh)
  • server: make uppy-server talk to uppy-client in the browser, use websockets. (@hedgerh)
  • dashboard: new “workspace” plugin, main area that allows for drag & drop and shows progress/actions on files, inspired by ProgressDrawer
  • website: add new logos and blog (@arturi)
  • drive: Return cb after writing all files https://github.com/transloadit/uppy-server/commit/4f1795bc55869fd098a5c81a80edac504fa7324a#commitcomment-17385433 (@hedgerh)
  • server: Make Google Drive files to actually upload to the endpoint (@hedgerh)
  • build: browsersync does 3 refreshes, can that be one? should be doable via cooldown/debounce? -> get rid of require shortcuts (@arturi)
  • build: regular + min + gzipped versions of the bundle (@arturi)
  • build: set up a simple and quick dev workflow — watch:example (@arturi)

0.6.4

Theme: The aim low release

Released: June 03, 2016

  • build: minification of the bundle (@arturi)
  • build: revisit sourcemaps for production. can we have them without a mandatory extra request?
  • build: supply Uppy es5 and es6 entry points in npm package (@arturi)
  • build: switch to https://www.npmjs.com/package/npm-run-all instead of parallelshell (@arturi)
  • drive: Make sure uppy-server does not explode on special file types: https://dl.dropboxusercontent.com/s/d4dbxitjt8clo50/2016-05-06%20at%2022.41.png (@hedgerh)
  • modal: accessibility. focus on the first input field / button in tab panel (@arturi)
  • progressdrawer: figure out crazy rerendering of previews by yoyo/bel: choojs/nanohtml#26, choojs/nanohtml#27 (@arturi)
  • core: substantial refactor of mount & rendering (@arturi)
  • core: better state change logs for better debugging (@arturi)
  • progressdrawer: improve styles, add preview icons for all (@arturi)
  • server: Start implementing the SERVER-PLAN.md, remote files should be added to state.files and marked as remote (@hedgerh)
  • test: Add pass/fail Saucelabs flag to acceptance tests (@arturi)
  • website: Polish Saucelabs stats (social badge + stats layout) (@arturi)
  • meta: Create Uppy logos (@markstory)
  • website: fix examples and cleanup (@arturi)
  • website: Add Saucelabs badges to uppy.io (@kvz)
  • website: fix disappearing icons issue, postcss-inline-svg (@arturi)

0.0.5

Theme: Acceptance tests and Google Drive Polish

Released: May 07, 2016

  • test: Wire saucelabs and travis togeteher, make saucelabs fail fatal to travis builds
  • test: Add addFile-hack so we can have acceptance tests on Safari as well as Edge (@arturi)
  • drive: possible UI polish (@hedgerh)
  • drive: write files to filesystem correctly (@hedgerh)
  • test: Fix 15s timeout image.jpg (@arturi)
  • test: Sign up for Browserstack.com 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
  • 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
  • test: Get saucelabs to show what gives (errors, screenshots, anything) (@arturi)
  • 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
  • core: Add polyfill for fetch (@hedgerh)
  • core: Apply plugins when DOM elements aren't static (#25)
  • core: figure out the shelf thing https://transloadit.slack.com/archives/uppy/p1460054834000504 https://dl.dropboxusercontent.com/s/ypx6a0a82s65o0z/2016-04-08%20at%2010.38.png (@arturi, @hedgerh)
  • core: reduce the monstrous 157.74Kb prebuilt bundle footprint https://dl.dropboxusercontent.com/s/ypx6a0a82s65o0z/2016-04-08%20at%2010.38.png <-- we see no way to optimize at this stage
  • drive: add breadcrumb navigation (@hedgerh)
  • drive: convert google docs to office format (@hedgerh)
  • modal: Avoid duplicating event listeners <-- deprecated by yoyo
  • progressbar: make it great again (@arturi)
  • progressdrawer: figure out why the whole list is replaced with every update (dom diff problems) (@arturi)
  • test: Let Travis use the Remote WebDriver instead of the Firefox WebDriver (https://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-Sauce-Labs), 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)
  • test: Move failing multipart test back from v0.0.5 dir, make it pass (@arturi)
  • tus: Add support tus 1.0 uploading capabilities (#3) <-- works!
  • website: Make cycling through taglines pretty (in terms of code and a nice animation or sth) (@arturi)
  • website: Move the activity feed from http://uppy.io/stats to the Uppy homepage (@arturi)
  • website: Polish http://uppy.io/stats and undo its CSS crimes (@arturi)

0.0.4

Released: April 13, 2016

  • server: Upgrade to 0.0.4 (@kvz)
  • drive: Add Google Drive plugin unit test (@hedgerh)
  • drive: Add a barely working Google Drive example (without Modal, via e.g. target: "div#on-my-page") (@hedgerh)
  • drive: Make sure http://server.uppy.io is targeted on uppy.io; and localhost is targeted elsewhere (also see https://github.com/hughsk/envify) (@kvz)
  • test: Setup one modal/dragdrop acceptance test (@arturi)
  • drive: Make sure http://server.uppy.io is targeted on uppy.io; and localhost is targeted elsewhere (also see https://github.com/hughsk/envify) (@kvz)
  • website: Add a http://uppy.io/stats page that inlines disc.html as well as displays the different bundle sizes, and an activity feed (@kvz)
  • dragdrop: refactor & improve (@arturi)
  • website: fix i18n & DragDrop examples (@arturi)
  • website: Provide simple roadmap in examples (#68, @kvz)
  • website: Upgrade Hexo (@kvz)
  • test: Make failing acceptance tests fatal (@kvz)
  • allow for continuous acquiring, even after all plugins have “run” (@arturi, @hedgerh)
  • build: clean up package.json. We've accumulated duplication and weirdness by hacking just for our current problem without keeping a wider view of what was already there (@arturi)
  • build: fix browsersync & browserify double reloading issue (@arturi)
  • build: sourcemaps for examples (@arturi)
  • complete: Complete Plugin of type/stage: presenter. "You have successfully uploaded 3 files". Button: Close modal. (@arturi)
  • core: allow for continuous acquiring, even after all plugins have “run” (@arturi, @hedgerh)
  • core: come up with a draft standard file format for internal file handling (@arturi)
  • core: Pluralize collections (locales, just l like plugins) (@kvz)
  • core: re-think running architecture: allow for acquiring while uploading (@arturi)
  • core: Rename progress to progressindicator (@kvz)
  • core: Rename selecter to acquirer (@kvz)
  • core: Rename view to orchestrator (@kvz)
  • core: start on component & event-based state management with yo-yo (@arturi)
  • core: Upgrade from babel5 -> babel6 (@kvz)
  • dragdrop: Fix 405 Not Allowed, (error) handling when you press Upload with no files (#60, @arturi, thx @hpvd)
  • modal: UppyModal [type=submit] { display: none }, use Modal's own Proceed button to progress to next stage (@arturi)
  • modal: covert to component & event-based state management (@arturi)
  • modal: Make sure modal renders under one dom node — should everything else too? (@arturi, @hedgerh)
  • modal: refactor and improve (@arturi)
  • progressdrawer: show link to the uploaded file (@arturi)
  • progressdrawer: show file type names/icons for non-image files (@arturi)
  • progressdrawer: show uploaded files, display uploaded/selected count, disable btn when nothing selected (@arturi)
  • progressdrawer: implement basic version, show upload progress for individual files (@arturi)
  • progressdrawer: show previews for images (@arturi)
  • server: Add a deploy target for uppy-server so we can use it in demos (#39, @kvz)
  • test: Add a passing dummy i18n acceptance test, move failing multipart test to v0.5.0 dir (@kvz)
  • test: Add acceptance tests to Travis so they are run on every change (@kvz)
  • test: Get Firefox acceptance tests up and running both local and on Travis CI. Currently both failing on StaleElementReferenceError: Element not found in the cache - perhaps the page has changed since it was looked up https://travis-ci.org/transloadit/uppy/builds/121175389#L478
  • test: Get saucelabs account https://saucelabs.com/beta/signup/OSS/None (@hedgerh)
  • test: Install chromedriver ()
  • test: Switch to using Firefox for acceptable tests as Travis CI supports that (https://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-xvfb-to-Run-Tests-That-Require-a-GUI) (@kvz)
  • test: Write one actual test (e.g. Multipart) (#2, #23, @hedgerh)
  • tus: Resolve promise when all uploads are done or failed, not earlier (currently you get to see '1 file uploaded' and can close the modal while the upload is in progress) (@arturi)
  • website: Filter taglines (@kvz)
  • website: utilize browserify index exposers to rid ourselves of ../../../.. in examples (@kvz)

0.0.3

Released: March 01, 2016

  • core: push out v0.0.3 (@kvz)
  • build: release-(major|minor|patch): git tag && npm publish (@kvz)
  • core: Allow users to set DOM elements or other plugins as targets (@arturi)
  • core: Create a progressbar/spinner/etc plugin (#18, @arturi)
  • core: Decide on how we ship default styles: separate css file, inline (@kvz, @hedgerh, @arturi, @tim-kos)
  • core: Decide on single-noun terminology (npm, umd, dist, package, cdn, module -> bundler -> bundle), and call it that through-out (@kvz)
  • core: throw an error when one Plugin is .used twice. We don't support that now, and will result in very confusing behavior (@kvz)
  • dragdrop: Convert DragDrop to adhere to Dummy's format, so it's compatible with the new Modal (@arturi)
  • drive: Convert GoogleDrive to adhere to Dummy's format, so it's compatible with the new Modal (@hedgerh)
  • modal: Add barely working Modal plugin that can be used as a target (#53, #50, @arturi)
  • modal: Improve Modal API (@arturi, @kvz)
  • modal: Make ProgressBar work with the new Modal (@kvz, @arturi)
  • modal: Make Modal prettier and accessible using Artur's research (@arturi)
  • modal: Make the Modal look like Harry's sketchup (@arturi)
  • modal: Rename FakeModal to Modal, deprecating our old one (@kvz)
  • modal: use classes instead of IDs and buttons instead of links (@arturi)
  • server: package.json (@hedgerh)
  • test: Fix and enable commented out use plugins & other core unit test (@arturi)

0.0.2

Released: February 11, 2016

  • build: Use parallelshell and tweak browserify to work with templates (@arturi)
  • core: Add basic i18n support via core.translate() and locale loading (#47, @arturi)
  • core: implement a non-blocking install method (for Progressbar, for example) (@arturi, @kvz)
  • core: Implement ejs or es6 templating (@arturi, @hedgerh)
  • core: Improve on _i18n support, add tests (#47, @arturi)
  • core: Integrate eslint in our build procedure and make Travis fail on errors found in our examples, Core and Plugins, such as > 100 char lines (@kvz)
  • docs: Fix build-documentation.js crashes, add more docs to Utils and Translator (@arturi, @kvz)
  • dragdrop: Use templates, autoProceed setting, show progress (#50, #18, @arturi)
  • meta: Implement playground to test things in, templates in this case
  • server: Create a (barely) working uppy-server (#39, @hedgerh)
  • website: Fix Uppy deploys (postcss-svg problem) (@arturi, @kvz)

0.0.1

Released: December 20, 2015

  • core: Individual progress (#24)
  • core: Setup basic Plugin system (#1, #4, #20)
  • core: Setup build System (#30, #13, @hedgerh)
  • dragdrop: Add basic DragDrop plugin example (#7)
  • dropbox: Add basic Dropbox plugin example (#31)
  • website: Add CSS Framework (#14)
  • website: Create Hexo site that also contains our playground (#5, #34, #12 #22, #44, #35, #15, #37, #40, #43)

Component Owners:

Here are the go-to folks for each individual component or area of expertise:

  • build (@hedgerh)
  • complete (@hedgerh)
  • core (@arturi)
  • docs (@arturi)
  • dragdrop (@arturi)
  • dropbox (@hedgerh)
  • drive (@hedgerh)
  • instagram (@hedgerh)
  • meta (@kvz)
  • modal (@hedgerh)
  • presets (@arturi)
  • server (@hedgerh)
  • test (@arturi)
  • tus (@arturi)
  • website (@arturi)