Releases: bitfocus/companion-module-youtube-live
Release list
v3.1.0
What's Changed
New user features
- Added variables to expose broadcast and unfinished stream status (public/private/unlisted). (#160)
Internal changes
- Dependency updates and minor test adjustments.
Install instructions
Within Companion
Select and install 3.1.0 the usual way in the Companion connections store UI.
Manually
In Companion 4.1.0 or later:
- Download the attached
youtube-live-*.tgzfile. - In Companion, visit the Modules page.
- Use the "Import module" button to select the
youtube-live-*.tgzfile just downloaded.
Full Changelog: v3.0.3...v3.1.0
v3.0.3
What's Changed
New user features
- This module now requires Companion ≥4.1.0. (#144)
- The OAuth consent process can now be performed when Companion is running on a headless machine (such as a Pi).
- The consent process can be invoked from the connection config panel and will redirect to a URL containing an authorization code that can be manually pasted into Companion settings to complete the connection process.
- Unfortunately, this awkward process is the present recommended best practice for OAuth authentication.
- Instructions on how to configure the Google/YouTube side of a connection, and then how to configure the Companion side of a connection, have been substantially rewritten and expanded.
- The module periodically refreshes YouTube credentials, so YouTube connections will remain valid longer. (#72)
- Previously they expired typically in an hour -- now it's usually a week or longer.
- YouTube OAuth-related settings have been converted into secrets.
- The configuration fields will use a password-style widget that by default hides the value from visibility, to protect against shoulder surfing.
- These settings can be optionally included/excluded from settings imports.
Bugfixes
- Action broadcast-selection options now list only those broadcasts that the action might ever apply to. (#137)
- Broadcasts the action can never apply to will be omitted. (For example, completed broadcasts will not be offered for the send-a-message-to-live-chat action.)
- Broadcasts where an action might eventually be able to use the action are included to support setup-in-advance treatment of a broadcast through its life cycle.
- Preset definitions are now initialized only after action/feedback definitions have been initialized.
Internal changes
- Connection instances run on Node 22, upgrading from Node 18.
- Switched from depending on the monolithic
googleapislibrary to the slimmer@googleapis/youtubelibrary. - Extensive code cleanups, refactoring, and linting error fixes.
- The Github postcommit workflow now checks for lint-cleanness, type-correctness, and the presence of dead code.
- Switched from Jest to vitest for testing.
- Moved tests from
src/__tests__/*.tsto*.test.tsfiles adjacent to the code they test. - Use the
type-testinglibrary to verify at compile time typing behavior at various points. - Module tsconfigs were rewritten to extend a
@companion-module/tools-provided recommended configuration. - Configuration information passed to the module by Companion is validated, type-checked, and massaged into well-typed format rather than simply presumed to be properly typed.
- Switched to
isVisibleExpressionstrings for controlling option visibility. - Various dependency updates.
Install instructions
Within Companion
Select and install 3.0.3 the usual way in the Companion connections store UI.
Manually
In Companion 4.1.0 or later:
- Download the attached
youtube-live-*.tgzfile. - In Companion, visit the Modules page.
- Use the "Import module" button to select the
youtube-live-*.tgzfile just downloaded.
Full Changelog: v2.5.1...v3.0.3
One-off release that logs on failure to open the consent screen
For testing purposes only, ignore if you're not intentionally testing this!
Manual Install Instructions
In Companion 3.1.0 or later:
- Create an empty folder somewhere and give it a name like
companion-dev-modules. - In that folder, extract the
companion-module-youtube-live.tar.gz— such thatcompanion-dev-modules/pkg/companion/manifest.jsonwill exist.- You can rename the extracted
pkgfolder to another name if apkgfolder is already present.
- You can rename the extracted
- In Companion's launch window, click the little gear icon in top right, and set the "Developer modules path" at bottom to the
companion-modules-devfolder.
You can verify that the module installed correctly using the "Help" icon on any youtube-live connection's configuration page.
Full Changelog: v2.5.1...log-consent-screen-failure
v2.5.1
What's Changed
- Broadcast-related module presets were updated to respect the changes made in #133.
Manual Install Instructions
In Companion 3.1.0 or later:
- Create an empty folder somewhere and give it a name like
companion-dev-modules. - In that folder, extract the
companion-module-youtube-live.tar.gz— such thatcompanion-dev-modules/pkg/companion/manifest.jsonwill exist.- You can rename the extracted
pkgfolder to another name if apkgfolder is already present.
- You can rename the extracted
- In Companion's launch window, click the little gear icon in top right, and set the "Developer modules path" at bottom to the
companion-modules-devfolder.
You can verify that the module installed correctly using the "Help" icon on any youtube-live connection's configuration page.
Full Changelog: v2.5.0...v2.5.1
v2.5.0
What's Changed
- This module now requires Companion ≥3.1.0.
- Add an action to set the title of a broadcast by @cyprient (#107)
- Allow specifying the broadcast id from a text string (including incorporating variables) by @jswalden (#109, #133)
- Add an action to set the visibility (public/private/unlisted) of a broadcast by @astellingwerf (#100, #119, #123)
New Contributors
- @jswalden made their first contribution in #133
- @astellingwerf made their first contribution in #123
Manual Install Instructions
In Companion 3.1.0 or later:
- Create an empty folder somewhere and give it a name like
companion-dev-modules. - In that folder, extract the
companion-module-youtube-live.tar.gz— such thatcompanion-dev-modules/pkg/companion/manifest.jsonwill exist.- You can rename the extracted
pkgfolder to another name if apkgfolder is already present.
- You can rename the extracted
- In Companion's launch window, click the little gear icon in top right, and set the "Developer modules path" at bottom to the
companion-modules-devfolder.
You can verify that the module installed correctly using the "Help" icon on any youtube-live connection's configuration page.
Full Changelog: v2.4.2...v2.5.0
v2.4.2
Full Changelog: v2.4.1...v2.4.2
adds stream ID as a variable alongside name for unfinished broadcasts
v2.4.1
What's Changed
- build(deps): bump @babel/traverse from 7.21.4 to 7.23.2 by @dependabot in #102
- fix: default broadcast for action "send message to live chat" by @cyprient in #104
Full Changelog: v2.4.0...v2.4.1