Releases: hypergonial/hikari-arc
Releases · hypergonial/hikari-arc
v1.4.0
v1.3.4
- Fix included basic hooks not working due to signature parsing
v1.3.3
- Fix hooks defined as async callable classes not working. (For instance, limiters)
v1.3.2
- Add
IntervalLoop.set_interval()
to change the loop interval after loop creation. - Fix error handling with slash subcommands sometimes causing infinite recursion.
v1.3.1
- Add the ability to configure if an
IntervalLoop
should run immediately after being started or not. - Fix
CronLoop
running immediately after being started.
v1.3.0
Deprecations
- Deprecate
Client.set_startup_hook
andClient.set_shutdown_hook
. These will be removed inv2.0.0
. Use the newly addedClient.add_startup_hook
andClient.add_shutdown_hook
instead.
Changes
- Add options with converters. These options do not exist on Discord's end, arc simply tries to convert a more primitive optiontype into the requested one, failing if it is not possible.
- Add new optiontypes with converters for
hikari.Member
andhikari.Color
. - Add
arc.OptionConverterFailureError
when a converter fails to convert an option value. - Add support for injecting dependencies contextually to command callbacks, hooks, and error handlers via
Client.add_injection_hook
andClient.remove_injection_hook
. - Add support for multiple startup & shutdown hooks via
Client.add_startup_hook
andClient.add_shutdown_hook
respectively. - Inject dependencies by default into pre/post-execution hooks & error handlers.
Fixes
- Fix client hooks being executed twice if a command is added to a plugin.
- Fix options mapping not taking name overrides into account.
Misc
- Bump alluka to
0.3+
.
v1.2.1
- Fix
arc.utils.global_concurrency
missing alimit
argument. - Fix slash subcommands failing to resolve autodefer settings.
v1.2.0 - Better sync
- Optimize command syncing by using bulk endpoints for global app commands as well, making it much faster.
- Improve command syncing error messages.
- Fix
@Client.listen
and@Plugin.listen
failing to parse event types with generics from function signatures.
v1.1.0
- Add
Client.create_task
to make it easier to create "fire and forget" tasks. - Add
Client.is_started
andClient.wait_until_started
for more convenient lifecycle management. - Add the ability to pass an already existing injector instance to
Client
via theinjector=
kwarg. If not passed, a new injector will be created by default, like before. - Set the client as a type dependency upon instantiation.
- Stabilize
Context.issued_response
. This property returns a boolean that isTrue
if the underlying interaction has already received an initial response. - Fix
hikari.User | hikari.Role | None
not being parsed as mentionable option. - Fix edgecase where options defaulted to
None
would be ignored in Python 3.10.
v1.0.0 - Stable
This marks the first stable release of arc
, meaning that from this point on, the project follows semantic versioning, and no breaking changes will happen (until an eventual 2.0).
- Add loops. Loops can be used to repeatedly call a given coroutine function with a specific interval or cron set.
- Add concurrency limiters. Concurrency limiters can be used to prevent users from invoking a command that already has a specific amount of instances running.
- Add
arc.StartedEvent
andarc.StoppingEvent
to gateway clients to enable managing lifecycle via events. - Fix command groups always being republished when command syncing.
In additon to these changes, the documentation got a major refresh, adding & extending guides where needed.