github FoxxMD/multi-scrobbler 0.16.4

5 hours ago

The jumble of patches released this week in the aftermath of 0.16.0 were indicative of a poor release.

I take pride in making sure Multi-scrobbler is not one of those projects you are hesitant to upgrade because you don't know if "this will be the one that breaks unexpectedly". 0.16.0 was not up to that quality and for that, I apologize.

This release should hopefully make things right.

What's New?

ENV Testing and Stability

The ENV improvements made in 0.16.0 are here to stay but to address the quality issues mentioned above this release focused on building a proper test suite to validate and test all ENV keys with real, valid data:

  • tests were added for all sources/clients that
    • generate all ENVs for each source/client with real data derived from the ENV schema shape, using zocker
    • assign these ENVs to the actual environment and then build the actual source/client, verifying no config errors and that exactly one source/client of that type exist

This now puts ENV testing on the same level of testing as file/aio config and should catch any errors, like those fixed in 0.16.1 - 0.16.3, before they get to the release stage.

Note

I have done my best to ensure backwards compatibility while also improving validation for certain types of config (ex URLs) but it is possible, since there was no test data beforehand, I have over-narrowed a usecase that now results in validation errors.

If your Multi-Scrobbler was working before 0.16.0 (or this release) and now results in config errors please open an issue. This is not your fault, I need to do a better job documenting these edge cases and will fix any of these in another release.

Full Changelog

⛰️ Features

  • (No Category) Relax configureAs requirements for AIO configs
  • (No Category) Strongly-type internal events #666
  • (No Category) Add ENV config test suite
  • (No Category) Update json schema to draft-2020-12
  • (No Category) Normalize domain:port url input
  • (No Category) Better validation for normalized config urls

🐛 Bug Fixes

  • (discord) Fix discord ENV parsing validation
  • (No Category) Check for ENV prefix with startsWith instead of includes #668
  • (No Category) Narrow env config key collection to include prefix underscore #668
  • (No Category) Hand-rolled env data fixtures for some edge cases
  • (No Category) Hand-roll applemusic env fixture data

📚 Documentation

  • (No Category) Add more guidance for File config example/editor
  • (No Category) Hand-roll discord ENV updates

Don't miss a new multi-scrobbler release

NewReleases is sending notifications on new releases.