0.16.13 (2024-12-18)
- display Plex playlists as its own library (#1018) (22849e9)
- fix issue where random slot do-not-pad could generate 0-duration flex programs (8abd3c8)
- improvements in handling fractional durations in scheduler (9f46d11)
0.16.12 (2024-12-13)
- fix channel_programs update query in updateLineup (ea73a5d)
- fix ProgramGroupingMinter to correctly assign type season for seasons instead of show (0b92fa3)
- re-enable fixers (3fab90f)
- request additional jellyfin user view types by default (a4cb229)
- time slots - always use the currently saved lineup state for slot generation (04e58b6)
0.16.11 (2024-12-11)
0.16.10 (2024-12-10)
- alphanumeric title filter should scroll with you (e5d10d0)
- properly handle redirects in scheduler (#1011) (e5d10d0), closes #1010
- use correct pixel formats when downloading from hardware (#1008) (828367c)
0.16.9 (2024-12-06)
- fix for plex channel auto-mapping update (3e48d6f)
- fix form state resetting in media source edit modals (236d819)
- properly treat yuv420p10le as 10-bit (f266fab), closes #1003
0.16.8 (2024-12-05)
- attempt to use default audio stream before others (aeee37b)
- fix display names in some clients (518d280)
- fixes for CUDA pipeline state management (#998) (bbb9f76)
- implement "slot pad" mode in random slots (#1000) (ec8b943)
0.16.7 (2024-12-02)
- add missing comma after setsar in ScaleVaapiFilter (3df4300)
- allow choosing channel redirects in time slots, regardless of current lineup (f6a127a)
- do not use default value for useNewPipeline query param in APIs (e086ef4)
- fix start time / pad precision for random slots (d4fa0af)
- implement intermittent watermarks in nvidia/vaapi ffmpeg pipelines (97123b9)
- infinite scroll on list view (#994) (85666c6)
- properly parse .env file in bundle script for edge builds (39e9d68)
- redirect time slots now take up the whole slot duration (38c03fc)
- set correct frame data location in HardwareDownloadFilter nextState (05fb6f2)
0.16.6 (2024-11-24)
- disable speed-dial when loading (#984) (b10925d)
- fix weekly timeslot scheduling (#992) (3597546)
- use stable ID when reporting Plex playback session status (#993) (b89dde9), closes #960
0.16.5 (2024-11-23)
- fix displaying weekly slot start times after save (67593ef)
- prevent multiple select alls duplicating selections (#986) (f3e0f2d)
- support more watermark options on new ffmpeg pipeline (#989) (12270ba)
- update language to make Name required when adding jellyfin server (#985) (433c6e3)
0.16.4 (2024-11-22)
- copy image uploads instead of rename, because we cant be sure of fs layout (8af83e7)
- pass correct pix_fmt to scale_cuda filter (#980) (d6448e2)
0.16.3 (2024-11-21)
- allow backdating channel start times (#979) (4d85e08)
- fix HLS concat on new FFmpeg pipeline (#976) (e2c9b51), closes #974
- slot time no longer resets day of week for weekly schedules (f2000fb)
- use form field array index and not table index for slot editing (dfaab86)
0.16.2 (2024-11-19)
- release 0.16.2 (66552b6)
0.16.1 (2024-11-19)
- fix typo in kyseley-ported custom_show_content migration code (49d8b4c)
- fix weekly time slot editing and display (#970) (9280a7c)
0.16.0 (2024-11-18)
- revert default "max days" to 365 for slots (ba8a19b)
0.15.10 (2024-11-13)
- account for weekly schedules when setting slot start time (5797001)
- chunk program grouping updates to avoid "too many sql variables" db error (98e7ade)
- ensure program grouping upserts stay within sql variable limits (#961) (57009a2)
- fix improper offsets for time slots (167f5e0)
- fix pagination for jellyfin (a8d7d33)
0.15.9 (2024-11-09)
- account for windows taskkill exits in FfmpegProcess (75e2a91)
0.15.8 (2024-11-09)
- re-enable custom shows in time slot editor (deae3de)
0.15.7 (2024-11-08)
- remove errant quote in windows process kill cmd (88e640b)
- resolve Jellyfin items when underlying file changes (#933) (d8b8e09)
- use Windows-specific task kill command as .kill() doesnt seem to work (0f5b437)
- add clear all button to timeslots page (0bae6e6)
- flush load items (#948) (c86dd6a)
- simplify time slot page title (d59df21)
0.15.6 (2024-11-07)
- improve image caching logic (859f679)
- never clear, and always update, program relations on upsert (86c5330)
0.15.5 (2024-11-05)
- do not remove scheduling configurations when adding new programs (#936) (d18e99d), closes #934
- fix deleting filler shows using new db code (95bf2b3)
- fix passing arguments to standalone script files (#939) (82b2a2c)
- reference correct table in channel_filler_show filler_show_uuid foreign key (a3539ed), closes #931
- uploads can just be renamed from saved temp path (af14be1), closes #932
0.15.4 (2024-11-02)
- do not attempt to upgrade plex rating key for jellyfin items (a406bde)
- fix for updateProgramPlexRatingKey return query (40c73c2)
- fix the build (6eab3fb)
0.15.3 (2024-11-02)
- fix updating channels (01fb70d)
- run enabled backup jobs once immediately when enabled (#926) (2ffa2cc), closes #923
0.15.2 (2024-11-01)
- fix conditional index conditions in new migrations (cb939ca)
0.15.1 (2024-10-31)
- program_grouping_external_id.external_source_id is nullable (e31f5c3)
0.15.0 (2024-10-31)
- can't use chain in shared lib either because it gets bundled into server (59c2ead)
- fix "specials" creating wrong XMLTV (ce6b3d9), closes #666
- handle undefined durations from Plex (#912) (ea163ee)
- show edge commit in tunarr version for edge builds (c3f04cd)
- release 0.15.0 (1555d38)
0.14.2 (2024-10-24)
- fix playing Video-type Jellyfin streams (#902) (68670f8)
- fix plex auto-channel mapping update (70ecd00)
- fix VAAPI rendering (#884) (e8a5656)
- handle more Jellyfin item types in program selector (#883) (1f2d963)
- persist channel table page state across nav (#894) (3e5e42a), closes #888
- properly clear m3u cache when channels change (#895) (5bdc92b)
0.14.1 (2024-10-21)
- fix ffmpeg path normalization for Windows (5adf769)
- increase exp backoff factor for HLS sessions; theoretical max wait of ~2mins (d272d21)
- remove uuid format requirement from some Jellyfin types (1ced59f)
0.14.0 (2024-10-21)
- fix channel deletes when channel is associated with fillers (#889) (83126c8)
- mitigate RCE vulneratbility (#892) (4570b08)
0.13.2 (2024-10-16)
- correct conditional for adding reconnect settings (8c94af4)
- differentiate file/http stream source inputs (#873) (fc836b8)
- mark addedAt field as optional in all Plex types (#874) (f68e89f), closes #863
- properly calculate filler show content counts (#881) (11abbc1), closes #872
- use window location for base URL in m3u clipboard copy when backend url is empty (#880) (a99d3ca), closes #878
0.13.1 (2024-10-15)
- accept array type in Jellyfin API items extraFields query param (f511edd)
- accept array type in Jellyfin items API endpoint (edbef2b)
- correctly handle error streams in default HLS mode (#867) (4f3ae86)
- handle ffmpeg "unknown" version on welcome screen (a134cab)
0.13.0 (2024-10-14)
- use new, segmeneted channel IDs in xmltv as wordaround for Plex guide bug (#855)
- convert 10-bit inputs to 8-bit for non-supported NVDA+format combos (#765) (d02b834)
- fix on-demand channel pause times when watching mpeg-ts streams (2bececf)
- reimplement BackfillProgramGroupings fixer (#864) (0dd8dbc)
- temporarily raise the body limit for channel lineup updates (b062dbe)
- use new, segmeneted channel IDs in xmltv as wordaround for Plex guide bug (#855) (9e10d78)
- use proper m3u links in frontend (#854) (accb0d7)
- use req.host instead of req.hostname because it includes port (3acca8e), closes #861
- wait on other transactions just in case (#866) (c5d82a5)
0.12.4 (2024-10-09)
- allow setting ffprobe path instead of deriving it (#842) (5771238)
- fix web video player (5ff85f5)
- mark 1900/udp as exposed in Dockerfile for UDP server (HDHR auto-discovery) (4638c70)
- remove eventual consistency for program_grouping upserts (#843) (d83113b), closes #825
0.12.3 (2024-10-02)
- always output yuv420p pixel format (for now) (4548a3a)
- external watermark loading fixes (e324bac)
- handle Windows ffreport paths (70f1f9b)
- properly construct program set before saving slot schedules (ac3f84a)
- remove duplicates before running block shuffler (9816749)
- try a different file path pattern for FFREPORT on Windows (4675ec1)
0.12.2 (2024-09-30)
- improvements to session error state handling / cleanup (550846e)
- include Client authorization value in Jellyfin auth header (803faf8)
- mark plex video frame rate field as optional (9307a18), closes #819
0.12.1 (2024-09-30)
- bail on HLS stream wait if an error occurred on startup (0a611c3)
- server: properly close event channels on server shutdown (b7b2be6)
- server: use existing mappings in BackfillProgramGroupings fixer (b7b2be6)
- treat video stream indexes as absolute (d7f65ca)
- web: ability to perfectly loop block shuffled shows + other block shuffle fixes (b7b2be6)
0.12.0 (2024-09-27)
- improved program tools around balancing / block scheduling (#802) (bd65de4)
- introduce new default HLS stream mode (#780) (6e66cfe)
- use local file path for plex/jellyfin media if it exists (#806) (11ca353), closes #804
- attempts to improve stream stability for mpegts streams (#801) (ecaddb5)
- do not set programming selector viewType to null (#812) (37a9fe7), closes #808
- empty backendUri in general settings is allowed to be empty (#811) (0924b63), closes #747
- ensure all tokens are redacted from ffmpeg args, not just the last (e406cfa)
- ensure readahead works for audio+album art and offline streams (f2f3053)
- fixes for static image streams for offline mode (d8238cc)
- handle multiple error events from sessions (5dfa18f)
- improvements to stream error and end handling (d8238cc)
- make link to ffprobe in Docker image (4111106)
- only use reconnect parameters when input source is http(s) (d8238cc)
- properly reset general form setting values (51bc998)
- revert change to m3u generation -- use ts stream always until we have separate endpoints (52ebc71)
- use channel's configured streamMode in m3u file; still use mpegts for HDHR (d8238cc)
- use new mpegts path in hdhr lineup json generation (#799) (18592d0)
- use new mpegts path in m3u generation (#798) (e31333a)
0.11.0 (2024-09-23)
- add option to use show's poster instead of episode poster (4f661d5), closes #655
- parity: support custom shows in time/random slots (24b5a97), closes #785
- calcuate channel list runtime by selected programs (24b5a97), closes #786
- hide image cache settings in xmltv as the feature is currently disabled (4f661d5)
- simplify query in BackfillProgramGroupings fixer which could cause OOMs (29956a8), closes #788
- simplify query in BackfillProgramGroupings fixer which could cause OOMs (#789) (fd36e38)
- use correct timezone for start time in random slot editor (24b5a97)
- use program_grouping.uuid value as slot program showId, rather than show title (#792) (24b5a97)
0.10.4 (2024-09-21)
- listen on all interfaces (0.0.0.0) by default (aeddfd5), closes #777
- listen on all interfaces (0.0.0.0) by default (#778) (f093bc2)
- macos packaging script pointed to wrong file (57c02a5)
- plex playlist children now load in list view (5f06ae0), closes #782
- plex playlist children now load in list view (#783) (f9fdaff)
0.10.3 (2024-09-13)
- do not block navigation on time slot editor page after successful save (a5731cf)
- properly adjust for timezones in time slot generation/preview (60f0664)
0.10.2 (2024-09-12)
- ensure that latest tags receive hwaccel build suffix (9c2e806)
0.10.1 (2024-09-12)
- sessions unable to start after cleaned up (b84df2f)
- track channel menu open state per-channel (2b0a30b)
- use location.reload over resetRoute until we properly setup error boundaries (4e44839)
0.10.0 (2024-09-10)
- enable drag'n'drop on custom show page editor (7c46753)
- major streaming overhaul (#749) (5ef1fc8)
- support movies and custom shows in block shuffle (c74ba91)
- add more structure around sensitive info redaction (deb8319), closes #732
- add more structure around sensitive info redaction (#764) (dfa0820), closes #732
- artificial readrate burst now returns the correct duration for the HLS session (f47da60)
- do not add flex program when channel lineup is cleared (49253fc), closes #745
- do not include width for icons if it is <=0 (#750) (e4d4ef8)
- fix custom shows in programming selector (4be7c34)
- provide hardcoded width for invalid thumb widths in XMLTV (#753) (bd40f53)
- remove unnecessary left margin from main content on mobile (3f4c380)
- return custom show programs sorted by index asc (05e1db3)
- run session cleanup job every minute now that we are defaulting to session based streams (165327f)
- set video stream index to account for files with >1 video stream (065f87c), closes #758
- use correct stream duration value for Plex/Jellyfin streams (8d559b7)
- use stream end event in order to remove session token (4094dd9)
0.9.1 (2024-08-31)
- transitions between offline still images and video streams resulted in garbled audio (#739) (ec665e2)
0.9.0 (2024-08-29)
- ensure server-scoped Jellyfin API tokens always make requests with user ID (#729) (78cef1e)
- ensure that server URLs include http/https protocol (#722) (3dbc0cd)
- remove programs with invalid duration before saving lineup (#730) (51ceb2b)
- use Jellyfin authorization scheme over X-Emby-Token header (#723) (a5f97fd)
0.8.1 (2024-08-26)
- create temp backup of channel_programs table during migration so references are not deleted (2d3ff83)
0.8.0 (2024-08-25)
- add support for Jellyfin media (#633)
- add support for Jellyfin media (#633) (f52df44), closes #24
- support leading/trailing edge configuration for intermittent watermarks (#704) (ba2ec87), closes #672
- custom show editor style and behavior should match fillers (#715) (b834e1a)
- default fallback image not rendered properly in UI (#709) (c5d9f43)
- defer foreign keys in Jellyfin migration due to self-referencing tables (9462432)
- edited new filler list name reverted after adding programming (#711) (40f1776), closes #705
- generalize media source connection on welcome and settings pages (#701) (bb1a17f)
0.7.0 (2024-08-21)
- add FWVGA (16:9, 480p) and WVGA (15:9, 480p) resolution options (#694) (5d24059), closes #693
- convert filler/custom show tables to Tanstack table (#697) (dc5e346)
- replace simple tables in UI with more powerful tanstack table (#684) (f531b3c)
0.6.0 (2024-08-19)
- make all parent/grandparent plex fields optional (#686) (dc29742), closes #683
- various fixes to channel edit form (#689) (c9784c8)
0.5.4 (2024-08-13)
- do not use RouterLink for m3u link on guide page (8b59a56)
0.5.3 (2024-08-13)
- change default watermark preview image URL to use configured (12ff270)
- channel intermittent watermark default state should be intiialized (f11e8cf)
- macos entrypoint script can be executed anywhere (#669) (6d505e9), closes #668
- marks PlexTvShowSchema#Country as optional, like other Plex media Country fields (#674) (d112c3d), closes #670
0.5.2 (2024-08-06)
- fix sql query error when querying channel fallback programs (#661) (16cd085), closes #660
- mpegts streams now work even if any HLS streams were started prior (#663) (d77b0e0), closes #662
0.5.1 (2024-08-05)
0.5.0 (2024-08-04)
- do not double suffix docker image tags for latest (8501eca)
0.4.2 (2024-08-04)
- use OS-specific, stable path for default Tunarr data directory (#643)
- ability to manually add Plex servers (#622) (7027efc)
- add ARM builds (#618) (c2d5a66)
- implement on-demand channels (#613) (13fe504), closes #612
- support for intermittent watermarks (#644) (9b490b2), closes #492
- support setting opacity on channel watermarks (#621) (9480aa2), closes #615
- use OS-specific, stable path for default Tunarr data directory (#643) (1c56752), closes #620
- web: display channel duration and program count on channels page (#617) (7564a4b)
- ambiguous column error when selecting all filler shows (#635) (ddb0723), closes #634
- cannot use createRequire in web-module; move version function to server (#641) (7175f15)
- default disableChannelOverlay to false (df8192b)
- define platforms for docker edge build workflow (a1ad921)
- do not double suffix docker image tags for latest (8501eca)
- double star for tag event? (2d0fce1)
- navigation blocker appeared after channel update (#645) (a2809d8)
- new custom show programming button led to wrong path (#647) (554a003)
- properly save filler list / channel associations (#610) (017eca5)
- single edge build failure should not affect other builds (d8840ac)
- tag matching in docker release; remove quote and semver specific (0c45071)
- Use inputted name for new filler lists (38f76d1)
- use PAT for release-please so tag pushes trigger releases (f8f524d)
- workaround for macOS binary release (#608) (8b8f6f8)
0.4.2 (2024-08-04)
- use OS-specific, stable path for default Tunarr data directory (#643)
- ability to manually add Plex servers (#622) (7027efc)
- add ARM builds (#618) (c2d5a66)
- implement on-demand channels (#613) (13fe504), closes #612
- support setting opacity on channel watermarks (#621) (9480aa2), closes #615
- use OS-specific, stable path for default Tunarr data directory (#643) (1c56752), closes #620
- web: display channel duration and program count on channels page (#617) (7564a4b)
- ambiguous column error when selecting all filler shows (#635) (ddb0723), closes #634
- cannot use createRequire in web-module; move version function to server (#641) (7175f15)
- default disableChannelOverlay to false (df8192b)
- define platforms for docker edge build workflow (a1ad921)
- double star for tag event? (2d0fce1)
- navigation blocker appeared after channel update (#645) (a2809d8)
- new custom show programming button led to wrong path (#647) (554a003)
- properly save filler list / channel associations (#610) (017eca5)
- single edge build failure should not affect other builds (d8840ac)
- tag matching in docker release; remove quote and semver specific (0c45071)
- Use inputted name for new filler lists (38f76d1)
- use PAT for release-please so tag pushes trigger releases (f8f524d)
- workaround for macOS binary release (#608) (8b8f6f8)
0.4.1 (2024-08-03)
- navigation blocker appeared after channel update (#645) (a2809d8)
- new custom show programming button led to wrong path (#647) (554a003)
0.4.0 (2024-08-03)
- use OS-specific, stable path for default Tunarr data directory (#643)
- manual release (356249c)
0.3.2 (2024-07-24)
0.3.1 (2024-07-17)
- use PAT for release-please so tag pushes trigger releases (f8f524d)
0.3.0 (2024-07-17)
- ability to manually add Plex servers (#622) (7027efc)
- add ARM builds (#618) (c2d5a66)
- implement on-demand channels (#613) (13fe504), closes #612
- support setting opacity on channel watermarks (#621) (9480aa2), closes #615
- web: display channel duration and program count on channels page (#617) (7564a4b)
- default disableChannelOverlay to false (df8192b)
- define platforms for docker edge build workflow (a1ad921)
- double star for tag event? (2d0fce1)
- properly save filler list / channel associations (#610) (017eca5)
- single edge build failure should not affect other builds (d8840ac)
- tag matching in docker release; remove quote and semver specific (0c45071)
- Use inputted name for new filler lists (38f76d1)
- workaround for macOS binary release (#608) (8b8f6f8)