Updates the QueueView to pass 'not player.current' to player.queue.history(), ensuring the history is correctly reversed and displayed when not showing the current queue.
Refactored Player.invoke_controller to combine controller setting and update checks, and added error handling for message deletion. Updated dispatch_message to use Optional types and MISSING for default values, improving clarity and handling of delete_after logic.
Moved recommendation query generation from Node to Track using the new TrackRecType enum, simplifying and centralizing platform-specific recommendation formatting. Updated related methods to use Track.get_recommendations, removed Node.get_recommendations, and improved enum handling for search platform matching. Also exposed TrackRecType in voicelink.__init__.
Standardized playlist link validation messages across all language files and code, removing specific references to Spotify and YouTube. Updated README and help view to reflect broader platform support and clarified instructions. Removed unused YouTube regex and related thumbnail logic from objects.py.
Replaces traceback printing with structured logging using ipc_client._logger.error, providing better context and exception details when method processing fails.
Replaced custom ExecuteModal and AddNodeModal classes with a generic BaseModal for code execution and node creation. Updated Node class to initialize _stats attribute. Adjusted logic in NodesPanel to check for node stats before displaying memory info.
Replaced custom Modal class with BaseModal in embed_builder.py for consistency and maintainability. Updated modal instantiation to use custom_id and improved value handling. Removed redundant on_error methods from help.py, pagination.py, and search.py, and delegated error handling to superclass in controller.py for cleaner error management.
Introduced an 'items' property to the Pagination class for direct access to the underlying items list. Refactored QueueView to use this new property, improving code clarity and consistency.
Initializes _current_view to the 'home' view if present, instead of None. Also removes unused BaseModal import and fixes type annotation for Pagination in QueueView.
Ensures that get_prefix returns an empty string if the prefix is None, preventing potential issues with command parsing when no prefix is set in the settings.
Previously, _get_lang returned 'EN' if the language was not found, which could cause issues. Now, it sets lang to 'EN' and continues processing, ensuring consistent behavior.
Improved docstrings for 'play' and 'search' commands in basic.py for clarity. Updated localization keys and translations in es-419.json, es-ES.json, and zh-CN.json to fix punctuation, naming consistency, and minor translation errors.
Removed get_lang_non_async and replaced its usage with a new internal _get_lang function. Updated get_lang to use _get_lang for consistency. Updated Player class to use _get_lang directly, improving code clarity and reducing duplication.
Refactored playlist viewing logic for improved modularity and maintainability, introducing PlaylistViewManager and DynamicViewManager. Updated language files to standardize playlist view titles and descriptions, and removed unnecessary emojis. Updated requirements.txt to discord.py 2.6.3. Enhanced send function to support file attachments.
Revised the docstrings for the play and search commands in basic.py for clarity. Updated corresponding translation strings in es-419.json, es-ES.json, and zh-TW.json to match the new descriptions.
Deleted docker-compose.yml, lavalink/Dockerfile-lavalink, and lavalink/application.yml to remove support for running Lavalink via Docker. This change may indicate a migration away from Docker-based deployment or a refactor of the service architecture.
Replaced ListView with QueueView for queue/history display, introducing improved pagination and modal support via new utilities in views/utils/. Updated imports and references in cogs/basic.py and views/__init__.py. Removed views/list.py and added views/queue.py, views/utils/pagination.py, and views/utils/modal.py for modular pagination and modal handling.
Corrects a variable name in the track existence check from 'track' to 'tracks', ensuring the method properly returns an empty list when no tracks are found.
Added a 'requires_fetch' parameter to the send function to ensure messages are fetched when needed. Enhanced command interaction checks to verify bot permissions for reading and sending messages in channels. Updated player controller logic to use the new fetch behavior for controller messages.
Enhances the send function to handle different Discord message response types more robustly by normalizing the returned message object. This ensures compatibility with InteractionCallbackResponse, WebhookMessage, and InteractionMessage types.
Updated Dockerfile-lavalink to fetch the latest Lavalink.jar release instead of a fixed version. Bumped youtube-plugin dependency from 1.13.4 to 1.13.5 in application.yml. Also removed commented-out dashboard dependency from docker-compose.yml for cleanup.
Added 'Fairqueue' and 'togglecontroller' keys to both es-419.json and es-ES.json for improved localization support. No other changes were made to the translation content.