Changelog

This page keeps a detailed human friendly rendering of what’s new and changed in specific versions. Please see Version Guarantees for more information.

v1.1.0

Breaking Changes

  • Remove the RichComponent.factory class variable and replace it with new RichComponent.get_factory() and RichComponent.set_factory() class methods. (#39)

  • Remove the RichComponent.manager class variable and replace it with new RichComponent.get_manager() and RichComponent.set_manager() instance methods. (#39)

  • ComponentManager.register_component() and ComponentManager.deregister_component() have been modified, and certain internal behaviour has changed. (#48)

    More noticeably, ComponentManager.deregister_component() now takes a component identifier rather than a full class.

  • RichComponent.get_manager() and RichComponent.set_manager() are now class methods. (#48)

  • Modify ComponentManager.parse_message_components() to take components directly and return a sequence of disnake UI components to support parsing v2 components. (#50)

  • Remove ComponentManager.finalise_components in favour of ComponentManager.update_layout(). (#50)

Deprecations

New Features

  • Add a new META FieldType for component fields that should not be stored in the custom ID (FieldType.CUSTOM_ID) and should not be inferred from the raw disnake component (FieldType.INTERNAL). (#39)

  • Make the RichComponent Protocol runtime-checkable. (#39)

  • Support registering the same component to multiple ComponentManagers. (#39)

  • The ComponentManager instance is now immediately stored on a RichComponent when it is registered. (#48)

    This should reduce the number of times you need to manually provide a manager to RichComponent.as_ui_component() etc.

  • Add ComponentManager.update_layout() to update a disnake UI component layout in-place with rich components (v1 and v2 compatible). (#50)

v1.0.1

Documentation

  • Introduce towncrier for changelogs. (#41)

  • Fix source code links and installation instructions and some miscellaneous issues. (#42)