Releases: tandemdude/hikari-lightbulb
v3.0.0a15
Features
Menu.attach
now returns an instance ofMenuHandle
instead of a generic awaitable - allowing the menu to be stopped without using aMenuContext
or timeout.
Bugfixes
- Changed logging level for exceptions happening in tasks from
WARNING
toERROR
. (#486) - Fix sporadic attribute error when using
self.previous_row()
within a component menu class.
v3.0.0a14
v3.0.0a13
Features
-
- Implement injection for union dependencies using
Foo | Bar
. If any of the requested dependencies are not registered, it will fall back to the next in the union. - Implement injection for optional dependencies using
Foo | None
. If all the requested dependencies are not registered, it will fall back toNone
. - Implement injection 'meta annotations' (
Try[]
andIf[]
) allowing modifying of the fall-back behaviour.
(#454)
- Implement injection for union dependencies using
-
Add
name
argument to thehook()
decorator andname
attribute toExecutionHook
. -
Prefab cooldown hooks now register an instance of
CommandCooldown
as a dependency when they are executed.
Bugfixes
- Fix
KeyError
preventing error handlers being loaded from extensions. - Fix menu task exceptions being logged even if they were raised previously.
v2.3.5.post1
Bumps minimum Hikari version to 2.1.0
.
v3.0.0a12
Breaking Changes
Menu.attach
now has thewait
parameter set toTrue
by default, and thetimeout
parameter set to30s
by default.
Bugfixes
- Fix DI creating a new default container every time instead of reusing the existing one.
- Fixed DI failing when trying to create dependencies with more complex dependency trees.
v3.0.0a11
Bugfixes
-
- Improved container hierarchical dependency resolution process.
- Add significantly more
DEBUG
logging throughout the DI pipeline. DependencyInjectionManager.enter_context
now needs to be called for every context you wish to enter; it will no longer enter the default context automatically.DependencyInjectionManager.enter_context
now searches the existing container hierarchy to find an existing container for the passed context before trying to create a new one.DependencyInjectionManager.enter_context
now returns a no-op container implementation instead ofNone
if DI is disabled globally.
(#449)
-
Fix default injection container being closed when explicitly entering the
DEFAULT
DI context.
Features
v2.3.5.post0
Bumps minimum Hikari version to 2.0.0
.
v3.0.0a10
Documentation
- Update code examples for version 3 from version 2. (#436)
Features
- Add a component and modal handler implementation. You can use these to more easily handle the creation and execution of message components, as well as submitted modal forms. (#438)
Deprecations and Removals
- The
ephemeral
argument forContext.defer()
is now keyword-only.
v3.0.0a9
Features
- Add
prefab
subpackage containing some simple built-in hooks. More will continue to be added. utils.get_command_data()
now works for groups and subgroups.
Miscellaneous
- Switch to using types from
collections.abc
instead oftyping
wherever possible.
v3.0.0a8
Features
- Add
hooks
parameter toclient_from_app
- allowing commands to inherit common hooks from the client. (#430)
Bugfixes
- Fix autocomplete callbacks not being called if the option had localization enabled.
- Fix command parameter validation failing sometimes when using long localization keys.
- Fix subcommands with localization enabled not being invoked as expected.
- Slightly improved performance of invoking nested subcommands.
Deprecations and Removals
-
-
Client.register_deferred
has been removed. You should now useClient.register(defer_guilds=True)
instead. -
guilds
kwarg forClient.register
has new semantics. Read the docstring for more information.
(#429)
-
-
Removed
HookFailedException
.ExecutionPipelineFailedException
now has two attributes containing the hooks that
failed, and the exception that caused them to fail. You may need to update your error handler to reflect this.