]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Merge branch 'release/2.1.0' into develop
authorChocobozzz <me@florianbigard.com>
Tue, 11 Feb 2020 08:44:59 +0000 (09:44 +0100)
committerChocobozzz <me@florianbigard.com>
Tue, 11 Feb 2020 08:44:59 +0000 (09:44 +0100)
1  2 
CHANGELOG.md
client/package.json
package.json
support/doc/api/openapi.yaml

diff --combined CHANGELOG.md
index cd9f2036d47d301bce0af714e7230a0a6257ca52,3149476bb5ead608dc88c426a5ed256a9033f1ac..64d29feb1f1e9ecfb94de1325134dc3de2c11c29
  # Changelog
  
+ ## v2.1.0
+ **Since v2.0.0**
+ ### IMPORTANT NOTES
+  * **/!\ VERY IMPORTANT /!\\** You need to execute manually a script (can be executed after your upgrade, while your PeerTube instance is running) to create HLS video torrents:
+    * `cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-2.1.js`
+  * **/!\ VERY IMPORTANT /!\\** In the next PeerTube release (v2.2.0), we'll add a unique index on actors usernames to fix some federation bugs.
+  Please check now if you have conflicts using:
+     * Go inside your database using `sudo -u postgres psql peertube_prod` and run `select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 1;`
+     * If you have some results, it seems you have duplicate channels/accounts.
+   For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique).
+   The updated actors could have some federations issues
+  * We now use Buster for the docker image, so the image name changed:
+    * `production-stretch` becomes `production-buster`
+    * `v2.x.x-stretch` becomes `v2.x.x-buster`
+  * Users cannot create more than 20 channels now to avoid UX and actor name squatting issues
+  * We added a warning if the `videos` directory is the same than the `redundancy` one in your configuration file: it can create some bugs
+  
+ ### Documentation
+ We added some sections in the documentation website:
+  * S3 remote storage: https://docs.joinpeertube.org/#/admin-remote-storage
+  * Instances redundancy: https://docs.joinpeertube.org/#/admin-following-instances
+  * Moderate your instance: https://docs.joinpeertube.org/#/admin-moderation
+  * Customize your instance (install plugins & themes): https://docs.joinpeertube.org/#/admin-customize-instance
+  * PeerTube logs (standard log/audit log): https://docs.joinpeertube.org/#/admin-logs
+  * Mute accounts/instances: https://docs.joinpeertube.org/#/use-mute
+  * Controlled player embed API: https://docs.joinpeertube.org/#/api-em
+ ### Docker
+  * Sticking to one env-var management system ([@Leopere](https://github.com/Leopere)) (See https://github.com/Chocobozzz/PeerTube/pull/2247)
+  * Simplify Dockerfile and slim Docker image ([@Nutomic](https://github.com/nutomic))
+  * Add HLS support in Docker container by using the latest Debian stable (Buster) image
+ ### Plugins/Themes API
+  * Add checkbox and textarea as possible input types for settings ([@rigelk](https://github.com/rigelk))
+  * Add `isLoggedIn` helper to client plugins ([@rigelk](https://github.com/rigelk))
+  * Add client plugin hooks:
+    * `action:video-watch.player.loaded` with player instance
+    * `action:video-watch.video.loaded` with a videojs instance
+    * `action:signup.register.init` ([@rigelk](https://github.com/rigelk))
+    * `filter:api.signup.registration.create.params` ([@rigelk](https://github.com/rigelk))
+    * `filter:internal.video-watch.player.build-options.params`
+    * `filter:internal.video-watch.player.build-options.result`
+    * `filter:internal.common.svg-icons.get-content.params`
+    * `filter:internal.common.svg-icons.get-content.result`
+  * Add server plugins hooks:
+    * `action:api.user.blocked`
+    * `action:api.user.unblocked`
+    * `action:api.user.registered`
+    * `action:api.user.created`
+    * `action:api.user.deleted`
+    * `action:api.user.updated`
+    * `action:api.user.oauth2-got-token`
+  * Accept `.` `_` and `0-9` characters in plugin names
+ ### Maintenance
+  * PeerTube moved translations from Zanata to Weblate. Here is the new translations website URL: https://weblate.framasoft.org/projects/peertube/
+  * We now provide a JavaScript library to control a PeerTube embed: https://www.npmjs.com/package/@peertube/embed-api
+  * Add ability to generate HLS videos using `create-transcoding-job` script (see [the documentation](https://docs.joinpeertube.org/#/maintain-tools?id=create-transcoding-jobjs))
+  * Update nginx template: (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx))
+    * Add streaming playlists endpoint
+    * Add `client_body_temp_path` hint
+    * Relax TLS/SSL ciphers hardening to allow Android 4.4.2 to use the PeerTube instance API
+  * Add `maxFileSize`, `maxFiles` and `anonymizeIP` log options in configuration file
+ ### Features
+  * :tada: Add *internal* video privacy mode. *Internal* videos are only available to other logged in users of your instance, and are not federated
+  * :tada: Add hyperlink video timestamps in comments & video descriptions ([@Lesterpig](https://github.com/lesterpig) & [@rigelk](https://github.com/rigelk))
+  * :tada: Comments improvements:
+    * Support basic markdown
+    * Soft delete video comments instead of destroying them ([@alcalyn](https://github.com/alcalyn))
+    * Add commentator name alongside fid for video comments ([@rigelk](https://github.com/rigelk))
+    * Add a cancel button in comment form ([@rigelk](https://github.com/rigelk))
+    * Show number of comments under a video in watch page ([@rigelk](https://github.com/rigelk))
+    * Add user moderation dropdown ([@rigelk](https://github.com/rigelk))
+    * Add ability to sort comments by *total replies* or *created date* ([@rigelk](https://github.com/rigelk))
+    * Add *total replies from video author* indicator ([@rigelk](https://github.com/rigelk))
+    * Comment name emphasis for video author ([@rigelk](https://github.com/rigelk))
+  * Add "Watch later" button in video miniature overlay ([@rigelk](https://github.com/rigelk))
+  * Add ability to transcode videos in an audio only video container ([@Yetangitu](https://github.com/Yetangitu))
+  * Add playlist search input in *add to playlist* dropdown ([@rigelk](https://github.com/rigelk))
+  * Add search bars for a user's videos and playlists ([@rigelk](https://github.com/rigelk))
+  * Support playlists in share modal
+  * Better UI for a better world:
+    * Add play/pause bezels to the video player ([@rigelk](https://github.com/rigelk))
+    * Use icons instead of buttons in watch page (like/dislike, support...) ([@rigelk](https://github.com/rigelk))
+    * Improve *PeerTube* section in About page and add links to the documentation
+    * Improve comment tree in Watch page
+    * Improve dropdown box shadow ([@rigelk](https://github.com/rigelk))
+    * Add channel avatar to watch view ([@rigelk](https://github.com/rigelk))
+    * Improve likes-dislikes bar usability
+    * Alter titles section header style ([@rigelk](https://github.com/rigelk))
+    * Enhance jobs list display on smaller screens ([@alcalyn](https://github.com/alcalyn))
+    * Add a button in the videos from subscriptions page to manage subscriptions ([@rigelk](https://github.com/rigelk))
+    * Add duration to video attributes in watch view ([@rigelk](https://github.com/rigelk))
+    * Add a message in the login form when signup is disabled for people that are looking for an account ([@rigelk](https://github.com/rigelk))
+    * Add "Manage" button in owned account and channels pages ([@rigelk](https://github.com/rigelk))
+    * Improve password input accessibility ([@rigelk](https://github.com/rigelk))
+    * Add descriptions in moderation dropdown ([@rigelk](https://github.com/rigelk))
+  * Performances improvements:
+    * Lazy load categories, licences, languages and video/playlist privacies in the client
+    * Only update remote actor avatar if the filename changed
+    * Optimize transcoding by using the lowest resolution as input file
+    * Speedup embed first paint
+    * Optimize videos list SQL query
+    * Optimize local videos list SQL query
+    * Cache `peertube` instance actor SQL result
+    * Cache HLS/WebTorrent InfoHash SQL result
+    * Optimize notification endpoint on specific cases
+    * Optimize "list my playlists" SQL query
+  * Improve search filters: ([@rigelk](https://github.com/rigelk))
+    * Add ability to sort results
+    * Improve tags filter inputs
+    * Add a button to reset filters
+  * Improve autoplay: ([@rigelk](https://github.com/rigelk))
+    * Autoplay next video switch for both user and visitors 
+    * Add *up next* screen on autoplay
+    * Autoplay next video support for playlists
+    * Add *next* video button to the player
+    * Add loop setting when watching a playlist
+  * Add option to download subtitles in download modal ([@rigelk](https://github.com/rigelk))
+  * Add a button in account page to follow all account channels ([@rigelk](https://github.com/rigelk))
+  * Add ability to search a video directly by its UUID
+  * Case insensitive tags search
+  * Add ability to disable WebTorrent (and only enable HLS) (**experimental and breaks federation with PeerTube instances < 2.1**)
+  * Don't seed if the client is on a cellular network in the HLS player
+  * Load HLS player in embed by default if enabled
+  * Admin panels:
+    * Add ability to sort by *state*, *score* and *redundancy allowed* columns in following/followers admin table
+    * Add ability to filter per job type in admin
+    * Add *Audit logs* section in admin Logs panel
+  * Improve Media-RSS support ([@rigelk](https://github.com/rigelk))
+  * Explicit the tag limit in video form ([@bikepunk](https://github.com/bikepunk))
+  * Add a warning when uploading videos using root
+  * Clearer video quota label in user settings
+  * Pause the video when the user opens a modal
+  * Handle basic HTML in account descriptions
+  * Support `m4v` videos
+  * Improve 4k resolution bitrate
+  * Add missing hotkeys documentation in the watch page
+  * Add a button to copy the channel handle ([@rigelk](https://github.com/rigelk))
+  * Add server config to the nodeinfo metadata ([@rigelk](https://github.com/rigelk))
+  * Improve notification popup interactivity ([@rigelk](https://github.com/rigelk))
+ ### Bug fixes
+  * Don't notify if the account in on a muted instance
+  * Don't leak other notified addresses in notification emails
+  * Allow the embed iframe to open links
+  * Add missing button roles for the language chooser and keyboard shortcut menu items [@MarcoZehe](https://github.com/MarcoZehe)
+  * Fix overflow when creating a channel
+  * Fix "copy magnet URI" in player
+  * Fix text overflow in menu
+  * Fix player focus
+  * Only display accepted followers/followings instances in about page
+  * Fix brackets truncation in video description
+  * Fix channel playlist miniatures overflow
+  * Fix background color on some screens
+  * Fix captions upload issue depending on the caption name
+  * Fix file download when the video is private
+  * Fix dropdown on video miniature for unlogged users
+  * Fix video support field in update form
+  * Fix video import having a long thumbnail url (Facebook for example)
+  * Add correct HTTP status on not found video
+  * Fix bug on login when username has a special character (`_` for example)
+  * Fix plugin unregistration that did not remove properly its hooks ([@JohnXLivingston](https://github.com/JohnXLivingston))
+  * Fix wrong audio only resolution label for hls
+  * Fix AP icon URL for imported videos
+  * Fix octet stream fallback for video ext
+  
+ **since v2.1.0-rc.1**
+ ### Bug fixes
+  * Fix wrong audio only resolution label for hls
+  * Fix AP icon URL for imported videos
+  * Fix embed on mastodon
+  * Fix octet stream fallback for video ext
  ## v2.1.0-rc.1
  
  ### IMPORTANT NOTES
  
 - * **/!\ VERY IMPORTANT /!\\** You need to execute manually a script (can be executed after your upgrade, while your PeerTube instance is running) to create HLS video torrents:
 + * **/!\ VERY IMPORTANT /!\\** You need to execute manually a script (must be executed after the upgrade and a PeerTube restart, while your instance is running) to create HLS video torrents:
     * `cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-2.1.js`
   * **/!\ VERY IMPORTANT /!\\** In the next PeerTube release (v2.2.0), we'll add a unique index on actors usernames to fix some federation bugs.
   Please check now if you have conflicts using:
diff --combined client/package.json
index 408781a117072222b090dd6af58b2d991861fe10,b9ddf7042e3febf1db2a5b632ff93202e6bb3acf..32e3e4213290c9a851afb6f6bea197f5a08bf9cf
@@@ -1,6 -1,6 +1,6 @@@
  {
    "name": "peertube-client",
-   "version": "2.1.0-rc.1",
+   "version": "2.1.0",
    "private": true,
    "license": "AGPL-3.0",
    "author": {
      "punycode": "^1.4.1"
    },
    "devDependencies": {
 -    "@angular-devkit/build-angular": "~0.803.12",
 -    "@angular/animations": "~8.2.0",
 -    "@angular/cdk": "^8.2.3",
 -    "@angular/cli": "~8.3.0",
 -    "@angular/common": "~8.2.0",
 -    "@angular/compiler": "~8.2.0",
 -    "@angular/compiler-cli": "~8.2.0",
 -    "@angular/core": "~8.2.0",
 -    "@angular/forms": "~8.2.0",
 -    "@angular/language-service": "~8.2.0",
 -    "@angular/platform-browser": "~8.2.0",
 -    "@angular/platform-browser-dynamic": "~8.2.0",
 -    "@angular/router": "~8.2.0",
 -    "@angular/service-worker": "~8.2.0",
 +    "@angular-devkit/build-angular": "~0.900.1",
 +    "@angular/animations": "~9.0.0",
 +    "@angular/cdk": "^9.0.0",
 +    "@angular/cli": "~9.0.1",
 +    "@angular/common": "~9.0.0",
 +    "@angular/compiler": "~9.0.0",
 +    "@angular/compiler-cli": "~9.0.0",
 +    "@angular/core": "~9.0.0",
 +    "@angular/forms": "~9.0.0",
 +    "@angular/language-service": "~9.0.0",
 +    "@angular/platform-browser": "~9.0.0",
 +    "@angular/platform-browser-dynamic": "~9.0.0",
 +    "@angular/router": "~9.0.0",
 +    "@angular/service-worker": "~9.0.0",
      "@angularclass/hmr": "^2.1.3",
      "@neos21/bootstrap3-glyphicons": "^1.0.1",
 -    "@ng-bootstrap/ng-bootstrap": "^5.1.0",
 +    "@ng-bootstrap/ng-bootstrap": "^5.2.1",
      "@ngx-i18nsupport/ngx-i18nsupport": "^1.1.6",
      "@ngx-loading-bar/core": "^4.2.0",
      "@ngx-loading-bar/http-client": "^4.2.0",
      "@ngx-loading-bar/router": "^4.2.0",
 -    "@ngx-meta/core": "^7.0.0",
 +    "@ngx-meta/core": "^8.0.2",
      "@ngx-translate/i18n-polyfill": "^1.0.0",
 -    "@streamroot/videojs-hlsjs-plugin": "^1.0.10",
      "@types/core-js": "^2.5.2",
      "@types/debug": "^4.1.5",
      "@types/hls.js": "^0.12.4",
      "@types/jschannel": "^1.0.0",
      "@types/linkifyjs": "^2.1.2",
      "@types/lodash-es": "^4.17.0",
 -    "@types/markdown-it": "^0.0.5",
 -    "@types/node": "^10.9.2",
 +    "@types/markdown-it": "^0.0.9",
 +    "@types/node": "^12.11.1",
      "@types/sanitize-html": "1.18.0",
      "@types/socket.io-client": "^1.4.32",
 -    "@types/video.js": "^7.2.5",
 +    "@types/video.js": "^7.3.3",
      "@types/webtorrent": "^0.107.0",
      "angular2-hotkeys": "^2.1.2",
 -    "angularx-qrcode": "1.6.4",
 +    "angularx-qrcode": "2.1.0",
      "awesome-typescript-loader": "5.2.1",
      "bootstrap": "^4.1.3",
      "buffer": "^5.1.0",
      "cache-chunk-store": "^3.0.0",
 -    "codelyzer": "^5.0.1",
 +    "chart.js": "^2.9.3",
 +    "codelyzer": "^5.1.2",
      "core-js": "^3.1.4",
      "css-loader": "^3.1.0",
      "debug": "^4.1.1",
      "lodash-es": "^4.17.4",
      "markdown-it": "^9.0.1",
      "ngx-chips": "2.1.0",
 -    "ngx-clipboard": "12.2.1",
 -    "ngx-pipes": "^2.1.7",
 +    "ngx-pipes": "^2.6.0",
      "node-sass": "^4.9.3",
      "npm-font-source-sans-pro": "^1.0.2",
      "p2p-media-loader-hlsjs": "^0.6.2",
      "path-browserify": "^1.0.0",
 -    "primeng": "^8.0.2",
 +    "primeng": "^9.0.0-rc.4",
      "process": "^0.11.10",
 -    "protractor": "^5.3.2",
 +    "protractor": "^5.4.3",
      "purify-css": "^1.2.5",
      "purifycss-webpack": "^0.7.0",
      "raw-loader": "^1",
      "tslint": "^5.7.0",
      "tslint-angular": "^3.0.2",
      "tslint-config-standard": "^8.0.1",
 -    "typescript": "~3.5.3",
 +    "typescript": "~3.7.5",
      "video.js": "^7",
      "videojs-contextmenu-ui": "^5.0.0",
      "videojs-contrib-quality-levels": "^2.0.9",
      "videojs-dock": "^2.0.2",
      "videojs-hotkeys": "^0.2.21",
      "videostream": "~3.2.1",
 +    "vtt.js": "^0.13.0",
      "webpack-bundle-analyzer": "^3.0.2",
      "webpack-cli": "^3.0.8",
      "webtorrent": "^0.107.16",
      "whatwg-fetch": "^3.0.0",
 -    "zone.js": "~0.10.0"
 +    "zone.js": "~0.10.2"
    },
    "dependencies": {
 -    "@ngx-i18nsupport/tooling": "^8.0.3"
 +    "@angular/localize": "^9.0.0",
 +    "@ngx-i18nsupport/tooling": "^8.0.3",
 +    "tslib": "^1.10.0"
    }
  }
diff --combined package.json
index cec311a18cf68582e64bfb8c170a9abe0ebf645c,dee9840c7e94fe682d3dba0cfc1b0b89774d3482..da8ee789740b6b70d67aa6749d8d25bfcbc0d38e
@@@ -1,11 -1,11 +1,11 @@@
  {
    "name": "peertube",
    "description": "Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.",
-   "version": "2.1.0-rc.1",
+   "version": "2.1.0",
    "private": true,
    "licence": "AGPL-3.0",
    "engines": {
 -    "node": ">=8.x"
 +    "node": ">=10.x"
    },
    "bin": {
      "peertube": "dist/server/tools/peertube.js"
      "i18n:generate": "scripty",
      "plugin:install": "node ./dist/scripts/plugin/install.js",
      "plugin:uninstall": "node ./dist/scripts/plugin/uninstall.js",
 -    "i18n:xliff2json": "node ./dist/scripts/i18n/xliff2json.js",
      "i18n:create-custom-files": "node ./dist/scripts/i18n/create-custom-files.js",
      "reset-password": "node ./dist/scripts/reset-password.js",
      "play": "scripty",
 -    "dev": "scripty",
 +    "dev": "sh ./scripts/dev/index.sh",
      "dev:server": "sh ./scripts/dev/server.sh",
      "dev:embed": "scripty",
      "dev:client": "sh ./scripts/dev/client.sh",
@@@ -63,7 -64,7 +63,7 @@@
      "ng": "ng",
      "nodemon": "nodemon",
      "ts-node": "ts-node",
 -    "tslint": "tslint",
 +    "eslint": "eslint",
      "concurrently": "concurrently",
      "mocha-parallel-tests": "mocha-parallel-tests",
      "sasslint": "sass-lint --verbose --no-exit",
@@@ -77,6 -78,9 +77,6 @@@
      "swagger-cli": "swagger-cli",
      "sass-lint": "sass-lint"
    },
 -  "resolutions": {
 -    "@types/bluebird": "3.5.27"
 -  },
    "dependencies": {
      "apicache": "^1.4.0",
      "async": "^3.0.1",
@@@ -95,8 -99,8 +95,8 @@@
      "deep-object-diff": "^1.1.0",
      "express": "^4.12.4",
      "express-oauth-server": "^2.0.0",
 -    "express-rate-limit": "^4.0.4",
 -    "express-validator": "^6.1.1",
 +    "express-rate-limit": "^5.0.0",
 +    "express-validator": "^6.4.0",
      "flat": "^5.0.0",
      "fluent-ffmpeg": "^2.1.0",
      "fs-extra": "^8.0.1",
      "ip-anonymize": "^0.1.0",
      "ipaddr.js": "1.9.1",
      "is-cidr": "^3.0.0",
 -    "iso-639-3": "^1.0.1",
 +    "iso-639-3": "^2.0.0",
      "js-yaml": "^3.5.4",
      "jsonld": "~2.0.1",
      "lodash": "^4.17.10",
      "scripty": "^1.5.0",
      "sequelize": "5.21.3",
      "sequelize-typescript": "^1.0.0-beta.4",
 -    "sharp": "^0.23.3",
 +    "sharp": "^0.24.0",
      "sitemap": "^5.0.0",
      "socket.io": "^2.2.0",
      "srt-to-vtt": "^1.1.2",
      "webtorrent": "^0.107.16",
      "winston": "3.2.1",
      "ws": "^7.0.0",
 -    "youtube-dl": "^2.0.0"
 +    "youtube-dl": "^3.0.2"
    },
    "devDependencies": {
      "@types/apicache": "^1.2.0",
      "@types/async": "^3.0.0",
      "@types/async-lock": "^1.1.0",
      "@types/bcrypt": "^3.0.0",
 -    "@types/bluebird": "3.5.21",
 +    "@types/bluebird": "3.5.29",
      "@types/body-parser": "^1.16.3",
 -    "@types/bull": "3.4.0",
 +    "@types/bull": "3.12.0",
      "@types/bytes": "^3.0.0",
      "@types/chai": "^4.0.4",
      "@types/chai-json-schema": "^1.4.3",
      "@types/maildev": "^0.0.1",
      "@types/memoizee": "^0.4.2",
      "@types/mkdirp": "^0.5.1",
 -    "@types/mocha": "^5.0.0",
 +    "@types/mocha": "^7.0.1",
      "@types/morgan": "^1.7.32",
      "@types/multer": "^1.3.3",
      "@types/node": "^10.0.8",
      "@types/pem": "^1.9.3",
      "@types/redis": "^2.8.5",
      "@types/request": "^2.0.3",
 -    "@types/sharp": "^0.23.0",
 +    "@types/sharp": "^0.24.0",
      "@types/socket.io": "^2.1.2",
      "@types/supertest": "^2.0.3",
      "@types/validator": "^12.0.1",
      "@types/webtorrent": "^0.107.0",
 -    "@types/ws": "^6.0.0",
 +    "@types/ws": "^7.2.1",
 +    "@typescript-eslint/eslint-plugin": "^2.18.0",
      "chai": "^4.1.1",
      "chai-json-schema": "^1.5.0",
      "chai-xml": "^0.3.2",
      "concurrently": "^5.0.0",
 +    "eslint": "^6.8.0",
 +    "eslint-config-standard-with-typescript": "^12.0.1",
 +    "eslint-plugin-import": "^2.20.1",
 +    "eslint-plugin-node": "^11.0.0",
 +    "eslint-plugin-promise": "^4.2.1",
 +    "eslint-plugin-standard": "^4.0.1",
      "libxmljs": "0.19.7",
 -    "lint-staged": "^9.2.0",
      "maildev": "^1.0.0-rc3",
      "marked": "^0.8.0",
      "marked-man": "^0.7.0",
      "nodemon": "^2.0.1",
      "source-map-support": "^0.5.0",
      "supertest": "^4.0.2",
 -    "swagger-cli": "^2.2.0",
 -    "ts-node": "8.5.4",
 -    "tslint": "^5.7.0",
 -    "tslint-config-standard": "^9.0.0",
 -    "typescript": "^3.7.2",
 -    "xliff": "^4.0.0"
 +    "swagger-cli": "^3.0.1",
 +    "ts-node": "8.6.2",
 +    "typescript": "^3.7.2"
    },
    "scripty": {
      "silent": true
index 907187e4c69b5def6072ffb74748777acd3f0b73,f1cfb81a4439fec784c752f27ebc8f13bb5ef56b..b1e5f90f861e935870786b6bd71a74a57ad20151
@@@ -1,7 -1,7 +1,7 @@@
  openapi: 3.0.0
  info:
    title: PeerTube
-   version: 2.1.0-rc.1
+   version: 2.1.0
    contact:
      name: PeerTube Community
      url: 'https://joinpeertube.org'
@@@ -977,12 -977,6 +977,12 @@@ paths
              application/json:
                schema:
                  $ref: '#/components/schemas/VideoUploadResponse'
 +        '403':
 +          description: 'The user video quota is exceeded with this video.'
 +        '408':
 +          description: 'Upload has timed out'
 +        '422':
 +          description: 'Invalid input file.'
        requestBody:
          content:
            multipart/form-data: