Skip to content
Draft
Show file tree
Hide file tree
Changes from all 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
55 changes: 28 additions & 27 deletions .github/release-please/release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"tag-separator": "@",
"include-component-in-tag": true,
"include-v-in-tag": false,
"release-as": "10.0.0-rc.1",
"plugins": [
{
"type": "node-workspace",
Expand Down Expand Up @@ -47,163 +48,163 @@
"packages/cdn": {
"component": "@videojs/cdn",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/cli": {
"component": "@videojs/cli",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/cloudflare-video": {
"component": "@videojs/cloudflare-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/core": {
"component": "@videojs/core",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/dash-video": {
"component": "@videojs/dash-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/element": {
"component": "@videojs/element",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/google-cast": {
"component": "@videojs/google-cast",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/hlsjs-video": {
"component": "@videojs/hlsjs-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/html": {
"component": "@videojs/html",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/icons": {
"component": "@videojs/icons",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/media": {
"component": "@videojs/media",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/mux-audio": {
"component": "@videojs/mux-audio",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/mux-data": {
"component": "@videojs/mux-data",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/mux-video": {
"component": "@videojs/mux-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/native-hls-video": {
"component": "@videojs/native-hls-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/react": {
"component": "@videojs/react",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/shaka-video": {
"component": "@videojs/shaka-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/skins": {
"component": "@videojs/skins",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/spf": {
"component": "@videojs/spf",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/spotify-audio": {
"component": "@videojs/spotify-audio",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/store": {
"component": "@videojs/store",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/tiktok-video": {
"component": "@videojs/tiktok-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/twitch-video": {
"component": "@videojs/twitch-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/utils": {
"component": "@videojs/utils",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/vimeo-video": {
"component": "@videojs/vimeo-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/wistia-video": {
"component": "@videojs/wistia-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
},
"packages/youtube-video": {
"component": "@videojs/youtube-video",
"prerelease": true,
"prerelease-type": "beta",
"prerelease-type": "rc",
"versioning": "prerelease"
}
}
Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ jobs:
release:
runs-on: ubuntu-latest
environment: production
outputs:
released: ${{ steps.release.outputs.releases_created }}
version: ${{ steps.release.outputs['packages/html--version'] }}
permissions:
contents: write
pull-requests: write
Expand Down Expand Up @@ -61,7 +64,8 @@ jobs:

- name: Verify release checkout
if: ${{ steps.release.outputs.releases_created == 'true' }}
run: node -e "process.exit(require('./packages/cdn/package.json').version === process.env.VERSION ? 0 : 1)"
run: |
node -e "process.exit(require('./packages/cdn/package.json').version === process.env.VERSION ? 0 : 1)"
env:
VERSION: ${{ steps.release.outputs['packages/cdn--version'] }}

Expand Down Expand Up @@ -138,3 +142,14 @@ jobs:
- name: Update site/v10 branch
if: ${{ steps.release.outputs.releases_created == 'true' }}
run: git push origin HEAD:refs/heads/site/v10 --force

# `pnpm publish` above tags each release `latest`; keep `next` on the same
# version so both install channels resolve to the newest release.
dist-tag:
needs: release
if: ${{ needs.release.outputs.released == 'true' }}
uses: ./.github/workflows/npm-dist-tag.yml
with:
version: ${{ needs.release.outputs.version }}
tag: next
secrets: inherit
59 changes: 59 additions & 0 deletions .github/workflows/npm-dist-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: npm dist-tag

# Moves one npm dist-tag onto an already published version of every public
# workspace package. `pnpm publish` in cd.yml only sets `latest`, so this keeps
# `next` in step with it after each release and gives maintainers a way to
# repoint a tag by hand (the `next` tag sat on 10.0.0-alpha.11 for the whole
# beta channel because nothing moved it).

on:
workflow_dispatch:
inputs:
version:
description: 'Published version to tag (e.g. 10.0.0-rc.1)'
required: true
type: string
tag:
description: 'dist-tag to move'
required: true
default: next
type: string
workflow_call:
inputs:
version:
required: true
type: string
tag:
required: true
type: string

jobs:
tag:
runs-on: ubuntu-latest
environment: production
permissions:
contents: read

steps:
- uses: actions/checkout@v5

- uses: actions/setup-node@v5
with:
node-version-file: '.nvmrc'
registry-url: 'https://registry.npmjs.org'

# Private workspace packages (icons, skins, vjsc) are never published, so
# they have nothing to tag.
- name: Move dist-tag on every public package
run: |
for manifest in packages/*/package.json; do
if [ "$(jq -r '.private // false' "$manifest")" = "true" ]; then
continue
fi
name=$(jq -r '.name' "$manifest")
npm dist-tag add "${name}@${VERSION}" "$TAG"
done
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
VERSION: ${{ inputs.version }}
TAG: ${{ inputs.tag }}
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

Modern, modular, and composable media player framework for Web and React.

🚧 Beta - close to stable. Experimental adoption in real projects. 🚧
🚧 Release candidate - close to stable. Adoption in real projects encouraged. 🚧

Video.js v10 is close to stable. Try it out in real projects and share your feedback 🙏.

Expand All @@ -20,7 +20,8 @@ Video.js v10 is close to stable. Try it out in real projects and share your feed
- **Technical Preview (Complete):** Initial showcase for Demuxed.
- **Alpha (Complete):** [See milestone](https://github.com/videojs/v10/milestone/3)
- **Beta (Complete):** [See milestone](https://github.com/videojs/v10/milestone/1)
- **GA (Mid 2026):** [See milestone](https://github.com/videojs/v10/milestone/6) ← WIP
- **Release Candidate (Complete):** Close to stable. Adoption in real projects encouraged.
- **GA (Fall 2026):** [See milestone](https://github.com/videojs/v10/milestone/6) ← WIP
- **Video.js (End of 2026):** Video.js core/contrib parity and supported plugins migrated.

## Documentation
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

The Video.js 10 CLI. Read documentation from your terminal and generate installation snippets tailored to your setup (framework, preset, skin, media engine, package manager).

Expand Down
2 changes: 1 addition & 1 deletion packages/core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Close to stable. Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

## Overview

Expand Down
2 changes: 1 addition & 1 deletion packages/element/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Close to stable. Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

A lightweight reactive custom element base class for Video.js. Type-aligned with [Lit's ReactiveElement](https://github.com/lit/lit/tree/main/packages/reactive-element) but stripped down to only what we use.

Expand Down
2 changes: 1 addition & 1 deletion packages/html/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Close to stable. Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

## Overview

Expand Down
2 changes: 1 addition & 1 deletion packages/media/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Close to stable. Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

## Overview

Expand Down
2 changes: 1 addition & 1 deletion packages/react/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Close to stable. Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

## Overview

Expand Down
2 changes: 1 addition & 1 deletion packages/spf/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

## Overview

Expand Down
2 changes: 1 addition & 1 deletion packages/store/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Close to stable. Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

A reactive store for managing state owned by external systems. Built for media players, streaming libraries, and real-time systems where you don't own the state.

Expand Down
2 changes: 1 addition & 1 deletion packages/utils/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![package-badge]][package]

> **⚠️ Beta** Close to stable. Experimental adoption in real projects.
> **⚠️ Release candidate** Close to stable. Adoption in real projects encouraged.

## Community

Expand Down
Loading
Loading