0.3.0 Release
📦 Changelog — 0.3.0
✨ Основные изменения
- 🆕 Полностью переработан движок воспроизведения: стабильные 20 ms send cycles с авто-адаптацией под нагрузку.
- 🛠️ Добавлен Jitter Buffer — теперь при перегрузке процессора поток остаётся плавным (динамическое смещение от 20 ms → 40 ms → …).
- 🎶 Поддержка BufferedAudioResource и PipeAudioResource для разных сценариев (seek, hot swap, длинные стримы).
- 🔒 Полная интеграция DAVE (Discord Audio Voice Encryption) с поддержкой
MLS proposals,commit,welcomeи epoch-переходов. - 🎛️ Управление громкостью:
<player>.volume, команда/volume. - ⚙️ Доработана расширяемая система циклов (
BaseCycle,TaskCycle,PromiseCycle) с учётомevent loop drift.
🆕 Новое
🔌 Rest/API
- 🌐 RestObject + ClientRestRequest: общение с API платформ в отдельном worker-потоке.
- 🔍 Исправление фильтрации платформ по возможностям (
auth,audio,wave) - 📝 Улучшение типов, переход на декораторы
- 🛠️ Исправления ошибок с платформами (Yandex, YouTube)
- ⚡ Добавление поддержки Deezer
- 📦 Улучшение получения аудио при запросе из кэша
🔄 Циклическая система
- 🔧 Полностью откалибрована, стабильна даже на ARM
- 🛰️ Динамический Jitter Buffer для гашения event loop lags
🧩 Переработка взаимодействий
- 🆕 Новая система команд, компонентов, middlewares, rest
- 🎨 Новые декораторы, улучшение типов
- ⏱️ Добавление cooldown отдельно в middlewares
🎵 Audio
- 🎧 Реализация fade-in / fade-out на уровне плеера.
- 🔄 Поддержка hot audio swap без обрывов.
- ⏱️ Улучшение синхронизации аудио (пока без фильтров)
- 🛠️ Исправления Opus при сильной нагрузке
- 🎼 Поддержка явной синхронизации для pipe-аудио
🐛 Исправления и улучшения
- ⚡ Оптимизирован запуск
child_process.spawnдля ускорения старта FFmpeg (~10-50 ms). - 🧹 Улучшено управление GC и обработка
event loop drift. - 🎯 Повышена стабильность при конвертации видео в фоне.
- 🛡️ Добавлена защита DAVE-переходов от сбоев и откатов.
- 🧩 Улучшено поведение при отсутствии плеера в циклах.
- ⚡ Перевод middlewares в sync режим
- ⚡ Упрощены:
InteractionCreate,autocomplete,rest/request,player.play - 🧹 Удаление неиспользуемые данные в env
- 🔄 Теперь нет
service, а естьcore - 📢 Сообщение о текущем треке теперь показывает кто включил трек
- 🎚️ Изменён парсинг фильтров в
<player>.filters.compress - 🔘 Кнопки разделены на отдельные файлы
🐞 Исправления багов
- 🎯 Исправлен старый баг с Rest/API, когда отдавались не те данные
- 🔘
bottom→button(как и должно быть) - ⚡ Исправление инициализации
BufferedAudioResource - ⏳ Исправлена команда skip
- 🛠️ Исправлена ошибка в RestServer, когда данные не возвращались
- 🧩 Исправление добавления фильтра (мог не примениться при включении в последний момент)
- 🧩 Исправлена ошибка с получением subcommand
📜 Ключевое из RC-версий
RC2
- 🎶 Внедрена система громкости для плеера.
- 🛠️ Добавлен
BufferedAudioResourceс seek-поддержкой.
RC3
- 🔄 Поддержка
PipeAudioResourceдля real-time потоков. - 🕒 Улучшена синхронизация Opus-пакетов с реальным временем.
RC4
- 🔒 Завершена интеграция DAVE (MLS proposals, commit, welcome).
- 📑 Добавлена полноценная поддержка подкоманд и autocomplete в Slash-командах.
- 🧹 Чистка API и улучшение логики RestObject.
📜 Pull requests
- Bump @types/node from 22.15.2 to 22.15.3 by @dependabot[bot] in #3
- Bump zlib-sync from 0.1.9 to 0.1.10 by @dependabot[bot] in #4
- Bump ws from 8.18.1 to 8.18.2 by @dependabot[bot] in #5
- Bump @types/node from 22.15.3 to 22.15.17 by @dependabot[bot] in #7
- Bump @types/node from 22.15.17 to 22.15.19 by @dependabot[bot] in #8
- Bump @types/node from 22.15.24 to 22.15.29 by @dependabot[bot] in #10
- Bump discord-api-types from 0.38.8 to 0.38.9 by @dependabot[bot] in #9
- Bump @types/node from 24.0.0 to 24.0.1 by @dependabot[bot] in #11
- Bump @types/node from 24.1.0 to 24.2.1 by @dependabot[bot] in #25
Full Changelog: 0.2.5...0.3.0