v9.0.6 release
·
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 functionsdiscord_voice_client::send_audio_raw()anddiscord_voice_client::send_audio_opus(). It is also possible to set different duration on the packets sent tosend_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_numberandco_mentionablehandling for slash commands, also increaseint32_tinteger value toint64_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_clientso that it doesn't break if the user builds their bot withoutHAVE_VOICEdefined, but built the lib with it - Opus encoder/decoder/repacketizer pointers were uninitialised on all but the first construction of
discord_voice_clientcausing potential stack corruption and crashes - Switch case
break;was missing incommandhandler.cpp - change internal maps to
const static - default slashcommand type to
ctxm_chat_input - move
opus.hinto discordvoiceclient.cpp so that there is no reference to its headers on the public API side - sanity checks for destructing REST queue, allows
dpp::clusterto 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++!