Bump hikari-miru from 3.3.1 to 4.1.1
Bumps hikari-miru from 3.3.1 to 4.1.1.
Release notes
Sourced from hikari-miru's releases.
v4.1.1
- Set
View.messageif ahikari.Messageis passed toClient.start_view()'sbind_to=.v4.1.0
- Add the ability to specify view items as classvars, similarly to modals
- Add the ability to pass the title to the modal as a class argument
- Fix
miru.ext.menu.Menu.build_response_async()ignoring theephemeral=kwarg.- Fix items created with decorators always having the same custom_ids, even when randomly generated.
- Fix
NavigatorViewdefault buttons being added whenitems=is specified.- Remove accidental
typing_extensionsimport inmiru.ext.nav.v4.0.0 - REST Bot support
This is a major breaking release, adding REST bot support, dependency injection, removing global state from the library, and generally cleaning up old mistakes and weirdness that accumulated over the past 2 years.
Alongside this release comes overhauled documentation, with improved navigation, layout & search and extended examples. If you are looking for the v3 docs, you can find them here.
[!TIP] If you already have an application that depends on v3 of miru, see the migration guide.
BREAKING: Raised the minimum supported Python version to 3.10 or greater.
BREAKING: Change all
@mirudecorators to takeContextas their first argument and the item (button/select etc..) as their second.BREAKING: Seperate link buttons out of
miru.Buttonasmiru.LinkButton.BREAKING: Remove
miru.install(). Usemiru.Clientinstead.BREAKING: Remove
View.start()andModal.start(). UseClient.start_view()andClient.start_modal()respectively instead.BREAKING: Remove
NavigatorView.send(). UseNavigatorView.build_response()instead and send the builder.BREAKING: Remove
Modal.send(). UseModal.build_response()instead and send the builder.BREAKING: Remove
Menu.send(). UseMenu.build_response()instead and send the builder.BREAKING: Remove
miru.ModalInteractionCreateEventandmiru.ComponentInteractionCreateEvent. Use the unhandled interaction hooks instead.BREAKING: Made
ViewItem.callbackonly accept positional arguments. This is to allow renaming the context variable's name when overriding it in subclasses. This should not affect most people.BREAKING: Move
miru.Contexttomiru.abc.Context.BREAKING: Move
miru.SelectBasetomiru.abc.SelectBase.DEPRECATION: Passing
buttons=toext.nav.NavigatorView()constructor. Use the newly addeditems=instead. Thebuttons=argument will be removed in v4.2.0.Add
miru.Client. The client manages the state of all currently running views & modals & routes interactions to them.Add RESTBot support. Simply pass a RESTBot to
miru.Clientwhen initializing it.Add first-class support for dependency injection. This allows to better manage state across the library, along with adding better compatibility to
arcandTanjunviaClient.from_arc()andClient.from_tanjun()classmethods respectively.Add the ability to configure
autodeferat the item level for views. If an item does not specifyautodefer, the view's setting will be used.Add the ability to configure if the autodefer should be ephemeral, along with it's response type through
AutodeferOptions.Stabilize
Context.issued_response. This property returns a boolean that isTrueif the underlying interaction has already received an initial response.Add response builders for entire responses from views or modals.
Add
Context.respond_with_builder().Add
@Client.set_unhandled_component_interaction_hookand@Client.set_unhandled_modal_interaction_hook. These are called when an interaction is received that is not handled by any running modal or view.Add
miru.abc.InteractiveViewItemfor all view items that have callbacks. This includes all currentmiru.abc.ViewItemexceptmiru.LinkButton.v3.4.0 - Menus
- Add
miru.ext.menu, which aims to make creating complex, nested menus easy. See the documentation & example on how to use it.- Overhaul
Viewautodefer logic.ViewContextare now automatically deferred if a response is not issued within 2 seconds, even if the callback is still running.- Add
ItemHandler.get_item_by()andItemHandler.get_item_by_id().- Deprecate
ModalContext.get_value_by_predicatein favour ofModalContext.get_value_by. It will be removed in the next minor release (3.5.0).- Large amounts of typing improvements across the library.
... (truncated)
Commits
bd27499Update changelog15aaca0Set View.message if passed to bind_tob856f6dBump typing-extensions from 4.9.0 to 4.10.0 (#87)ff5e273Bump hikari-arc from 1.2.0 to 1.2.1 (#88)ce3a09bUpdate black requirement from ~=24.1.1 to ~=24.2.0 (#89)c887617Bump nox from 2023.4.22 to 2024.3.2 (#90)5d435eaBump ruff from 0.1.14 to 0.3.2 (#86)3d5ab64Upgrade pyteste3f9a59Update ruff5cd3c2cBump slotscheck from 0.17.1 to 0.17.3 (#66)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency -
@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)