From 1582160061a83f72d373f39c1ecc20a1b91c5a19 Mon Sep 17 00:00:00 2001 From: Colin Loretz Date: Thu, 5 Jun 2025 14:59:07 +0000 Subject: [PATCH 1/3] Added new social sdk 1.3 changelog --- .../2025-06-05-discord-social-sdk-1.3.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/change-log/2025-06-05-discord-social-sdk-1.3.md diff --git a/docs/change-log/2025-06-05-discord-social-sdk-1.3.md b/docs/change-log/2025-06-05-discord-social-sdk-1.3.md new file mode 100644 index 0000000000..96a2b1672d --- /dev/null +++ b/docs/change-log/2025-06-05-discord-social-sdk-1.3.md @@ -0,0 +1,32 @@ +--- +title: "Discord Social SDK Release 1.3" +date: "2025-06-05" +topics: + - "Discord Social SDK" +--- + +A new release of the Discord Social SDK is now available, with the following updates: + +### Authentication +- Added an `APPLICATION_DEAUTHORIZED` webhook event which can be configured in the developer portal. When a user unlinks their account or revokes authorization for your application in any way, this event will be sent to configured webhooks. The payload will contain serialized user information. See [Webhook Events](/docs/events/webhook-events) docs for more information on configuring webhook events. + +### PC +- Added configurable request timeout SDK HTTP client requests to mitigate crashing when connected to unstable/slow internet. Support is on PC in this release with console and mobile support coming in future release. Timeout default value is 30000ms (30 seconds) and can be configured using the new Client API: [Client::SetHttpRequestTimeout] + +### Mobile +- `SetSpeakerMode` is now deprecated. Unless `SetEngineManagedAudio` is used, audio routing will be handled automatically by the SDK + +#### Android +- Fixed routing of game and voice audio when external audio devices are connected and/or disconnected. `SetEngineManagedAudio` has been added to communicate that the SDK should not manage audio routing and automatically enter and leave `MODE_IN_COMMUNICATION` when joining and leaving calls. +- Fixed an issue with the Authorize method when a device configuration change needs to restart the activity + +#### iOS +- Various fixes for audio routing and session management. When using the Unity plugin, game audio will no longer stop playing when ending a call. For standalone SDK use, a method `SetEngineManagedAudio` has been added to communicate that the SDK should not automatically start and stop the `AVAudioSession` when joining and leaving calls. +- Corrected supported platform values in `Info.plist` for iOS .frameworks. + +### Consoles +- Standalone archives now only contain console-specific files, like the Unity and Unreal Engine archives + +### Misc +- Fixed a thread safety issue with [Client::AddLogCallback] +- Added [Flags] declaration for bit flags enums in C# \ No newline at end of file From 29da9b83c9643852d89af296b44a33decfe2578d Mon Sep 17 00:00:00 2001 From: Colin Loretz Date: Thu, 5 Jun 2025 15:25:02 +0000 Subject: [PATCH 2/3] Added social sdk ref links --- .../2025-06-05-discord-social-sdk-1.3.md | 18 ++++++++++++------ tools/doxygen/social-sdk-mappings.json | 10 ++++++++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/docs/change-log/2025-06-05-discord-social-sdk-1.3.md b/docs/change-log/2025-06-05-discord-social-sdk-1.3.md index 96a2b1672d..a79b343ba5 100644 --- a/docs/change-log/2025-06-05-discord-social-sdk-1.3.md +++ b/docs/change-log/2025-06-05-discord-social-sdk-1.3.md @@ -11,22 +11,28 @@ A new release of the Discord Social SDK is now available, with the following upd - Added an `APPLICATION_DEAUTHORIZED` webhook event which can be configured in the developer portal. When a user unlinks their account or revokes authorization for your application in any way, this event will be sent to configured webhooks. The payload will contain serialized user information. See [Webhook Events](/docs/events/webhook-events) docs for more information on configuring webhook events. ### PC -- Added configurable request timeout SDK HTTP client requests to mitigate crashing when connected to unstable/slow internet. Support is on PC in this release with console and mobile support coming in future release. Timeout default value is 30000ms (30 seconds) and can be configured using the new Client API: [Client::SetHttpRequestTimeout] +- Added configurable request timeout SDK HTTP client requests to mitigate crashing when connected to unstable/slow internet. Support is on PC in this release with console and mobile support coming in future release. Timeout default value is 30000ms (30 seconds) and can be configured using the new Client API: [`Client::SetHttpRequestTimeout`] ### Mobile -- `SetSpeakerMode` is now deprecated. Unless `SetEngineManagedAudio` is used, audio routing will be handled automatically by the SDK +- [`Client::SetSpeakerMode`] is now deprecated. Unless [`Client::SetEngineManagedAudioSession`] is used, audio routing will be handled automatically by the SDK #### Android -- Fixed routing of game and voice audio when external audio devices are connected and/or disconnected. `SetEngineManagedAudio` has been added to communicate that the SDK should not manage audio routing and automatically enter and leave `MODE_IN_COMMUNICATION` when joining and leaving calls. +- Fixed routing of game and voice audio when external audio devices are connected and/or disconnected. [`Client:SetEngineManagedAudioSession`] has been added to communicate that the SDK should not manage audio routing and automatically enter and leave `MODE_IN_COMMUNICATION` when joining and leaving calls. - Fixed an issue with the Authorize method when a device configuration change needs to restart the activity #### iOS -- Various fixes for audio routing and session management. When using the Unity plugin, game audio will no longer stop playing when ending a call. For standalone SDK use, a method `SetEngineManagedAudio` has been added to communicate that the SDK should not automatically start and stop the `AVAudioSession` when joining and leaving calls. +- Various fixes for audio routing and session management. When using the Unity plugin, game audio will no longer stop playing when ending a call. For standalone SDK use, a method [`Client::SetEngineManagedAudioSession`] has been added to communicate that the SDK should not automatically start and stop the `AVAudioSession` when joining and leaving calls. - Corrected supported platform values in `Info.plist` for iOS .frameworks. ### Consoles - Standalone archives now only contain console-specific files, like the Unity and Unreal Engine archives ### Misc -- Fixed a thread safety issue with [Client::AddLogCallback] -- Added [Flags] declaration for bit flags enums in C# \ No newline at end of file +- Fixed a thread safety issue with [`Client::AddLogCallback`] +- Added [Flags] declaration for bit flags enums in C# + + +[`Client::AddLogCallback`]: https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#af78996cff24a40f5dc7066beed16692c +[`Client::SetEngineManagedAudioSession`]: https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ade08897214152b9acfa79c263e77e366 +[`Client::SetHttpRequestTimeout`]: https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ae5fe2518b0b1b05ee1745ab0a79096b9 +[`Client::SetSpeakerMode`]: https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ac269ab57407e3b83e2bb2d30895e666d \ No newline at end of file diff --git a/tools/doxygen/social-sdk-mappings.json b/tools/doxygen/social-sdk-mappings.json index 123a66c93c..dedfdb1d8c 100644 --- a/tools/doxygen/social-sdk-mappings.json +++ b/tools/doxygen/social-sdk-mappings.json @@ -15,6 +15,8 @@ "discordpp::Activity::SetDetails": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Activity.html#a28d98bbf86841526a0b2c033f3a70b28", "discordpp::Activity::ApplicationId": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Activity.html#a1203f29b82e9716cdce9151c7ea3b2db", "discordpp::Activity::SetApplicationId": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Activity.html#a48b156412b91a9a09c268bf2c3f7f9ec", + "discordpp::Activity::ParentApplicationId": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Activity.html#a091058291278bf1ff0250b28bf311786", + "discordpp::Activity::SetParentApplicationId": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Activity.html#a37969990d16e5f58e6180ff49038311c", "discordpp::Activity::Assets": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Activity.html#a3fb85cc97867d2bf01e7e1a9a6414d95", "discordpp::Activity::SetAssets": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Activity.html#a7f0b6d7a92925a005444cb3f4055e2c3", "discordpp::Activity::Timestamps": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Activity.html#a912e6e9f685f9e7003731222016ed1a2", @@ -119,6 +121,8 @@ "discordpp::AuthorizationArgs::SetNonce": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1AuthorizationArgs.html#aeaf87c0b26a074ed7b23f2bd4647b6a6", "discordpp::AuthorizationArgs::CodeChallenge": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1AuthorizationArgs.html#a59930370c7ab835cf09fb6d8f893dd96", "discordpp::AuthorizationArgs::SetCodeChallenge": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1AuthorizationArgs.html#ad9c0f8479812266dbe3eb0eae6e7ea36", + "discordpp::AuthorizationArgs::IntegrationType": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1AuthorizationArgs.html#ac1ab5d5840789b48896d427cd78102d3", + "discordpp::AuthorizationArgs::SetIntegrationType": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1AuthorizationArgs.html#a01eedddbf32654ba7b17a0f14a9431ca", "discordpp::AuthorizationCodeChallenge::AuthorizationCodeChallenge": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1AuthorizationCodeChallenge.html#aa84866d278286fbc545beafb98b48ed8", "discordpp::AuthorizationCodeChallenge::operator=": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1AuthorizationCodeChallenge.html#a8ae0f5dd10c5ae9f9545b28e206a08d9", "discordpp::AuthorizationCodeChallenge::operator bool": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1AuthorizationCodeChallenge.html#a5a9c68e52c8f21d57d93240bc332cdc4", @@ -194,6 +198,7 @@ "discordpp::Client::SetAutomaticGainControl": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a818ae7f46b5bd3873dcd51dd3d9fa64d", "discordpp::Client::SetDeviceChangeCallback": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a31f683bd8df9f6fdcc384e4678301ef0", "discordpp::Client::SetEchoCancellation": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a1def244b7ecd388902ba5256ce506ca3", + "discordpp::Client::SetEngineManagedAudioSession": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ade08897214152b9acfa79c263e77e366", "discordpp::Client::SetInputDevice": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ad1e898d1486f9dfece15c6913261b66f", "discordpp::Client::SetInputVolume": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ad4358f5baffd9a5f2a6fa74d62459313", "discordpp::Client::SetNoAudioInputCallback": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a479e60724bf6b0b39b555c1ff8489b9e", @@ -225,9 +230,11 @@ "discordpp::Client::OpenAuthorizeDeviceScreen": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#af29a13acc992a75fc0870051ff68575b", "discordpp::Client::ProvisionalUserMergeCompleted": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#af836d40617bb6d74648309c768234184", "discordpp::Client::RefreshToken": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a187af0f99f94b3b9a4ad4302f6a443e7", + "discordpp::Client::RevokeToken": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a30ccea6366efaf0b884efcdcc28a6f2d", "discordpp::Client::SetAuthorizeDeviceScreenClosedCallback": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a27d1ac5d868a93a141254c59023a13bb", "discordpp::Client::SetGameWindowPid": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#aae200241796a779e4b9e8cb2d22138c2", "discordpp::Client::SetTokenExpirationCallback": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#aab5bfc76809ea22e79f2f7a067ac4519", + "discordpp::Client::UnmergeIntoProvisionalAccount": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a2da21ae8a3015e0e5e42c1a7226b256f", "discordpp::Client::UpdateProvisionalAccountDisplayName": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a7485979ab2d4c533b75f8efd5e50bc60", "discordpp::Client::UpdateToken": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a606b32cef7796f7fb91c2497bc31afc4", "discordpp::Client::CanOpenMessageInDiscord": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ae2aac143a691091691c5cc75aa07dace", @@ -311,6 +318,7 @@ "discordpp::Client::operator=": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a8c02c2584b09be381cb519ec8951ebcc", "discordpp::Client::operator bool": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ad35d2a626e64f4313883ce22cd45efb7", "discordpp::Client::GetApplicationId": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#abe66dd4bf3cbc27961d41e8e11015ff5", + "discordpp::Client::SetHttpRequestTimeout": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ae5fe2518b0b1b05ee1745ab0a79096b9", "discordpp::Client::ErrorToString": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#ab40c4c45450eb5d5f14346612b57ddae", "discordpp::Client::GetDefaultAudioDeviceId": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a91c6f22803d437153ad192f3395ac47c", "discordpp::Client::GetDefaultCommunicationScopes": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a71499da752fbdc2d4326ae0fd36c0dd1", @@ -427,6 +435,7 @@ "discordpp::RelationshipHandle::DiscordRelationshipType": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1RelationshipHandle.html#a5fecfb79a4a2b6f3dc5f73b09d0c3881", "discordpp::RelationshipHandle::GameRelationshipType": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1RelationshipHandle.html#aa60146eb72ede07e3e615565f61f97eb", "discordpp::RelationshipHandle::Id": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1RelationshipHandle.html#a3a14b6cfa9a9fffc61e500d8329be587", + "discordpp::RelationshipHandle::IsSpamRequest": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1RelationshipHandle.html#acf4d21fb62cf80ac10afa9d10308777a", "discordpp::RelationshipHandle::User": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1RelationshipHandle.html#ad87172b7df999ab56991c1be598e995e", "discordpp::UserHandle::AvatarType": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1UserHandle.html#a9cbf5933bc6181eb1900574f6eda9b18", "discordpp::UserHandle::UserHandle": "https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1UserHandle.html#a3c4e8166cb923dbb7b778ef87b73fd34", @@ -463,6 +472,7 @@ "discordpp::ErrorType": "https://discord.com/developers/docs/social-sdk/namespacediscordpp.html#ae19a5aed498bc40359e4d89d14ffb446", "discordpp::HttpStatusCode": "https://discord.com/developers/docs/social-sdk/namespacediscordpp.html#a12b04d48d8ea98ec007270a10e0c88ba", "discordpp::AuthenticationCodeChallengeMethod": "https://discord.com/developers/docs/social-sdk/namespacediscordpp.html#a1c123930bb42c6f9f77f18b5593ad876", + "discordpp::IntegrationType": "https://discord.com/developers/docs/social-sdk/namespacediscordpp.html#a5307c5c42ea96ec19f79e679a47c84be", "discordpp::AdditionalContentType": "https://discord.com/developers/docs/social-sdk/namespacediscordpp.html#aee4b786af6ac9cd4ade73eb2f873177b", "discordpp::AudioModeType": "https://discord.com/developers/docs/social-sdk/namespacediscordpp.html#ad12f4e0df799c97f417320ef861fcffb", "discordpp::ChannelType": "https://discord.com/developers/docs/social-sdk/namespacediscordpp.html#a1b68b260e8659da9a7792b2b2046fe58", From 35f5efdc931ac9ed8c58c850cc740ef99bcf8f36 Mon Sep 17 00:00:00 2001 From: Colin Loretz Date: Thu, 5 Jun 2025 15:25:46 +0000 Subject: [PATCH 3/3] :: --- docs/change-log/2025-06-05-discord-social-sdk-1.3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/change-log/2025-06-05-discord-social-sdk-1.3.md b/docs/change-log/2025-06-05-discord-social-sdk-1.3.md index a79b343ba5..07ee44b592 100644 --- a/docs/change-log/2025-06-05-discord-social-sdk-1.3.md +++ b/docs/change-log/2025-06-05-discord-social-sdk-1.3.md @@ -17,7 +17,7 @@ A new release of the Discord Social SDK is now available, with the following upd - [`Client::SetSpeakerMode`] is now deprecated. Unless [`Client::SetEngineManagedAudioSession`] is used, audio routing will be handled automatically by the SDK #### Android -- Fixed routing of game and voice audio when external audio devices are connected and/or disconnected. [`Client:SetEngineManagedAudioSession`] has been added to communicate that the SDK should not manage audio routing and automatically enter and leave `MODE_IN_COMMUNICATION` when joining and leaving calls. +- Fixed routing of game and voice audio when external audio devices are connected and/or disconnected. [`Client::SetEngineManagedAudioSession`] has been added to communicate that the SDK should not manage audio routing and automatically enter and leave `MODE_IN_COMMUNICATION` when joining and leaving calls. - Fixed an issue with the Authorize method when a device configuration change needs to restart the activity #### iOS