Discord Social SDK
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Release Notes

Release Notes

1.2.8730 (2025-05-08)

  • Resolved load errors on iOS 11. Note that the minimum version supported for Client::Authorize support remains iOS 15. Support for legacy iOS versions is limited to provisional accounts at this time.

1.2 (2025-05-05)

Rich Presence

  • Added support for adding custom buttons on activity cards via Activity::AddButton

Packaging

  • Unity and Unreal plugin artifacts now contain just the additional files for console support so they can be extracted on top of the base plugin
  • Unity plugin is now packaged as a .zip that you should extract inside the Packages directory of your project to enable the above
  • Console archives now contain a small README with some console-specific documentation

Misc

  • Added Client::OpenConnectedGamesSettingsInDiscord for deeplinking into Discord's settings for connected games, which provides players some control over who can DM them
  • Fixed a hang that could occur on Linux in Client::RegisterLaunchCommand and Client::RegisterLaunchSteamApplication
  • Client::RegisterLaunchCommand and Client::RegisterLaunchSteamApplication now work from inside the Steam Runtime on Linux
  • Fixed a crash on exit that could occur when there were pending callbacks in the queue

1.1.8318 (2025-04-18)

Platforms

  • Playstation standalone archives now include linker stubs

Voice

  • Fixed a regression in audio playback on Linux

1.1 (2025-04-11)

Platforms

  • Added Xbox One and PS4 console support

Auth

  • Added support for Unity Services as an external auth provider

Voice

  • StartCallWithAudioCallbacks now permits sample data to be modified during record and playback for custom effects processing
  • Fixed a bug where the speaking state for a user could be stuck in the "on" state
  • Added discordpp::Call::GetPTTReleaseDelay
  • Initialization of the voice engine is now delayed until it's needed
  • Fixed a deadlock with the Linux PulseAudio backend where malfunctioning audio devices could cause a voice engine lockup

Rich Presence

  • Added support for sending rich presence updates and invites without connecting to the Discord gateway on desktop

Misc

1.0 (2025-03-26)

Downloads

Downloads for the SDK can now be found on the developer portal. If you go to https://discord.com/developers/applications and click on your application you should have a new "Discord Social SDK" section in the sidebar (shown below) and you can download the latest release from there.

API Cleanup

In the 1.0 release, we removed all APIs that were previously marked as deprecated. Additionally we had to make one additional breaking change from the previous release. Before we had a single Client::GetDefaultScopes function that returned the oauth scopes to use, but we planned on separating these.

  • Client::GetDefaultPresenceScopes now returns an oauth scope that will enable: account linking, the friends list, rich presence, provisional accounts, and activity invites.
  • Client::GetDefaultCommunicationScopes now returns an oauth scope that will enable: user DMs, lobbies, linked channels, and voice chat, in addition to everything in the presence scopes.

Client::GetDefaultCommunicationScopes is the exact same as what your integrations have been using so far, so just switching to that will be a noop, it returns the exact same oauth scopes as before and nothing else has changed.

However, if you are not planning to use DMs or Lobbies, you should consider switching to Client::GetDefaultPresenceScopes, since that way when users go to authorize the integration, they will only see the scopes that your integration is actually requesting, and won't wonder why you are requesting messaging permissions when you don't use them. If you have any questions about this though, please reach out!

Going forward, we are also enabling linked channels by default for apps that use the "communications" scopes, however, that change was not retroactive, so if you plan to use linked channels, please reach out to us when you are ready and we can turn that on for you.

Voice

  • Ensure that when a call is ended the participant always notifies the server they have left
  • Added Call::GetVADThreshold
  • Fixed a subtle regression in Client::SetSelfDeafAll
  • Documented that Client::StartCall will return null if attempting to start a call in a lobby while already in a call for that same lobby
  • Fix a crash that occurs in lobby voice after network drop out on Xbox

Presence/Invites

  • Fixed a crash when a non-friend user sends an activity invite to a lobby
  • Fixed that for provisional accounts, who also had the discord desktop app running, presence would not be cleared when the SDK was shutdown but the game was still running.
  • When publishing rich presence, the Joinable flag will only be set on the Activity if valid party information is present so that the Discord apps do not render the rich presence as joinable which can lead to an error
  • Fixed UserHandle::Status and UserHandle::GameActivity not including information about the current user
  • Improved the docs around RegisterLaunchCommand

C/C++ APIs

  • Fixed the internal C api (which we don't recommend using) to not crash if a nullptr is passed to the free function
  • Fixed Discord_SetGlobalAllocator was not exported
  • Removed DiscordObjectState::Unowned since it was never used

Misc

  • Fix an issue with the SDK getting not reconnecting after a temporary disconnection
  • Fix an occasional crash in the Unity editor on domain reload because of a stale callback queue
  • Reduced how frequently the SDK tries to RPC to the Discord desktop app
  • Fixed the Discord desktop RPC client getting behind if there were a number of RPCs sent at once
  • Signed the binaries for mac
  • Fixed the validation code in AcceptGameFriendRequest