2014-09-13 00:35:47 +02:00
MumbleDJ Changelog
==================
2014-09-15 21:21:50 +02:00
2015-10-15 03:27:49 +02:00
### October 14, 2015 -- `v2.8.2`
* Fixed possible index out of range panic when auto shuffle is on (thanks [@GabrielPlassard ](https://github.com/GabrielPlassard )).
2015-10-12 23:06:09 +02:00
### October 12, 2015 -- `v2.8.1`
* Added !shuffle, !shuffleon, and !shuffleoff commands (thanks [@GabrielPlassard ](https://github.com/GabrielPlassard )).
2015-10-01 22:00:14 +02:00
### October 1, 2015 -- `v2.8.0`
2015-10-01 21:59:03 +02:00
* Added Soundcloud support (thanks [@MichaelOultram ](https://github.com/MichaelOultram )).
2015-08-13 06:24:41 +02:00
### August 12, 2015 -- `v2.7.5`
* Fixed cache clearing earlier than expected (thanks [@CMahaff ](https://github.com/CMahaff )).
2015-05-19 10:22:21 +02:00
### May 19, 2015 -- `v2.7.4`
* Fixed a panic that occurred when certain YouTube playlists were added to the queue.
2015-05-14 19:47:43 +02:00
### May 14, 2015 -- `v2.7.3`
* Fixed `!move` not working for subchannels (thanks [@mkbwong ](https://github.com/mkbwong )).
* Fixed MumbleDJ showing invalid YouTube ID error message in chat when an invalid YouTube API key is supplied (thanks [@fiveofeight ](https://github.com/fiveofeight )).
* Fixed MumbleDJ showing invalid YouTube ID error message in chat when a song exceeds the allowed time duration.
2015-05-13 07:55:59 +02:00
### May 12, 2015 -- `v2.7.2`
* Fixed incorrect values shown in timestamp for videos over an hour long.
* Reworked timestamp parsing.
2015-05-10 07:07:40 +02:00
### May 9, 2015 -- `v2.7.1`
* Added support for YouTube offsets. This means that YouTube URLs with the `t` parameter will start at the time specified in the URL instead of the beginning.
* Cleaned up comments in some files and removed some unnecessary code.
* Fixed a bug in which a duration of 0:00 was shown for songs that were less than a minute long.
2015-04-18 01:57:56 +02:00
### April 17, 2015 -- `v2.7.0`
* Migrated all YouTube API calls to YouTube Data API v3. This means that you **MUST** follow the instructions in the following link if you were using a previous version of MumbleDJ: https://github.com/matthieugrieger/mumbledj#youtube-api-keys.
* Made the SongQueue much more flexible. These changes will allow easy addition of support for other music services.
2015-03-29 00:12:14 +01:00
### March 28, 2015 -- `v2.6.10`
* Fixed a crash that would occur when the last song of a playlist was skipped.
2015-03-28 04:46:09 +01:00
### March 27, 2015 -- `v2.6.9`
* Fixed a race condition that would sometimes cause the bot to crash (thanks [dylanetaft ](https://github.com/dylanetaft )!).
2015-03-26 18:33:52 +01:00
### March 26, 2015 -- `v2.6.8`
2015-04-18 01:57:56 +02:00
* Renamed `mumbledj.gcfg` to `config.gcfg` . However, please note that it will still be called `mumbledj.gcfg` in your `~/.mumbledj` directory. Hopefully this will avoid any ambiguity when referring to the
2015-03-26 18:33:52 +01:00
config files.
* Tweaked the `Makefile` to handle situations where `go build` creates an executable with an appended version number.
2015-03-21 05:37:37 +01:00
### March 20, 2015 -- `v2.6.7`
* Fixed a typo in `mumbledj.gcfg` .
* Songs and playlists are now skipped immediately if the submitter submits a skip command.
* `SONG_SKIPPED_HTML` and `PLAYLIST_SKIPPED_HTML` are no longer shown if the submitter or admin skips a song/playlist.
2015-03-07 10:32:46 +01:00
### March 7, 2015 -- `v2.6.6`
* Added missing AdminSkipPlaylistAlias option to `mumbledj.gcfg` .
2015-02-26 05:47:53 +01:00
### February 25, 2015 -- `v2.6.5`
2015-02-26 07:05:01 +01:00
* Added automatic connection retries if the bot loses connection to the server. The bot will attempt to reconnect to the server every 30 seconds for a period of 15 minutes, then exit if a connection cannot be made.
2015-02-26 05:47:53 +01:00
2015-02-20 20:02:23 +01:00
### February 20, 2015 -- `v2.6.4`
* Fixed failed audio downloads for YouTube videos with IDs beginning with "-".
2015-02-20 01:48:40 +01:00
### February 19, 2015 -- `v2.6.3`
* Added `gumbleutil.CertificateLockFile()` for more secure connections.
* Added `-insecure` boolean commandline flag to allow MumbleDJ to connect to a server without overwriting `~/.mumbledj/cert.lock` .
2015-02-19 00:09:06 +01:00
### February 18, 2015 -- `v2.6.2`
* Fixed bot crashing after 5 minutes if there is nothing in the song queue.
2015-02-19 00:11:13 +01:00
* Fixed queue freezing up if the download of the first song in queue fails.
2015-02-19 00:09:06 +01:00
2015-02-18 05:56:45 +01:00
### February 17, 2015 -- `v2.6.0, v2.6.1`
2015-02-18 00:43:20 +01:00
* Added caching system to MumbleDJ.
* Added configuration variables in `mumbledj.gcfg` for caching related settings (please note that caching is off by default).
* Added `!numcached` and `!cachesize` commands for admins.
2015-02-18 05:56:45 +01:00
* Added optional song length limit (thanks [jakexks ](https://github.com/jakexks )!)
2015-02-18 00:43:20 +01:00
2015-02-12 22:29:12 +01:00
### February 12, 2015 -- `v2.5.0`
2015-02-12 00:25:47 +01:00
* Updated dependencies and fixed code to match `gumble` API changes.
2015-02-12 22:27:04 +01:00
* Greatly simplified the song queue data structure. Some new bugs could potentially have arisen. Let me know if you find any!
2015-02-12 00:25:47 +01:00
2015-02-10 00:08:09 +01:00
### February 9, 2015 -- `v2.4.3`
* Added configuration option in `mumbledj.gcfg` for default bot comment.
2015-02-10 00:12:04 +01:00
* Fixed text messages only containing images crashing the bot.
2015-02-10 00:08:09 +01:00
2015-02-07 23:08:33 +01:00
### February 7, 2015 -- `v2.4.2`
* Updated `gumble` and `gumbleutil` dependencies.
* Removed `sanitize` dependency.
2015-02-07 23:09:05 +01:00
* Reworked `Makefile` slightly.
2015-02-07 23:10:45 +01:00
* Now uses `gumbleutil.PlainText` for removing HTML tags instead of `sanitize` .
2015-02-07 23:23:47 +01:00
* Added `!setcomment` which allows admin users to set the comment for the bot.
2015-02-08 02:54:24 +01:00
* Made "Now Playing" notification and `!currentsong` show the playlist title of the song if it is included in a playlist.
2015-02-08 03:20:00 +01:00
* Added ability to connect to Mumble server using a PEM cert/key pair. Use the commandline flags `cert` and `key` to make use of this.
2015-02-08 03:25:59 +01:00
* Added an easier to read error message upon unsuccessful connection to server.
2015-02-07 23:08:33 +01:00
2015-02-03 19:56:07 +01:00
### February 3, 2015 -- `v2.4.1`
* Made it possible to place MumbleDJ binary in `~/bin` instead of `/usr/local/bin` if the folder exists.
2015-02-03 04:47:06 +01:00
### February 2, 2015 -- `v2.3.4, v2.3.5, v2.3.6, v2.3.7, v2.4.0`
2015-02-02 20:19:24 +01:00
* Added panic on audio play fail for debugging purposes.
2015-02-02 20:34:07 +01:00
* Fixed '!' being recognized as '!skipplaylist'.
2015-02-02 20:41:11 +01:00
* Fixed !reset crash when there is no audio playing.
2015-02-02 20:50:31 +01:00
* Fixed newlines after YouTube URL messing up !add commands.
2015-02-02 21:05:00 +01:00
* Fixed empty song/playlist entry being added upon !add with invalid YouTube ID.
2015-02-03 02:46:57 +01:00
* Fixed go build issues.
2015-02-03 04:46:33 +01:00
* Added `goop` dependency management. Make sure you have `openal` installed, or it won't work right!
* Fixed crash on invalid playlist URL.
2015-02-02 20:19:24 +01:00
2015-01-31 03:26:51 +01:00
### January 30, 2015 -- `v2.3.3`
* Fixed private messages crashing the bot when the target user switches channels or disconnects.
2015-01-27 07:12:09 +01:00
### January 26, 2015 -- `v2.3.2`
* Fixed !nextsong showing incorrect information about the next song in the queue.
2015-01-25 23:06:09 +01:00
### January 25, 2015 -- `v2.3.0, v2.3.1`
2015-01-25 20:27:28 +01:00
* Added !currentsong command, which displays information about the song currently playing.
2015-01-25 20:45:50 +01:00
* MumbleDJ now removes disconnected users from skiplists for playlists and songs within the SongQueue.
2015-01-25 23:06:09 +01:00
* Fixed crash when a user disconnects when no song is playing.
2015-01-25 20:27:28 +01:00
2015-01-19 22:28:25 +01:00
### January 19, 2015 -- `v2.2.11`
* Fixed not being able to use the move command with channels with spaces in their name.
2015-01-15 02:52:58 +01:00
### January 14, 2015 -- `v2.2.9, v2.2.10`
2015-01-14 20:56:46 +01:00
* Set AudioEncoder Application to `gopus.Audio` instead of `gopus.Voice` for hopefully better sound quality.
2015-01-15 02:51:58 +01:00
* Added some commands to the !help string that were missing.
2015-01-14 20:56:46 +01:00
2015-01-13 01:21:53 +01:00
### January 12, 2015 -- `v2.2.8`
* Added !nextsong command, which outputs some information about the next song in the queue if it exists.
2015-01-11 01:19:46 +01:00
### January 10, 2015 -- `v2.2.6, v2.2.7`
2015-01-10 22:36:46 +01:00
* Fixed type mismatch error when building MumbleDJ.
* Added traversal function to SongQueue.
* Added !numsongs command, which outputs how many songs are currently in the SongQueue.
2015-01-11 00:25:07 +01:00
* Added !help command, which displays a list of valid commands in Mumble chat.
2015-01-10 22:36:46 +01:00
2015-01-10 01:45:17 +01:00
### January 9, 2015 -- `v2.2.5`
* Fixed some YouTube playlist URLs crashing the bot and not retrieving metadata correctly.
2015-01-09 04:34:42 +01:00
### January 8, 2015 -- `v2.2.4`
* Fixed a crash caused by a user trying to skip the same song more than once.
2015-01-07 20:06:58 +01:00
### January 7, 2015 -- `v2.2.3`
* Fixed a crash caused by entering a skip request when no song is currently playing.
2015-01-06 04:18:18 +01:00
### January 5, 2015 -- `v2.2.1, v2.2.2`
2015-01-05 21:05:46 +01:00
* Attached `gumbleutil.AutoBitrate` EventListener to client. This should hopefully fix the issues with audio cutting in and out.
* Moved dependency installation to default `make` command to better enforce new updates.
* Added `make build` to `Makefile` to allow previous functionality of the default `make` command.
2015-01-06 04:18:18 +01:00
* Hopefully fixed a situation that would cause the song queue to stop working.
* Added `!reset` command. Use this to reset the song queue.
2015-01-05 21:05:46 +01:00
2015-01-03 20:48:57 +01:00
### January 3, 2015 -- `v2.2.0`
* Added ability to add YouTube playlists to the queue. Note that the max size of a playlist is 25 songs, anything larger will only use the first 25 songs in the playlist.
* Fixed a crash while attempting to add URLs to the queue.
* Re-made the song queue using my own "queue-like" structure using slices.
2014-12-30 22:34:53 +01:00
### December 30, 2014 -- `v2.1.3`
* Fixed YouTube URL parsing not working for some forms of YouTube URLs.
* Now recovers more gracefully if an audio download fails. Instead of panicking, the bot will send a message to the user who added the URL, telling them the audio download failed.
2014-12-29 11:37:04 +01:00
### December 29, 2014 -- `v2.1.2`
* Fixed skip messages not being displayed in chat.
2014-12-27 19:43:03 +01:00
### December 27, 2014 -- `v2.0.0, v2.1.0, v2.1.1`
2014-12-27 09:31:27 +01:00
* Reached feature parity with old version of MumbleDJ.
* Bot is now written completely in Golang instead of Lua and Python.
2014-12-27 09:34:38 +01:00
* Now uses [`gumble` ](https://github.com/layeh/gumble ) for interacting with Mumble instead of [`piepan` ](https://github.com/layeh/piepan ).
2014-12-27 09:31:27 +01:00
* Stability improved in many areas.
* Audio quality is slightly better due to using higher bitrate m4a files instead of Ogg Vorbis.
* All YouTube URLs should be supported now.
* Added an admin skip command that allows an admin to force skip a song.
* Added `mumbledj.gcfg` , where all configuration options are now stored.
* Added a reload command, used to reload the configuration when a change is made.
2014-12-27 18:41:27 +01:00
* Implemented volume control. Now changes volume while audio is playing!
2014-12-27 19:05:13 +01:00
* Code is now more thoroughly commented.
2014-12-27 19:40:32 +01:00
* Fixed char comparison with dj.conf.General.CommandPrefix.
2014-12-27 09:31:27 +01:00
2014-12-09 06:21:47 +01:00
### December 8, 2014
* Switched from Ruby to Go, using `gumble` instead of `mumble-ruby` now.
2014-11-16 03:46:40 +01:00
### November 15, 2014
* Created "v2" branch for Ruby rewrite.
2014-11-10 07:40:14 +01:00
### November 9, 2014
* Fixed volume changed message showing wrong value.
2014-10-24 23:48:41 +02:00
### October 24, 2014
* Switched volume change method. The volume is now changed directly through `piepan` instead of `ffmpeg` .
* Fixed another bug with volume changing.
2014-10-24 05:51:51 +02:00
### October 23, 2014
* Fixed a bug that would not allow audio encoding to complete successfully while on Debian.
* Fixed a stupid typo that broke the `!volume` command.
* Updated `SETUP.md` with instructions on installing MumbleDJ on Debian.
* Added missing commands in `SETUP.md` .
2014-10-19 02:03:02 +02:00
### October 18, 2014
* Fixed a crash when an error occurs during the audio downloading & encoding process.
2015-04-18 01:57:56 +02:00
* Fixed a crash that occurs when the bot tries to join a default channel that does not exist. If the default channel does not exist, the bot will just move itself
2014-10-19 02:20:02 +02:00
to the root of the server instead.
2014-10-19 02:03:02 +02:00
2014-10-13 23:56:19 +02:00
### October 13, 2014
* Added `SETUP.md` which contains a guide on how to configure MumbleDJ and install its dependencies.
2014-10-14 07:14:38 +02:00
* Deleted song_queue.lua and moved all contents to mumbledj.lua. In the end this will make the script simpler.
* Fixed song skipping.
2014-10-13 23:56:19 +02:00
2014-10-08 00:19:18 +02:00
### October 7, 2014
* Made user skip message show even when the target number of skips has been reached.
2014-10-08 01:18:23 +02:00
* Made "Music" the default Mumble channel.
2014-10-08 00:19:18 +02:00
2014-10-01 06:56:53 +02:00
### September 30, 2014
* Fixed skips not working correctly.
* Fixed a crash related to private messages.
2014-09-27 01:04:07 +02:00
### September 26, 2014
* Removed play and pause commands. There were issues with these commands, and they both serve functions that can be done within Mumble per-user.
* Removed all play and pause configuration options from config.lua.
2014-09-27 01:09:47 +02:00
* Updated .gitignore to ignore .ogg files.
2014-09-27 01:04:07 +02:00
2014-09-25 17:41:59 +02:00
### September 25, 2014
* Forced ffmpeg to use libvorbis codec.
2014-09-23 17:52:19 +02:00
### September 23, 2014
* Bot now seems to be working!
* Skipping songs works now.
* Second audio track now plays directly after the first one.
* Silenced ffmpeg output again.
2014-09-18 20:56:50 +02:00
### September 18, 2014
* Added command alias options to config.
* Moved most of the skip-related code to song_queue.lua.
* Commented more thoroughly the code, mostly pointing out what each function does.
* Made more progress toward a working song queue. It only seems to play the first song in the queue at the moment.
2014-09-18 00:08:50 +02:00
### September 17, 2014
* Removed USERNAME field from config.lua. It wasn't needed and introduced situations that may cause problems.
* Fixed download_audio.py. It now seems to reliably download/encode audio. ffmpeg output has been silenced.
2014-09-18 00:51:45 +02:00
* Volume is now set during encode by ffmpeg, since the volume option in piepan's play() does not seem to work.
2014-09-18 00:08:50 +02:00
2014-09-16 21:04:01 +02:00
### September 16, 2014
* Removed volumeup/volumedown commands, replaced with just volume.
* Added deque.lua (thanks Pierre Chapuis!).
* Added song_queue.lua.
2014-09-18 00:08:50 +02:00
* Made significant progress toward a working song system.
2014-09-16 21:04:01 +02:00
2014-09-15 21:21:50 +02:00
### September 15, 2014
* Added command parsing.
* Added placeholder functions for various commands.
* Added admin, message, and other miscellaneous config options.
* Removed start command.
* Added a permissions/admin system.
2014-09-15 03:10:59 +02:00
### September 14, 2014
* Changed the base for the project from pymumble to piepan.
* Entire codebase is now written in Lua instead of Python.
* Re-implemented some of the config in config.lua.
* Implemented code to connect the bot to the server and move it into the Bot Testing channel.
2014-09-14 06:01:19 +02:00
### September 13, 2014
* Added song.py, a file that houses the Song class.
2014-09-14 07:37:47 +02:00
* Added command & storage options to config.py.
2014-09-13 00:35:47 +02:00
### September 12, 2014
* mumble-music-bot repository renamed to mumbledj.
* Renamed all mentions of mumble-music-bot or musicbot to mumbledj.
* Restructured project for easier imports.
* Added .gitignore for pymumble.
2014-09-13 01:00:44 +02:00
* Now successfully connects to Mumble servers.
2014-09-13 01:45:35 +02:00
* Added command parsing.
2014-09-11 22:24:53 +02:00
### September 11, 2014
* mumble-music-bot repository created.
* Added config.py with some basic configuration options.
2014-09-12 01:49:24 +02:00
* Put placeholder methods within the MusicBot object.
* Add run_bot.py.