Skip to content

Latest commit

 

History

History
615 lines (482 loc) · 34 KB

CHANGELOG.md

File metadata and controls

615 lines (482 loc) · 34 KB

Changelog

0.3.1 — 2023-03-02

This patch release applies some minor fixes, while correcting documentation errors and adjusting some organisaation in the repository.

Thanks to the following for their contributions:

Added

Fixed

0.3.0 — 2022-07-22 — Chaffinch

Abundant and ever-curious, chaffinches are a vibrant and welcome visitor in these spring and summer months.

Making a quick and colourful splash, this breaking release mainly bumps our own dependencies and support for Discord libraries without any sweeping changes -- while adding generic support for any future rust-based Discord library. However, we have now removed support for the v0.2 series of the Tokio runtime.

Thanks to the following for their contributions:

Upgrade Pathway

  • Tokio v0.2 support has been removed in parity with other Discord libraries -- users must now migrate to v1.x.x.
  • Deprecated events (ClientConnect, DriverConnectFailed, DriverReconnectFailed and SsrcKnown) have been removed.
  • ClientConnect must now be detected using VoiceStateUpdate messages from your main gateway library of choice.
  • The remainder should be replaced with DriverDisconnect, and DriverConnect/DriverReconnect

Added

Changed

Fixed

Removed

0.2.2 — 2022-02-13

This patch release makes it easier to create new ChildContainers, and deprecates the ClientConnect event. Users should instead make use of SpeakingStateUpdate events and Discord gateway events.

Thanks to the following for their contributions:

Added

Changed

Fixed

0.2.1 — 2022-01-05

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

  • [docs] Examples: Fix unmatched quotation mark in comment. (#101) (@lajp) c:62ecfe6
  • [events] Events: fix handling of multiple timed events on a single track (#96) (@FelixMcFelix) c:e25cc14

0.2.0 — 2021-08-17 — Magpie

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

0.1.8 — 2021-07-01

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

Thanks to the following for their contributions:

Fixed

  • [input] Input: Fix Duration underflow on negative start time (#83) (@JellyWX) c:e58cadb

0.1.7 — 2021-06-14

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

0.1.6 — 2021-04-11

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

0.1.5 — 2021-03-23

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

0.1.4 — 2021-02-10

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

0.1.3 — 2021-02-04

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

0.1.2 — 2021-01-26

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

0.1.1 — 2021-01-17

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

0.1.0 — 2021-01-08 — Robin

We're very excited to publish and announce the first release of Songbird, an async Rust voice library for Discord! It's been a long time coming, but all the hard work has paid off in bringing the first version of this library to completion.

Thanks to the following for their contributions:

Songbird is based heavily on serenity's voice module, which has served as its base design, informed many of the design changes, and paved a lot of the API/protocol research needed. We'd also like to thank all users who have contributed to this module in the past for laying the groundwork for Songbird:

Added

Changed

Fixed