- Move much of AzuraCast's merging and client integration into the library itself
- The library now uses typed properties on a return object for much more reliable hinting
- Update both this library and SupervisorPHP to use PSR-17 and PSR-18 standardized factories
Implement an upgrade of the codebase to use Slim Framework version 4, which includes the following changes:
- Updating to Slim version 4 and the corresponding AzuraCore updates.
- Making all objects PSR-7 Request/Response agnostic (and creating RequestHelper and ResponseHelper objects to interact with the PSR-7 Req/Resp objects).
- Moving to PHP-DI as a DI container and implementing its autowiring support.
- Make all radio adapters station-idempotent (no longer having the Station hard-coded in, allowing for reuse and removing several possible error cases)
- Make the Liquidsoap annotation and configuration building step event-driven for easy plugin overriding
- Make the "get next song" process event-driven