Skip to content

Releases: serenity-rs/songbird

v0.2.1

05 Jan 10:43
Compare
Choose a tag to compare

This patch release adds support for the yt-dlp fork of youtube-dl, and fixes track events to correctly fire events when multiple timed handlers are present on a track.

Thanks to the following for their contributions:

Added

Fixed

v0.2.0 — Magpie

17 Aug 13:14
Compare
Choose a tag to compare

Magpies are a common sight year-round; strong, intelligent, industrious, and loyal.

Taking after the humble magpie, this breaking release makes API changes favouring extensibility, patching some of the API rough spots, and adding resilience to some additional classes of failure.

Thanks to the following for their contributions:

Upgrade Pathway

  • References to songbird::{opus, Bitrate}; should now use songbird::driver::{opus, Bitrate};.
  • Custom Inputs (i.e., Reader::Extension/ExtensionSeek) now need to implement input::reader::MediaSource rather than just Read and/or Seek.
  • Sources which do not support seeking should have an unreachable!() function body or always return an error, as MediaSource::is_seekable() is used to gate support.
  • Many event handler types in songbird::EventContext have changed to unit enums, rather than struct variants.
  • New body types are included in songbird::events::context_data::*.
  • Config structs have been made non-exhaustive; they should be initialised via Config::default().
  • Channel join operations may now timeout after a default 10s—which should be handled.
  • Errors returned when joining a channel will now inform you whether you should try to leave a channel before rejoining.
  • Youtube-dl variants of songbird::input::error::Error have had their case altered from DL -> Dl.
  • TrackState sent from the driver are no longer boxed objects.
  • DriverDisconnect events have been introduced, which cover all disconnect events. As a result, DriverConnectFailed and DriverReconnectFailed are deprecated.
  • Tokio 0.2 support is deprecated. Related features will be removed as of Songbird 0.3.

Added

Changed

Fixed

Read more

v0.1.8

01 Jul 09:34
Compare
Choose a tag to compare

This release patches a metadata parsing panic caused by Ogg files with negative start times.

Thanks to the following for their contributions:

Fixed

v0.1.7

14 Jun 22:12
Compare
Choose a tag to compare

This release mainly patches an occasionally spinning task, due to a critical WebSocket read error.

Thanks to the following for their code contributions:

And special thanks to @jtscuba and @JellyWX for their efforts in reproducing, debugging and diagnosing the above issue.

Changed

Fixed

v0.1.6

11 Apr 12:36
Compare
Choose a tag to compare

This patch release fixes a driver crash on leaving a channel, adds a utility method for requesting the current channel ID, and limits a sub-dependency to ensure compatibility with Rust v1.48.0.

Thanks to the following for their contributions:

Added

Fixed

v0.1.5

23 Mar 09:11
Compare
Choose a tag to compare

This patch release adds bugfixes for incorrect seeking in Restartable sources and resource usage of inactive Drivers, as well as some utility methods and reduced logging.

Thanks to the following for their contributions:

Added

Changed

Fixed

v0.1.4

10 Feb 16:54
Compare
Choose a tag to compare

This patch release updates introduces a new event type, to expose a driver's SSRC externally on connect.

Thanks to the following for their contributions:

Added

Changed

v0.1.3

04 Feb 02:48
Compare
Choose a tag to compare

This patch release corrects the process drop logic to cleanup all chained child processes, and for Inputs to be safe to drop in async contexts. Additionally, this adds backwards-compatibility for Tokio 0.2 in serenity-based bots.

Thanks to the following for their contributions:

Added

Fixed

v0.1.2

26 Jan 21:37
Compare
Choose a tag to compare

This patch release fixes a PID/zombie process leak affecting bots running on Linux/Mac, and prevents youtube-dl warnings from being converted into fatal errors.

This release also changes Songbird managers to use DashMap internally, which should substantially speed up concurrent shard accesses to the central call registry.

Thanks to the following for their contributions:

Changed

Fixed

v0.1.1

17 Jan 23:30
Compare
Choose a tag to compare

This is a short patch release, fixing some error message spam under network failures, adding some new convenience event classes, as well as making it easier to cancel many event handlers.

Thanks to the following for their contributions:

Added

Fixed