0.3.0
Breaking/Important Changes
We've introduced a new format for storing the nodecg-io configuration with #424.
On startup, nodecg-io will automatically migrate your old configuration to the new format.
However older versions of nodecg-io (<= 0.2) will not be able to read the new format.
This means automatically migrated configs are not readable by older versions of nodecg-io
and you cannot easily downgrade to an older version of nodecg-io.
The migration has been thoroughly tested, but we still recommend to backup your configuration before upgrading.
The config is in the db/replicants/nodecg-io-core/encryptedConfig.rep
.
This release includes support for NodeCG v2.
However nodecg-io is and will be compatible with NodeCG v1 for the foreseeable future.
Detailed Changelog
General
- Move common tsconfig configuration to a utility package (#395)
- Publish tarballs for current development version after each push at nodecg-io-publish (#328)
- Add CI integration test that starts NodeCG and ensures all bundles can be loaded (#327 by @TimTechDev, #582 by @TimTechDev)
- Build dashboards using esbuild instead of webpack (#394 by @TimTechDev)
- Derive encryption key in dashboard using Argon2 (#424)
- NodeCG v2 support (#896)
- Upgrade used typings from
nodecg-types
to@nodecg/types
(#895)
Core
- Just log a warning when trying automatic login, but nodecg-io is already loaded, instead of erroring (#385)
Dashboard
Services
Added
- OpenTTS (#749 by @SteffoSpieler)
- Google Cast (#748 by @SteffoSpieler)
Removed
- Curseforge: API has been deprecated (#763)
Changed
- Midi: Priorize exact midi device name match in case of an ambiguous pattern (#531, #550)
- OBS: adapt service and bundle to obs-websocket-js v5 (#668)
- OBS: Fix undefined error message (#673 by @ExtremTechniker)
- Reddit: Use https to clone the reddit dependencies (#465 by @noeppi-noeppi)
- Spotify/GoogleApis: Make OAuth redirect URLs match nodecg's baseUrl & protocol (@422 by @Dan-Shields)
- Spotify/GoogleApis: replace express.Router references with nodecg.Router (#423 by @Dan-Shields)
- StreamElements: Add replicant with last event data (#494)
- StreamElements: Add specific type interface for each StreamElements event (#692 by @SteffoSpieler)
- StreamElements: Add sub bomb detection (#709 by @SteffoSpieler)
- Extract esbuild configuration into a common package (#966)
Dependency Version Updates
npm dependencies:
@elgato-stream-deck/node: 5.1.1 -> 5.7.2
@octokit/rest: 18.12.0 -> 19.0.13
@slack/web-api: 6.5.0 -> 6.8.1
@serialport/parser-readline: 10.3.0 -> 11.0.0
@twurple/*: 5.0.9 -> 6.0.5
@types/discord-rpc: 4.0.0 -> 4.0.5
@types/node-telegram-bot-api: 0.53.2 -> 0.61.6
@types/node: 16.11.9 -> 20.3.3
@types/spotify-web-api-node: 5.0.4 -> 5.0.7
@types/ws: 8.2.1 -> 8.5.5
ajv: 8.633 -> 8.12.0
atem-connection: 2.4.0 -> 3.2.0
chromecast-api: 0.4.0 -> 0.4.2
discord.js: 13.3.1 -> 14.11.0
easymidi: 2.1.0 -> 3.0.1
googleapis: 89.0.0 -> 120.0.0
knex: 0.95.14 -> 2.4.2
monaco-editor: 0.31.0 -> 0.38.0
mqtt: 4.2.8 -> 4.3.7
node-fetch: 2.6.6 -> 2.6.12
node-hue-api: 4.0.10 -> 4.0.11
node-telegram-bot-api: 0.54.0 -> 0.61.0
nodecg-types: 1.8.3 -> @nodecg/types 2.1.11
nodemon: 2.0.19 -> 20.0.20
obs-websocket-js: 4.0.3 -> 5.0.3
sacn: 4.1.0 -> 4.3.0
serialport: 9.2.7 -> 11.0.0
tslib: 2.3.1 -> 2.6.0
typescript: 4.5.2 -> 5.1.6
ws: 8.2.3 -> 8.13.0
GitHub Actions:
actions/cache: 2 -> 3
actions/checkout: 2 -> 3
actions/download-artifact: 2 -> 3
actions/setup-node: 2 -> 3.6.0
actions/setup-python: 2 -> 4
actions/upload-artifact: 2 -> 3