Hikari

Latest version: v2.1.0

Safety actively analyzes 682404 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 8

1.0.0

This marks the **first stable release** of `arc`, meaning that from this point on, the project follows [semantic versioning](https://semver.org/), and no breaking changes will happen (until an eventual 2.0).

- Add [loops](./guides/loops.md). Loops can be used to repeatedly call a given coroutine function with a specific interval or cron set.
- Add [concurrency limiters](./guides/concurrency_limiting.md). 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](https://arc.hypergonial.com) got a major refresh, adding & extending guides where needed.

0.6.0

- Add `Context.get_option()` to access options outside the command callback in a type-safe manner.
- Add `Client.walk_commands()` and `Plugin.walk_commands()` to iterate over all commands & subcommands of a given type in a type-safe manner.
- Add `CallableCommandProto.display_name`, `SlashCommand.make_mention()`, `SlashSubCommand.make_mention()`.
- Change `Context.respond_with_builder()` to attempt a followup message when the interaction has an initial response and a message builder was passed.
- Remove the `acquire()` method from `LimiterProto` to make it easier to implement custom limiters.
- Split `arc.utils.hooks.RateLimiter` into `arc.utils.RateLimiter` and `arc.utils.hooks.LimiterHook`. This allows `arc.utils.RateLimiter` to be used independently of an arc context object.

0.5.0

- **Breaking:** Re-order OptionParams object parameters. `description=` is now the first & only positional argument. `name=` has been moved to the second parameter and is now keyword-only.
- Add [limiters](./guides/hooks.mdlimiters).
- Add `autodefer`, `default_permissions`, `is_dm_enabled` and `is_nsfw` to client & plugin types. If set, these settings will be applied to all commands added to the client/plugin. They can still however be overridden by individual commands.
- Add `GatewayClientBase` and `RESTClientBase` to aid in creating custom client types. Examples on how to do this have also been added to the repository.
- Fix `InteractionResponse.retrieve_message()` failing due to incorrect assertion.
- Fix subcommands & subgroups unable to have hooks or an error handler.

0.4.0

- Add localization support through locale providers. See the localization example for more.
- Add `GatewayClient.listen`, `GatewayClient.subscribe`, `GatewayClient.unsubscribe`.
- Add `GatewayPlugin.listen`, `GatewayPlugin.subscribe`, `GatewayPlugin.unsubscribe`.
- Make all first-order decorators work as second-order decorators as well.

0.3.0

- Add [hooks](./guides/hooks.md).
- Add lifecycle hooks to `Client` along with an error handler.
- Declare `attrs` explicitly as a dependency.

0.2.0

- **Breaking:** Rename `Context.edit_response()` to `Context.edit_initial_response()`. This is to make the purpose of the function clearer.
- **Breaking:** Remove `arc.Injected[T]` typehint alias. Use `arc.inject()` instead. This is to avoid confusion between the two.
- **Breaking:** Rename `GatewayPlugin` to `GatewayPluginBase` and `RESTPlugin` to `RESTPluginBase`.
- Add `GatewayContext` aliasing `Context[GatewayClient]`
- Add `RESTContext` aliasing `Context[RESTClient]`
- Add `GatewayPlugin` aliasing `GatewayPluginBase[GatewayClient]`
- Add `RESTPlugin` aliasing `RESTPlugin[RESTClient]`
- Add support for passing mappings to `choices=` when specifying option params.
- Move `ABC`s used internally under `arc.abc`.
- Improve handling missing responses via REST by adding `NoResponseIssuedError`.
- Fix `plugin.inject_dependencies` failing when located outside of the main module.

Page 7 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.