**288**
> Library rewrite.
(The rewrite history is available at https://github.com/goverfl0w/discord-interactions/compare/legacy-v3...stable.)
__**Miscellaneous**__
- Added strict type hinting on objects and attributes.
- **NEW:** Switch to new Read The Docs "Karma" theme.
- Moved to new documentation website: https://discord-interactions.rtfd.io/.
- :boom: **NEW:** Moved to new PyPI repository: `discord-py-interactions`.
> Please install by using `pip install -U discord-py-interactions`!
> **v3 AND UNDER** are now considered __**DEPRECATED.**__
> `discord-py-slash-command` will no longer be updated.
__**Core/API**__
- :boom: **NEW:** Removed `discord.py` as a dependency.
> This library is now a standalone library, which no longer needs a parent library such as
> discord.py, Pycord, nextcord or any other related d.py fork. You will be able to interact
> with the API and Gateway like these libraries do without needing to add them in your bot
> in order to use ours.
- **NEW:** Introduced gateway `WebSocket` connection.
- **NEW:** Introduced `HTTPClient` requester.
- Revamped object callback logic to `Listener` dispatch.
- **NEW:** Introduced `Cache` storage cache.
- **NEW:** Added new objects to reflect API schema objects.
- **NEW:** Introduced new "dynamic object generation" workflow.
> This works off of taking returned JSON as a dictionary in Python and transforming it
> into an object with predefined attributes (`__slots__`) that represents an API schema
> -strict object. These "data models" are able to give back a raw `_json` attribute for the
> pure dictionary data, and a recursive representation of the serializer with the attributes
> respectively.
__**Interactions**__
- Revamped objects for commands.
- **NEW:** Converted component usage into objects.
- Revamped and included new enumerables.
- **NEW:** Introduced dual-way decorator logic.
> Decorators used to only work during the callback trigger of an interaction creation event
> from the Gateway. This has been changed to now include command synchronization during
> the "constructing" phase, as well as passing data later into the cache which can be accessed.
- Restored `*args` and `**kwargs` invocation logic with dispatching events.
- **NEW:** Introduced `ActionRow`-less sending.
- Revamped error handler reading as `Exception`.
A huge thanks to also these contributors for helping with developing version 4.0 and building the library in the past:
eunwoo1104
LordOfPolls
DeltaXWizard
benwoo1110
AnotherCat
artem30801