This is our roadmap which contains a list of todos.
These are ideas that are planned and find their way into a release at one point.
PRs are welcome! Please do open an issue to discuss first if it's a big feature, priorities may have changed after something was added here.
core: Add an option to force metafield data when uploading a file. Mark files with restriction errors in the UI. Having an icon showing close to the file to inform if it passed any rule would provide an awesome user experience. The user would be able to edit the file name or any meta tags necessary to pass validation via uppy dashboard, and anytime the user updates the file info, the validation runs again and the icon is updated. #1703
core: Make sure Uppy works well in VR
core: normalize file names when uploading from iOS? Can we do it with meta data? date? image-${index}? #678
dashboard: add option to disable uploading from local disk #657
dashboard: allow minimizing the Dashboard during upload (Uppy then becomes just a tiny progress indicator) (@arturi)
dashboard: display data like image resolution on file cards. should be done by thumbnail generator maybe #783
dashboard: possibility to edit/delete more than one file at once. example: add copyrigh info to 1000 files #118, #97
dashboard: possibility to work on already uploaded / in progress files. We'll just provide the fileId to the file-edit-complete event so that folks can more easily roll out custom code for this themselves #112, #113, #2063
dashboard: Show upload speed too if showProgressDetails: true. Maybe have separate options for which things are displayed, or at least have css-classes that can be hidden with display: none#766
rn: Uppy React Native works with Expo, now let's make it work without
rn: Uppy React Native works with Url Plugin, now let's make it work with Instagram
security: consider iframe / more security for Transloadit/Uppy integration widget and Uppy itself. Page can’t get files from Google Drive if its an iframe
statusbar: Add a confirmation of the cancel action (https://github.com/transloadit/uppy/issues/1418) as well as ask the user if they really want to navigate away while an upload is in progress via onbeforeunload (@arturi)
test: Add a prepublish test that checks if npm pack is not massive (@goto-bus-stop)
test: add lighthouse for automated performance testing?
test: Switch one existing e2e test to use Parcel (create-react-app already using webpack) (@arturi)
uploaders: consider not showing progress updates from the server after an upload’s been paused. Perhaps the button can be disabled and say Pausing.. until Companion has actually stopped transmitting updates (@arturi, @ifedapoolarewaju)
xhr: allow sending custom headers per file (as proposed in #785)
website: It would be nice in the long run to have a dynamic package builder here right on the website where you can select the plugins you need/want and it builds and downloads a minified version of them? Sort of like jQuery UI: https://jqueryui.com/download/
2.0
Drop IE10 (officially), drop IE11 polyfills? (@aduh95)
core: force the new keyword when instantiating Uppy — now we support both new Uppy() and Uppy() which is harder to maintain and might lead to confusion (@arturi)
core: maybe we remove file.name and only keep file.meta.name; we can change the file.name here actually because it's just a plain object. we can't change the file.data.name where data is a File instance from an input or something. For XHRUpload, where we put the File instance in a FormData object and it uses the unchangeable .name property (@arturi)
tus: remove autoRetry option (throw error at runtime if it is explicitly given) (@aduh95)
dashboard: showing links to files should be turned off by default (it's great for devs, they can opt-in, but for end-user UI it's weird and can even lead to problems) (@arturi)
3.0
build: switch to ES Modules (ESM)
4.0
core: change the preprocessing --> uploading flow to allow for files to start uploading right away after their preprocessing step has finished. See #1738 (@goto-but-stop)
companion: add more reliable tests to catch edge cases in companion. For example testing that oauth works for multiple companion instances that use a master Oauth domain.
1.x
dashboard: a mini UI that features drop & progress (may involve a mini: true options for dashboard, may involve drop+progress or new plugin) (@arturi)
dashboard: add option to use body or window or CSS selector as drop zone / paste zone as well, DropPasteTarget#1593 (@arturi)
plugin: WordPress Back-end plugin. Should be another Transloadit Integration based on Robodog Dashboard(?) we should add a provider, and possibly offer already-uploaded content
provider: Giphy image search (on top of Unsplash plugin) ()
webcam: Specify the resolution of the webcam images/video. We should add a way to specify any custom 'constraints' (aspect ratio, resolution, mimetype (/video/mp4;codec=h264), bits per second, etc) to the Webcam plugin #876
provider: MediaLibrary provider which shows you files that have already been uploaded #450, #1121, #1112#362