Skip to content

Releases: NoMercy-Entertainment/nomercy-player-core

v2.0.3

Choose a tag to compare

@StoneyEagle StoneyEagle released this 30 Jul 23:48

Fixed: item(target) picked between setup() and ready() survives the playlist seeding, so a deep link naming a start item no longer opens on the first item.

Added: detectDisplayHdr(), HdrOnSdrFallback, the hdrOnSdr config field and sizeAbrCeiling().

v2.0.2

Choose a tag to compare

@StoneyEagle StoneyEagle released this 27 Jul 15:48

Fixes the queue's track-change listener.

_wireQueue subscribed to MediaList's current event, which was renamed to item — so emit('item') never fired on a track change and consumers got no track-change feedback. The player warned about it at runtime; nothing acted on the warning because the fix was never released.

Consumers must also take music-player and video-player 2.0.2: both bundle this code into their IIFE builds, so a core bump alone does not reach them.

v2.0.1

Choose a tag to compare

@StoneyEagle StoneyEagle released this 18 Jul 01:00

First published stable of the v2 player core, under the latest dist-tag: npm install @nomercy-entertainment/nomercy-player-core now resolves 2.0.1. (2.0.0 was withdrawn before release.) Promotes the 2.0.0-rc.33 surface to stable with no runtime or signature changes. See CHANGELOG.md.

v2.0.0-rc.33

v2.0.0-rc.33 Pre-release
Pre-release

Choose a tag to compare

@StoneyEagle StoneyEagle released this 16 Jul 17:53

Fixed

  • bandwidth() now returns the live estimate instead of permanently reporting 0. The getter read a _bandwidthEstimate cache field that nothing ever wrote, while bandwidthEstimator(fn) wrote a same-looking _bandwidthEstimator field that nothing ever read — the two names never met. The dead cache field is gone; bandwidth() resolves on every read, honoring a consumer's bandwidthEstimator() override first, else the backend's optional bandwidthEstimate?() capability. Return type and unit (bits per second) are unchanged — additive fix, no signature change.

Full changelog: https://github.com/NoMercy-Entertainment/nomercy-player-core/blob/master/CHANGELOG.md

v2.0.0-rc.32

v2.0.0-rc.32 Pre-release
Pre-release

Choose a tag to compare

@StoneyEagle StoneyEagle released this 14 Jul 04:03

fix(player-core): subtitle(idx) resolves against the same deduped list subtitles() returns — fixes off-by-one subtitle selection when an HLS/CEA backend track is displaced by a sidecar. Mirrors the shipped quality-menu raw-index fix.

v2.0.0-rc.31

v2.0.0-rc.31 Pre-release
Pre-release

Choose a tag to compare

@StoneyEagle StoneyEagle released this 11 Jul 16:23

Correctness fixes across the shared spine (bottom of the v2 player trio).

  • dispatch: a before-hook delay that rejects with undefined is now correctly treated as prevented
  • plugin-registration: a throwing plugin constructor/initialize is contained instead of aborting the whole setup pipeline
  • tab-leader: abort a queued Web Lock request on dispose (no cross-tab playback stall)
  • auth: insert access_token before the URL #fragment, not after
  • auth-fetch: route an abort during retry backoff through the NetworkError contract
  • storage: LocalStorageBackend.get() falls back to the in-memory map on a null read
  • audio-output: read the bound element's live sinkId, not a stale cache
  • cast-sender: stop a spurious cast:media-changed on self-load
  • spectrum: propagate runtime fftSize/smoothing to stereo L/R analysers; disconnect shared analyser from splitter on stereo dispose
  • core: fix RAF id leak, enhanced-LRC word parsing, HLS/native #fragment matching, HLS content-type matching, VTT whitespace-only line splitting, and volume re-push on unmute
  • i18n: separate dedup namespaces for static translations vs the loadTranslations hook

v2.0.0-rc.30

v2.0.0-rc.30 Pre-release
Pre-release

Choose a tag to compare

@StoneyEagle StoneyEagle released this 09 Jul 14:45

Ship runtime sidecar subtitle injection (addSubtitleTrack/removeSubtitleTrack, SidecarSubtitleInput) that the video player's committed source depends on. CI: drop the forced npm@latest global upgrade that broke provenance publishing.

v2.0.0-rc.29

v2.0.0-rc.29 Pre-release
Pre-release

Choose a tag to compare

@StoneyEagle StoneyEagle released this 04 Jul 23:27

Fixed

  • The typed subtitles playlist-item field is now actually read by subtitles() / subtitle(idx) (typed field first, wire tracks after, URL-deduped). Previously only the v1 wire shape was consulted.
  • chapters() no longer requires a non-empty wire tracks array before returning the item's typed chapters.

v2.0.0-rc.28

v2.0.0-rc.28 Pre-release
Pre-release

Choose a tag to compare

@StoneyEagle StoneyEagle released this 04 Jul 22:51

Changed

  • The time event now carries the full TimeState snapshot — time, position, duration, buffered, remaining, percentage — instead of { time } alone. TimeState gains time (alias of position), and timeData() returns the same widened shape. Existing listeners are unaffected; manual emitters build the payload via timeData() / the internal _timeStateAt(position).

2.0.0-rc.27

2.0.0-rc.27 Pre-release
Pre-release

Choose a tag to compare

@StoneyEagle StoneyEagle released this 04 Jul 21:02

Built-in activity tracker hides controls on container mouseleave while playing (same rule as the desktop UI); paused keeps controls up. See CHANGELOG.md.