Skip to content

Releases: hypergonial/hikari-arc

v1.4.0

08 Oct 16:17
Compare
Choose a tag to compare
  • Bump hikari to v2.0.0.
  • Add Python 3.13 support.
  • Add new optiontype with converter for hikari.Emoji.
  • Work around hikari bug to solve command sync failing when a command has localizations.

v1.3.4

02 Jun 22:47
Compare
Choose a tag to compare
  • Fix included basic hooks not working due to signature parsing

v1.3.3

27 May 13:13
Compare
Choose a tag to compare
  • Fix hooks defined as async callable classes not working. (For instance, limiters)

v1.3.2

24 May 22:41
Compare
Choose a tag to compare
  • 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

22 May 19:36
Compare
Choose a tag to compare
  • 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

12 May 19:49
07715e0
Compare
Choose a tag to compare

Deprecations

  • Deprecate Client.set_startup_hook and Client.set_shutdown_hook. These will be removed in v2.0.0. Use the newly added Client.add_startup_hook and Client.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 and hikari.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 and Client.remove_injection_hook.
  • Add support for multiple startup & shutdown hooks via Client.add_startup_hook and Client.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

06 Feb 15:53
4dd2529
Compare
Choose a tag to compare
  • Fix arc.utils.global_concurrency missing a limit argument.
  • Fix slash subcommands failing to resolve autodefer settings.

v1.2.0 - Better sync

26 Jan 13:02
Compare
Choose a tag to compare
  • 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

19 Jan 00:28
Compare
Choose a tag to compare
  • Add Client.create_task to make it easier to create "fire and forget" tasks.
  • Add Client.is_started and Client.wait_until_started for more convenient lifecycle management.
  • Add the ability to pass an already existing injector instance to Client via the injector= 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 is True 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

10 Jan 18:53
Compare
Choose a tag to compare

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 and arc.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.