Releases: hikari-py/hikari
Releases · hikari-py/hikari
General bugfixes
Breaking changes
- Rename GuildAvailableEvent.guild_chunk_nocne to GuildAvailableEvent.chunk_nonce
- Documentation moved back to
/hikari
Bugfixes
- Fix outputing sha1 and version in cli
- Fix outputing version in pypi version detection
Configurable cache
Breaking changes
- RestAware does not include CacheAware anymore
- Guild chunker removed
PartialMessage.reply
renamed toPartialMessage.respond
reply_message
arg renamed toreply
reply_mention
arg renamed tomentions_reply
PresenceUpdateEvent.get_cached_user
renamed toPresenceUpdateEvent.get_user
- Documentation has been moved from
https://hikari-py.github.io/hikari/hikari
tohttps://hikari-py.github.io/hikari/documentation
chunking_limit
andenable_cache
args removed fromBotImpl
- To retain the functionality of
enable_cache
, please useBotImpl(cache_settings=CacheSttings(enable=False))
- To retain the functionality of
Features
source_channel
andsource_guild
have been added toWebhook
- Guild template objects and endpoints
Member.is_pending
attribute addedMember.roles
property addedapplications.TeamMember
now extendsusers.User
- Twemoji base url has been switched to raw.githubusercontent.com to avoid redirects
- Stateful and stateless components merged
Message.respond
can take inreply
asTrue
to reply to the messageGuildAvailableEvent
now includes aguild_chunk_nonce
attribute to aid tracking chunks- CacheImpl rewritten internally
- Fully configurable (
hikari.config.CacheSettings
) - Allow snowflakes.Snowflakeish to be used for IDs in calls to cache
- Fully configurable (
Bugfixes
- Improve handling websocket disconnects
- Mobile friendly landing page
OwnUser.send
now matches the inherited signaturementions_reply
added toedit_message
- PyPI checker now recomends you to update dev releases
- Voice state now correctly updates (muting and deafening)
- Cache now cleared out on bot closure
.channel
properties failing to assert whenNone
Role tags and dm flow
Breaking Changes
None :)
Features
- DM flow on user objects
- Better
__str__
forBulkDeleteError
Package bumps
multidict
(5.0.2 -> 5.1.0)
Gateway and component bugfixes
- New error
ComponentNotRunningError
that will be raised when trying to interact with a component that is not running - Actually closing when one of the shards has been manually shut down
sent_close
not being set when callingsend_close
- Unused ratelimiter now hooked up to prevent getting disconnected on too many requests
bot.shards
is now populated as soon as the shard object is created to be able to be used throughbot.x
on shard events
Inline replies support and `old_x` on update and delete events
Breaking changes
rest.create_crossposts
has been renamed torest.crosspost_message
MessageCrosspost
renamed toMessageRefence
Features
- New webhook endpoints to interact with messages sent by webhooks
rest.edit_webhook_message
rest.delete_webhook_message
old_x
fields on objects that are sent onXUpdateEvent
andXDeleteEvent
- This requires the cache to be enabled and the info to be available. If not,
old_x
will beNone
.
- This requires the cache to be enabled and the info to be available. If not,
- Cache configuration is now possible by using
BotApp(cache_settings=...)
- Message cache
- Configurable by using
hikari.config.CacheSettings
- Configurable by using
- Logging fixes
- New speedup (brotli)
Bugfixes
bot.heartbeat_latency
returning the sum of all shard latencies instead of the averagebot.wait_for
not removing waiter from the set on timeout- Switch to using
x-ratelimit-reset-after
as reset_after for more precision- Add reactions endpoint should be faster now
Package version bumps
- aiohttp (3.7.2 -> 3.7.3)
- brotli (1.0.7 -> 1.0.9) [speedups] SECURITY BUG, PLEASE UPDATE IF YOU ARE USING IT
Ratelimits fixes and new models
Breaking changes
Message
mentions have been moved toMessage.mentions
as aMentions
object to provide more functionality
Features
GuildMember.ban
is now implemented- Prebuilt documentation indexes for faster loading times
- New
rest.search_members
endpoint
Bug fixes
- Running expensive logging functions when logging was not enabled
- This slowed down requests, which wont happen now.
- Implemented a lock on requests which only allows 1 simultaneous request to aid ratelimiting
- Should help bots which use a lot 1 single endpoint, as there will be no more 429's
Package version bumps
- attrs (20.2.0 -> 20.3.0)
- colorlog (4.4.0 -> 4.6.2)
- multidict (5.0.0 -> 5.0.2)
Correct shard and bot closing
Breaking changes
- Removed
PUBLIC
andPUBLIC_DISABLED
flags from guild features and they have been replaced byCOMMUNITY
andDISCOVERABLE
Features
- New JSON Codes
- Bot and webhook integrations objects + endpoints
- New
IntegrationType
andIntegrationApplication
- New
- AuditLog methods
Bugfixes
- Errors by shards being suppressed and always being treated as being able to reconnect
- This will now kill the application when trying to connect with invalid intents, for example
- Enum
iter
not returning correct values - Allow
include_presences
to beFalse
whenGUILD_PRESENCES
isn't declared forrest.request_guild_members
Packages bumped
multidict
(4.7.6 -> 5.0.0)aiohttp
(3.6.2 -> 3.7.2)cchardet
(2.1.6 -> 2.1.7) [speedups]
Misc
- Lots of new test
- Removed some unreachable code
Python 3.10 support and bug fixes
Features
- Python 3.10 support
hikari.errors.RateLimitTooLongError
error message improved
Bug fixes
- Creating a guild channel and specifying a category wouldn't create the channel under that category
hikari.errors.RateLimitTooLongError
getting raised when it shouldn'tmax_rate_limit
default increased to 5 minutes
Documentation fixes
hikari.undefined.UNDEFINED
not being documented properly- Updated links to point to new website
index.html
content appearing in search results
Pickle fixes
This will enable undefined values to be pickled correctly, as this was in a request to be fixed.
Breaking changes
- You will no longer be able to call
hikari.undefined.UndefinedType()
to get a reference tohikari.undefined.UNDEFINED
, you should instead access the constant value directly.
Improved handling of rate limits.
No new functionality or breaking changes.
Fixes
Rate limits are now limited to sleeping for 60 seconds by default. If you are rate limited for any longer than this, you get a RateLimitTooLong error instead.
This was implemented in response to Discord actively giving "retry-after: 2 days" in rate limit headers, which previously would have made the caller wait 48 hours to perform an API call when creating roles in bulk.