# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [3.1.0] - 2026-02-13 ### Added - Added optional subtitle style editor via `subtitleStyleEditor` prop (`boolean | SubtitleStyleEditorConfig`). - Added in-player subtitle style controls under `Settings > Subtitles` with real-time preview (font size, font weight, text/background colors, background opacity). - Added explicit `Save`, `Cancel`, and `Reset` actions for subtitle style editing. - Added subtitle style persistence to `localStorage` (saved only on `Save`) with configurable storage key. - Added new i18n keys for subtitle style editor UI in English and Turkish. ### Changed - Updated player context settings to include runtime subtitle style state (`setSubtitleStyle`, `saveSubtitleStyle`, `revertSubtitleStyle`). - Updated subtitle renderer to use context-managed effective subtitle style, enabling live preview updates from settings. - Updated example app with a feature toggle for subtitle style editor and demo persistence key. ## [3.0.1] - 2026-02-13 ### Changed - Updated `baseline-browser-mapping` to the latest version to refresh Baseline data. ### Fixed - Fixed Vite import-analysis failures for optional stream libraries by switching to runtime dynamic imports with `@vite-ignore` in `hlsLoader`, `rtmpLoader`, and `mpegtsLoader`. - Preserved CDN fallback behavior when `hls.js`, `flv.js`, or `mpegts.js` are not installed locally. - Ensured examples build flow remains stable with optional streaming dependencies. ## [3.0.0] - 2026-02-13 ### Added - Added `PlayerErrorBoundary` (`src/components/ErrorBoundary.tsx`) and exported it from the public API. - Added release validation pipeline scripts: `typecheck`, `validate:publish`, and `prepublishOnly`. - Added Prettier setup: `.prettierrc`, `.prettierignore`, `format`, and `format:check`. - Added `CHANGELOG.md` for release notes tracking. ### Changed - Namespaced player CSS classes and keyframes with `sp-` prefix for stronger style isolation. - Enabled strict TypeScript mode for library build via `tsconfig.lib.json`. - Tightened ESLint rules for production code (`no-explicit-any` and `ban-ts-comment` warnings). - Centralized browser/vendor and streaming runtime typings in `src/types/vendor.d.ts`. ### Fixed - Removed remaining production `any` usage in HLS, FLV/RTMP, and MPEG-TS setup/control utilities. - Updated internal tests and selectors to reflect namespaced CSS classes. - Patched vulnerable transitive dependencies via `npm audit fix` (`@isaacs/brace-expansion`, `js-yaml`, `lodash`). ## [2.0.0] ### Added - Initial modern React video player release with HLS, FLV/RTMP, and MPEG-TS support.