{
  "name": "EduAlexxis Apps",
  "identifier": "com.edualexxis.repo",
  "subtitle": "Apps by EduAlexxis.",
  "description": "Official repository for ByeTunes and other custom iOS utilities developed by EduAlexxis. Say goodbye to iTunes sync and manage your music library directly on your iOS device.",
  "iconURL": "https://avatars.githubusercontent.com/u/64240653?v=4",
  "tintColor": "#7f7f7f",
  "apps": [
    {
      "name": "ByeTunes",
      "bundleIdentifier": "com.EduAlexxis.MusicManager",
      "developerName": "EduAlexxis",
      "subtitle": "Say goodbye to iTunes sync!",
      "localizedDescription": "ByeTunes is a native iOS app that lets you inject music (MP3, M4A, FLAC, WAV) and ringtones directly into your device's media library—without needing a computer connection for every sync. It communicates directly with the iOS media database, giving you the power to manage your music on your terms.",
      "iconURL": "https://i.imgur.com/Vtq089p.png",
      "tintColor": "#7f7f7f",
      "screenshots": [],
      "versions": [
        {
          "version": "2.5",
          "date": "2026-08-31T00:38:38Z",
          "size": 16815108,
          "downloadURL": "https://github.com/EduAlexxis/ByeTunes/releases/download/v2.5/ByeTunes.ipa",
          "localizedDescription": "Hi guys, here's the 2.5 update for ByeTunes. This one adds full Deezer support and real parallel downloads for way faster queues, plus a brand new Smart Playlists feature with custom cover art. On top of that, a bunch of reliability fixes across downloads, backups, and repair tools — including a crash fix for the download queue.\n\n**Quick recommendation:** for the best speed and match accuracy while searching, set Deezer as your Search Provider. And to keep full Apple Music compatibility (animated artwork, richer info), keep Apple Music as your Metadata Source.\n\n**Deezer — full provider support**\n\n- Deezer is now a full first-class search source alongside Apple Music/iTunes, with its own tab (\"Search or paste a Deezer link\")\n- Paste a Deezer track/album/artist/playlist link and it resolves directly — same one-tap flow Apple Music/Spotify links already had\n- Deezer artist pages now show real top tracks + full discography (up to 100 each), not just a flat track list\n- Deezer search results paginate (\"load more\"), merged into the same song/album results as other providers\n- \"Find on Deezer\" added alongside \"Find on Spotify\" as an in-app browser shortcut for failed downloads\n\n**Download Engine — real concurrency & speed**\n\n- Downloads used to run one at a time through a single sequential task; now use a real worker-pool so multiple tracks download in parallel\n- Concurrency is format-aware: 3 simultaneous downloads for lossy formats, capped to 2 for lossless (FLAC/ALAC), since lossless generation is much more expensive on the backend\n- Added a start-pacer that spaces out when new downloads begin (wider gap for lossless) on top of the concurrency cap — bursts of simultaneous requests were triggering backend 429/500 errors even within the concurrency limit\n- Fixed the download engine getting silently recreated from scratch whenever the Download tab's view was torn down (older iOS layout) — was orphaning in-flight downloads and losing queue state; now backed by a shared instance that survives it\n- Aggregate download speed now tracked and shown live across all active downloads\n\n**Background Downloads**\n\n- Fixed isAppActive defaulting to true on a silent background relaunch, which routed transfers through the short-lived foreground path instead of the durable background session (caused FLAC→MP3 downgrades and stalls)\n- Fixed the candidate fallback loop not checking cancellation, which let a cancelled foreground download silently complete via the MP3 fallback instead of aborting\n- Completed-but-unclaimed background download results now persist to disk so a killed/relaunched app recovers them instead of re-downloading\n- Finished tracks now persist their own .done state so a relaunch mid-queue doesn't drop them from Queue Details\n- Added a genuine background-processing task (registered at launch) so metadata fetching can run even when the app isn't open, instead of only opportunistically while active\n- Each backend candidate now uses its own requested format for its file-extension fallback instead of a hardcoded \"flac\" default\n- Plain-language failure messages in the download queue instead of raw HTTP/backend error bodies\n- Fixed link.deezer.com short links not resolving\n- Fixed a crash: removing a failed download could resurrect it (and crash on the second removal) because a stray background-session completion callback fired after removal and wrote the state back. Removal now properly cancels the underlying background task too.\n\n**Smart Playlists**\n\n- Create playlists by rule: Genre, Artist, Decade, Format, or Explicit Rating\n- Multi-select across all rule types with combined naming (e.g. \"Rock, Pop\" or \"1990s, 2000s\")\n- Live match counts, search within Genre/Artist lists, lossless-format badges\n- Artist grouping splits collab credits (\"A & B\") into separate artists, matching the on-device Artists tab\n- \"Refresh Smart Playlist\" — remembers its rule and can re-sync to catch newly matching songs\n\n**Playlists**\n\n- New naming screen matches Apple Music: photo picker, large title field, X/checkmark controls — used for manual and smart playlist creation alike\n- Custom playlist cover photos: pick a photo, it's auto-cropped to a square and uploaded using the same on-device artwork system Apple Music itself uses; persists across relaunch\n- In-playlist rename\n- Playlist restore now lists which specific tracks failed to match instead of just a count\n\n**On-Device Library**\n\n- Select/Select All controls pinned so they stay visible while scrolling\n- Select/Select All/Add to Playlist/Add to Album/Export restricted to the Songs tab; Playlists tab gets Select/Select All/Export/Delete\n- Removed redundant header title/count and Export Folder picker from non-Songs tabs\n- Audio Quality Analysis (new): tapping a song shows a verdict flagging mislabeled files (e.g. an MP3 renamed .flac), suspiciously over-compressed \"lossless\" files, and low-bitrate lossy files\n- On-device album metadata editing\n- In-place device audio file replacement\n- Content Rating redesigned from a cramped segmented control to a compact menu row, with a new \"No Rating\" option\n- Fixed the explicit/clean rating editor: a binary toggle could only ever write explicit/none, silently flipping \"clean\" tracks to explicit\n\n**Reliability Fixes**\n\n- Injection failures no longer silently drop songs from the queue — unconfirmed songs are put back\n- Repair operations (artwork fix, database doctor, alphabetical order) use per-operation cancellation tokens instead of one shared flag, so cancelling one can no longer kill an unrelated one\n- Background metadata fetch no longer double-imports a song if the process is killed mid-drain\n- Artwork upload failures during metadata edits are now reported instead of silently swallowed\n- A failed database integrity check now aborts the library merge instead of writing on top of a known-corrupt database\n- Fixed the large-batch injection safeguard checking the wrong count\n- Fixed byetunes://download deep links opening the wrong tab on iOS 16–18\n- Fixed a Live Activity race that could resurrect it right after ending; orphaned Live Activities from a killed session now clean up on cold launch\n- Removed dead Tidal/Qobuz code and a broken last-resort Spotify mapping fallback\n\n**Backup & Restore**\n\n- Merged Light/Full Backup toggle and \"Export Full Library\" into two direct-action rows; Full Backup always bundles per-playlist files\n\n**Settings**\n\n- Store Region picker upgraded from a simple inline row to a full searchable, alphabetically-grouped screen with flags\n- About/Credits moved to its own section, separate from actionable controls\n- Added \"Keep Local Metadata\" to skip the fetch pipeline for imported local files\n"
        },
        {
          "version": "2.4",
          "date": "2026-07-05T19:30:07Z",
          "size": 16420765,
          "downloadURL": "https://github.com/EduAlexxis/ByeTunes/releases/download/v2.4/ByeTunes.ipa",
          "localizedDescription": "Hi guys, here is the 2.4 update for ByeTunes. This one is focused a lot on making downloads, backups, playlists and repair tools way more reliable and easier to use.\n\nDownloads can now keep going in the background. If you turn on background downloads in Settings, ByeTunes can continue an active download after you leave the app or lock your phone instead of making you babysit the download screen.\n\nThere is also Live Activity support now. When background downloads are enabled you can turn on Live Activity Progress and see the current download progress on the Lock Screen and Dynamic Island.\n\nMetadata fetching for downloaded songs was improved too. ByeTunes can now keep track of downloaded files that still need metadata and finish that work in the background, so songs downloaded from the Download tab should still get cleaned up and enriched even if you do not manually open the Music tab right away.\n\n**Small disclaimer for background downloads:**\nBecause of how iOS handles background tasks, ByeTunes may sometimes disappear from the screen or be suspended/terminated by iOS while background downloads are turned on. This does not always mean the download stopped. In most cases, the background download session can keep running and ByeTunes will recover the download state when the app is opened again.\n\nIf you manually force close the app from the app switcher, iOS may stop background activity until you open ByeTunes again.\n\nOpus support was added too. ByeTunes can now detect and handle Opus downloads properly instead of treating them like an unknown audio file type, so downloads that come back as Opus should be saved and processed with the right extension.\n\nThe download queue is more persistent now. If the app closes or gets interrupted, ByeTunes saves the active queue, failed items, progress state and pending metadata work so it can recover better next time. Failed Apple Music downloads also give a clearer message now, and there is a helper to find the song on Spotify when Apple Music cannot be used for that track.\n\nI also cleaned up the Download tab search bar. You can now use the same bar to search or paste an Apple Music, Spotify or Deezer link instead of having to think so much about where the link came from.\n\nBackup and Restore got a big rework. There is now a dedicated Backup & Restore section with a cleaner Manage Backups screen. You can still do light database backups or full backups with song files.\n\nPlaylist backup and restore was added too. You can back up playlists using a 3mu file on your device, then restore them later, or even share them with your friends. ByeTunes tries to match the songs already on the device when restoring, so playlists can be recreated without needing to re-inject every song again.\n\nThe On-Device Library browser got a lot better. You can now browse songs, artists, albums and playlists, manage playlists from inside ByeTunes, add songs to playlists, remove songs from playlists, rename/delete playlists and export songs with a saved export folder.\n\nThe repair tools were moved into a proper Library Repair area. Clean & Repair Library is now separated from Backup & Restore, and there are clearer tools for fixing ghost songs, broken alphabetical ordering, artwork issues and album artwork refreshes.\n\nThere were also a bunch of smaller fixes and cleanups around metadata, backups, device library browsing, download recovery, queue handling and settings organization.\n\nThanks as always to everyone testing ByeTunes, sending logs and reporting what breaks. Hope you guys enjoy this update.\n"
        },
        {
          "version": "2.3",
          "date": "2026-06-15T23:30:00Z",
          "size": 14600000,
          "downloadURL": "https://github.com/EduAlexxis/ByeTunes/releases/download/v2.3/ByeTunes-HotFIx.ipa",
          "localizedDescription": "Say hello to ByeTunes 2.3! This update introduces a Support section in Settings including a Buy Me a Coffee link, a Supporters list loaded dynamically from GitHub with caching and loading fixes, and dynamic API configuration security updates."
        },
        {
          "version": "2.2",
          "date": "2026-04-28T02:50:20Z",
          "size": 14546965,
          "downloadURL": "https://github.com/EduAlexxis/ByeTunes/releases/download/V2.2/ByeTunes.ipa",
          "localizedDescription": "Hi Guys, I'm glad to introduce you guys the 2.2 update of ByeTunes which has a lot of new features, fixes and improvements.\n\nThis version adds support for dolby atmos files, keep in mind the badge inside the music app will not be displayed but if you go to your control center and see the audio volume slider you can see when a dolby atmos song is being played.\n\nImprovement on FLAC format files handling, I have improved how the import logic was parsing files information as sometimes files were being imported using its own UDID instead of the right name/artist or album.\n\nYou can now browse by album and by artist instead of just searching track by track. There is also a provider picker so you can switch between Apple Music, Tidal, or iTunes and Deezer.\n\nI have also added a preview play button next to the download button of each song so you.can listen to a preview before you download the song.\n\nThere is a new settings screen just for the Downloader, Metadata source, lyrics preferences, store region, and a few other options that were buried before are all in one place now.\n\nFixed a heartbeat issue that could cause stale reconnect loops to stack up after disconnecting and reconnecting the device. Fixed a lyrics database insert that was failing silently on certain iOS versions and Cleaned up the log viewer so now it only shows what actually matters.\n"
        },
        {
          "version": "2.1",
          "date": "2026-04-08T04:01:25Z",
          "size": 14003838,
          "downloadURL": "https://github.com/EduAlexxis/ByeTunes/releases/download/V2.1/ByeTunes.ipa",
          "localizedDescription": "Hi Guys this update is mainly focused on iOS 26.4 support and its new rppairing.\n\n**Big disclaimer for iOS 26.4 and newer:\nInjection is still slower than it was on older iOS versions.\nThat is because Apple now requires the new RP Pairing method for this path, and RP Pairing goes through a heavier tunnel/RSD/AFC route than the old regular pairing file method. I tried to reduce extra reconnects pings where I could, but the new Apple-required method is still slower by nature.**\n\nIf you are on iOS 26.4 or newer, the app will ask you to import an RP Pairing File.\nThat popup will stay there until you import the correct file.\n\nThe app also validates pairing files now.\nSo if somebody imports the wrong file, ByeTunes should reject it instead of accepting it and crashing later.\n\niOS 26.4 changed how Apple Music displays artwork and background colors.\nBecause of that, older injected songs could show artwork in some places but still have a gray background or missing display artwork in the newer Apple Music views.\n\nThis update adds the new iOS 26.4+ artwork database support.\nInjected songs on iOS 26.4 and newer now get the new artwork rows they need.\niOS 26.3.x and lower keep the older database behavior, so they do not get the new iOS 26.4-only changes.\n\nApple Music artwork colors are now used too.\nWhen ByeTunes fetches Apple Music metadata, it now reads the artwork color data Apple provides and uses that for the new iOS 26.4 background colors.\nIf Apple does not provide colors, ByeTunes falls back to local artwork color sampling.\n\nAdded Fix Artwork in Settings.\nThis is only visible on iOS 26.4 and newer.\nIt is meant for songs you injected before updating to iOS 26.4.\n\nFix Artwork will try to repair the artwork and colors for those older injected songs.\nInternet is required because it fetches the colors from Apple Music.\n\nThere is now a Full Backup option in Settings.\n\nIf Full Backup is off:\nByeTunes makes the smaller database-only backup like before, this is mainly for people who only uses ByeTunes as their music manager.\n\nIf Full Backup is on:\nByeTunes saves a full local copy of the database and media files.\nThis is useful if a PC sync or external sync deletes the songs from the device, because a database-only backup cannot restore files that are gone.\n\nBackup and restore now show proper progress popups.\nSo instead of just seeing a spinner, you can see what step ByeTunes is working on.\n\nAdded an update checker.\nByeTunes now checks the GitHub releases page when opening the app.\nIf a newer version is available, it shows a popup with a link to download the latest release.\n\nYou can also tap the Version row in Settings to check for updates manually.\n\nAdded a downloader server chooser in Settings.\nYou can now choose:\n\nAuto\nYoinkify\nHiFi One\nHiFi Two\n\nAuto keeps the normal fallback behavior.\nChoosing one server forces that backend.\n\nByeTunes now supports more lyrics sources:\n\nLRCLIB\nMusixmatch\nNetEase\n\nThe manual lyrics search now lets you choose the lyrics service.\nAutomatic lyrics fetching also uses a fallback chain between services.\n\nAdded support for choosing a custom downloaded songs folder.\nIf you keep downloaded songs locally, ByeTunes can now use a saved folder bookmark instead of always using the default app folder.\n\nImproved logs.\nYou can now copy logs from the log viewer.\nExported logs now use a stable Logs/MusicManager_Logs.txt file instead of making a new timestamped file every time.\n\nImproved duplicate review UI.\nThe duplicate review screen should be clearer now when choosing which detected duplicates to keep or skip.\n\nThanks again to everybody testing ByeTunes, sending logs, databases and feedback.\nThis update touches a lot of sensitive iOS 26.4 stuff, so that testing helped a lot.\n\nHope you guys enjoy this update.\n"
        },
        {
          "version": "2.0",
          "date": "2026-03-16T00:51:23Z",
          "size": 12763223,
          "downloadURL": "https://github.com/EduAlexxis/ByeTunes/releases/download/V2.0/ByeTunes-DownloadsHotfix.ipa",
          "localizedDescription": "This is a really big update and i wanna say probably the biggest one for ByeTunes.\nA lot of things got added, improved and fixed in this version.\n\nMain thing to know first:\n\nRingtone injection for iOS 18 and lower is disabled for now.\nI tried hard to make it work properly with all the logs, databases and files some of you sent me, but at this point I really need an iOS 18 or lower device on my hands to fully debug it correctly.\nThanks to everybody who helped by sending logs and testing.\n\nNow for the good news.\n\nAdded a new in-app FLAC downloader tab.\nYou can now download songs straight from within ByeTunes without needing to leave the app.\n\nWith the new downloader you can:\n\nDownload individual songs\nQueue multiple songs\nDownload full albums\nChoose only specific songs from an album instead of downloading the whole thing\nDownloaded songs now go through Apple Music metadata fetching automatically, so songs added from the downloader should already come with much better metadata.\n\nAdded a new setting to keep downloaded songs locally.\nIf enabled, downloaded songs will also be saved inside the app folder.\nIf disabled, they are only used for injection and cleaned up later.\n\nImproved metadata fetching a lot.\nMetadata fetching from Apple Music is now much better and fills way more song fields correctly.\n\nThis includes better support for:\n\n- Full screen artwork\n- Animated artwork compatibility\n- Copyright info\n- Label/company\n- Disc numbers\n- Track numbers\n- Better album/song level metadata overall\n- Added automatic Music app killing before injection.\n- When injecting songs, ByeTunes now kills the Music app process first to reduce database corruption and random crashes as much as possible.\n- This was tested many times and made injection way more reliable.\n\nRemoved the ringtone tab on iOS 26.\nIt is not needed there anymore because iOS 26 already introduced native ringtone management.\n\nFixed song sorting.\nSongs now sort way better by song name and artist.\nVery big batch injections can still leave 1 or 2 songs a little out of place sometimes, but re-injecting those usually fixes it.\n\nFixed artwork getting overridden by other songs.\nThis was a major annoying bug and it should now be properly fixed.\n\nImproved big batch importing and injecting.\nLarge libraries are handled much better now, and importing/injecting big amounts of songs is way more stable than before.\n\nAdded snapshot backup/restore in settings.\nEven though database corruption is much less likely now, it is always better to have a safety option.\nYou can create a snapshot/backup and restore it later if something goes wrong.\n\nLast but not least I have added different devices/regions databases support. Turns out devices in different regions handle databases differently so now it should work regardless. \n\nThanks again to everybody helping test ByeTunes and sending logs, files and feedback.\nHope you guys enjoy this update.\n"
        },
        {
          "version": "1.0.2",
          "date": "2026-02-28T16:00:00-05:00",
          "size": 12000000,
          "downloadURL": "https://github.com/EduAlexxis/ByeTunes/releases/download/v1.0.2/ByeTunes.ipa"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    }
  ],
  "news": []
}
