Releases: TheTeamVivek/YukkiMusic
v3.2.0
What's Changed
- Fix YouTube search by sending raw query string by @Vivekkumar-IN in #203
- chore(deps): bump go.mongodb.org/mongo-driver/v2 from 2.4.1 to 2.4.2 by @dependabot[bot] in #204
- chore(deps): bump go.mongodb.org/mongo-driver/v2 from 2.4.2 to 2.5.0 by @dependabot[bot] in #205
- Refactor room lifecycle management and improve voice chat UX by @Vivekkumar-IN in #206
- some fixes by @Vivekkumar-IN in #208
- Add /nothumb setting to toggle playback thumbnails per chat by @Vivekkumar-IN in #209
- feat: add support for autoplay and other fixes by @Vivekkumar-IN in #213
- fix: handle NtgCalls connection timeout error by @Vivekkumar-IN in #214
Full Changelog: v3.1.0...v3.2.0
v3.1.0
What's Changed
- chore(deps): bump crate-ci/typos from 1.40.1 to 1.41.0 by @dependabot[bot] in #192
- Refine chat/voice state, add participant events, update Fallen API by @Vivekkumar-IN in #193
- refactor to source all Playback method in single file. by @Vivekkumar-IN in #194
- chore(deps): bump crate-ci/typos from 1.41.0 to 1.42.0 by @dependabot[bot] in #195
- fix: don't cleanup room on initial play by @Vivekkumar-IN in #196
- Improve room lifecycle safety with destroyed flag and call timeouts by @Vivekkumar-IN in #200
- Refactor platform interfaces and downloads; modernize YouTube search by @Vivekkumar-IN in #201
Full Changelog: v3.0...v3.1.0
v3.0
🚀 YukkiMusic v3.0 Release Notes
We are thrilled to announce YukkiMusic v3.0! This major release brings a complete architectural overhaul, introducing powerful new features like multi-assistant support, RTMP streaming, video playback, a modular platform system, and an integrated logs management system.
✨ Major Highlights
🤖 Multi-Assistant System
- Load Balancing: You can now configure multiple assistant accounts to distribute the load across different chats.
- Dynamic Assignment: The bot automatically assigns the least used assistant to new chats.
- Resiliency: If one assistant is restricted or busy, others can take over automatically.
- Improved Restriction Handling: Better detection and handling when an assistant is restricted in a chat.
🎼 New Modular Platform System
The music fetching engine has been rewritten from scratch to be modular and extensible.
- New Platforms Supported:
- Spotify: Native support for tracks, albums, and playlists with YouTube fallback.
- SoundCloud: Fetch and play tracks directly.
- Youtubify: Another API support for YouTube downloads (Audio + Video).
- Direct Stream: Play direct audio/video URLs (HTTP, HLS, DASH).
- Priority System: Platforms are checked in a specific order (Telegram > YouTube > External APIs) to ensure the fastest reliable source is used.
📹 Video Playback & RTMP Streaming
- Video Support: You can now play video tracks in voice chats using
/vplay. - RTMP Streaming: Stream directly to telegram RTMP servers using
/stream.- Configure via DM using
/setrtmp.
- Configure via DM using
🌍 Localization
- Multi-Language Support: The bot now supports multiple languages.
- Per-Chat Settings: Set a specific language for each group using
/lang. - Easy Translation: Locale files are YAML-based (
internal/locales/) for easy contribution.
🛠 New Features & Commands
⚡ Power Tools
/logs: Access bot logs directly from Telegram (Sudo only)./speedtest(or/spt): Check the server's network speed (Upload/Download/Latency)./broadcast: Powerful broadcast system with flags (-nochat,-nouser,-pin,-limit) to send announcements./active: View all active voice chats and system stats./restart: Restart the bot directly from Telegram.
🎮 Playback Control
/seek&/seekback: Fast forward or rewind the current track./jump: Jump to a specific timestamp./speed: Adjust playback speed (0.5x - 4.0x) with pitch preservation./loop: Loop the current track 1-10 times./shuffle: Shuffle the current queue.
⚙️ Management
- Auto-Leave: Configure the assistant to automatically leave inactive chats (
/autoleave). - Maintenance Mode: Owner can enable maintenance mode to block usage during updates (
/maintenance).
🔧 Technical Improvements
- Refactored Call Connection: Completely rewritten call connection logic for better stability and error handling (PR #184).
- Thread Safety: Improved concurrency handling with mutexes in
ubotandntgcallswrappers (PR #184). - Project Structure: Moved configuration to
internal/configand standardized package layout. - Codebase Standardization: Massive code formatting and style standardization.
- Go 1.25 Upgrade: The project has been updated to use Go 1.25.5 for better performance and stability.
- Database Caching: Implemented an in-memory caching layer to reduce database queries and improve response times.
- API Security: Improved error handling to sanitize and hide API keys in logs and error messages.
- Installation Script: A new
install.shscript handles dependency installation (FFmpeg, Python, yt-dlp) automatically.
📝 Configuration Changes
New environment variables have been added to .env:
| Variable | Description |
|---|---|
STRING_SESSIONS |
Space-separated list of assistant session strings (supports multiple). |
SESSION_TYPE |
Type of session string: pyrogram, telethon, or gogram. |
SPOTIFY_CLIENT_ID |
Required for Spotify support. |
SPOTIFY_CLIENT_SECRET |
Required for Spotify support. |
YOUTUBIFY_API_KEY |
Optional API key for Youtubify downloader. |
LEAVE_ON_DEMOTED |
If true, bot leaves group when demoted from admin. |
PING_IMG_URL |
Custom image for the /ping command. |
Check internal/config/README.md for the full configuration guide.
Made with ❤️ by TheTeamVivek
v2.0.0
🎉 YukkiMusic v2.0 — Full Rewrite in Go 🚀
🧩 Overview
YukkiMusic v2.0 is a complete rebuild from scratch — not a port or patch.
The bot has been rewritten entirely in Go, using a new and faster tech stack focused on stability, performance, and modern structure.
⚙️ Core Features
- All Admin and Normal user features are available (same behavior as before).
- Owner/Sudo-only features are temporarily removed — will return in future updates.
- Built with Go’s concurrency for better performance and lower latency.
- Designed for long-term maintainability and modular upgrades.
⚡ Performance & Reliability
- Huge performance jump compared to v1.5 (Python build).
- Faster startup and playback initialization.
- Significantly lower CPU and RAM usage.
- Improved stream handling and reconnect logic using NtgCalls.
- More stable and smooth overall user experience.
🧑💻 Developer Notes
- Cleaner, modular codebase for easier community contribution.
- Simpler structure — straightforward to maintain and extend.
🙌 Credits
- AmarnathCJD — for Gogram (Go-based Telegram client).
- PyTgCalls Team — for NtgCalls (Go voice call backend).
- AshokShau — for the searchYouTube logic from TgMusicBot.
- And all contributors who helped test and shape v2.0.
🏁 Summary
YukkiMusic v2.0 is faster, lighter, and cleaner — built from scratch with Go to deliver next-level performance and reliability.
It marks the beginning of a new era for YukkiMusic with future-ready architecture and blazing-fast execution.
Full Changelog: v1.5.0...v2.0
v1.5.0
What's Changed
- Support multiple lang in logger ! by @IQ7amo in #85
- move uvloop installation from bot to init by @Vivekkumar-IN in #86
- Bump yt-dlp from 2025.4.30 to 2025.5.22 by @dependabot in #87
- Update start.py by @iAsutoshS in #88
- Reduce blocking function usage and update async-compatible implementations by @Vivekkumar-IN in #89
- migrate from loop.run_in_executor to asyncio.to_thread by @Vivekkumar-IN in #90
- Some updates by @Vivekkumar-IN in #92
- refactor: command to use old style "get_command" method by @Vivekkumar-IN in #93
- Cookies by @IQ7amo in #94
- Bump aiohttp from 3.11.18 to 3.12.2 by @dependabot in #95
New Contributors
- @iAsutoshS made their first contribution in #88
Full Changelog: v1.4.1...v1.5.0
v1.4.1
What's Changed
- Bump flask from 3.1.0 to 3.1.1 by @dependabot in #80
- Bump lyricsgenius from 3.6.0 to 3.6.2 by @dependabot in #81
- Bump motor from 3.7.0 to 3.7.1 by @dependabot in #83
- migrate from Motor to PyMongo by @Vivekkumar-IN in #84
Full Changelog: v1.4...v1.4.1
v1.4
What's Changed
- Simple fix cookies ! by @IQ7amo in #23
- Update config.py by @sahilsi552 in #22
- Update tr.yml by @Tanrizm in #25
- Fix Extra Plugins ! by @IQ7amo in #26
- Upadte plugins and Extra Plugins by @ViYomX in #30
- For now keep this ! by @IQ7amo in #40
- LOG_GROUP_ID: support ID and USERNAME & fix: failed to access group o… by @IQ7amo in #39
- Minor fix 😄 by @IQ7amo in #41
- Update userbot.py by @Vivekkumar-IN in #43
- missing🙂 by @IQ7amo in #46
- Fix call : issue -> assistant not leave call when stream ended ✅ by @IQ7amo in #47
- Add Fallback downbload support by @Vivekkumar-IN in #48
- keep url by @IQ7amo in #49
- missing🙂 by @IQ7amo in #50
- Update fallback support by @ViYomX in #51
- fix incorrect parsing of duration in fallback mode by @ViYomX in #52
- update some vars ! by @IQ7amo in #54
- Missing 🥲! by @IQ7amo in #55
- Bump kurigram from 2.1.38 to 2.2.0 by @dependabot in #58
- feat: Add uv support by @Vivekkumar-IN in #59
- Bump kurigram from 2.2.0 to 2.2.1 by @dependabot in #60
- Bump aiohttp from 3.11.16 to 3.11.18 by @dependabot in #61
- Bump py-yt-search from 0.2 to 0.3 by @dependabot in #70
- Bump yt-dlp from 2025.3.31 to 2025.4.30 by @dependabot in #71
- Update & Improve: Cookies by @IQ7amo in #72
- Update ntgcalls requirement from ~=1.3.5b4 to ~=1.4.0b3 by @dependabot in #73
- Bump kurigram from 2.2.1 to 2.2.2 by @dependabot in #74
- Update ntgcalls requirement from ~=1.4.0b3 to ~=2.0.0rc1 by @dependabot in #78
- Some Updates & deletations by @Vivekkumar-IN in #79
New Contributors
Full Changelog: v1.3...v1.4
v1.3 [ YukkiMusic ]
YukkiMusic V1.3 Release Notes
Changelog
- asyncify Decorator: A new decorator that allows you to convert synchronous functions into asynchronous ones, enhancing performance and scalability.
- OWNER Command: The
OWNERcommand is now available and will display in the log group or bot PM/DM, allowing for easy identification of the bot's owner. - The oauth2 method has been deprecated and is no longer supported. This method’s functionality has been integrated into
yt-dlpfor a more streamlined experience. - Bug Fixes & Improvements: several bugs have been
Full Changelog: v1.2...v1.3
Report bugs or issues on GitHub Issues.
v1.2 [ YukkiMusic ]
YukkiMusic V1.2 Release Notes
Changelog
- Added Multiple Languages Support for commands
- Multiple language support for bot Helpmenu [ Only for primary plugins Not for External Plugins ]
- All can be used without prefix [ Except English commands ]
- User can Request her data and can Delete [ Except: Chat, Banned Users, Blacklist Chats]
Apple,Carbon,Saavn,Resso,SoundCloud,Spotify,Telegram,YouTubeare centralized to a class PlaTForms- Explained Privacy policy in
/privacycommand - Now Assistsant will joinchat when chat is private
- Some Bug Fixes
Full Changelog: v1.1...v1.2
Report bugs or issues on GitHub Issues.
v1.1 [ YukkiMusic ]
YukkiMusic V1.1 Release Notes
Changelog
-
JioSaavn Support:
- Added support for playing songs and playlists from JioSaavn.
-
YouTube Enhancements:
- Cookies: You can now add cookies to the cookies folder; multiple cookies can be added for convenience.
- yt-dlp-youtube-oauth2: Set up your OAuth method to bypass cookie issues. For assistance, please visit support group
-
Improved Floodwait Handling:
- On Assistant: The bot switches to another assistant when flood errors occur (if multiple assistants are available).
- On Message: The bot will sleep for 20 seconds if floodwait is under 20 seconds and then retry; no retries will occur for floodwaits over 20 seconds.
-
Player Improvements:
- The currently playing message will be deleted when switching to the next track.
-
Broadcast Enhancements:
- When broadcasting with
-userusing-pinor-pinloud, the message will now be pinned in the user's DM/PM. - When broadcasting with an assistant, the assistant will not send messages to its contacts on Telegram.
- When broadcasting with
-
Thumbnail Updates:
- Several thumbnails have been updated.
-
String Improvements:
- Updated
langs/en.yml: Standardized to use English letters instead of mini caps. - Commands are now sourced from
command.yml: Any updates to plugin commands will automatically update the help message.
- Updated
-
Removals:
- Removed
vars.py,groupass.py,player.py. - Removed the Assets folder due to lack of use.
- Removed unused dependencies from
requirements.txt.
- Removed
-
Some Bug Fixes
Full Changelog: v1.0...v1.1
Report bugs or issues on GitHub Issues.