v0.0.5
HLS startup optimizations and Token Refresher architecture.
v0.0.5 Release Notes
Released: July 8, 2026
This release focuses on HLS startup performance, secure token handling correctness, and general UI polish. No breaking API changes.
HLS Startup Optimizations (@playerkit/core)
We significantly tuned the internal HLS.js configuration to reduce Time-to-First-Frame (TTFF) and prevent excessive RAM usage on long sessions.
| Config | 0.0.4 | 0.0.5 | Effect |
|---|---|---|---|
maxBufferLength | 30s | 15s | Player starts playing sooner — requires less buffered content to begin |
maxMaxBufferLength | 600s | 120s | Caps forward downloads — saves memory and bandwidth |
maxBufferSize | uncapped | 30 MB | Prevents excessive RAM usage on long sessions |
abrEwmaDefaultEstimate | 500 Kbps | 1 Mbps | First segment loads at lighter quality, then ABR scales up within 2s |
Impact: First-frame time improved significantly (up to 2–3× faster on typical connections). Adaptive bitrate logic remains unaffected after the initial ramp-up.
TokenRefresher API Architecture
We separated the token fetching architecture into two explicit phases to prevent unwanted background API calls.
- Before (0.0.4):
tokenRefreshertimers were scheduled even for public videos if atokenFetcherwas globally registered. - After (0.0.5):
tokenRefresheris explicitly registered alongsidetokenFetchervia props. Background timers are only started when an auth token explicitly returns anexpiresAttimestamp.
UI Polish (@playerkit/ui)
The buffered progress bar now smoothly animates between discrete segment downloads, rather than jumping suddenly.
.pk-progress__buffered {
transition: inline-size 0.4s ease-out;
}Developer Experience (@playerkit/react)
- Added: The
PlayerControlstype is now exported directly from@playerkit/react, eliminating the need to install@playerkit/corejust for types. - Fixed: Resolved
useCallbackstale closure bugs in internal hook dependencies.
Migration Guide
No breaking changes. Run:
npm install @playerkit/react@latest @playerkit/core@latest @playerkit/ui@latest