All notable changes to the DJNext desktop app. Format loosely follows Keep a Changelog - dates are when a version was actually built and shipped, not when work on it started. Version numbers here track version.py, which is what the auto-updater (updater.py) compares against the hosted manifest - every entry below corresponds to a real build, not a planned one.
v0.3.752026-10-09
Changed
Listener requests: the app and your request page now agree. A request DJNext marks played on its own, or one you play, skip or clear on the Request queue page at djnext.live, now leaves the list on your phone too, within a few seconds.
Requests stay open or closed the way you last left them, whether you set it on the phone or on the Request queue page, including across restarts. DJNext no longer reopens requests every time it starts; one tap opens them for the night.
v0.3.742026-10-03
Fixed
Serato: a track you load no longer waits up to 20 minutes behind the one before it. Serato sometimes leaves a track's length out of its history, and DJNext then treated that track as playing for 20 minutes, holding back the next one unless its deck was reloaded. It now uses the length from your library.
v0.3.732026-10-03
Fixed
Serato: the OBS overlay no longer shows your previous song when you load a track. While a newly loaded track waited its 45 seconds, the overlay could switch back on with the last song that played. It now stays dark until the new track counts, stays on the playing track while you cue the next one, and switches when the next one takes over.
v0.3.722026-09-30
Fixed
Serato: the next track you load no longer takes over from the one playing. In 0.3.71 a track sitting on the other deck could become "now playing" 45 seconds after it was loaded, even unplayed, and cancel the track actually playing. Now each deck waits on its own, and a track loaded on the other deck counts once the playing one is over - ejected, its deck loaded with your next track, or played to its end.
v0.3.712026-09-30
Changed
Serato: a track counts as playing 45 seconds after you load it. Serato records a track the moment it's loaded, so a track you cued on the other deck and then swapped out used to show as now playing - on the overlay, in your suggestions and ticked off your set plan - without ever being heard. Now it waits 45 seconds, like the other DJ software, and a track you eject or replace before then never counts.
Pioneer CDJs and XDJs are no longer marked beta in the library picker.
v0.3.702026-09-29
Added
The OBS overlay slides in. Now playing slides in from the left when the track changes and slides back out when it's done. Add ?anim=drop to the overlay's URL to have it drop in from the top with a small bounce, or ?anim=fade for the old fade; ?slide=right (or up, down) slides from another side. The help page lists every option.
Changed
The phone page on a tablet uses bigger cards and type, so the five suggestions fill the screen instead of sitting small in it.
Engine units: while DJNext looks for a unit, it now says to cable the unit to your router, and that the computer itself can stay on the router's Wi-Fi.
v0.3.692026-09-29
Added
Your set plans on the phone. Plan a set at djnext.live (Plans), then tap plan at the bottom of your phone or tablet's DJNext page and choose it. A strip above the suggestions shows where you are in the plan and what's next; tap it for the whole plan, with what you've played ticked off as you go. If the set goes somewhere else, Re-plan from here works out the rest from what's playing, keeping the plan's tracks that still fit. The plan stays loaded through a restart or a venue with no internet.
Fixed
Engine units: DJNext now announces itself on your network's own broadcast address as well, so a unit that kept dropping the connection on some networks now stays connected.
Plans on the phone now says when djnext.live couldn't be reached, instead of asking for a license key you've already entered.
v0.3.682026-09-28
Added
Send to support, in one click. In the DJNext window, under Diagnostics, write a line about what's going wrong and click Send to support. DJNext sends its diagnostics file and your note straight to us and gives you a reference number; we reply to your account's email. No more saving a file and attaching it. Needs your license key.
v0.3.672026-09-28
Fixed
Suggestions while a streamed track plays use all your computers again. A Beatport or Tidal track is never synced to djnext.live, so suggestions for it were worked out on this computer alone, without what you've played on your others. DJNext now sends the track's key, tempo and genre, and djnext.live scores from them as usual.
Changed
A failed payment is spelled out. The license card said "past_due"; it now says your last payment didn't go through, that DJNext keeps working for now, and where to update your card.
v0.3.662026-09-28
Added
Steer the suggestions from your phone or tablet. Under the playing track: - Safe to Adventurous, five steps. The middle is DJNext as before. Towards Safe, tracks you already play and keep in your crates come first, and the last card is your go-to. Towards Adventurous, tracks you've never played come first, and the last card is always a wildcard. Key and tempo stay safe at every step. - Lift: favours moves up the key wheel and slightly faster tracks. - Crate: keep every suggestion inside one of the playing track's crates.
v0.3.652026-09-28
Added
Sets played on the player alone count too. Played an Engine or Pioneer player without DJNext running? The player keeps its own history on your USB stick, and the next time DJNext connects to the player and copies that stick, those plays are added to your account, so the tracks count as played on all your computers. Tracks DJNext already saw live aren't added twice. Engine sets also appear in your set archive on the account page, marked as played on the player, with their real times. A Pioneer stick doesn't record when tracks were played, so those plays count but aren't shown as sets.
v0.3.642026-09-28
Fixed
Windows: uninstalling DJNext no longer deletes other files in its folder. If you ever installed a version from 0.3.38 to 0.3.57, uninstalling still removed the whole install folder, including anything you'd put there. Installing this version clears that.
Windows: uninstalling closes DJNext first. A DJNext running in the tray used to stay installed and running.
Keeping the screen on, corrected. 0.3.63 said your phone or tablet's screen would stay on. On Android in Chrome it doesn't: browsers only let a secure (https) page keep the screen on, and DJNext's page on your network isn't one. The page still tries, and now tells you once how to set your device's screen timeout, which always works. See djnext.live/help.php#awake.
v0.3.632026-09-28
Added
Your phone or tablet's screen stays on while DJNext's page is open, so it doesn't go dark mid-set. It starts with your first tap; the sun button in the top bar turns it off (and back on), and each device remembers your choice.
Fixed
Uninstalling turns off Start at login. On Windows the uninstaller removes it; on a Mac, once DJNext is in the Trash, it removes itself at your next login. Before, your computer kept trying to start DJNext at every login after it was gone.
v0.3.622026-09-28
Fixed
reset brings tracks back. With a license, reset on your phone or tablet cleared the list but DJNext still held back everything played in the last six hours, so "Nothing compatible left. Try reset." didn't help. Now tracks you played before a reset can be suggested again.
Clearer messages in the DJNext window. The "Too many machines" card no longer says renaming your computer uses a new slot (it hasn't since 0.3.29), and the window says DJNext everywhere.
Added
A help guide at djnext.live/help.php: setup, what's on screen during a set, how suggestions are chosen, each DJ program, listener requests, your account, and fixes for the usual problems.
v0.3.612026-09-28
Added
"Why?" on every suggestion. Each card on your phone or tablet has a Why? button (tapping the card still plays it next). It shows every reason DJNext picked the track, and what a go-to or wildcard is.
Suggest more often / Don't suggest. From the same panel. "Don't suggest" takes the track off the list straight away, with a few seconds to undo, and it won't be suggested again. "Suggest more often" gives a track a lift. Your choices apply on every computer you use DJNext on, and ones made without a connection are sent when it's back. Search results have Why? too, so you can rule a track out before it comes up.
Changed
The wildcard card says "wildcard". It used to have only a dashed border.
Page titles say DJNext. The phone page's tab said "Next" and the status window "djnext".
v0.3.602026-09-27
Fixed
Engine standalones: a drive plugged in after DJNext connects is now picked up. If the unit had no drive ready when DJNext found it, DJNext followed the decks but never read the drive's library - so no suggestions, and no message saying why - until it reconnected. It now checks the unit's drives every 15 seconds, reads a drive within seconds of it going in, and says so when the unit has none.
Engine standalones: unchanged drives aren't downloaded again. A reconnect used to re-download every drive's library; now only a new or changed drive is fetched, and history played during the set comes in as the unit writes it.
Changed
Switching library shows it's switching until it's done. After you confirm, the Library card says "Switching to ..." and that platform's button says Switching... until the new library has loaded. Before, the button went back to "Switch" within two seconds, so it looked like nothing was happening.
v0.3.592026-09-27
Fixed
"Are you sure?" questions fit the window on Windows. Switching library, removing your license key and going back to auto-detect asked in a box Windows drew itself, headed "localhost:7777 says", and a narrow window could cut off its Cancel button. They now ask in DJNext's own box, the same on Mac and Windows, with the button saying what it does (Switch, Remove, Use auto-detect). Esc cancels.
v0.3.582026-09-27
Added
Start DJNext when you log in - a checkbox on the status window, on both Mac and Windows. Off unless you turn it on.
Plays made offline aren't lost. If the internet drops mid-set, the plays are kept and sent when the connection comes back, so your history, recap email and "just played" list stay complete.
djay Pro and Rekordbox now share history across your computers, like Serato already did: a track worn out on one rig stops looking fresh on the other.
Your request page notices when DJNext has gone - if the app quits, crashes or the laptop sleeps, listeners see the set has ended instead of a request form nobody is reading.
Changed
Suggestions come about twice as fast, with exactly the same picks.
Listener requests arrive within about 8 seconds (was up to 20), and the public page follows track changes just as quickly.
Starting up and switching library never wait on the internet. Your library is sent to DJNext in the background, and retried if it fails.
Serato: only your own crates count, with their full folder paths. Smartlists and folders made by other tools (Lexicon, for one) were being read as crates you'd built by hand.
The Mac app needs macOS 14 Sonoma or later, and says so before you install it. It's also smaller: 45 MB instead of 59.
Fixed
The phone could show the previous track's suggestions for the whole of the next track.
The "go-to" slot only offers tracks that mix cleanly, and the wildcard keeps to one track per artist like the rest of the list.
Entering a key: a typo can't replace a key that works, and suggestions appear straight away once it's accepted.
Buying the requests add-on works without restarting DJNext, and switching library keeps your request queue and open/closed setting.
A library that won't load opens the library picker instead of quitting, and now-playing detection recovers by itself after an error.
Windows: an unplugged music drive no longer empties the library; Music folders moved to OneDrive are found; the installer only ever removes its own files.
djay Pro: artist and title names with accents or non-Latin scripts are read whole.
Serato: a brand-new user's very first play is reported, and tracks with several copies are recognised by their real length.
Rekordbox: now-playing stays quick however long your history gets.
Reset clears tonight's played and taken counts too, and a new night or set starts by itself after a long gap.
Pioneer CDJ/XDJ (beta): a player that refuses the connection is left alone for a while; a player's USB and SD cards are both kept.
The phone's request buttons respond at once.
Settings (license, library, start at login) can only be changed from this computer, not from another device on the venue's Wi-Fi.
Reason wording: "usually gets pulled" now means it, "from <crate>" names the crate that earned the trust, and "Drum & Bass" vs "Bass House" counts as a genre jump.
v0.3.572026-09-26
Added
The Windows installer and app are now signed (publisher: Micheal Luttrull), so Windows shows a verified publisher instead of "Unknown publisher". SmartScreen may still ask once for a little while, until the new certificate builds a reputation - choose More info, then Run anyway.
Fixed
Check for updates always answers now. On the Mac it replies with a window (offering the download page when there's a newer version) instead of a notification macOS might not show, and it still finds the update after you've switched library.
v0.3.562026-09-26
Added
The Mac app is signed and notarized by Apple. It opens like any other app - no more trip to System Settings to click "Open Anyway". (The Windows build isn't signed yet; that's in progress.)
Changed
When your license ends, subscribing brings the same key back. The app now says your license has ended (not your "trial"), tells you how to subscribe, and checks again every few minutes - so once you've paid, the key already in DJNext starts working again by itself, with nothing new to paste.
The library summary tells moved or deleted files apart from ones on a drive that isn't plugged in.
Fixed
Two copies of the same track (an MP3 and a FLAC, say): playing one no longer suggests the other straight back, and a track you've already played tonight can't come back as its other copy.
v0.3.552026-09-25
Fixed
VirtualDJ: the track already playing now shows up when DJNext starts watching - after switching to VirtualDJ or reopening DJNext mid-track. Before, it waited for the next track.
Two copies of the same track no longer count as two. An MP3 and a FLAC of one recording (or a re-download) are one suggestion, not two that could both land in the same five. The server side of this also fixed a library sync that failed outright on duplicates.
v0.3.542026-09-25
Added
VirtualDJ support. DJNext now reads VirtualDJ libraries as a sixth platform: every VirtualDJ database on the computer (one per drive), your lists as crates, and your play history, with live now-playing. VirtualDJ counts a track as played once it has been audible for 45 seconds, so that's when DJNext picks it up - a cue in your headphones, faded out on the channel fader or the crossfader, never counts, and a track you bring in mid-mix shows up on its own schedule whatever the other deck is doing. Tracks VirtualDJ hasn't finished reading yet are read from the files themselves, so a freshly added library works straight away.
v0.3.532026-09-25
Changed
A tidier Library card. It now lists only the platforms this computer can actually use, once each, with the one in use marked and a single Switch button on the others. Engine and Pioneer say how they connect (Engine/StageLinQ, Pro DJ Link). Pointing DJNext at a library in a non-standard place has moved behind "Library somewhere else?", which opens by itself if no library was found.
v0.3.522026-09-25
Added
Pioneer CDJs and XDJs, as a beta. With DJNext running on a laptop on the same network as the players, it joins the network, reads the Rekordbox export on the USB stick in each player - so suggestions come from what's actually in the players - and follows what's playing, deck by deck. Play counts come from the history the players write to the stick. Quit Rekordbox on that laptop first: it uses the same network ports. Tested against a simulated player built from real CDJ recordings, not yet against real Pioneer hardware - if you try it on your gear, we'd love to hear how it goes.
v0.3.512026-09-25
Fixed
Engine standalones no longer need Engine DJ on the laptop. 0.3.50 only offered Engine DJ - and could only start it - on a computer with Engine DJ installed, even though the library comes from the unit itself. Now any computer running DJNext can follow an Engine standalone over the network; with no other DJ software installed, DJNext starts in Engine mode and waits for a unit, and the status page tells you to connect it by ethernet if it can't find one.
No more brief dropout right after DJNext picks up the unit's library. Engine units accept one connection from DJNext at a time, and switching to the unit's library briefly opened a second one. DJNext now keeps a single connection for as long as you're in Engine mode, and lets go of the unit a few seconds after you switch to something else.
v0.3.502026-09-25
Added
Engine DJ support, including Denon and Numark standalones. DJNext now reads Engine DJ libraries as a fourth platform alongside Serato, djay Pro and Rekordbox. With an Engine standalone (tested on a Denon SC Live 4) on the same wired network as your laptop, DJNext finds it automatically, pulls in the library from the drive plugged into it - so suggestions come from exactly what's in the unit, with nothing to prep - and follows what's playing live, deck by deck. A track counts as playing once it's actually audible (playing with its channel fader up), and mid-mix it follows the track you're bringing in. The standalone has to be on wired ethernet (on the SC Live 4, via a USB-to-ethernet adapter); Engine units don't share this over Wi-Fi.
v0.3.492026-09-24
Changed
The fifth suggestion is now a go-to instead of a random wildcard. It's the compatible track you play most and usually keep, skipping anything already played tonight or that you tend to pull early - the safe option for when a floor goes cold, while the other four keep pointing you at records you haven't been reaching for. Until there's enough play history for one (a new account, or right after a reset), that slot is still a wildcard. The go-to card has a green outline on the phone view.
v0.3.482026-09-24
Added
Suggestions now lead with a track from the same crate as what's playing, if it came from one. Staying inside a hand-built crate is a real DJ move - digging deeper in that same bag - so it's now the first option offered instead of being buried behind unrelated same-genre picks or dropped by the crate-diversity cap. Only applies when the current track is itself in a curated crate; otherwise suggestions rank exactly as before.
v0.3.472026-09-24
Added
Learning now rewards good transitions too, not just penalizes risky ones. The same skip-risk model (both your own local history and the pooled community model on hosted suggestions) now also gives a small boost to genre/tempo/key moves that historically get kept more than average, instead of only ever discouraging the ones that get pulled.
v0.3.462026-09-24
Fixed
"Quit DJNext" from the menu bar's app menu (the one next to the menu, not the tray icon) closed the window instead of actually quitting - a real side effect of 0.3.44's menu-bar fix, reported directly. The Quit item now runs the same shutdown DJNext's tray Quit already uses, confirmed by watching the process actually exit rather than just hide.
v0.3.452026-09-24
Fixed
A platform not found on your machine (djay Pro, Rekordbox) showed the same gray dot as everything else in the Library card. Now matches the same red the main status dot uses for "no library found" - a platform that isn't there reads as a real gap, not just blends in as normal.
v0.3.442026-09-24
Fixed
Found the real cause of the menu-bar-unresponsive-while-focused bug, and confirmed the fix works (0.3.42 and 0.3.43 both turned out not to, despite reasonable theories - this one's verified end to end, not just reasoned about). DJNext's menu-bar tray icon never builds a normal application menu, since it's not meant to need one - but with a real window open and focused, macOS needs one to exist anyway for the menu and the rest of the left side of the menu bar to respond to clicks at all. DJNext now builds a minimal one when its window opens.
v0.3.432026-09-24
Fixed
0.3.42's menu-bar fix didn't actually help (confirmed by testing - the app name next to the menu still showed whatever app was active before DJNext's window opened, meaning DJNext's window was never actually becoming the active app at all). 0.3.42 only reset which KIND of app DJNext is allowed to be; it never told macOS DJNext should actually become the active one right now. Added that missing step. Still a real attempt, not a confirmed fix - the menu bar issue needs a look to know if this one actually lands.
v0.3.422026-09-24
Fixed
On macOS, the 0.3.41 restart-block fix wasn't actually enough on its own. Found testing 0.3.41 for real: restarting was still blocked, and with DJNext's window focused, the whole left side of the menu bar (the menu included) went unclickable. Both traced to the same underlying cause - DJNext's window was quietly running as a normal foreground app instead of a background/menu-bar-only one, which both claims the menu bar region it was never designed to use AND lets it veto the OS's own shutdown/restart/logout request outright, before 0.3.41's fix ever got a chance to run. Both fixed at the source.
v0.3.412026-09-24
Fixed
DJNext could block a Mac restart entirely. Quitting from the tray menu already shut down cleanly, but macOS asking the app to quit for its own reasons (Restart, Shut Down, Log Out) went through a completely separate path nothing was listening on, so the app never answered - macOS then reported DJNext was preventing the restart. Fixed by hooking into macOS's own "about to quit" signal directly, so it's handled the same way regardless of who's asking.
On Windows, installing an update over a running DJNext could report "couldn't stop it." Same underlying gap: the app only knew how to quit via its own tray menu, never via Windows (or the installer) asking it to close. First attempt at a fix - closing the window still just hides it to the tray as before, but a real close request from Windows or the installer should now be told apart from a casual window-close click and actually quit the app.
v0.3.402026-09-24
Fixed
The Windows installer could leave orphaned files behind across an upgrade. A file present in an older version but dropped from a later one (a removed dependency, say) wasn't being cleaned up - it would just sit in the install folder forever. The installer now wipes its own folder before every install, upgrade or fresh, so this can't happen.
v0.3.392026-09-24
Fixed
"No library found" looked exactly like "everything's fine, just idle" on both the status page and the tray/menu-bar icon. The status dot now turns red instead of staying gray for this - it's a real problem that needs you to browse for your library, not a normal wait. On Windows the tray icon had a related, worse version of the same bug: it showed the "still loading" hourglass forever in this state instead of ever settling on an icon, which looked like a hang rather than something waiting on you.
v0.3.382026-09-24
Changed
Packaging switched to onedir on both platforms, and self-update no longer replaces anything in place - on either platform now, matching how Windows already worked. When a newer version is available, DJNext asks at quit time and opens the download page; it never downloads or swaps a running binary itself.
Windows now has a real installer (Start Menu shortcut, proper uninstaller) instead of a bare portable .exe. It installs for your user only, not machine-wide, so it doesn't need administrator rights.
v0.3.372026-09-24
Added
Cross-customer learning is live, as promised on the privacy page: the hosted engine now pools which kinds of genre, tempo and key move tend to get pulled early across every opted-in account, and factors that into suggestions. Nothing changes for you unless you're using hosted suggestions with the feature enabled (it's on by default, with a toggle on your account page), and it needs enough real data before it affects anything at all - the same way your own local learning does.
v0.3.362026-09-23
Added
A manual library-path override for Serato, djay Pro and Rekordbox. If your library lives somewhere auto-detection doesn't check - a second drive, a non-default install location - the Library card on /status now has a Browse button per platform that opens your OS's own native file picker. A path you set this way always wins over auto-detection, and can be cleared to go back to auto-detect.
DJNext no longer quits if it can't find any library at all. It used to show an error and exit; now it boots normally with just the library picker showing, so you can point it at the right file without restarting anything.
v0.3.352026-09-23
Fixed
Session recap emails could show blank track names for plays recorded before a library switch, and a quit-and-relaunch within 45 minutes could merge into a PREVIOUS, already-emailed session instead of starting fresh - found for real off a live recap that named only 3 of 17 tracks. Two real bugs, both fixed: recaps now bound themselves to never re-include a play a previous recap already covered, and each play now carries its own artist/title with it instead of relying on whatever the live-synced catalogue happens to say by the time a recap is built.
v0.3.342026-09-22
Fixed
DJNext could show as "not responding" for minutes on launch. The library load used to block the whole app before its menu-bar icon or window even appeared, so any slow read was indistinguishable from a crash - the only fix was killing it from outside. The menu-bar icon and window now come up immediately no matter how long the load takes, showing a "loading your library" state until it's ready, and Quit works the whole time.
Rekordbox libraries with the drive holding your music unplugged could take minutes to load, or hang outright. Three separate causes, all real: checking whether each track's file was actually present was needlessly slow once nothing was attached at all (now skipped cheaply); a track that happens to exist locally - Rekordbox's own streaming cache, for instance - no longer wrongly vouches for an entirely different, unattached drive; and a slow or network-mounted drive that answers "yes, I'm here" but is too slow to check thousands of individual files no longer holds the load hostage - after a few seconds it shows what it has rather than keep waiting. A genuinely stuck Rekordbox read (busy re-analyzing your library, for example) now fails honestly after 30 seconds instead of hanging indefinitely.
Tracks streamed through Rekordbox's own Beatport integration weren't detected at all. 0.3.33 added this for Serato; Rekordbox never got the same treatment. A streamed track now shows up as the current track, on the overlay and everywhere else that reads what's playing - and, on purpose, still won't be suggested, same as Serato.
djay Pro had the same slow-drive-check problem Rekordbox did, with the same symptom: switching to it could hang instead of loading. Fixed the same way.
Tracks streamed through djay's own Apple Music integration weren't detected either, for the same reason as Rekordbox above - same fix, same "detectable, never suggested" result.
The first play of a brand-new streaming track needed a manual library reload to show up, even after djay or Rekordbox had fully logged it, because it didn't exist anywhere in DJNext's data until that reload. Now resolves live, the moment it's detected - no reload, no restart.
djay and Rekordbox could both show a stale track as "now playing" on launch, hours after you'd actually stopped, and count it toward that session's plays before anything had been touched. Serato never had this - now neither do the other two.
Serato had the same brand-new-streaming-track gap as djay and Rekordbox above - a Beatport track played for the first time ever didn't show up until a reload, even though Serato's streaming detection has worked since 0.3.33. Same fix, same result: resolves live now, no reload needed.
v0.3.332026-09-22
Fixed
Tracks you stream now show up. Play something from Beatport, Tidal or another streaming service and DJNext finally notices: it appears as the current track, on the OBS overlay, in your session recap email, and in the "just played" list your audience sees. Until now a streamed track was invisible to all of it.
DJNext still will not SUGGEST a streamed track, on purpose. Suggestions stay drawn from the music on your own drives.
v0.3.322026-09-21
Changed
The set list now timestamps from the start of the set, not the wall clock: 0:00, 4:12, 18:20. That is how a mix tracklist is normally written, so it pastes straight into a VOD description or a tracklist post. The time you started still appears once, in the line at the top.
DJNext's emails now look like DJNext. The set-list, licence-key and sign-in emails all carry the same header and colours as the site. The track list itself stays plain monospace text, deliberately, because its job is to be copied.
Added
DJNext now records how long each track stayed on the decks, including tracks you pulled after a few seconds. Nothing uses this yet. It is being collected now because the moment a track gets yanked is the clearest signal a transition did not work, and that moment cannot be recovered later. It feeds future work on learning which transitions actually hold a floor. See the privacy policy at djnext.live/privacy.php, which covers this and how to opt out.
Fixed
Hardened how track names are put into the request page and the phone UI. No known way to exploit it, and nothing you would have noticed; found during a security review before code signing.
Slightly smaller download, with no change to what the app does.
v0.3.312026-09-20
Added
"Check for updates" in the menu bar / tray menu, next to Quit. DJNext checks on its own every six hours, so until now the only ways to find out sooner were to restart it or wait, neither of which is something you want to be doing before a set. It always tells you the result, including when you are already on the newest version or when it could not reach the server. On macOS it downloads the update there and then, ready to install the next time you quit; on Windows it tells you one is available, the same as it always has.
v0.3.302026-09-20
Added
The set-list email now shows what time you played each track, in the local time where you played it, so a set list lines up against a venue recording or a Twitch VOD without any counting back. DJNext reads the timezone from your computer rather than asking you to set it, so it handles daylight saving and places that do not observe it, and it follows your laptop to a gig in another timezone with nothing to remember. Emails from a machine still on an older version keep their current format rather than showing a guessed time.
v0.3.292026-09-20
Fixed
Renaming your computer no longer breaks DJNext. DJNext identified a machine by its computer name, so renaming one made DJNext treat it as a brand new machine. If that pushed you over your plan's machine limit, the new name could not register, its library was never sent to the server, and the damage was invisible: no cross-machine suggestions, an empty "just played" list on your request page, and a set-list email with every track name blank. Your machine's identity is now fixed the first time DJNext runs and never changes again. Existing installs keep the identity they already have, so nothing moves when you update.
DJNext now tells you when it cannot reach your library slot. A failed library sync used to be recorded only in the diagnostics file, which is how one went unnoticed for two weeks. The status window now shows it at the top, above everything else.
Being out of machine slots says so plainly. If you are at your plan's limit, the status window names this machine, points out that a renamed computer usually leaves its old name holding a slot, and links straight to your account page to free one.
v0.3.282026-09-19
Added
A sound when a request comes in. The phone plays a short ding the moment a new request lands, so noticing one no longer depends on you glancing at the screen mid-set. There is a toggle next to the Requests open/Closed control: it is on by default, it remembers your choice, and it plays the sound when you switch it on, so a muted phone tells you right then instead of at the worst possible moment. A backlog waiting when you open the page stays silent; only genuinely new requests ring.
Fixed
The macOS "start at login" item was still registered under the old thatgouda.life name from before DJNext moved to its own domain. Installing or removing the login item now also cleans up the old one, so a machine that had it set up before cannot end up with a stale entry pointing at the wrong place.
v0.3.272026-09-06
Fixed
Critical: quitting DJNext could fail, so updates never installed. On any session where no track had played - which is most quits - the shutdown hit an error before it got as far as applying a waiting update. The app closed without updating and without relaunching, and stayed on the old version no matter how many times you tried. Both 0.3.25 and 0.3.26 are affected; if you are on either, this is the one update you may have to download by hand.
Shutdown is now hardened so that reporting the last track can never again block the update that follows it. Failing to report a track is worth a line in the log; it is not worth losing an update or a clean quit.
v0.3.262026-09-06
Fixed
DJNext could show an empty library when a drive was unplugged. It is meant to fall back to showing your whole collection when it can't work out which drives are attached - better to show tracks you might not be able to reach than none at all. That safety net only covered the case where NO drive was found. If DJNext spotted some other drive that happened to hold none of your music, it filtered everything out and showed you nothing. Now it falls back whenever the result would be empty, whatever the reason.
Suggestions were running with most of the "you curated this" signal missing. If the same track sits on two drives, DJNext merges them into one - but your crates point at whichever copy they were built from, and only one of the two was being recognised. On a real library that lost more than half the crate memberships, so tracks you had hand-picked into a set weren't being credited for it. Fixed: 734 tracks carried that signal before, 1,247 after.
Working out which crate a suggestion came from no longer scans every crate each time. Same answer, less work per suggestion.
v0.3.252026-09-04
Fixed
The last track of your set was being lost. DJNext waits 45 seconds before reporting a track, so a quick preview never counts as a play - but quitting cancelled that wait, so whatever was on the decks when you quit never got recorded. It now sends it on the way out.
Your set-list email could describe the wrong set. A consequence of the above: with nothing new recorded, the server fell back to your previous session if it was recent enough, and emailed that instead.
The set-list email could arrive twice. Quitting twice close together - which is exactly what installing an update does - sent the same email each time. It now only sends when there's something new.
Set-list emails now come from hello@djnext.live, the same address everything else from DJNext does.
v0.3.242026-09-04
Fixed
"Tonight" and the set-list email counted nothing if you have cross-machine sync turned on - which is anyone using a license key. With sync on, suggestions are scored on the server, and DJNext was only remembering the ones it worked out locally, so it never recognised the track you loaded as one it had suggested. Shipped in 0.3.23 and fixed the same day, off the back of a real set: the recap email listed two tracks and marked neither, though one had been taken straight off the list.
Server-side, no app update needed. If you had both the base plan and the requests add-on and asked the trial page to re-send your key, it sent the add-on's key instead of your main one. It worked, so nothing looked wrong - but cancelling the add-on later would have stopped DJNext working even though your main subscription was still active and paid for. It now always sends your main subscription key. Signing in at the account portal was never affected; that page has always shown the right one.
Added
"Lost your key?" now says so, in the four places you'd look. You could always get your key back by signing in at the account page, but nothing anywhere named that as the answer - not the sign-in page, not the download page, not the email your key arrived in. All three now say it plainly, and DJNext itself, when it asks for a key, now offers a "already a subscriber and lost your key?" line next to the trial link instead of only offering a trial to someone who already pays.
v0.3.232026-09-04
Fixed
djay Pro: tapping a suggestion or a search result did nothing. The phone UI built its tap handler by dropping the track id straight into the page, which only works when that id is a number. Serato's and Rekordbox's are; djay's are 32-character hex strings, so the handler was invalid and the tap was silently ignored. The server end had the matching half of the same bug, treating the id as a number when it isn't one. Both fixed, and confirmed by actually clicking a djay track in a real browser, not just by reading the code.
A track that happened to be the very first entry in a Serato library (internal id 0) could be reported as "nothing loaded" by the now-playing watchers, and could not be picked from the phone UI. Same falsy-zero trap this project fixed once before, back in three places it had reappeared.
The empty state on the phone UI said "Load a track in Serato" no matter which DJ software was actually running, so djay Pro and Rekordbox users were told to open the wrong application. It now names the right one.
The OBS overlay now works on djay Pro and Rekordbox. It only ever worked on Serato: the overlay asked a different question from the rest of the app ("is this track still playing?", so it can go dark between tracks) and answered it from Serato's play history, which is the only one of the three that records when a track ended. djay and Rekordbox were detecting the track correctly the whole time - the phone UI and the status page both showed it - but the overlay stayed dark. It now works out the same answer from when the track started and how long it runs, which DJNext already knows for every track in your library. /nowplaying.txt (the plain-text endpoint for an OBS text source) was affected the same way and is fixed with it.
DJNext was only ever counting a suggestion as "taken" if you tapped it on your phone. Reading a suggestion and then loading that track in your DJ software - the normal way, and the only way on a controller - looked exactly like ignoring it. Every set DJNext has ever run recorded zero taken suggestions for this reason, which also starved the learning that is supposed to improve its picks over time.
The learning that happens in the background - which transitions you pull early, where you are in the night, your dig verdicts - silently stopped working entirely on djay Pro, and partly on Rekordbox, because of how those platforms number their tracks. Fixed, and it now says so if it ever fails to load again instead of going quiet.
Added
DJNext now tells you when it actually helped. The status page shows a "Tonight" line - "3 of 7 from DJNext" - counting how many of the tracks you played were on the suggestion list when you loaded them. It counts a track you loaded in Serato, djay Pro or Rekordbox yourself, not just one you tapped on your phone, which is how most people actually use it.
Your set-list email now marks the tracks DJNext found you, and says how many there were - "5 tracks. 2 of them were on DJNext's suggestion list when you loaded them."
The account portal shows the last 30 days: "14 of 40 tracks came from DJNext." Deliberately a rolling month rather than all time, since plays recorded before this feature existed carry no evidence either way and are counted as not-from-DJNext.
Changed
Internal cleanup, no behavior change: removed about 950 lines of code and documentation that nothing referenced any more - the retired Windows in-place updater (its evidence trail is preserved as a comment where it lived), the host status page that has redirected elsewhere since 2026-08-31, a duplicate set of account/admin database helpers that the website already owns, and an orphaned copy of the old Serato history reader.
v0.3.5 - 0.3.222026-09-02
Added
A visible notification when a new version is available, and a Yes/No prompt when you quit, so an update never installs without you saying so. macOS installs it for you on quit; Windows opens the download page in your browser so you can save the new build wherever you like.
Fixed
macOS: the confirmation prompt could vanish before you could answer it, and an update could install without the app coming back afterwards.
Windows: the confirmation prompt appeared but its buttons could not be clicked.
Removed
Windows no longer tries to replace itself in place. Windows blocks that file swap at the operating-system level regardless of where the app is kept, because a hidden script overwriting a running program looks exactly like malware - which is the security software working correctly. Nothing is downloaded in the background on Windows now either; you are told, asked, and sent to the download page.
v0.3.42026-08-31
Added
The version number now shows on the status page and in the tray/menu bar icon's own menu, so you don't have to guess (or ask us) what you're actually running.
v0.3.32026-08-31
Fixed
The Windows self-update fix in 0.3.2 didn't fully hold up under further real-world testing -- it could still get stuck in some cases. Rebuilt the underlying mechanism from the ground up and confirmed it actually completes end to end this time.
v0.3.22026-08-31
Fixed
On Windows, self-updating could get stuck partway through and never actually finish replacing itself, with nothing telling you why. Fixed.
v0.3.12026-08-31
Fixed
On macOS, the app's own internal logging was silently going nowhere in every build so far -- if something went wrong, there was no way to find out why. Fixed; errors now actually land in a log file.
Self-updating on macOS could, rarely, replace the app file correctly but then fail to relaunch it -- no error shown, just nothing happening after quitting. Fixed.
v0.3.02026-08-31
Added
Session-recap email. When you quit DJNext after a set, if cross-machine sync is on and something actually played, you'll get an email with the set list - "artist - title", in the order you played them, sent to the address on your account. Needs a network connection at quit time to reach the server (same as everything else that needs the license server). Nothing to turn on; if you have a license key entered, it just works. On by default - turn it off from the account portal if you don't want it.
v0.2.02026-08-31
Added
Automatic updates. DJNext now checks for new versions in the background and installs them the next time you quit and reopen - no manual reinstall. (This version is the first one able to check for updates at all; it can't auto-update *itself* in from 0.1.0, only 0.2.0 and later will update automatically going forward.)
A real app icon, everywhere DJNext shows up - menu bar/tray, dock, and the website.
A download page (djnext.live/download.php), so getting the app doesn't require asking us directly for a file.
Fixed
DJNext used to exit silently with no explanation if it couldn't find your DJ software's library - it now shows a clear message instead of just disappearing.
A rare case on the hosted side where syncing an empty library snapshot could wipe your previously-synced tracks instead of leaving them alone. Desktop-side, this is invisible - no app update needed for it, already fixed on the server - but it's real user impact worth recording here.
v0.1.02026-08-22
Added
Initial build. Reads Serato, djay Pro, and Rekordbox libraries directly; suggests next tracks by harmonic key, tempo, genre, trust, and novelty; phone UI and OBS overlay; hosted listener-requests add-on; licensing, trial, and account portal.