Versioning
Three packages, one coordinated version line.
Current status
All three packages are on a 2.0.0-beta.* pre-release train.
Install with the @beta tag:
npm install @nomercy-entertainment/nomercy-player-core@beta
npm install @nomercy-entertainment/nomercy-video-player@beta
npm install @nomercy-entertainment/nomercy-music-player@beta
Do not rely on @latest, as it resolves to the v1 line while the @beta tag is the active development target.
Version coordination policy
The three packages are versioned together.
A breaking change to the player core’s adapter interfaces requires a major bump across all three packages.
The packages always ship at the same version number, such as 2.0.0-beta.0, 2.0.0-beta.1, etc.
This means:
- You can mix
[email protected]with[email protected]without type mismatches. - Mixing different beta numbers is not supported and may produce TypeScript errors.
Semver interpretation during beta
While the version is 2.0.0-beta.*, any beta bump may include breaking changes.
Treat each beta as potentially breaking and read the changelog before upgrading.
After the 2.0.0 stable release, standard semver applies:
- Patch (
2.0.x): bug fixes only. No API changes. - Minor (
2.x.0): additive. New methods, new events, new adapter ports. Backwards compatible. - Major (
3.0.0): breaking. Full migration guide provided.
v1 maintenance
The v1 packages (@nomercy-entertainment/nomercy-video-player ^1.x, @nomercy-entertainment/nomercy-music-player ^1.x) are frozen.
No new features.
Critical security fixes only, on a best-effort basis.
Migrate to v2 using the per-package migration guides:
Planned v2.x additions (not yet shipped)
The following plugins are stubbed and throw NotImplementedError in v2.0.
They are planned for v2.1:
| Plugin | Package | Status |
|---|---|---|
GroupListeningPlugin (music) | nomercy-music-player | Throws NotImplementedError in v2.0 |
LiveTranscodingPlugin (music) | nomercy-music-player | Throws NotImplementedError in v2.0 |
DrmPlugin (music) | nomercy-music-player | Throws NotImplementedError in v2.0 |
The video player’s DrmPlugin and LiveTranscodingPlugin are different: they ship and function in v2.0. Only the music copies above are v2.1 stubs that throw.
KIT_VERSION
The player core exports a KIT_VERSION constant matching the package.json version.
Plugins can use this to assert minimum core versions at registration time via static readonly minCoreVersion.
import { KIT_VERSION } from '@nomercy-entertainment/nomercy-player-core';
class MyPlugin extends Plugin {
static readonly minCoreVersion = '2.0.0';
}
If the installed core version is below minCoreVersion, addPlugin() throws at registration time.