0.3.0-rc4
🔄 RC4 — Release Candidate 4
🆕 Новое
- Изменение структуры, удаление services
🌀 Система Циклов
- 📚 Реализована новая архитектура:
BaseCycle,TaskCycle - ⏱️ Адаптивное управление задержками с точным
setTimeoutи коррекцией дрейфа event loop - 🔄 Поддержка
step,filter,execute,add,remove— API для кастомизации - 🧹 Автоматический и ручной GC после остановки плеера
- 💾 Повторное использование буфера при инициализации аудио
🔐 End-to-End Шифрование (DAVE)
- Полноценная интеграция DAVE: инициализация, переходы, ключи, защитные фреймы
⚙️ Команды
- 🎤 Поддержка соло-команд
- 🎛️ Пресеты для
play: фильтры, громкость и т.д. - 🎲 Исправлен редкий баг с проигрыванием случайного трека
- 📝 Добавлена команда
reportдля отправки жалоб/ошибок - Исправлена проверка в команде seek
🌐 REST / API (Платформы)
- 🔍 Исправлен механизм подбора трека при отсутствии прямого аудио
- 🔧 Улучшено определение платформы по URL
- 🛠️ Полностью переписан
httpsClient - 🚫 Исправлена ошибка с фейковыми платформами (platform spoofing)
- Теперь RestAPIThread правильно передает данные о платформе
- Теперь rest/error обрабатывает тип отправки сообщения
- Теперь yandex search отдает пустой array вместо ошибки
🎙️ Voice
- Исправлено некорректное удаление голосового подключения
🔊 Audio
- 🧮 Добавлен
highWaterMarkвBufferedAudio - 🧷
OpusEncoderтеперь корректно обрабатываетhead,tagsсегменты - Теперь отправляется 3 SILENT_FRAME вместо 1 при старте
🎼 AudioPlayer
- 🧠 Автономное управление жизненным циклом
- 🧩 Поддержка
SetArrayдля работы с фильтрами - ⌛ Добавлен
timeoutпри неактивном аудио (автоостановка) - Улучшен плеер, теперь функция play является универсальной
🎧 Адаптивный Jitter Buffer
- ⏳ Смещение времени в зависимости от
event loop lag - 🔇 Устранение щелчков: автостабилизация буфера
- 🔄 Переписан на
do/whileцикл
🌐 WebSocket Voice Gateway
- 🔄 Переподключение при ошибках, улучшенное логгирование статусов
- ✅ Полная поддержка
Discord Gateway v8 - 🔢 Добавлены:
WebSocketOpcodes,DiscordGatewayCodes,DaveOpcodes - 📡 Добавлен
User-Agent, включая интеллектуальное автоопределение - 🛡️ Установлен
setMaxListenersдля клиента Discord - 🎼 Исправлена рассинхронизация плеера при чтении аудио
- 🧨 UDP сокеты корректно уничтожаются при новом запуске
📦 ClientSRTPSocket
- 📊 Корректный расчёт
header - 🔐 Усилена безопасность
SRTPпри коротких nonce
📥 Receiver
- 🗣️ Начальная реализация приема аудио потока
🐞 Исправления (BugFixes)
- 🖼️ Проблема с изображениями при получении треков автора
- 🎵 Глобальные исправления поиска и получения аудио
- Исправлен httpsClient, ранее возникала проблема с yandex
- Изменено куча комментариев
🛠️ Технические улучшения
- 🧹 Удалён
gфлаг у переиспользуемых RegExp - 🔢 Вернул
Number.prototype.random - 🪵
Logger: буквенные префиксыI,W,D,E - 🧠 Ручной/динамический GC:
global.gc()вызывается при удалении последнего плеера- 📉 Потребление памяти снижено с 120MB до ~80MB
⚙️ Оптимизация Node.js
- 🛠️
--optimize_for_size - ♻️
--expose-gc
📝 .env
- 🗑️ Удалён
player.preferred, теперь автоопределение таймера
⚡ Оптимизация
- 🎨 Удалён
discord.jsColors — теперь используется собственныйenum
📜 Полный Changelog: GitHub Diff