Releases: sonroyaalmerol/m3u-stream-merger-proxy
0.21.1
Notable Changes
🛠️ Hotfix: syncing process not starting when CACHE_ON_SYNC
is not set to true. This env var should not be a valid option anymore as the syncing process will not work otherwise. It is now removed from the env var list.
What's Changed
- remove CACHE_ON_SYNC from existence by @sonroyaalmerol in #249
Full Changelog: 0.21.0...0.21.1
0.21.0
Notable Changes
🛠️ Fix OOM (out of memory) errors on large M3U sources
🛠️ Improve compatibility with VODs and .m3u8
segmented streams
🛠️ Ensure all streams are proxied, including segmented streams, to improve compatibility with Gluetun
What's Changed
- Significantly decrease mem usage of M3U parsing process by relying on the filesystem by @sonroyaalmerol in #243
- "Convert" .m3u8 HLS segmented streams to direct media streams by processing them as one stream by @sonroyaalmerol in #224
Full Changelog: 0.20.2...0.21.0
0.20.2
Notable Changes
🛠️ Another hotfix release :)
🛠️ Fix proxy responding an empty M3U when initialization is not yet finished
🛠️ Credentials expiration should now follow the timezone set in the container
What's Changed
- wait for initial m3u generation before responding by @sonroyaalmerol in #238
- ensure creds expires on local TZ by @sonroyaalmerol in #239
- set stale logs to debug by @sonroyaalmerol in #240
Full Changelog: 0.20.1...0.20.2
0.20.1
Notable Changes
🛠️ Hotfix for proxy breaking when switching back to a previously viewed channel within a small timeframe.
What's Changed
- ensure each requests refer to different coordinators for different request URLs by @sonroyaalmerol in #237
Full Changelog: 0.20.0...0.20.1
0.20.0
Notable Changes
🛠️ Source M3U processing has been reworked to start as soon as the download starts and optimize CPU usage.
🛠️ Fix buffer crashing the program randomly (or at least one of the triggers)
🛠️ Other minor fixes :)
What's Changed
- add tests to store funcs + add source-based sorting + coordinator URL validation by @sonroyaalmerol in #228
- Completely rewrite source processing logic by doing all steps asynchronously by @sonroyaalmerol in #230
- add a fast copy alternative if volume mounted with different filesystems by @sonroyaalmerol in #233
- Ensure chunks are reset and remove buffer swapping mechanism by @sonroyaalmerol in #234
- merge attributes if existing one is empty by @sonroyaalmerol in #235
- ensure latest attributes are used during m3u finalization by @sonroyaalmerol in #236
Full Changelog: 0.19.0...0.20.0
0.19.0
Warning
This version works very differently compared to its predecessors. I've tried to lessen the risks of breaking any existing features but anything can happen. Feel free to create a new issue and use the previous version until it gets fixed.
Notable Changes
🛠️ Shared buffer (only for non-segmented streams, for now [#224]) - This means only one connection to the provider will be used up for multiple clients watching the same stream/channel. Please read up details on BUFFER_CHUNK_NUM
if you're having any performance issues with the defaults.
🛠️ Basic playlist authentication
🛠️ Add SORTING_DIRECTION
What's Changed
- prSort by @kpirnie in #210
- Major refactoring for easier tests by @sonroyaalmerol in #218
- Dockerfile and Readme Corrections by @kpirnie in #221
- feat(output): support auth by @TgSeed in #213
- docs: add TgSeed as a contributor for code by @allcontributors in #222
- docs: add kpirnie as a contributor for doc by @allcontributors in #223
- Implement shared buffer for multiple clients per stream ID by @sonroyaalmerol in #220
New Contributors
Full Changelog: 0.18.1...0.19.0
0.18.1
What's Changed
- Fix err panic on runtime while proxying stream by @sonroyaalmerol in #206
Full Changelog: 0.18.0...0.18.1
0.18.0
Notable Changes
🛠️ Add support for stream duplicates within a single M3U.
Notes
- The
M3U_MAX_CONCURRENCY_X
value will still apply globally per M3U despite having duplicate streams in a single M3U. For example, if max concurrency for M3U_1 is set to 1, it will not use any of the other duplicates within M3U_1 after 1 connection. - Updating to this version will require a sync due to a format change.
What's Changed
- Add subindex for inter-m3u duplicates by @sonroyaalmerol in #203
Full Changelog: 0.17.0...0.18.0
0.17.0
Notable Changes
🛠️ Support clients initiating reconnects on Content-Type mismatch when failing over from one stream to another
What's Changed
- Use manual elapsed timer instead of timer channels by @sonroyaalmerol in #199
- Bump github.com/goccy/go-json from 0.10.3 to 0.10.4 by @dependabot in #200
- Add a memory session to retain tested indexes across requests by @sonroyaalmerol in #202
Full Changelog: 0.16.2...0.17.0
0.16.2
What's Changed
- Fix orphaned goroutines on client disconnects by @sonroyaalmerol in #198
Full Changelog: 0.16.1...0.16.2