<commit_before>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](http://semver.org/#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
last 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 https://github.com/substack/node-browserify/issues/1379#issuecomment-183383199, https://github.com/nolanlawson/rollupify, https://github.com/nolanlawson/rollup-comparison
- [ ] 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, https://github.com/nosir/cleave.js
- [ ] core: Have base styles, be explicit about fonts, etc
- [ ] core: Make sure Uppy works well in VR
- [ ] instagram: Make a barely working Instagram Plugin + example (#21)
- [ ] meta: Use <waffle.io> or GitHub Projects instead of Markdown task tracking. Some discussion [here](https://transloadit.slack.com/archives/general/p1455693654000062) (@kvz)
- [ ] dashboard: add ability to minimize Modal/Dashboard, while long upload is in progress? Uppy then becomes just a tiny progress indicator
- [ ] 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)
- [ ] website: Would one really connect a own google drive or dropbox for testing purpose? => maybe one can give something like a testing account of google drive and dropbox to try uppy
- [ ] dependencies: es6-promise --> lie https://github.com/calvinmetcalf/lie ?
- [ ] core: accessibility research: https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb, http://khan.github.io/tota11y/
- [ ] core: retry failed uploads
- [ ] core: restrictions — by file type, size, number of files
- [ ] core: see if it’s possible to add webworkers or use pica for thumbnail generation (@arturi)
- [ ] meta: add google demo account (@kvz)
- [ ] meta: Set up a Google testing account that people can use to try the demo (@hedgerh)
- [ ] dashboard: maybe add perfect scrollbar https://github.com/noraesae/perfect-scrollbar (@arturi)
- [ ] google drive: show error view for things like not being able to connect to uppy server (@hedgerh)
- [ ] uppy-server: Make uppy server standalone CLI (@hedgerh)

## 0.12.0

To be released: November 26, 2016.

- [ ] meta: create a demo GIF, showcasing Uppy Dashboard for the main page, like https://zeit.co/blog/next (@arturi)
- [x] dashboard: maybe don’t keep hidden panels in DOM (@arturi)
- [ ] dashboard: more icons for file types? (@arturi)
- [ ] core: replace mime-types with a more lightweight alternative http://stackoverflow.com/a/29672957 (@arturi)
- [ ] dashboard: basic responsive version (@arturi)
- [ ] webcam: stop using the webcam (green light off) after the picture is taken / tab is hidden (do we need mount/unmount maybe?)
- [ ] tus: only show pause/resume when tus is used, something else for multipart (@arturi)

- [ ] api: consider Yosh’s feedback and proposals https://gist.github.com/yoshuawuyts/b5e5b3e7aacbee85a3e61b8a626709ab (@arturi, @kvz)
- [ ] core: figure out import/require for core and plugins

## 0.11.0

To be released: November 1, 2016. Releasemaster: Artur

- [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 https://github.com/transloadit/uppy/issues/96#issuecomment-249401532 (@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.io, 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)

## 0.10.0

To be 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 https://github.com/transloadit/uppy/issues/110 (@hedgerh)
- [x] core: CSS modules? allow bundling of CSS in JS for simple use in NPM? See #120#issuecomment-242455042, try https://github.com/rtsao/csjs — 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)
- [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) (http://i.imgur.com/b1Io34n.png) (@arturi)
- [x] dashobard: refreshed design and grand refactor (@arturi)
- [x] dashboard: improve file paste the best we can http://stackoverflow.com/a/22940020 (@arturi)<commit_msg>changelog<commit_after>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](http://semver.org/#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
last 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 https://github.com/substack/node-browserify/issues/1379#issuecomment-183383199, https://github.com/nolanlawson/rollupify, https://github.com/nolanlawson/rollup-comparison
- [ ] 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, https://github.com/nosir/cleave.js
- [ ] core: Have base styles, be explicit about fonts, etc
- [ ] core: Make sure Uppy works well in VR
- [ ] instagram: Make a barely working Instagram Plugin + example (#21)
- [ ] meta: Use <waffle.io> or GitHub Projects instead of Markdown task tracking. Some discussion [here](https://transloadit.slack.com/archives/general/p1455693654000062) (@kvz)
- [ ] dashboard: add ability to minimize Modal/Dashboard, while long upload is in progress? Uppy then becomes just a tiny progress indicator
- [ ] 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: scrollbars on code samples (can’t reproduce!) (@arturi)
- [ ] dependencies: es6-promise --> lie https://github.com/calvinmetcalf/lie ?
- [ ] core: accessibility research: https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb, http://khan.github.io/tota11y/
- [ ] core: retry failed uploads
- [ ] core: restrictions — by file type, size, number of files
- [ ] core: see if it’s possible to add webworkers or use pica for thumbnail generation (@arturi)
- [ ] website: Would one really connect a own google drive or dropbox for testing purpose? => maybe one can give something like a testing account of google drive and dropbox to try uppy
- [ ] meta: add google demo account (@kvz)
- [ ] meta: Set up a Google testing account that people can use to try the demo (@hedgerh)
- [ ] dashboard: maybe add perfect scrollbar https://github.com/noraesae/perfect-scrollbar (@arturi)
- [ ] google drive: show error view for things like not being able to connect to uppy server (@hedgerh)
- [ ] uppy-server: Make uppy server standalone CLI (@hedgerh)

## 0.13.0

- [ ] presets: Add basic preset or plugin that mimics Transloadit’s jQuery plugin (#28)

## 0.12.0

To be released: November 26, 2016.

- [ ] meta: create a demo GIF, showcasing Uppy Dashboard for the main page, like https://zeit.co/blog/next (@arturi)
- [ ] dashboard: more icons for file types? (@arturi)
- [ ] core: replace mime-types with a more lightweight alternative http://stackoverflow.com/a/29672957 (@arturi)
- [ ] dashboard: responsive design — stage 1 (@arturi)
- [ ] webcam: stop using the webcam (green light off) after the picture is taken / tab is hidden (do we need mount/unmount maybe?)
- [ ] dashboard: only show pause/resume when tus is used, something else for multipart (@arturi)
- [ ] dashboard: consider `<progress>` element for progressbar, like here https://overcast.fm/+BtuxMygVg/ (@arturi)
- [x] meta: write 0.11 release blog post (@arturi)
- [x] core: api — consider Yosh’s feedback and proposals https://gist.github.com/yoshuawuyts/b5e5b3e7aacbee85a3e61b8a626709ab, come up with follow up questions (@arturi)
- [ ] core: figure out import/require for core and plugins (@arturi)

## 0.11.0

Released: November 1, 2016. Releasemaster: Artur

- [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 https://github.com/transloadit/uppy/issues/96#issuecomment-249401532 (@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.io, 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)

## 0.10.0

To be 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 https://github.com/transloadit/uppy/issues/110 (@hedgerh)
- [x] core: CSS modules? allow bundling of CSS in JS for simple use in NPM? See #120#issuecomment-242455042, try https://github.com/rtsao/csjs — 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)
- [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) (http://i.imgur.com/b1Io34n.png) (@arturi)
- [x] dashobard: refreshed design and grand refactor (@arturi)
- [x] dashboard: improve file paste the best we can http://stackoverflow.com/a/22940020 (@arturi)
{'fraction_non_alphanumeric': 0.10231001866031787, 'fraction_numerical': 0.019175085258348882, 'mean_word_length': 4.484121383203952, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 19, 'https://': 31, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6288683', 'n_tokens_mistral': 4828, 'n_tokens_neox': 4506, 'n_words': 1994}