Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

website: 2.0-2.3 post draft #3370

Merged
merged 17 commits into from
Dec 22, 2021
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions website/src/_posts/2021-12-2.1-2.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
title: "Uppy 2.1-2.3: Audio plugin, new fast and efficient streaming for Companion, production-ready Unsplash, and more"
date: 2021-12-15
author:
- aduh95
- murderlon
- arturi
- mifi
image: https://uppy.io/images/blog/2.1-2.3/audio-cover.jpg
published: true
---

After the [release](./2021-08-2.0.md) of our latest major version, 2.0.0, we’ve been busy with a number of things. First of all the long awaited audio plugin to record and upload live audio directly. We also worked on adding a fast and efficient streaming interface to Companion and made Unsplash production-ready. Lastly, we focused on housekeeping, such as status bar improvements, moving from NPM to Yarn 3, refactoring, and updating dependencies.

<!--more-->

## Audio plugin

Uppy now has a new `@uppy/audio` plugin for recording audio memos, messages and sounds. Check it out [on the demo page](https://uppy.io/examples/dashboard/).
Murderlon marked this conversation as resolved.
Show resolved Hide resolved

<video alt="Audio plugin demo" muted autoplay loop>
<source src="/images/blog/2.1-2.3/audio-demo.mp4" type="video/mp4">
Your browser does not support the video tag: https://uppy.io/images/blog/2.1-2.3/audio-demo.mp4
</video>

## `@uppy/unsplash` is now production ready

The Unsplash plugin has received an update, it provides attribution to the image authors, and adds some polish to make it look better. You can view the [docs on the website](https://uppy.io/docs/unsplash/).

<video alt="Audio plugin demo" muted autoplay loop>
Murderlon marked this conversation as resolved.
Show resolved Hide resolved
<source src="/images/blog/2.1-2.3/unsplash-demo.mp4" type="video/mp4">
Your browser does not support the video tag: https://uppy.io/images/blog/2.1-2.3/unsplash-demo.mp4
</video>

PR [#3196](/~https://github.com/transloadit/uppy/pull/3196).

## Simultaneous uploads and downloads

Companion now allows streaming downloads to the target upload-endpoint. This is especially useful for large files and should improve **speeds by up to 2x** because there is no longer any need to wait for files to finish downloading before starting the upload process. This also removes the need for storage space on the server, as data will be buffered in-memory and backpressure from the target endpoint will be respected.

**NOTE:** This is turned off by default (enable it using the `streamingUpload` / `COMPANION_STREAMING_UPLOAD` option). Do not turn it on yet if using TUS for uploads, due to [this tus-js-client bug](/~https://github.com/tus/tus-js-client/issues/275)

PR [#3159](/~https://github.com/transloadit/uppy/pull/3159).

## Refactor locale scripts & generate types and docs
Murderlon marked this conversation as resolved.
Show resolved Hide resolved

This is an internal change, but important nonetheless. Our locales now live in a separate `locale.js` file for every plugin instead of `this.defaultLocale` in the class. The docs and types are automatically updated when we add/remove new locale strings.

See PR [#3276](/~https://github.com/transloadit/uppy/pull/3276) for details.

## Status bar error state improvements

Status bar plugin would get confused about upload errors in Uppy, and we’ve addressed that:

* Error state is shown if only _one_ failed file instead of _all_ failed files. Used to be stuck in the uploading state when a file failed.
* Added “x of x files uploaded” below “Upload failed” for extra context.
* Improved the error details button styling in the statusbar and the file info card.
* Status bar state is set to complete if the user manually removes the failed files.

![status bar improvements screenshot](/images/blog/2.1-2.3/status-bar-improvements.jpg)

PR [#3299](/~https://github.com/transloadit/uppy/pull/3299).

## Yarn v3 instead of npm

We’ve switched the uppy repo to Yarn 3 to improve package install performance — with our complex dependency graph and over 30 packages in a monorepo, we are seeing a speed increase of over a few minutes!

We are using Corepack to make sure all Uppy contributors are using the same version of Yarn. If you are an Uppy contributor, please run the following commands to enable Corepack:

```sh
corepack -v || npm i -g corepack # install Corepack if not already installed
yarn -v || corepack enable # install Yarn through Corepack if not already installed
yarn || corepack yarn install # install npm dependencies using yarn
```

See details in [#3237](/~https://github.com/transloadit/uppy/pull/3237)

## Misc
Murderlon marked this conversation as resolved.
Show resolved Hide resolved

* @uppy/google-drive: plugin has been updated for brand compliance (#3178)
* @uppy/status-bar: now shows all details on mobile when `showProgressDetails` is `true` (#3174)
* @uppy/core: move `Uppy` class to its own module (#3225)
* @uppy/angular: fix component crash by loosening `package.json` version constraints (#3210)
* @uppy/drop-target: Exposed events (#3238)
* Add `maxFileSize` option in companion for safety #3159
* New AWS S3 multipart presigned URL batching endpoint #3056
* Improve CORS default headers #3167
* Use GET instead of HEAD for `getURLMeta` for better server compatibility (especially signed S3 URLs) #3048
* Sort Google Drive list by name #3069
* Deprecate missing `uploadUrls` option (will be required in the future) #3182
* Close window on auth callback error and show error to user #3143
* Cut off length of file names to avoid AWS error #3048
* Safely escape `<script>` injected code in companion send-token.js #3101
* Upgrade aws-sdk #3334
* Improve logging #3103
* Change Provider/SearchProvider API to async and use streams instead #3159
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/src/images/blog/2.1-2.3/audio-demo.mp4
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/src/images/blog/2.1-2.3/unsplash-demo.mp4
Binary file not shown.