Discord

Category: communications

15 changes tracked

Monitored sources:

docs · every 6h

SDK packages:

discord.jsdiscord.pynextcorddiscordrbgithub.com/bwmarrin/discordgonet.dv8tion:JDADiscord.Netserenity

Last polled: 10/7/2026, 6:00:05 AM

Change History

breakingcritical97% confidence

Multiple breaking changes detected in this changelog period, including: (1) Channel obfuscation for bots lacking VIEW_CHANNEL (channels hidden/omitted from HTTP responses starting Nov 16, 2026; Gateway behavior testable now), (2) `shard` param now required for Get Current User Guilds with large bot sharding (returns 400 without it), (3) `PRUNE_REQUIRES_ADMIN` guild feature requiring ADMINISTRATOR permission for prune endpoints, (4) `channel.application_id` is now nullable, and (5) Battle.net connections removed from Get Current User Connections as of Sept 22, 2026.

Migration: Audit all usages of: GET /guilds/{id}/channels (handle obfuscated/omitted channels); Get Current User Guilds (pass `shard` param if using large bot sharding); prune endpoints (check for PRUNE_REQUIRES_ADMIN guild feature); channel.application_id (handle null values); GET /users/@me/connections (remove Battle.net connection dependency — no replacement available).
endpoint:GET /guilds/{guild.id}/channelsendpoint:GET /users/@me/guildsendpoint:GET /guilds/{guild.id}/pruneendpoint:POST /guilds/{guild.id}/pruneendpoint:GET /users/@me/connectionsparam:shardmodel:channel.application_idmodel:channel.flags (CHANNEL_OBFUSCATED 1<<17)param:PRUNE_REQUIRES_ADMIN

10/7/2026

Effective: 11/16/2026

breakingcritical97% confidence

Multiple breaking changes are present in this diff, most critically: (1) Channel obfuscation for bots lacking VIEW_CHANNEL — channels will be hidden or have fields nulled over Gateway/HTTP; (2) `shard` param now required for large bot sharding on Get Current User Guilds; (3) `application_id` on channel object is now nullable; (4) Battle.net and Riot Games connections removed from Get Current User Connections; (5) PRUNE_REQUIRES_ADMIN guild feature adds new permission requirement for prune endpoints.

Migration: Audit bots that read channel data for channels they may lack VIEW_CHANNEL on; handle CHANNEL_OBFUSCATED flag (1<<17) and null fields. Pass `shard` param if using large bot sharding on GET /users/@me/guilds. Treat `application_id` on channel objects as nullable. Stop relying on Battle.net/Riot Games connections from GET /users/@me/connections. Handle ADMINISTRATOR permission requirement for prune endpoints if guild has PRUNE_REQUIRES_ADMIN feature.
endpoint:GET /guilds/{guild.id}/channelsendpoint:GET /users/@me/guildsendpoint:GET /users/@me/connectionsendpoint:GET /guilds/{guild.id}/pruneendpoint:POST /guilds/{guild.id}/prunemodel:channel.application_idparam:shardmodel:channel.flagsmodel:CHANNEL_OBFUSCATED flag (1<<17)

10/7/2026

Effective: 11/16/2026

breakingcritical97% confidence

Multiple breaking changes were introduced across Discord's API: (1) GET /users/@me/guilds now returns 400 if `shard` param is omitted for large bot sharding apps; (2) `channel.application_id` is now nullable; (3) GET /guilds/{guild.id}/channels will omit channels where the bot lacks VIEW_CHANNEL starting November 16, 2026; (4) Guild prune endpoints now require ADMINISTRATOR permission if guild has PRUNE_REQUIRES_ADMIN feature; (5) Battle.net connections no longer returned by GET /users/@me/connections starting September 22, 2026.

Migration: Audit all affected integrations: (1) Pass `shard` param on Get Current User Guilds if using large bot sharding; (2) Handle `null` for `channel.application_id`; (3) Update channel-listing logic to handle obfuscated/omitted channels before November 16, 2026 — test via Gateway capabilities flag or Developer Portal toggle; (4) Check guild features for PRUNE_REQUIRES_ADMIN before calling prune endpoints; (5) Remove any reliance on Battle.net data from Get Current User Connections.
endpoint:GET /users/@me/guildsparam:shardmodel:channel.application_idendpoint:GET /guilds/{guild.id}/channelsendpoint:GET /guilds/{guild.id}/pruneendpoint:POST /guilds/{guild.id}/pruneendpoint:GET /users/@me/connectionsmodel:CHANNEL_OBFUSCATED flag (1 << 17)endpoint:POST /channels/{channel.id}/invitesendpoint:PUT /invites/{invite.code}/target-usersendpoint:POST /invites/{invite.code}/target-usersendpoint:DELETE /invites/{invite.code}/target-usersendpoint:POST /invites/{invite.code}/target-users/bulk-delete

9/30/2026

Effective: 8/12/2026

breakingcritical95% confidence

Multiple breaking changes are present in this diff, most critically: (1) Channel obfuscation for bots on GET /guilds/{guild.id}/channels (effective November 16, 2026 for HTTP, testable now via Gateway), (2) 'shard' param now required for Get Current User Guilds for large bot sharding apps (returns 400 without it), (3) Battle.net connections removed from GET /users/@me/connections (fully effective September 22, 2026), (4) PRUNE_REQUIRES_ADMIN guild feature changes permission requirements for prune endpoints, and (5) channel.application_id is now nullable.

Migration: Audit all usages of GET /guilds/{guild.id}/channels and handle obfuscated channels (CHANNEL_OBFUSCATED flag, '___hidden___' name); add 'shard' param to Get Current User Guilds if using large bot sharding; remove any reliance on Battle.net connections from GET /users/@me/connections; handle null application_id on channel objects; check guild features before calling prune endpoints.
endpoint:GET /guilds/{guild.id}/channelsendpoint:GET /users/@me/guildsendpoint:GET /users/@me/connectionsendpoint:GET /guilds/{guild.id}/pruneendpoint:POST /guilds/{guild.id}/pruneparam:shardmodel:channel.application_idmodel:channel.flags (CHANNEL_OBFUSCATED 1<<17)endpoint:POST /channels/{channel.id}/invitesendpoint:PUT /lobbiesendpoint:POST /lobbies/{lobby.id}/messagesendpoint:GET /lobbies/{lobby.id}/messagesmodel:Application.flags_newmodel:User.premium_type

9/23/2026

Effective: 11/16/2026

breakingcritical97% confidence

Multiple breaking changes detected in this diff, most critically: (1) Channel obfuscation for bots lacking VIEW_CHANNEL (Gateway changes active now, HTTP changes effective November 16, 2026); (2) shard param now required for Get Current User Guilds with large bot sharding (returns 400 without it); (3) Battle.net connections removed from Get Current User Connections starting September 22, 2026; (4) channel application_id is now nullable; (5) PRUNE_REQUIRES_ADMIN guild feature changes permission requirements for prune endpoints.

Migration: Audit bot code for: (1) any reads of channels the bot lacks VIEW_CHANNEL on — handle CHANNEL_OBFUSCATED flag and omitted HTTP channels; (2) large bot sharding implementations — add required shard query param to Get Current User Guilds; (3) any code consuming Battle.net connections from GET /users/@me/connections — remove dependency before Sept 22 2026; (4) null-check application_id on channel objects; (5) handle 403 for prune endpoints in guilds with PRUNE_REQUIRES_ADMIN feature.
endpoint:GET /guilds/{guild.id}/channelsendpoint:GET /users/@me/guildsendpoint:GET /users/@me/connectionsendpoint:GET /guilds/{guild.id}/pruneendpoint:POST /guilds/{guild.id}/pruneparam:shard (GET /users/@me/guilds)model:channel.application_idmodel:channel.flags (CHANNEL_OBFUSCATED 1<<17)model:Presence Update activities (custom status privacy)header:Gateway Identify capabilities (1<<15 for obfuscation testing)

9/22/2026

Effective: 8/12/2026

breakinghigh95% confidence

Multiple breaking changes announced: (1) Channel obfuscation for bots lacking VIEW_CHANNEL permission (Gateway and HTTP, effective November 16, 2026 for HTTP); (2) Battle.net connections removed from GET /users/@me/connections (effective September 22, 2026); (3) PRUNE_REQUIRES_ADMIN guild feature adds new permission requirements for prune endpoints; (4) channel.application_id is now nullable; (5) Message forwarding now requires message content access.

Migration: Audit bot code that reads channels without VIEW_CHANNEL; handle null application_id on channel objects; check prune endpoint permission logic; remove reliance on Battle.net connections from GET /users/@me/connections before Sept 22 2026; ensure forwarding bots have message content access.
endpoint:GET /guilds/{guild.id}/channelsendpoint:GET /users/@me/connectionsendpoint:GET /guilds/{guild.id}/pruneendpoint:POST /guilds/{guild.id}/prunemodel:channel.application_idmodel:channel.flags (CHANNEL_OBFUSCATED 1<<17)param:capabilities (Identify payload 1<<15)

9/18/2026

Effective: 11/16/2026

breakingcritical97% confidence

Multiple breaking changes announced: (1) Channel obfuscation for bots lacking VIEW_CHANNEL will hide sensitive channel fields over Gateway and omit channels from GET /guilds/{guild.id}/channels HTTP endpoint starting November 16, 2026; (2) Battle.net connections will no longer be returned by GET /users/@me/connections starting September 22, 2026; (3) Guild prune endpoints now require ADMINISTRATOR permission if guild has PRUNE_REQUIRES_ADMIN feature; (4) channel.application_id is now nullable; (5) Message forwarding now requires message content access.

Migration: Audit bot code for: channel list reads (handle obfuscated channels with '___hidden___' name and CHANNEL_OBFUSCATED flag 1<<17); Battle.net connection reads (no replacement); prune endpoint permission checks; null handling for channel.application_id; message forwarding permission checks. Test channel obfuscation via Gateway capabilities flag 1<<15 or Developer Portal toggle before November 16, 2026 HTTP deadline.
endpoint:GET /guilds/{guild.id}/channelsendpoint:GET /users/@me/connectionsendpoint:GET /guilds/{guild.id}/pruneendpoint:POST /guilds/{guild.id}/prunemodel:channel.application_idmodel:channel.flags (CHANNEL_OBFUSCATED 1<<17)endpoint:Message Forwardingparam:PRUNE_REQUIRES_ADMIN guild feature

9/12/2026

Effective: 8/12/2026

breakinghigh97% confidence

Multiple breaking changes announced: (1) Channel obfuscation for bots lacking VIEW_CHANNEL — channels hidden via Gateway and omitted from HTTP GET /guilds/{id}/channels starting November 16, 2026; (2) Battle.net connections removed from GET /users/@me/connections immediately for new connections, and fully on September 22, 2026; (3) PRUNE_REQUIRES_ADMIN guild feature now gates prune endpoints behind ADMINISTRATOR permission; (4) channel.application_id is now nullable; (5) Message forwarding now requires message content access.

Migration: Audit bots that read all guild channels regardless of VIEW_CHANNEL access and update to handle obfuscated channel data. Stop relying on GET /users/@me/connections for Battle.net data before Sept 22, 2026. Handle nullable application_id on channel objects. Ensure bots forwarding messages have content read access.
endpoint:GET /guilds/{guild.id}/channelsendpoint:GET /users/@me/connectionsendpoint:GET /guilds/{guild.id}/pruneendpoint:POST /guilds/{guild.id}/prunemodel:channel.application_idmodel:channel.flags (CHANNEL_OBFUSCATED 1<<17)param:PRUNE_REQUIRES_ADMIN guild feature

9/5/2026

Effective: 11/16/2026

breakinghigh97% confidence

Discord is obfuscating channel data for bots that lack VIEW_CHANNEL permission: over the Gateway, sensitive fields will be nulled/replaced with '___hidden___' and a new CHANNEL_OBFUSCATED flag (1 << 17) will be set; over HTTP, GET /guilds/{guild.id}/channels will omit those channels entirely starting November 16, 2026. Additionally, the channel object's application_id field is now nullable, and Battle.net connections will stop being returned by GET /users/@me/connections starting September 22, 2026.

Migration: Audit bots that read channels they may not have VIEW_CHANNEL on: handle the new CHANNEL_OBFUSCATED flag and obfuscated field values over Gateway; handle missing channels in GET /guilds/{guild.id}/channels over HTTP (effective Nov 16, 2026). Update any code that assumes channel.application_id is always a non-null snowflake when present — it can now be null. Remove any reliance on Battle.net connections from GET /users/@me/connections before September 22, 2026 (no replacement available).
endpoint:GET /guilds/{guild.id}/channelsmodel:Channel (flags, name, permission_overwrites, application_id)endpoint:GET /users/@me/connectionsparam:CHANNEL_OBFUSCATED flag (1 << 17)param:channel.application_id

8/28/2026

Effective: 11/16/2026

breakinghigh97% confidence

Discord is obfuscating channel data for bots that lack VIEW_CHANNEL permission: over the Gateway, sensitive channel fields will be nulled/replaced, and over HTTP, GET /guilds/{guild.id}/channels will omit inaccessible channels entirely starting November 16, 2026. Additionally, Battle.net connections will be removed from GET /users/@me/connections starting September 22, 2026, with no replacement.

Migration: Audit bots that read full guild channel lists, calculate permissions across all channels, or mirror channel structures. Use the CHANNEL_OBFUSCATED flag (1 << 17) to detect hidden channels via Gateway. For HTTP, update logic to handle missing channels from GET /guilds/{guild.id}/channels. Test Gateway behavior now using capabilities flag (1 << 15) or the Developer Portal toggle. Remove any reliance on Battle.net connection data from GET /users/@me/connections.
endpoint:GET /guilds/{guild.id}/channelsendpoint:GET /users/@me/connectionsmodel:Channelparam:flags (CHANNEL_OBFUSCATED 1 << 17)param:permission_overwritesmodel:Battle.net Connection

8/26/2026

Effective: 11/16/2026

breakinghigh97% confidence

Discord is changing channel visibility for bots: over the Gateway, channels a bot lacks VIEW_CHANNEL on will have sensitive fields obfuscated (name becomes '___hidden___', new CHANNEL_OBFUSCATED flag set); over HTTP, GET /guilds/{guild.id}/channels will omit inaccessible channels entirely starting November 16, 2026. Bots that read full channel metadata regardless of their own access will be impacted.

Migration: Audit your bot's channel handling logic. If it reads channels it may not have VIEW_CHANNEL on, update it to handle obfuscated channel objects (check for CHANNEL_OBFUSCATED flag 1<<17) and missing channels from the HTTP response. Test early via the Gateway by sending 1<<15 in the Identify capabilities field or enabling the 'Private Channel Obfuscation' toggle in the Developer Portal.
endpoint:GET /guilds/{guild.id}/channelsmodel:channelparam:flagsparam:permission_overwritesparam:name

8/22/2026

Effective: 11/16/2026

breakinghigh97% confidence

Discord is introducing Channel Obfuscation for bots, where channels the bot lacks VIEW_CHANNEL permission on will have sensitive fields hidden over the Gateway (name becomes '___hidden___', fields nulled, new CHANNEL_OBFUSCATED flag set) and will be omitted entirely from GET /guilds/{guild.id}/channels HTTP responses. This is a breaking change effective August 12, 2026 for Gateway and November 16, 2026 for HTTP.

Migration: If your bot reads data about channels it cannot view (e.g., auditing full channel lists, calculating permissions across all channels), update your code to handle obfuscated channel objects (check for the CHANNEL_OBFUSCATED flag, 1 << 17) and missing channels in HTTP responses. Test via the Gateway today by sending 1 << 15 in the Identify capabilities field or enabling the 'Private Channel Obfuscation' toggle in the Developer Portal.
endpoint:GET /guilds/{guild.id}/channelsmodel:Channel Objectparam:flags (CHANNEL_OBFUSCATED 1 << 17)param:permission_overwritesparam:nameheader:Gateway CHANNEL_UPDATE event

8/15/2026

Effective: 8/12/2026

breakinghigh95% confidence

The `application_id` field on the Channel object is now nullable, meaning it can be serialized as `null` for future guild channels. This is a breaking change for apps or libraries that assume `application_id` is always a snowflake when present.

Migration: Update any code that reads `channel.application_id` to handle `null` values in addition to the expected snowflake string. Do not assume a non-null value when the field is present.
model:Channelparam:application_id

8/14/2026

Effective: 8/5/2026

breakinghigh95% confidence

The `application_id` field on the Channel object is now nullable, meaning it can be serialized as `null` for future guild channels. Apps or libraries that assume `application_id` is always a snowflake when present will break.

Migration: Update any code that reads `application_id` from a Channel object to handle `null` values, not just absence of the field.
model:Channelparam:application_id

8/12/2026

Effective: 8/5/2026

breakinghigh95% confidence

Starting July 10, 2026, Riot Games and League of Legends connections will no longer be returned by the GET /users/@me/connections endpoint. There is no replacement for this functionality.

Migration: Remove any code that reads Riot Games or League of Legends connection data from GET /users/@me/connections, as there is no replacement endpoint available.
endpoint:GET /users/@me/connectionsparam:Riot Games connectionparam:League of Legends connection

8/8/2026

Effective: 7/10/2026

Get alerts when Discord changes affect your code

Connect your GitHub repos and Breakwatch will map your Discord usage and alert you about relevant changes.

Get started for free