Skip to content

Releases: andrei-savin/m3u4me

v2.4.3

Choose a tag to compare

@andrei-savin andrei-savin released this 11 Oct 12:02

What's new

  • Custom user-agents: some providers only work with certain IPTV apps. When adding or editing a playlist link or Xtream Codes source, open User agent (optional) and pick TiviMate, VLC, Kodi, Firefox, Chrome or Safari, or type your own. Leave it alone and the source downloads the same way as before.

Improvements

  • Better error messages for sources: open the failed source and it tells you in plain words what went wrong and what to try. The message stays until a download works. If the source still has channels from an earlier download, you keep seeing them.
  • A playlist link that sends back a web page or an empty answer now counts as a failed download, so the source keeps its channels instead of being emptied.

v2.4.2

Choose a tag to compare

@andrei-savin andrei-savin released this 11 Oct 11:18

What's new

  • Printable channel list: turn any playlist into a neat A4 PDF of its channels, with each channel's number, logo and name, and whether it has a TV guide. Look for the PDF button in the playlist's toolbar. Hidden channels are left out, and channels are numbered in the same order your IPTV player shows them.

Improvements

  • The app now uses your device's system font everywhere, and no longer downloads a font from Google when it opens.

v2.4.1

Choose a tag to compare

@andrei-savin andrei-savin released this 10 Oct 21:30

What's new

  • Hide a whole category in one click: each category in the sidebar now has an eye button that hides or shows all of its channels at once, so you can leave a whole category out of your playlist without touching every channel. Changed your mind? Undo puts every channel back exactly as it was, including ones you had hidden by hand.

Improvements

  • Channel counts for playlists: each playlist in the sidebar now shows how many channels it has. The count that used to sit at the top of the channel list moved there.

v2.4.0

Choose a tag to compare

@andrei-savin andrei-savin released this 09 Oct 10:28

What's new

  • Guided first-time setup: the first time you open m3u4me, a short setup walks you through it. Pick your accent colour and light or dark mode, add your channel sources and TV guide (or skip), optionally protect m3u4me with a password, and name your first playlist. At the end you get the link to put in your TV app.
  • One-click TV guide for Xtream Codes: after you add an Xtream Codes source during setup, m3u4me offers to use the same login for the TV guide, so you don't type it twice.
  • Backup & restore: Settings has a new Backup section. Download everything (playlists, sources, TV guides and settings) as one file, and restore it whenever you need to. Restoring keeps a copy of the replaced data in m3u4me's data folder, just in case. Backups contain your providers' logins, so keep them private. Your m3u4me password is never included.
  • Moving to a new server: install m3u4me on the new server and choose Restore a backup on the welcome screen. Coming from a version older than this one? Use the db.json file from the old server's data folder as your backup (/opt/m3u4me/data for the one-line install, or the data folder inside the m3u4me folder for Docker and PM2).

Fixes

  • No more lock screen right after setting a password: turning a password on in Settings used to send you to the lock screen on your very next click.
  • Version and update banner work with a password set: password-protected installs showed "Couldn't determine app version" in Settings and never got the update banner.
  • Deleted sources leave nothing behind: a source deleted while it was still loading could leave its channels or TV guide data behind.

Already using m3u4me? Updating won't show you the setup, and all your data stays as it is.

v2.3.2

Choose a tag to compare

@andrei-savin andrei-savin released this 07 Oct 22:36

What's changed

  • Search the EPG from an empty TVG-ID slot: in My Playlists, clicking an empty TVG-ID slot and typing now shows a small list of matching EPG channels to pick from. The search was already running, but its results were hidden.
  • Picking a channel saves the right TVG-ID: choosing a channel from that list (with the mouse, or ↑/↓ and Enter) now saves the channel's TVG-ID instead of the text you had typed.
  • Searches ignore accents: the EPG view, the TVG-ID search, the Sources tab, Link to Source and global search (Cmd/Ctrl+K) now treat Ș, Ț, Ă, Â and Î like S, T, A and I. Typing "stiri" finds "Știri" and "tara" finds "Țara". Typing the accented letters still works too.

v2.3.1

Choose a tag to compare

@andrei-savin andrei-savin released this 07 Oct 22:32

What's changed

  • Saving is now power-cut safe: a power cut, crash, restart or full disk while m3u4me is saving can no longer wipe your data. Saves go to a temporary file that only replaces data/db.json once it's completely written, so the previous version is always left intact.
  • Damaged database files are kept, not overwritten: if data/db.json is ever found damaged (for example by a power cut while an older version was saving it), m3u4me no longer starts empty and then overwrites it. The damaged file is kept, unchanged, as data/db.json.corrupt-<date and time>, and the logs explain how to restore it. If db.json can't be read at all (wrong permissions, a failing disk), m3u4me now shows an error and changes nothing.
  • Password protection can't switch itself off: if the password file (data/auth.json) is damaged, m3u4me now stays locked and the lock screen explains how to get back in, instead of silently turning password protection off. The password file is saved the same safe way as the database.

v2.3.0

Choose a tag to compare

@andrei-savin andrei-savin released this 07 Oct 22:11

What's changed

  • Channel sync: when adding channels from an Xtream Codes or playlist URL source, turn on "Keep in sync with source" and m3u4me follows the provider's changes to the stream link, name, logo and TVG ID. Choose what syncs per selection (default or custom), and set your defaults in the new Channel Sync section of Settings.
  • Your edits are respected: if you changed a field yourself, the provider's update waits as a suggestion you can accept or skip, instead of overwriting your change.
  • Lost channels: channels that disappear from their source are hidden and marked "Source lost" after two refreshes in a row, and come back on their own if the provider restores them. If a large part of a source vanishes in one go, nothing is hidden until the next refresh confirms it.
  • Sync log: every playlist has a log of what changed, with a badge for new entries. The homescreen shows a "Sync updates waiting" card when suggestions are waiting for you.
  • Link to source: channels already in a playlist can be linked too, with suggestions for likely matches and a choice per field of keeping your value or taking the source's.
  • Sources shows a link icon on channels that are kept in sync, and deleting a source warns how many channels will stop syncing.
  • Source refreshes now retry automatically when a provider's server briefly answers with a 502/503/504 error, instead of showing "Refresh failed" straight away.
  • Undoing a delete (channel, category or playlist) now brings hidden channels back hidden, instead of making them visible in your players.

v2.2.0

Choose a tag to compare

@andrei-savin andrei-savin released this 14 Sep 13:20

What's changed

  • One-line installer for Linux: curl -fsSL https://raw.githubusercontent.com/andrei-savin/m3u4me/main/install.sh | sudo bash sets up m3u4me as a systemd service on Debian, Ubuntu, Fedora, and similar — installing Node.js if it's missing, building the app, and starting it automatically on boot. Includes a new m3u4me command for update, status, logs, restart, and uninstall.
  • Docker support: a Dockerfile and docker-compose.yml are now included, so docker compose up -d is all it takes.
  • EPG programmes that use <sub-title> instead of <desc> now show that text in the guide and exported XMLTV, instead of it being dropped.
  • Login, password, and recovery-key errors now say what actually went wrong (e.g. "check that m3u4me can write to its data folder") instead of a generic "Internal error" or "Connection error".
  • Copying the recovery key now works when m3u4me is opened over plain http:// on the local network, where the browser's clipboard API isn't available.
  • Cmd/Ctrl+Z while typing in a field (e.g. a password) no longer triggers an unrelated undo.
  • The Settings page now shows a notification if a save fails there, instead of failing silently.
  • Playlist channel rows show a brief "saving" indicator while an edit is being saved, instead of appearing to hang.

v2.1.0

Choose a tag to compare

@andrei-savin andrei-savin released this 08 Sep 17:29

What's changed

  • New homescreen: Opening the app now takes you to an overview page instead of straight into My Playlists. See your playlist/source/EPG counts and total channels at a glance, when a playlist was last downloaded, and the newest channels found across your sources.
  • Quick playlist downloads: A new card on the homescreen lets you copy or download any of your playlists' M3U links without opening the Playlists tab.
  • Search and shortcuts from anywhere: Search (Cmd/Ctrl+K) and Keyboard Shortcuts are now available from the homescreen too, not just inside My Playlists/Sources/EPG.
  • Clicking the logo anywhere in the app now takes you back to the homescreen.

v2.0.1

Choose a tag to compare

@andrei-savin andrei-savin released this 05 Sep 20:31

What's changed

  • My Playlists, Sources, EPG, and Settings now each have their own URL (/playlists, /sources, /epg, /settings) instead of the whole app living behind one single link. Pages are bookmarkable, survive a reload, and work correctly with the browser's back/forward buttons.
  • Visiting an unknown URL now redirects to My Playlists instead of showing a blank page.