Releases: hikari-py/hikari
2.3.2
2.3.2 (2025-05-09)
Deprecation
- Deprecate all
x_url
properties in favour ofmake_x_url()
methods (#2338)
Features
- Added
rest.create_voice_message
to support sending voice messages. (#2251) - Add AWEBP support for asset URLs and increase sticker asset availability (#2338)
- Add
old_thread
field toGuildThreadUpdateEvent
. (#2353) - Add reason parameter to the following endpoints:
delete_permission_overwrite
delete_webhook
delete_invite
reposition_channels
reposition_roles
delete_role
create_stage_instance
edit_stage_instance
delete_stage_instance
(#2354)
Optimizations
- Optimize reusing file resources when uploading repeated ones (#2336)
Bugfixes
2.3.1
2.3.0
2.3.0 (2025-04-22)
Breaking Changes
- Remove
GuildBuilder
class,RestClient.guild_builder()
andRestClient.create_guild_from_template()
due to Discord removing the feature for applications.- For more information, please see: https://discord.com/developers/docs/change-log#deprecating-guild-creation-by-apps (#2310)
Features
- Add components V2 (UIKit) support
- For more information, please see https://discord.com/developers/docs/components/overview (#2196)
- Add
Permissions.SEND_POLLS
andPermissions.USE_EXTERNAL_APPS
. (#2311) - Add the following values to UserFlag:
- SPAMMER
1 << 20
- PROVISIONAL_ACCOUNT
1 << 23
- QUARANTINED
1 << 44
- COLLABORATOR
1 << 50
- RESTRICTED_COLLABORATOR
1 << 51
(#2314)
- SPAMMER
Bugfixes
- Add
approximate_user_install_count
attribute toApplication
. (#2303)
2.2.1
2.2.1 (2025-04-06)
Features
- Add polls support:
- New rest endpoints:
RESTClient.fetch_poll_voters
,RESTClient.end_poll
- New objects:
Poll
,PollLayoutType
,PollResult
,PollAnswer
,PollMedia
- New builders:
PollBuilder
,PollAnswerBuilder
- New events:
BasePollVoteEvent
,PollVoteCreateEvent
,PollVoteDeleteEvent
(#2219)
- New rest endpoints:
- Added more specialized interaction events
CommandInteractionCreateEvent
,ComponentInteractionCreateEvent
,AutocompleteInteractionCreateEvent
andModalInteractionCreateEvent
to improve developer experience (#2241) - Added support for guild specific member banners. (#2271)
- HTTP interaction handlers can return
None
to indicate a response was/will be sent using REST instead. (#2280) - Added support for guild incidents.
- New object
GuildIncidents
as an attribute onGuild
. - New property
invites_disabled
added toGuild
to ease the confusion on the independentinvites_disabled_until
incident action andINVITES_DISABLED
guild feature. - New guild function
set_incident_actions
and rest functionset_guild_incident_actions
. (#2289)
- New object
- Added support for global and guild specific avatar decorations.
- New
AvatarDecoration
class. - New optional
avatar_decoration
,display_avatar_decoration
, andguild_avatar_decoration
attributes onUser
andMember
as applicable. (#2295)
- New
Optimizations
- Improve protocol checking speed. (#2252)
Bugfixes
- Add in the missing
hikari.api.InteractionMessageBuilder.clear_components
,hikari.api.InteractionMessageBuilder.clear_embeds
and abstract methods + enforce using@typing_extensions.override
within the library. (#2244)
Documentation Improvements
- Fix TOC jumping around when scrolling (#2255)
2.2.0
2.2.0 (2025-03-21)
Breaking Changes
-
Remove
PartialInteraction.get_channel
andPartialInteraction.fetch_channel
. You can directly usePartialInteraction.channel
instead (#1621) -
User commands breaking changes:
- Remove previously deprecated
command_interactions.InteractionChannel
andcommand_interactions.ResolvedOptionData
CommandInteraction.app_permissions
is no longer optional- Removal of
Commands.dm_permissions
andMessage.interaction
. UseCommands.contexts
andMessage.interaction_metadata
respectively (#2195)
- Remove previously deprecated
-
Remove
with_expiration
parameter from REST client'sfetch_invite
method.- The parameter has been a noop for a while as Discord removed it (#2224)
Features
-
Several new
PartialInteraction
features:- Add new
PartialInteraction.channel
attribute - Moved common interaction fields to
PartialInteraction
app_permissions
is now available for all interaction types- Add missing fields to
InteractionChannel
(#1621)
- Add new
-
Add missing fields to
AuditLogEventType
(#1991) -
Add user installations support (#2177)
2.1.1
2.1.1 (2025-02-26)
Features
- Allow specifying a reason for message deletions (#2066)
- Allow setting
name
andvalue
of anEmbedField
to an empty string. (#2105)
Bugfixes
- Fixed Entitlement
starts_at
andends_at
erroring when set toNone
. (#2149) - Properly handle and error on Cloudflare bans (#2168)
Documentation Improvements
- Added missing documentation for
GatewayShard
and for traitShardAware
, adding missing errors which can be thrown. (#2100)
2.1.0
2.1.0 (2024-09-25)
Breaking Changes
VoiceState.member
can now beNone
in cases where Discord doesn't send the relevant information (#2038)
Features
- Add the optional audit log
reason
argument tohikari.api.rest.RESTClient.delete_channel
and
hikari.impl.rest.RESTClientImpl.delete_channel
, the same way it already exists for e.g.
edit_channel
(#2058)
Bugfixes
2.0.0
2.0.0 (2024-08-28)
Breaking Changes
- Drop Python 3.8 support. (#2008)
Features
- Implement stage instances (#1725)
- Add Python 3.13 support (#1793)
- Add
title
anddescription
fields toAttachment
. (#1945) - Add
display_name
toPartialUser
(#1951) - Remove
Optional
type hint fromCommandInteraction.options
- it will now always be an empty sequence when not provided. (#1965) - Application-bound emojis API support. (#1990)
- Add
Member.guild_flag
and matchingGuildMemberFlags
enum. (#2004) - Add
Message.thread
field. (#2012) - Add new voice endpoints (
fetch_my_voice_state
andfetch_voice_state
) (#2016) - Add
fetch_role
method toRESTClient
(#2020)
Bugfixes
-
Fix incorrect cleanup when failing to create request with a web reader (#1946)
-
Fix serializing JSON dicts with enum values as keys.
-
Use Discord Media Proxy instead of CDN for animated stickers urls (#1982)
-
Use correct URL route for scheduled event covers. (#1983)
-
Perform proper comparison when checking
CustomEmoji
againstKnownCustomEmoji
. (#1986) -
Add
NITRO_BASIC
attribute toPremiumType
(#1988) -
Fix incorrectly deserialized field
type
inChannelOverwriteEntryInfo
(#1993) -
Add missing
AuditLogChangeKey.COMMUNICATION_DISABLED_UNTIL
and matching key deserialization (#1996)
2.0.0.dev126
2.0.0.dev126 (2024-06-20)
Features
- Add
registered_guild_id
field toBaseCommandInteraction
(#1930) - Add
clear_fields()
method toEmbed
(#1933) - Add payload to deserialization error to make it easier to diagnose (#1943)
Bugfixes
- Fix incorrect form uploads with transport sensitive content (#1909)
Documentation Improvements
2.0.0.dev125
2.0.0.dev125 (2024-04-28)
Features
- Add monetization support. (#1803)
- Add missing link properties
- Add
message_link
property toMessageReference
- Add
channel_link
property toMessageReference
(#1877)
- Add
- Add missing
video_quality_mode
field toGuildStageChannel
(#1891) - Optimize gateway transport
- Merge cold path for zlib compression into main path to avoid additional call
- Handle data in
bytes
, rather than instr
to make good use of speedups (similar toRESTClient
) (#1898)