Versions 3.0+ Changelog#

These are all the changelogs for stable releases of hikari-miru (version 3.0.0 to present).

Version 3.4.0#

  • Add miru.ext.menu, which aims to make creating complex, nested menus easy. See the documentation & example on how to use it.

  • Overhaul View autodefer logic. ViewContext are now automatically deferred if a response is not issued within 2 seconds, even if the callback is still running.

  • Add ItemHandler.get_item_by() and ItemHandler.get_item_by_id().

  • Deprecate ModalContext.get_value_by_predicate in favour of ModalContext.get_value_by. It will be removed in the next minor release (3.5.0).

  • Large amounts of typing improvements across the library.

  • Add CONTRIBUTING.md and configuration for common editors for better developer experience.

Version 3.3.1#

  • Fix View.last_context and Modal.last_context incorrectly casting variable types.

Version 3.3.0#

  • Add support for Python 3.12

  • Improve Context typing in callbacks for better typechecking experience when using custom contexts.

  • Minor changes to the type signature of ModalContext.get_value_by_id() and ModalContext.get_value_by_predicate().

Version 3.2.2#

  • Fix miru.abc.Item.position setter max value being it’s width instead of row width.

Version 3.2.1#

  • Fix miru.ext.nav.NavigatorView defaulting to ephemeral by default.

Version 3.2.0#

  • Add the ability to pass miru.Context to miru.ext.nav.NavigatorView.send() instead of an interaction or channel.

  • Added miru.ext.nav.Page to represent a page with a complex payload.

  • Updated miru.ext.nav.NavigatorView() and miru.ext.nav.NavigatorView.swap_pages() to accept miru.ext.nav.Page instances.

Version 3.1.3#

  • Fix miru.ext.nav.NavigatorView.on_timeout to properly edit provided initial interactions on timeout.

  • Fix miru.InteractionResponse from always deleting the initial response.

Version 3.1.2#

  • Update miru.View.message in bound views when receiveing an interaction.

  • Fix IndexError being raised when trying to add pages to a miru.ext.nav.utils.Paginator.

  • Fix miru.ext.nav.NavItem missing width from it’s __init__.

Version 3.1.1#

  • Fix miru.Item.position’s setter being called before width is set.

Version 3.1.0#

  • Added miru.Button.position attribute, setting it will determine the ordering of buttons within a row.

  • Remove deprecated functions miru.load() and miru.unload(), please use miru.install() and miru.uninstall() instead.

  • Fixed multiple embed support for navigators.

Version 3.0.3#

  • Updated to hikari v2.0.0.dev118

Version 3.0.2#

  • Fixed new select variants throwing errors if no options were selected.

  • Fixed an issue with new select variant values not being subscriptable.

Version 3.0.1#

  • Fixed not being able to instantiate items that derive from miru.ext.nav.NavItem.

Version 3.0.0#

  • BREAKING: miru.Select has been renamed to miru.TextSelect along with the decorator miru.select to miru.text_select.

  • BREAKING: miru.ext.nav.NavSelect has been renamed to miru.NavTextSelect.

  • Added miru.UserSelect, miru.RoleSelect, miru.ChannelSelect, miru.MentionableSelect along with their respective decorators.

  • Added Nav variants of all new selects to miru.ext.nav.

  • Added miru.ext.nav.NavigatorView.swap_pages() to allow mutating the pages of a navigator after instantiation.

  • Added initial framework and CI for unit testing in the library.

  • Improved the validation of item properties.

  • Added note about miru.load and miru.unload being removed in 3.1.0 to deprecation warning.

  • Fixed TextInput.min_length and TextInput.max_length not being able to be set to None.

  • Minor documentation and other fixes.