🔥 Upgrading to MagmaStream v2.10.0 — Migration Guide
warning
This release contains breaking changes. Review everything below before upgrading.
Lables:
🔴 - Breaking
🟡 - Changes
🟢 - New
🔴 Renamed Options
PlayerOptions:
guild→guildIdvoiceChannel→voiceChannelIdtextChannel→textChannelIdnode→nodeIdentifier
NodeOptions:
secure→useSSLresumeStatus→enableSessionResumeOptionresumeTimeout→sessionTimeoutSecondsretryAmount→maxRetryAttemptsretryDelay→retryDelayMspriority→nodePriority
ManagerOptions:
autoPlay→playNextOnEndusePriority→enablePriorityModereplaceYouTubeCredentials→normalizeYouTubeTitlesplugins→enabledPlugins
🔴 Queue Overhaul
The old Queue class has been removed. You must now pick a storage backend explicitly:
MemoryQueue— in-memory, synchronous methods (closest to old behaviour)JsonQueue— persists to disk, async methodsRedisQueue— persists to Redis, async methods
warning
If you use JsonQueue or RedisQueue, all queue calls need await.
🔴 Filter API
Filters now take an explicit boolean instead of being toggle calls:
Before
player.filters.nightcore()
After
player.filters.nightcore(true)
player.filters.nightcore(false)
bassBoost now takes a stage from -3 to 3 instead of being a toggle: player.filters.bassBoost(3) = max boost, player.filters.bassBoost(0) = disabled
🟡 Error Handling
All errors are now MagmaStreamError instances with structured codes and context. Replace any TypeError / RangeError catches with MagmaStreamError.
🟢 What's been added
- Library wrappers:
DiscordJSManager,DiscordenoManager,ErisManager,OceanicManager,SeyfertManager - Abstract
Pluginbase class withload()/unload()methods - Redis-backed session and queue storage
- New filters:
demon,earrape,doubletime,chipmunk,daycore,darthvader,electronic,radio,tremolo,pop,party