Releases: whatsnowplaying/whats-now-playing
Releases · whatsnowplaying/whats-now-playing
Release 4.2.0 RC #1
This version is an early release candidate.
-
User-facing Changes
- Better handling of when the program is already running. It should help prevent some weird crashes.
- Error logging for when wikimedia attempts to continue but the program doesn't handle it.
- A few minor template changes.
- Twitch scope has changed and may request new permissions.
- Twitch scope is no longer saved in the configuration to allow for a future update to the Twitch code.
- Better error handling for when the Twitch token check fails.
- New discord link.
- Better support for limiting how long to look for additional information about tracks.
- Better crash recovery when parts of the system fail due to bad input from external services.
- Some external services got a speed-up.
- MusicBrainz lookups should be a tad smarter.
- Date calculations should more accurately reflect the original release date.
- In some cases, metadata wasn't being read from certain file types. That should be improved now.
-
Internal changes:
- Upgrade to Python 3.11.
- Ability to read multiple covers and store them in a slightly revamped imagecache.
- Imagecache DB is now v2 to reflect the front cover cache.
- TinyTag pre-2.0 is now vendored again.
- Many, many dependency updates which fix various bugs and security problems.
- Support attempting to build on older macOS releases.
- Switch from coveralls to codecov.
- Rework unit tests to use some mocks and env vars.
- DB now keeps tracks of watchers and will kill watchers if it gets unallocated.
- Switch to use aiohttp AppKey.
- Add internals to webserver to help debugging.
- Code coverage and testing setup rework.
- Simplify some requirements.
- Better exception logging for some subsystems.
- Some of the metadata DB schemas have changed.
To upgrade, you just need to download your platform's zip file and not the source code files.
Release 4.1.0
- IMPORTANT! SOME SETTINGS WILL BE CHANGED:
- Artist Extras support is now on
- Musicbrainz support and Musicbrainz fallback is now on
- The new Wikimedia support is now on (see below)
- IMPORTANT! 'artistthumb' has been renamed to 'artistthumbnail' in the metadata. For most users, this change is invisible, but if you use the API directly, be aware of this change.
- IMPORTANT! All of the default templates have had their formatting cleaned up here and there. Additionally, many of the
ws-
files have had their CSS cleaned up so that they scale more much more proportionally to the browser window. In OBS, you will likely need to remove any excess CSS in the Properties setting in order for them to work correctly. This change makes it possible to use, for example, the rotating artist fanart collection in place of artist thumbnails as well as have a better chance of success with extremely long track titles. - EXPERIMENTAL! Added support for DJUCED DJ software!
- EXPERIMENTAL! Special handling for Youtube downloaded content that hasn't been properly tagged.
- EXPERIMENTAL! When doing some data lookups, if a song is a remix then fallback to the non-remixed version to at least try to locate artist data.
- Added Wikimedia as a source if the wikidata entity URL is available as an artist website, such as if Musicbrainz website data is selected.
- Reworked metadata gathering again and likely lost some performance in the process. But the higher quality sources should now be picked first.
- Discogs should now honor Discogs artist URLs if they are available in the artist website data.
- With the last two in mind, discogs and wikidata links from Musicbrainz will always be present in the website data if Musicbrainz is turned on.
- Fixed some issues with 'The' disappearing from artist names.
- Musicbrainz lookups should be much more reliable when certain tag are defined.
- If covers cannot be found, other artwork may now be substituted via the artistextras settings.
- A new websocket example template (
ws-justthecoverhtm
) that just shows the cover is now available. - Template variable 'genres' has been added as a list as opposed to 'genre' which is a single string. Only Musicbrainz currently supports filling in the 'genres' variable.
- It should now do a better job of using various manipulations of names. For example, MӨЯIS BLΛK will also trigger searches for Moris Blak in many places. Probably not perfect, but something is better than nothing.
- Better support for "artist feat. artist" and other forms of multiple artists working together. However, as a trade-off, some identification features that used to work no longer do. For example, "Prince & The Revolution" will get recognized for "Purple Rain", but just "Prince" may not.)
- theaudiodb language fallback should now work better.
- Added a new twitchbot template that shows track and bio information as a more complex example of what can be done with the twitch bot.
- Twitch chat now has a default announcement template that will be set on new installs.
- If
Original Date
orOriginal Year
tags are able to be read, those will be used in place ofDate
andYear
tags. - Some comments metadata tags that were not being read correctly should have a higher chance of success now.
- Internal: Changed the method by which the software looks for the 'Documents' folder on new installs because Windows 11 really wants you to use OneDrive.
- Internal: Artwork caching should now work much better when substitutions are being done using recognition with the new
imagecacheartist
DB value. - Internal: Greatly improved a lot of out timeout problems by adding some timeout values to many of the 3rd party frameworks in use. As a result, there are a lot more customized bits rather than using off-the-shelf components. :(
- Internal: The usual dependency updates.
To upgrade, you just need to download your platform's zip file and not the source code files.
Release 4.0.6
From 4.0.6:
- Setlists were not getting created.
- Fresh installs would not actually install.
From 4.0.5 (withdrawn):
- Musicbrainz fill-in feature should be less crash-prone
- Ability to force Twitch chat bot to post rather than reply
- Twitch bot permissions should be more reliable
- Quite a few small bug fixes all over that could potentially lead to crashes
- Dependency fixes as usual
- Some log cleanup
- Minor perf enhancements here and there
- Experimental: duration/duration_hhmmss
- keep menu item running longer so users do not think the app is actually shut down
- document the windows media support
- change source code line length to 100
- change how plugins are defined
Release 4.0.4
- Experimental feature: New option to use Musicbrainz to fill in missing metadata based only on artist and title (and album if available).
- Add support for AVIF graphics. At some point, all of the templates will be updated to handle multiple formats so be prepared!
- On Windows, the ability to read from Windows Media Transport compatible software, such as Amazon Music, Soundcloud, and likely others. (Ironically, Windows Media Player doesn't appear to use it for whatever reason.)
- Ability to disable reading Virtual DJ remix fields from the M3U history file. This feature has no impact on what is read from the media itself. In other words, if the MP3 is tagged with remix data that will still show up.
- Twitch redemptions using the 'Twofer' format now has the track title as optional.
- A new skip track filter based upon a keyword in either the genre or comment field.
- The internal twitch lock should now be less likely to deadlock.
- Some log messages have been bumped up from debut to error.
- Unit tests ran during development have been improved.
- Rework the development process; now almost entirely
pyproject.yaml
-based. - Some major doc changes here and there.
- Rework and simplify some of the internals of plugins.
- Along with that, sources that do not have the required operating system component installed won't show up as a possible selection in the UI.
- The usual dependency updates that should improve program speed and dependability.
Release 4.0.3
Major and minor bug fixes this time around:
- Force binaries to build with Python 3.10 as 3.11 causes problems.
- Verify the image cache at startup and every hour
- Fixed some bugs around base64 encoding in the webserver that would trigger a 500 HTTP error
- missed an await in trackrequest that cause it to go awol
- Quiet down the logging of Virtual DJ playlist import
- Try to make the artistextras artwork handling consistent when artist names are in disagreement. (Part 1)
- Change TCP timeouts in artistextras to be based on track delay times if possible
- Fix some edge-case crashes with artistextras
- Push the discord more 😄
- Enhanced the automated testing of some parts of the code base
- More dependency updates
- Add some debug messages for some rare issues
- JSON test source now supports random tracks
Release 4.0.2
Minor bug fix release:
- Some dependency updates which should improve a few edge-case problems.
- Prevent the app from being accidentally launched twice.
- On new installs, the webserver is now enabled by default.
- Some internal cleanup/simplification.
- Some dialog changes for new installs.
- Twitch chatbot token should now auto-strip 'oauth:' again if that is put into the settings field.
Release 4.0.1
Changes, with thanks to @apreeel for finding these bugs!
- Do not crash if a Native Instruments directory exists without a Traktor installation.
- Log the platform in the debug log.
- Make the installer actually install.
Release 4.0.0
Major Changes
- New logic for first-time users to attempt pre-configuring some things. This change also removes the requirement of having a file that has to be written.
- Support for Icecast which enables butt, MIXXX, and many, many more.
- New support specifically for Traktor and Virtual DJ.
- OBS Websocket v5 support for OBS Studio v28+. Older versions of OBS Websocket are not supported.
- Twitch support major overhaul! New UI and support for track requests via channel point redemptions or chat or both.
- Additionally, Twitch support for randomized requests tied to crates/playlists.
- New Discord support to update a bot's status
- Upgrades from v1 and v2 are no longer supported. You will need to upgrade to v3 first if you wish to save your settings.
- The plain text file output now supports append!
- Webserver supports serving static content from the NowPlaying/httpstatic directory. Useful for when you want to add logos to the web templates.
- There wis now a check for newer versions of the software being available!
Internal/Minor Changes
- New About menu item, new icon, and new logo!
- Minor website redesign and direct download links in Quickstart.
- Some new and updated templates to clean up some things and to show off the new features.
- Cover art should now be shown when using Tidal on Serato.
- Using other streaming services on Serato should no longer break some of the artist features.
- Virtual DJ's custom m3u entries will now attempt to be used, enabling external services such as Deezer.
- Major structural changes internally over a series of code changes so that TrackPoll may support asyncio. A side benefit has been that various parts of the system are just generally faster, more efficient.
- Metadata processing finally got some (simple) parallelization.
- Subprocess handling is now much more streamlined and should be less impacted by crashes.
- Speaking of crashes, many edge-case crashes have been eliminated.
- Along the same line, quite a few general concurrency issues fixed.
- SSL certificate authority file is now built into the binary to prevent weird SSL errors.
- Serato processing has gotten a major overhaul.
- Artist URLs should now be normalized as well as better de-duplication (e.g., http vs. https to the same site)
- Moved various bits of source around in the source tree to ease maintenance.
- MusicBrainz should be more reliable in a few cases.
- A few more things are now using pathlib.
- Better error reporting/capturing for a few things.
- A simple JSON-based source plug-in to help test things out.
- The usual doc updates to with the changes.
- Several rounds of dependency updates.
- Some updates for logging to better capture problems when they occur and better status reporting in others. Plus some logs have been removed entirely.
- Python v3.10 is now required.
Release 3.1.3
Primarily an interim release to fix a few bugs. There is an upcoming v4.0.0 release which will be making quite a few incompatible changes. This release should allow for downgrading from that release.
- Allow downgrade from v4.0.0
- Fix issues with some closed websocket connections
- Fix some crashes if the setlist is empty
- Verify expected version of python if building from scratch
Release 3.1.2
- Reworked filtering support to use user-supplied regular expressions.
- If the title filtering added in 3.1.0 was enabled, it will be converted to use the new regular expression support.
- Beginning support for setlists:
- New previoustrack template variable.
- Example !previoustrack Twitchbot command to give users ability to query the track list.
- New option to write the complete setlist to a file for either your own recording keeping or to share on social media or whatever.
- Upgraded all web templates to jquery 3.6.1
- Added some new example websocket templates
KNOWN ISSUES:
- OBS Websocket support does not work with OBS Studio v28. This issue will be fixed as part of the next release.