What's Changed
Features
- feat: add category/group tabs to EPG guide page (#964) (
61d41295) - feat: Add "smart" EPG mapper tool for AI copilot (
4aedacc9) - feat: improve compatibility with emby-xtream plugin (#962) (
a7c5e85b) - feat: add bulk enable/disable probing actions for channels (
1a7c19c6) - feat: Add resource tools to copilot for search and CRUD operations (
f64a9b52) - feat: Implement i18n support (en, de, fr and es support to start) (
93056959) - feat: Update BulkModalActionGroup to ensure child actions close parent modal (
cbe95ad7) - feat: Stream probing, Dispatcharr API, and fast channel switching (
e2cf284e) - feat: add Create Plugin wizard page with shared scaffold service (
7cba744f) - feat: generate Agent Skills with reference docs in scaffolded plugins (
0d4bd322) - feat: generate Claude Code skill inside scaffolded plugins (
4b62a059) - feat: Add desktop widget for plugin overview (
699196b0) - feat: Add first-party Channels DVR gracenote endpoint to map
tvc-guide-stationid(e4e32835) - feat: Add initial plugin (tv logos) to serve as an example for future plugin dev (
53fed494) - feat: expand reviewed plugin installs and extensions UI (
adf8004a) - 📱 feat: add responsive media pool toggle for mobile devices (
7f930335) - ✨ feat: add bulk broadcast start and stop actions for networks (
6c809e01) - feat: regenerate network schedules when content changes (
28cb10be) - feat: add on-demand broadcast controls and waiting status in networks UI (
4c0c5ef2)
Bug Fixes
- fix: Ensure release log history is generated correctly after pipeline failures (
92e9aa2d) - fix: EPG Group filter to ensure it works for both database drivers (
2212538c) - fix: Automated release doesn't work when pipeline fails (
28f87558) - fix: EPG API group filter tests (
3dbfde85) - fix: Make sure we're using the provider request delay for stream probe functionality (
a9f89ff0) - fix(tests): rewrite ChannelBulkProbingActionsTest to work with BulkModalActionGroup (
e6788359) - fix: 400 error with copilot and OpenAI (
5c07cd88) - fix: Failing tests (
765b7530) - fix: improve German translations in de.json (
58f47061) - fix: Improve German translations in validation messages (
bbfb8dfa) - fix: Update German translations for navigation labels (
4137533f) - fix: Correct German translation for authentication failure message (
076a088e) - fix: freeze time in NetworkPersistedSeekTest to prevent timing flake (
bdfcaca6) - fix: use exit code instead of stderr to detect ffprobe failures (
0bd6f622) - 🐛 fix: prevent pool reuse for timeshift/catchup requests (
4473ded3) - fix: Updates stream stats not working with channel merge feature (
04487dea) - fix: Icon column for probe enabled (
efdf0c18) - fix: Failing test cases with updated admin check logic (
2c5a2792) - fix: Failing test (
0f7acbae) - fix: Failing plugin test (
da444029) - fix: Cache driver logic changes breaking cache (
74208eff) - fix: Session logic breaking remote containers (
06d8b565) - fix: Container startup failing (
d9966381) - fix: Missing needed files to compile assets (
081adf02) - fix: Installing plugin on create directly is missing review (
fd73617a) - fix: Create plugin using incorrect class (
a58b6bb9) - fix: include stubs/ in Docker image and fix wizard buttons (
1b485956) - fix: Plugin make test (
a2fa8889) - fix: Blade buttons not rendered correctly on create plugin page (
ae159b08) - fix: use Schema type hint instead of Form for Filament 4 compatibility (
7388f0b4) - fix: match test expectation for unknown capability error message (
f8f90ec2) - fix: Pint style fixes and move method stubs to .stub files (
b11c2752) - fix: rewrite plugin AI guidance stubs with complete API reference (
50e1b48b) - fix: replace developer jargon with plain language in plugin UI (
b9422b35) - fix: rename 'Forget Registry Record' to 'Delete Plugin Record' (
4d863d33) - fix: session connection fallback breaks when Redis disabled (
c685a9fb) - fix: Hide ClamAV actions when set to fake driver (
f3176ca3) - fix: Date formatting for plugin runs; allow for multiple model selection (
53644848) - fix: Channel Logos plugin caching (
e58d079b) - fix: Plugin settings not being saved (
7c99ec37) - fix: Failing CI (
b3d01f6c) - fix: Top nav broken; disable icon for sub-nav item to resolve (
04302a62) - fix: restore dev test container support (
6ad94d58) - fix: tighten plugin staging safeguards (
41b7d9df) - fix: soften plugin install CLI failures (
2681ddf4) - fix: reconcile stale plugin install reviews (
6ed19ae2) - fix: restore cache and session env overrides (
1e93ea53) - fix: reset stale plugin review staging roots (
3a5f4dd8) - fix: handle plugin staging failures cleanly (
125fab13) - fix: harden plugin validation and archive staging (
245a1153) - fix: Use iteration count rather than wall-clock time so the loop is deterministic (
6bfb8071) - fix: N+1 schedule regeneration on bulk network content import (
c1842059) - fix: On-demand broadcast startup race condition (
1ad134f1) - fix: harden on-demand startup runway and grace handling (
0ed9d119) - fix: stabilize on-demand broadcast connect and idle stop behavior (
319b38d2)
Refactoring
- refactor: move capability and hook metadata into config/plugins.php (
d82172db) - refactor: remove epg repair plugin-specific layer (
afa3cf2d) - refactor: trim ml-specific plugin wiring (
2aace678)
Maintenance
- chore: Rollback version to trigger re-release (
31bc3f8e) - chore: Add URL for copilot to support provider endpoint overrides (
ce68c94a) - chore: Add docs for Copilot usage (
b70bc7a6) - chore: Update TMDB ID test (
1afdb95d) - chore: Create search docs tool for copilot (
df465cd0) - chore: Remove fillable (
582c1584) - chore: Remove unused tools (
7f18f3c4) - chore: Add missing copilot translations (
e695512c) - chore: Make AI mgmt panels display optional (
6cb6beea) - chore: Install AI agent/helper tool 🦾 (
0c9ce12a) - chore: Update lang files with updated descriptions (
d59c6df8) - chore: Simplify language switcher (
1663c234) - chore: Clean up dev test scripts (
25fbe87d) - chore: Don't override default driver for tests (
15a2ed19) - chore: Generate missing translations (
f783fb2a) - chore: Resolve composer hash (
4d1796ab) - chore: Update channel scrubber to utilize existing stats if already present (
62786d0a) - chore: Clean up dead cache fallback, cache JWT config, remove unused eager load (
eb289bd3) - chore: Swap pseudo-JWT with true JWT implementation for Dispatcharr API mock (
9aa5fc89) - chore: Fix failing PR tests (
8f29af30) - chore: Update channel API endpoints for health check to use live check instead of db stored data (
1fb358cf) - chore: Clean up the playlist form a bit (
73132aef) - chore: Add missing i18n plugin strings (
197032c4) - chore: Fix formatting (
761e9314) - chore: Add i18n to Plugin pages (
92f3240c) - chore: Move automated i18n to artisan command for easy re-runs (
acbdcefe) - chore: Add i18n to dashboard screen (
78e80893) - chore: Fix i18n escaping character for helper text items (
9d03d862) - chore: Update remaining pages missing i18n page title updates (
a017fdc2) - chore: Fix escaped quotes breaking i18n for field helper text (
1bad57f2) - chore: Swap nav items back to word translation instead of key (
09944329) - chore: Rollback version to trigger release (
1e0d85bd) - chore: Updating plugin page icons (
b6149cbf) - chore: Update download zip button color to primary (
93389ca5) - chore: Drop install option for custom plugins (
67593ca8) - chore: Re-prioritize the post-startup calls (
88bd70ac) - chore: Rollback version to trigger re-reloease (
511b03b3) - chore: Cleanup plugin detail page (
29f31a85) - chore: Make sure plugin installs are removed when plugin is deleted (
91229657) - chore: Cleanup plugin create form a bit (
42be5668) - chore: Fix plugin install and approve logic when clamav disabled (
5ed60358) - chore: Clear up delete action on plugin management (
22c0dd1c) - chore: Add option to delete installed plugin files from UI and fix button on plugin create (
f7324d87) - chore: Add additional tests for plugin system (
d4183acd) - chore: Move plugin dev to docs folder (
bd3c18ce) - chore: Re-order plugin dashboard (
6b215a8c) - chore: Cleaning up plugin pages (
c71f8394) - chore: Automatically strip port from host input for Channels DVR plugin (
ce9cbf81) - chore: Adjust formatting for plugin run log (
bbb30159) - chore: Revert unnecessary changes for plugin (
a2578657) - chore: Add ability to clear run history from plugin page and cap log history (
f169be78) - chore: Bump max memory for queue worker (
7be06544) - chore: Add quick enable/disable action to plugin table (
a00c81c3) - chore: Cleanup extension dashboard a bit more (
1a39a0ee) - chore: Cleanup extension dashboard widgets (
d20176d6) - chore: Group plugin actions to prevent crowding screen (
a17b6006) - chore: Fix failing tests (
473d2d92) - chore: drop bundled epg repair example (
a691ff07) - chore: Apply pint formatting (
ae33b1bb) - chore: Cleanup agents file (
1f72aa20) - chore: Cleanup files for on-demand broadcasting (
b19a49fa) - chore: Add logging when
$preservePlaybackReferenceis null and set to 0 (b513c074) - chore: Syntax cleanup (
bebbd5ed) - chore: Align network disconnect/overlap to default values with config (
1bf0567e) - chore: update agent context requirements (
f1010550) - chore: add optional on-demand broadcast tuning envs to compose templates (
a500d12a)
Other Changes
- internal testing (
f203c57c) - style: fix Pint drift on plugin PR (
81d00a81) - Add reviewed plugin install workflow (
88155f46) - Harden plugin trust and integrity controls (
b99909ca) - Add plugin scaffold generator (
dcbc4fc1) - Add paginated EPG repair candidate store (
a6d2ada9) - Add plugin lifecycle operations and registry doctor (
5f80339a) - Harden plugin lifecycle and uninstall semantics (
fabcfd48) - Add reviewed apply flow for EPG repair (
b6b23861) - Improve EPG repair matching controls (
6c6803fd) - Clarify EPG repair run evidence (
0a6d2b34) - Improve EPG repair scan reporting (
e2ea5410) - Harden plugin run lifecycle (
0a6d0e40) - Polish plugin activity panels (
acbfcea2) - Polish plugin overview dashboard (
454f0eaa) - Improve plugin run detail workflow (
395889f7) - Refine plugin overview layout (
5db2bee9) - Improve plugin activity logging and diagnostics (
8abba5c5) - Add plugin system verification coverage (
96a111a5) - Add plugin system foundation (
33e1020a) - test: fix broadcast and schedule regressions in CI (
cfc6f78f)
Docker Image
docker pull sparkison/m3u-editor:dev-0.11.20