Skip to content

Releases: winters27/octo

Octo 2026.10.22.1

Choose a tag to compare

@winters27 winters27 released this 22 Oct 05:21

Octo 2026.10.22.1

Downloads you can trust (#111)

  • Silence no longer passes for the song. The check that compares a download with its YouTube preview now skips stretches of silence, a held tone or hum. Before, a wrong file and the preview could both have a quiet gap and be called a match. Thanks to @Dedeham for #111.
  • A right file that opens on a long quiet or held note isn't turned away when the preview opens the same way. It goes to Review as before.
  • Songs built on one repeating loop, like skits over a single sample, are still compared normally.

Previews

  • The yt-dlp shim now ships with the newest yt-dlp (2026.10.21). Earlier images kept an older copy from the build cache. Every later build takes the newest one too.

Updating

Press About → Update now as usual. Nothing to change on your side.

Without the update helper, from the Octo folder:

git fetch --tags && git checkout --detach 2026.10.22.1
docker compose pull octo yt-dlp-shim octo-sonic
docker compose up -d

The Octo apps: Octo for Android 1.10.0 · Octo for Windows and Linux 1.10.0 · Octo's F-Droid repository

Octo 2026.10.22

Choose a tag to compare

@winters27 winters27 released this 22 Oct 03:41

Octo 2026.10.22

Long previews start on every player (#108)

  • Outside songs over about ten minutes start on AVPlayer apps like NaviBeat, Arpeggi and play:Sub. YouTube sends a big piece of a song slowly, so Octo now asks for it in smaller pieces that come at full speed. Seeking is quicker too.
  • Players that read a song in many small pieces get them from a local copy of the preview. It's the same file, kept for a day, with up to 2 GB of copies.
  • In Octo's apps, a hearted song that has downloaded plays your file, even with Get upcoming songs ahead off. Other apps keep the preview for a song already in their queue, because some players refuse a song whose file type changes. Play it from your library to get the file there.

Keep playlists ready (#101)

  • Picked playlists start right away in any app, Arpeggi included. On the new Keep playlists ready card under Hearts & downloads → Get upcoming songs ahead, pick the playlists to keep ready for each person. Family members can pick their own on their Family page.
  • Also the playlists played most: each person's three most-played playlists are kept ready too, learned from what they play in any app.
  • Every song's preview is kept, and the first few download as FLAC. Previews are kept even while nothing plays. The FLAC downloads follow Pause when nothing plays, and kept songs count toward the space you set.
  • It needs Get upcoming songs ahead turned on.

Listening

  • Players that don't name their platform now show the right one, like Amperfy, play:Sub and DSub. Mac apps count as Mac, not iPhone. Thanks to @Dedeham, whose Monitoring page (#107) had the idea.
  • A 1 year range when you keep that much history.

Fixes

  • One walk of an album at a time. Two hearts on the same album no longer download it twice side by side. Thanks to @VioletTides for #106.
  • A hearted album no longer skips a track that was being downloaded ahead at the same time.
  • Previews keep working with the newest yt-dlp. yt-dlp 2026.10.21 gets YouTube links that only play a few seconds after they're made, and an older Octo fetched them too early. Octo now asks YouTube as the visionos player, whose links play at once, and waits when a link isn't ready yet. To use yt-dlp's own choice instead, set YTDLP_PLAYER_CLIENT= (blank) in .env.

Updating

Press About → Update now as usual. Nothing to change on your side. Keep playlists ready works once Get upcoming songs ahead is on.

Without the update helper, from the Octo folder:

git fetch --tags && git checkout --detach 2026.10.22
docker compose pull octo yt-dlp-shim octo-sonic
docker compose up -d

The Octo apps: Octo for Android 1.10.0 · Octo for Windows and Linux 1.10.0 · Octo's F-Droid repository

Octo 2026.10.21

Choose a tag to compare

@winters27 winters27 released this 21 Oct 20:56

Octo 2026.10.21

Listening

  • A Listening page on the dashboard (#102). Hours listened, plays, songs and artists, with the change since the last stretch. A chart of each day, a week grid of when you listen, top artists and songs with their covers, genres, highlights (longest session, best streak, songs hearted while playing), and which apps and devices the music played on. See everyone, or open one person.
  • Each family member sees their own on their Family page, and the family's managers can see everyone's.
  • Plays are timed from when they start to when the next one starts, so a skip counts as a skip. Plays from your existing radio history are copied in once, so the page has your past weeks on the first day.
  • Record listening and Keep plays for are on the page, with Clear history. Set TZ (for example TZ=America/Los_Angeles) so the week grid and streaks follow your days.

Get upcoming songs ahead (#101, #103)

  • The next songs of what you're playing download as FLAC before they start. Octo follows your real play queue, skips songs you already have, and puts hearts first: downloads ahead only use a download slot that hearts aren't waiting for.
  • Heart a song that was downloaded ahead and it's kept at once, with no second download. Everything else is deleted after the days you choose, and the cache stays under the size you set.
  • Keep your mixes ready, so shuffle starts on FLAC.
  • A song that isn't ready yet plays its preview as today, and a song never switches source partway through. Octo's apps play the ready FLAC. Other apps need Wait for lossless on play.
  • Off by default: turn it on in Hearts & downloads → Get upcoming songs ahead, with radio only or everything, how many songs ahead, how many at once, the cache size and how long songs are kept.

Downloads you can trust (#101)

  • A song AcoustID has never heard is compared with its YouTube preview. A file that clearly doesn't sound like the song, like the water noises someone got for a well-known track, is refused and the next source is tried. Anything unclear goes to Review as before.

Your own SpotiFLAC (#96)

  • SpotiFLAC as a download source. Run your own SpotiFLAC in web mode and fill in its address and token on the new SpotiFLAC page under Hearts & downloads. Ask it before or after Soulseek, or before Soulseek only for songs with Asian titles. Octo includes no SpotiFLAC and no extensions, and checks what it downloads like any other download.

Imports (#105)

  • Stream without downloading. Turn it on for an imported list and it shows as a private, read-only playlist in your apps: songs you have play from your library, the rest play as previews, and a heart keeps a song. Lists that keep a playlist or get missing songs still follow their link for new songs. Thanks to @rt-tom for #105.

Fixes

  • A hearted album files every track under that one album (#97), with one set of album tags.
  • Lyrics keep looking when LRCLIB is busy (#98): a short wait, then the search.
  • Outside songs, albums and artists show their covers in Navidrome's own web UI (#99).
  • The octopus on outside covers can be turned off (#95): COVER_BADGE=false, or the switch under Music server → Search and discovery. It marks songs not in your library yet, which a heart downloads.
  • An artist with no photo shows no photo, instead of Deezer's gray stand-in.

Apps

Octo for Android 1.10.0 and Octo for Windows and Linux 1.10.0 come out alongside this release: Android Auto opens again (#104), the desktop app's memory stays flat in long sessions, and search puts your library first with the online matches right after.

Updating

Press About → Update now as usual. Nothing to change on your side. Get upcoming songs ahead is off until you turn it on. Add TZ= with your time zone to .env for the Listening page's week grid.

Without the update helper, from the Octo folder:

git fetch --tags && git checkout --detach 2026.10.21
docker compose pull octo yt-dlp-shim octo-sonic
docker compose up -d

The Octo apps: Octo for Android 1.10.0 · Octo for Windows and Linux 1.10.0 · Octo's F-Droid repository

Octo for Windows and Linux 1.10.0

Choose a tag to compare

@winters27 winters27 released this 21 Oct 20:02

Octo for Windows and Linux 1.10.0

  • Memory stays flat in long sessions, even with Full screen animated art, the background and lyrics on.
  • Full screen plays each album's own animated loop, with no stripes below a short loop, and the title bar stays readable over light artwork.
  • Lyrics stop drawing while the window is minimized or in the tray, which saves power.
  • Search shows your library at once, and the songs found online join the same table with a clear line while Octo looks, finds nothing or can't look.
  • Songs downloaded ahead play as FLAC, with Get upcoming songs ahead on in your Octo server (2026.10.21 or newer).
  • The song playing shows the file that actually opened.
  • A stalled stream gives up after 30 seconds instead of holding on forever.

Octo for Android 1.10.0

Choose a tag to compare

@winters27 winters27 released this 21 Oct 20:11

Octo for Android 1.10.0

  • Android Auto opens Octo again instead of staying on the loading screen. Its tabs have icons, covers are sharper, Octo's tool playlists stay out of Playlists, and the tabs follow your library.
  • Search lists each kind as one list: a few songs from your library first, then the songs found online right after, with a clear line while Octo looks online, finds nothing or can't look.
  • Your library's songs are found by their artist too, not only by their title.
  • Songs downloaded ahead play as FLAC, with Get upcoming songs ahead on in your Octo server (2026.10.21 or newer).
  • The quality badge shows the file that actually opened.
  • A song whose file changed on the server starts over cleanly instead of failing partway, and casting sends the speaker the type of file it really gets.
  • On mobile data, a song that turns out to be lossless keeps to your streaming quality cap.

Octo 2026.10.15

Choose a tag to compare

@winters27 winters27 released this 15 Oct 22:53

Octo 2026.10.15

Animated art

  • Animated album art in the Octo apps. Albums that have animated artwork on Apple Music now play it in Octo for Android, Windows and Linux 1.9.0: in place of the cover, or filling the top of the player. Octo finds each album at Apple by its barcode or a strict artist and title match, and answers through the new getAnimatedArt and the octoAnimatedArt extension. No extra container is needed.
  • A library sweep looks up your library's albums once a day at Apple's pace. The dashboard's Cover art page has an Animated art section with the count, the sweep and every album found; click one to hide its art in every app.
  • ANIMATED_ART=direct (the default) lets the apps load the art from Apple's servers, relay passes it through Octo so devices only ever talk to your server, and off turns it off.

Every file is the version it says

  • Downloads keep only the version you asked for. A remix, sped up or slowed copy, live take or another remixer's mix is refused when the audio, its length, its ISRC or its own recording id says it is not the asked version. A remix tagged as the original can no longer reach your library.
  • A version check in Library health. The library tag check now also checks each song's version, and lists in Not the version it's tagged as any song that is another version, sped up or slowed, another length, or carrying another artist's cover. For each one: Retag as what it is, Replace with the right version, Replace cover, Keep or Check now, all undoable. A new library action, Check version, does the same from any app (off by default).
  • Imports match by version. An imported remix row finds that remix, never the original, and remixers are kept in the import's keys.
  • Lyrics are matched at the file's real length, so a remix no longer gets the original's lyrics.
  • Covers come only from the album's own release by its artist, never a near match from someone else.

Tags that agree (#93)

  • One album, one album artist. A downloaded file no longer keeps a peer's other names for the album artist (ALBUM ARTIST, ALBUM_ARTIST, ALBUMARTISTS and the rest) that split an album in Navidrome.
  • Every field Octo writes drops its other names too: track and disc numbers and totals, title, album, year, genre and the ids, so a peer's TRACK=3 can no longer beat the track number Octo wrote. A compilation flag is cleared when the album is not by Various Artists.
  • Files already in your library are fixed by the library tag check: plain copies come off by themselves (journaled, undoable), and conflicts wait in Library health under Tags under other names. Navidrome merges the split album on its next scan.

Hearts, radio and Better quality (#94)

  • A heart sticks once the song lands. Hearting an outside song again after it downloaded favorites your library copy at once, apps no longer lose the heart on refresh, and unhearting a landed song unhearts the copy.
  • Radio stations refresh on their schedule (every LASTFM_REFRESH_INTERVAL_HOURS), not every few plays, and a restart in the middle of a refresh no longer stops a listener's stations from ever refreshing again.
  • Better quality picks and filters. Select the first N songs the filters show (up to 2,000 a press), and filter by AcoustID match, date added, genre and bitrate.

Fixes

  • Outside songs answer HEAD on stream and download, so players that read a song's length before playing (Apple's player on iPhone among them) show it and play to the end.
  • Family weekly limits hold when two requests arrive at the same moment.
  • A radio history reset stays reset: the listener is no longer re-learned from their stars right after.
  • Action playlists are made once, even when two apps list playlists at the same time.
  • Family members with a capitalized account name get their library links.

Apps

Octo for Android 1.9.0 and Octo for Windows and Linux 1.9.0 come out alongside this release: Animated art, accent colors, Settings > Radio, a calmer now playing button and a player that keeps your phone cooler.

Updating

Press About → Update now as usual. Nothing to change on your side. Animated art is on (ANIMATED_ART=direct); set it to relay or off if you prefer. Check version is off until you turn it on.

Without the update helper, from the Octo folder:

git fetch --tags && git checkout --detach 2026.10.15
docker compose pull octo yt-dlp-shim octo-sonic
docker compose up -d

Octo for Windows and Linux 1.9.0

Choose a tag to compare

@winters27 winters27 released this 15 Oct 22:28

Octo for Windows and Linux 1.9.0

  • Animated art: albums with animated artwork on Apple Music play it in the player, from your Octo server (2026.10.15 or newer). Choose Square, Full screen or Off in Settings > Appearance.
  • Full screen shows the album's tall artwork behind the player, blending into the background.
  • Accent color in Appearance: Octo's own blue gray, eight more colors, or From the album art.
  • Settings > Radio brings together Song radio and Live radio, and both can be found from the search box.
  • Sharper text on Windows, smoothed the way your system draws it.
  • The new octopus icon, crisp at every size: window, taskbar, tray and installer.
  • A larger play button, and the mini player and station menu get Windows 11's rounded corners.
  • A live station can be stopped from the taskbar, and the mini player has a station menu.
  • The player uses less power while it is open.
  • The heart beside a song's name lines up with its capital letters.
  • The crossfade curve says why it is grayed out while Smart transitions is on.
  • Library health no longer calls songs copies when their albums are different versions.

Octo for Android 1.9.0

Choose a tag to compare

@winters27 winters27 released this 15 Oct 22:17

Octo for Android 1.9.0

  • Animated art: albums with animated artwork on Apple Music play it in the player and on the album page, from your Octo server (2026.10.15 or newer). Choose Square, Full screen or Off in Settings > Appearance.
  • Full screen shows the album's tall artwork at the top of the player, blending into the background behind the controls.
  • Accent color in Appearance: Octo's own blue gray, eight more colors, or From the album art. Color the glass tints the bar and buttons to match.
  • Settings > Radio brings together Song radio and Live radio.
  • The player and lyrics use far less power, so your phone stays cooler and the battery lasts longer.
  • The round now playing button shows just the cover, and its ring breathes softly while paused.
  • The lyrics bar shows the song's round cover with a ring for how much has played.
  • The heart and More beside a song's name line up with its capital letters; long names fade out at the end.
  • Casting to a speaker no longer stops or skips when it goes on to the next song by itself.
  • A live station's notification and media keys show Stop.
  • The crossfade curve says why it is grayed out while Smart transitions is on.
  • Library health no longer calls songs copies when their albums are different versions.

Octo 2026.10.14

Choose a tag to compare

@winters27 winters27 released this 14 Oct 14:41

Octo 2026.10.14

Tags that match the music

  • One identity per file, decided by the audio. Octo now works out which recording a file really is from its exact length and kind of take, and every download is checked once more before it is tagged: one recording, an album that agrees with the audio, and the take the title asked for. A replace never inherits another take's album or ids.
  • A library tag check. Octo listens to your library songs a few at a time (60 an hour by default, only while nothing downloads) and holds their tags to the audio. What disagrees shows in a new Library health section with fixes you can undo. Stray spaces in tags are taken off by itself when library actions may change files; everything else waits for you. LIBRARY_ACTIONS_TAG_CHECK_PER_HOUR=0 turns it off.
  • Skip covers, karaoke and instrumentals is now on by default. Octo never downloads a cover, karaoke track or instrumental unless you turn the setting off, and leaves such outside songs out of search, radio, stations, charts, top songs and New Releases. Charts fill the gap with the next row. A title like "Karaoke Queen" is no longer mistaken for karaoke.

Duplicates and the Review card

  • Keep every rated copy. A new switch for duplicate fixes: when it is on, a copy anyone starred or rated is never removed. Either way, a removed copy's stars, ratings and playlist places now move to the copy that stays. Off by default.
  • Fix duplicates from any app. A new Fix duplicates library action works from a playlist or a star, so you can fix a song's copies without the dashboard.
  • Re-check Octo's downloads and replace a clearly wrong song (#87). The Review card can re-check what Octo downloaded, for example after you raised the match threshold. A new switch, off by default, lets the check replace a file AcoustID clearly hears as a different song instead of asking. It never replaces a song anyone starred or rated, still asks about another take or an unsure match, does at most 10 a day and leaves a note in Review.
  • See how sure AcoustID was (#87). The download log and Review questions now show AcoustID's numbers, for example "the same recording, 97% sure (needs 85%)".
  • Ratings and stars work from every app (#87). A rating acts the same however your app signs in, and the Library actions page lists ratings Octo did not act on and why. Starred lists now include hearts sent together, outside artists and hearts still on their way.

Import

  • Import for any user (#87). The dashboard's Import page has an Import for choice, so an admin can bring in playlists for any Navidrome user.
  • The Import page starts from where your music is now. Each service has its own tile and badge and walks you through its free TuneMyMusic export, beside public links, files and pasted lists.
  • No more Spotify sign-in. TuneMyMusic's export brings private playlists and Liked Songs, so Octo no longer needs a Spotify app of your own. Public Spotify links still work. Lists an earlier sign-in saved keep their playlists and can still be removed, but are not read again. The IMPORTS_SPOTIFY_* settings are ignored.

Mixes, stations and lists

  • Year mixes and artist mixes (#90). Optional "1994 Mix" style mixes for the years you have most songs from, and a mix for each of your most played artists, half their songs and half similar artists. Both are off by default: MIXES_YEARS=true and MIXES_ARTISTS=true, or the Which mixes card on the dashboard.
  • Stations keep going (#89). A radio station no longer loops its snapshot: it goes on with new songs of its kind, through the new getStationSongs and the octoStations extension. Your Mix is now called Your Radio and Discovery Mix Discovery Radio.
  • Lists say which group they belong to (#89). Every Octo list carries octoGroup (a genre, year, country or artist mix, a chart, Made for you, a station), so apps can sort them into shelves.
  • Places for Live radio near you. The new getPlace turns a ZIP or postal code, a town or a location into a place, so the apps can find radio stations near you. Place data from GeoNames (CC BY 4.0), converted and simplified by Octo.

Hearts and albums

  • Heart a song, get its album (#91). With DOWNLOAD_ALBUM_ON_SONG_STAR=true, a heart on one song also fetches the rest of its album: the song first, then the album, never the song twice, and nothing extra when Lidarr already brings the album. A Family member gets the album but only their hearted song starred. Off by default. Thanks to @VioletTides for #91.
  • A one-song album no longer hides the full album (#92). When your library has a single song filed under an album of the same name, the full album still shows next to it on the artist page. Thanks to @VioletTides for #92.

Library

  • Tidy splits shared credits (#88). A credit like "A; B" now counts as the artists Navidrome lists for it, so a guest on one track no longer takes the whole credit as one artist.

Updates

  • The dashboard comes back after Update now. It no longer sits on "Restarting": it waits for the new Octo and reloads.
  • The update banner opens the update card, and says how to update on a box without the update helper.
  • Update from the Octo apps. The apps can show that a newer Octo is out, with what's new, and the server's admin can start Update now from the app.

Security

  • rustls updated to 0.23.46 for advisories RUSTSEC-2026-0346 to 0349, published on 2026-10-14.

Apps

Octo for Android 1.8.0 and Octo for Windows and Linux 1.8.0 come out alongside this release: Live radio near you, a player made for live radio, stations that keep going, Octo's mixes grouped in Playlists, crossfade curves, headphone crossfeed and server updates from the app.

Updating

Press About → Update now as usual. Nothing to change on your side. The new switches (auto-replace, Keep every rated copy, year and artist mixes, album on song heart) are off until you turn them on. The tag check starts at 60 songs an hour.

Without the update helper, from the Octo folder:

git fetch --tags && git checkout --detach 2026.10.14
docker compose pull octo yt-dlp-shim octo-sonic
docker compose up -d

Octo for Windows and Linux 1.8.0

Choose a tag to compare

@winters27 winters27 released this 14 Oct 13:21

Octo for Windows and Linux 1.8.0

  • Live radio near you: find radio stations around a ZIP code, postal code or town, and keep the ones you like. Live radio plays more kinds of station streams, including HLS.
  • A player made for live radio: a LIVE pill instead of the scrub bar, Stop and Play that rejoin what is on air, and Back and Next to change station.
  • Live radio shows the song on air with its cover. Click + to add that song to your library, or the heart if you already have it.
  • Stations keep going: a station shows its songs and adds more as you near the end.
  • Your server's mixes, charts, stations and Made for you lists, grouped by kind.
  • Crossfade curves, and Crossfeed for a more natural sound on headphones, in Sound.
  • Server updates: when a newer Octo is out, Octo says so, and your server's admin can start Update now from the app.
  • Bloom fast singing: a word a singer holds swells and glows.
  • A song replaced on your server plays the new file.
  • Get my music no longer signs in to Spotify; its tile walks through TuneMyMusic like the other services.