Skip to content

v9.0.6 release

Choose a tag to compare

@braindigitalis braindigitalis released this 27 Sep 15:00
· 3731 commits to master since this release

We are happy to announce the 9.0.6 release of D++! This is quite a big release, with a whole load of fixes, changes, and enhancements listed below, and is a recommended upgrade especially for windows users and users of voice/audio. Many of the changes have been in relation to voice support, making things more stable, flexible and adding support for different use cases that many of you have requested. As always if you need assistance you can find us on the official support server!

Release Changelog

💥 Breaking Changes

  • better handling of failure to auto-shard, throws a catchable exception instead of leaving a dead cluster
  • Split discord_voice_client::send_audio() into two different functions discord_voice_client::send_audio_raw() and discord_voice_client::send_audio_opus(). It is also possible to set different duration on the packets sent to send_audio_opus(). Using this function saves on having to re-encode the stream again.

✨ New Features

  • add self_deaf and self_mute to the voice connect calls as optional bools
  • add functions to get/set timescale for audio
  • Library now generates pkg-config file on installation
  • Official FreeBSD support
  • add co_number and co_mentionable handling for slash commands, also increase int32_t integer value to int64_t
  • Ability to send pre-encoded opus frames directly to the audio system

👷 CI

  • add win32 (32 bit windows debug/release) builds

🐞 Bug Fixes

  • Fix internal const correctness in strptime
  • fix disconnecting from voice (forcing disconnection as moderator made it never able to reconnect again)
  • Fix windows builds not booting in some situations
  • Add dummy ptrs into discord_voice_client so that it doesn't break if the user builds their bot without HAVE_VOICE defined, but built the lib with it
  • Opus encoder/decoder/repacketizer pointers were uninitialised on all but the first construction of discord_voice_client causing potential stack corruption and crashes
  • Switch case break; was missing in commandhandler.cpp
  • change internal maps to const static
  • default slashcommand type to ctxm_chat_input
  • move opus.h into discordvoiceclient.cpp so that there is no reference to its headers on the public API side
  • sanity checks for destructing REST queue, allows dpp::cluster to be destructed properly

📚 Documentation

  • add set_type to the button components example
  • Add ogg opus streaming example
  • Update voice examples
  • Menus rejig, make a 'building a bot' section -- good for SEO and usability
  • really cool 'how to make a bot in vs' tutorial
  • Add an example for application sub-commands usage
  • doxygen runs are now clear of warnings

Thanks for using D++!