3 * Remove bad heuristic to infer artist aliases
4 * Set max_art default value to 20
5 * Add sphinx documentation
6 * Merge unix manuals in sphinx reStructuredText
7 Call "setup.py build_sphinx" to build documentation (troff and html).
9 sphinx-build -d ./build/sphinx/doctrees doc/source -b man ./build/sphinx/man
11 -- kaliko <kaliko@azylum.org> Mon, 07 Feb 2022 18:11:48 +0100
15 * New database, no migration done from old database !
16 A backup is done in "${XDG_DATA_HOME}/mpd_sima/"
17 Play history and blocklist are forgotten then.
18 * Blocklist is now handled with mpd-sima command arguments,
19 simadb_cli executable is removed.
20 * Removed obsolete --create-db and --generate-config options
21 * Fixed crash when setting XDG_CONFIG_HOME (closes #50)
22 * Add abstract unix socket support for MPD connection
23 * Better MPD connection management.
24 * Need at least python-musicpd 0.7.0.
25 Abstract socket in v0.6.0 and socket timeout in v0.7.0
27 -- kaliko <kaliko@azylum.org> Tue, 16 Nov 2021 16:02:37 +0100
31 * New offline autoqueue plugin based on file genre tags only
32 * Add randomness in Tags plugin artist selection
33 * Fixed issue with un-tagged titles (closes #40)
34 * Fixed "artist with quotes not found" (closes #41)
35 * Fixed bad pid in Uniq core plugin (closes #32)
36 * Move "test-tags-config" as positional argument "config-test"
37 * Move "--create-db" as positional argument "create-db"
38 * Add mpd-sima commands as positional arguments:
39 config-test, create-db, generate-config, purge-history
40 * Use duration instead of time in Track object (closes #37)
41 * Use musicbrainz_albumid|trackid tags in Tracks object
43 -- kaliko <kaliko@azylum.org> Wed, 28 Apr 2021 17:21:39 +0200
47 * tags plugin: Add album queue mode
48 * tags plugin: Ensure metadata used in filter are enabled
49 so that MPD exposes them (closes #38)
51 -- kaliko <kaliko@azylum.org> Sat, 09 Jan 2021 12:28:17 +0100
55 * New offline autoqueue plugin based on file tags only
56 * Expose a new executable "test-tags-config"
57 * Update vinstall.py (closes #34)
58 * Fixed bug when http client fetches a corrupted cached entry (closes #35)
59 * Need at least python 3.6
61 -- kaliko <kaliko@azylum.org> Tue, 15 Dec 2020 16:17:05 +0100
65 * Major MPD client refactoring
66 * Refactored random plugin
67 * Fixed bug in MPD client reconnection
69 -- kaliko <kaliko@azylum.org> Sat, 16 May 2020 14:49:04 +0200
73 * Improve HTTP client (use persistent connection)
74 * Fixed a serious bug in PlayerClient().search_albums()
75 "search_albums" method was ignoring some albums when Artist object had
78 -- kaliko jack <kaliko@azylum.org> Sun, 03 May 2020 16:30:36 +0200
82 * Fixed sqlite sqlite3.OperationalError VACUUM Error
83 cf. https://bugs.python.org/issue28518
84 * Add option to queue a chosen number of tracks from an album (closes #28)
85 * Add option to shuffle tracks in album mode (Thanks Sacha)
87 -- kaliko jack <kaliko@azylum.org> Thu, 14 Nov 2019 17:41:22 +0100
91 * Fixed mopidy compatibility implementation
93 -- kaliko jack <kaliko@azylum.org> Tue, 19 Mar 2019 15:14:48 +0100
97 * Remove EchoNest support (Closes #10)
98 * Enhanced queuing behavior in random mode (Closes #16)
99 * Add option to prevent single & repeat mode to disable queuing (Closes #19)
100 * Honor MPC password/host format on command line option 'host'
101 * Fixed fuzzy search for short artist names
102 * Client side hardcoded one month caching (ugly workaround for #7)
103 * Simplified album search
104 * Track search aggregates artist name and MusicBrainzID searches
105 * Add an undocumented mopidy compatibility configuration option
106 Use the boolean option "mopidy_compat" in the sima section
107 cf. https://gitlab.com/kaliko/sima/issues/21#
109 -- kaliko jack <kaliko@azylum.org> Tue, 19 Mar 2019 13:58:49 +0100
113 * Fixed blacklisting for Random plugin (Closes #14)
114 * Fixed sensible flavour of random plugin, thanks dnmx (Closes #15)
116 -- kaliko jack <kaliko@azylum.org> Thu, 24 Aug 2017 11:46:14 +0200
121 * This release in only intended to get rid of 0.14.2 source tarball.
122 Source tar ball for v0.14.2 was badly generated. Release 0.14.2 and 0.14.3
123 are actually the same source code, only generated tar were affected.
124 Sorry for the inconvenience.
126 -- kaliko jack <kaliko@azylum.org> Sun, 12 Feb 2017 15:49:03 +0100
131 * Fixed MPD client cache (filters empty strings)
132 * Fixed Track object to work with MPD >= 0.20 (Closes #12)
133 * Fixed python virtualenv installer
135 -- kaliko jack <kaliko@azylum.org> Sat, 11 Feb 2017 13:04:27 +0100
140 * Prevent adding empty track to history (Closes #5)
141 * Fixed false warning about wrong MBID format (Closes #6)
143 -- kaliko jack <kaliko@azylum.org> Sat, 02 Jan 2016 16:03:39 +0100
148 * Add option to generate config on stdout
149 * Add priority feature for plugins
150 * More robust MPD client
151 * Fixed top track mode
152 * Fixed default conf file name (back to mpd_sima.cfg)
153 * Fixed http cache for lastFM
154 * Cleanup code (removed users similarities)
155 * Make "var-dir" option default name instead of "var_dir"
156 * Honor HTTP_PROXY env. var. (need requests >2.4.0)
158 -- kaliko jack <kaliko@azylum.org> Sat, 17 Oct 2015 10:48:41 +0200
163 * Use of MusicBrainzIdentifier by default
164 Please consider tagging your library with these metadata
165 * New virtualenv installer in pure python
167 -- kaliko jack <kaliko@azylum.org> Wed, 28 Jan 2015 12:20:49 +0100
172 * Use albumartist to fetch similar artists
173 * Fixed some bugs managing tags
175 -- kaliko jack <kaliko@azylum.org> Sat, 06 Dec 2014 16:42:15 +0100
180 * Add some randomness to track selection
181 * Do not queue artists already queued (regression)
182 * Some refactoring in http client
184 -- kaliko jack <kaliko@azylum.org> Tue, 01 Jul 2014 21:47:56 +0200
189 * Fixed SIGHUP error, need python-musicpd >= 0.4.1
190 * Add core plugin to detect multiple MPD_sima instance on the same MPD host
191 * Fixed startup robustness
192 * Removed timestamp in console logging
194 -- kaliko jack <kaliko@azylum.org> Sat, 21 Jun 2014 14:02:17 +0200
200 * Add a setup.py, got rid of the Makefile.
201 * Switched to Python3 (>=3.2)
202 * Depends on requests (http client)
203 * Depends on python-musicpd (py3k port of python-mpd)
204 configuration file change
205 internal database remains the same
206 * Temporarily removed userdb feature
207 * Base artist for similarity is the last track queued
208 * Persistent http caching
210 -- kaliko jack <kaliko@azylum.org> Mon, 16 Jun 2014 10:37:14 +0200
215 * straight forward py3k conversion from v0.10.0
217 -- kaliko jack <kaliko@azylum.org> UNRELEASED
222 * Improved album detection (especially multi-artists album)
223 * Controls conf file is readable at startup
224 * Complete rewrite of MPD client
226 -- kaliko jack <kaliko@azylum.org> Wed, 26 Sep 2012 18:56:57 +0200
231 * Fixed Makefile, thanks Artur Frysiak (fixes #2849 #2848)
233 -- kaliko jack <kaliko@azylum.org> Sun, 26 Feb 2012 22:06:27 +0100
238 * Fixed an issue in idle implementation
240 -- kaliko jack <kaliko@azylum.org> Fri, 24 Feb 2012 12:04:39 +0100
245 * New CLI option --create-db
246 * Option main_loop_time removed, use of idle makes it useless
247 * New config file option "dynamic" (fixes #2593)
250 * Start player abstraction, new MPD class (fixes #2418)
251 * Use idle MPD command, needs python-mpd >= 0.3
254 * PID file creation now respects system umask (fixes #2368)
255 * Avoid to queue twice the same album (fixes #2595)
256 * Empty password does not trigger auth attempt (fixes #2543)
257 * Fixed --var_dir option, thanks Artur Frysiak (fixes #2796)
260 * Improved execution time in tracks history look up mainly.
261 * Switch to python-daemon 0.4
263 -- kaliko jack <kaliko@azylum.org> Fri, 10 Feb 2012 11:31:57 +0100
268 * New CLI option "--daemon" to run as a daemon
270 * Abandoned compatibility with python 2.5 (urllib2.urlopen timeout)
271 * Add daemon cli option to daemonize the process (closes #616)
272 * Add a Makefile (install, uninstall targets) following GNU standards.
273 * Refactored queue_mode method, thanks MsieurHappy ;)
274 * Moved Track class to separate file.
275 * Reduce memory footprint (better simafm cache handling).
277 * Fixed a bug in database management, cleaning database performs better
279 -- kaliko jack <kaliko@azylum.org> Sun, 08 May 2011 14:06:22 +0200
284 * Fixes a bug introduced fixing #2113, history was no longer honored!
286 -- kaliko jack <kaliko@azylum.org> Sun, 30 Jan 2011 10:54:53 +0100
291 * Add Makefile from 0.8 dev branch
295 -- kaliko jack <kaliko@azylum.org> Sat, 22 Jan 2011 09:17:18 +0100
300 * Stall queueing when MPD is in "single" or "repeat" mode (closes #1607)
301 * No longer need to restart MPD_sima when MPD database has been updated, it
302 was necessary to have new entries to appear in MPD_sima (closes #1719).
303 * New database version, upgraded at first start (back up done in sima.db.0.6)
304 * Uses SQLite for history. Play history always saved, not anymore optional.
305 * simadb_cli uses MPD_HOST/MPD_PORT environment variables
307 * New mpd_sima CLI option --var_dir to change default ${XDG_DATA_HOME}
308 Allows to launch the script as a "system service" (closes #1738)
311 * Autoqueue not anymore stall when started without internet access (closes
313 * Fixed a bug with MPD_(HOST|PORT), env. var. only used when no host/port are
314 set in the config file.
316 Configuration file changes:
317 * New "history_duration" option
318 * Remove "history" & "history_length" options, replace by "history_duration"
320 * Remove "top_tracks" option, now use "queue" option with "top" value.
321 * New consume option (closes #1576)
322 * New queue mode "album" (closes #1008)
323 * New option "album_to_queue" to set how many albums to queue
324 * New option "single_album" allowing to force queuing track from different
325 albums, for instance it'll avoid to end up playing a whole OST.
327 (cf. <doc/examples/all_settings.cfg> for all options available)
329 -- kaliko jack <kaliko@azylum.org> Sat, 18 Dec 2010 12:11:12 +0100
334 * Use of SQLite (closes #838)
335 * [simadb_cli] new command line interface to edit sima.db (SQLite database)
336 * [mpd_sima.py] New command line option to load a specific configuration file
337 * Removed pyscrobbler module, now uses SimaFM (closes #741)
338 * Cache is no longer managed as it was (because of SimaFM), it isn't
339 possible to save it (advanced "cache" option removed).
340 last.fm request caching is still enabled though.
341 Saving last.fm request to file is milestoned 0.6.1
342 * Create documentation (docbook -> {troff,pdf,(x)html})
343 * Convert to unicode all utf-8/legacy code (closes #839)
344 * Re-Licenced the code under GNU GPL.
346 -- kaliko jack <kaliko@azylum.org> Mon, 10 May 2010 19:40:10 +0200
351 * New fuzzy string matching dedicated to artist names (closes #686)
352 * uses optparse instead of getopt (closes #834)
353 * now sets options with built-in default, then configuration file and finally
355 * Fixes the “deprecated 'md5'” warning in audioscrobbler.py with patch
356 provided in bug report #11 (closes #1144) – cf. pyscrobbler online:
357 http://code.google.com/p/pyscrobbler
359 -- kaliko jack <kaliko@azylum.org> Tue, 16 Mar 2010 14:01:22 +0100
364 * No longer uses/writes a default conf file in ~/.config/mpd_sima (or XDG
365 default), MPD_HOST is used if no conf file is present.
366 * replace exhaustive loops by generator
369 -- kaliko jack <kaliko@azylum.org> Thu, 26 Nov 2009 10:13:08 +0100
374 * Add option to play only most popular songs from an artist (closes #739).
375 * Now prefer non played over already played artist is possible (closes #774)
376 * Use of %-age of similarity to get the list of similar (closes #740).
377 * nearly all Unicode (closes #742).
378 * Using dequeu object => ** New history/cache/user_db formats. **
379 * Heavy refactoring, new Track object.
380 * Improved fuzzy search for artists in MPD library (using difflib/levenshtein)
381 * Log to file within python script (closes #815), add --log=<file> option.
382 * Removed bashism & improved portability in shell launcher, thanks ksh@vim-fr ;)
384 -- kaliko jack <kaliko@azylum.org> Sun, 25 Oct 2009 12:02:02 +0100
389 * Add option to play only most popular songs from an artist
390 * Better list of similar artists thanks to %-age of similarity… hopefully
393 -- kaliko jack Unreleased / abandoned dev branch
398 * New bash wrapper launch.sh to execute the script
399 * User's database for similar artists through a new conf file user_db_cfg.
400 Refer to examples for syntax.
401 * check playlist queue to add tracks, not only history.
402 * Rename history to history.pkl
403 * add new command line options, help and version.
404 * now look for MPD_HOST MPD_PORT env variable to create default conf file
405 * run main loop even if the same track is playing, hence MPD_sima will keep
406 adding new tracks even if the same track is still playing and stops only if
407 the target is reached (ie. queue_length)
409 -- kaliko jack <kaliko@azylum.org> Tue, 28 Jul 2009 18:10:09 +0200
414 * WARNING: Moved to python-mpd instead of python-mpdclient2
415 * Add cache for last.fm request
416 * Possibility to save cache to file (new option in mpd_sima.cfg)
417 * new src directory layout
418 * Improved log output formatting
419 * Imroved code & removed old unused method
420 * Controls availability of commands right after conn/auth
421 * New pyscroobler version (revision 5), fix bug with slash in names.
423 -- kaliko jack <kaliko@azylum.org> Fri, 12 Jun 2009 18:10:47 +0200
426 MPD_sima v0.1.1 (first upgrade)
428 * HEAVY refactoring to improve coding style (thanks pylint).
429 * intercept audioScrobbler server connexion errors (no longer stops
430 mpd_sima). Issue/bug reported:
431 http://code.google.com/p/pyscrobbler/issues/detail?id=7
432 * now cath SIGTERM signal along with SIGINT (keyborad interupt)
433 * save history to file (new option in mpd_sima.cfg)
434 * add --pid option to python script
435 * correct launch.sh accordingly
436 * new date format for the log
438 -- kaliko jack <kaliko@azylum.org> Thu, 04 Jun 2009 20:35:25 +0200
441 MPD_sima v0.1.0 (first stable release)
443 * First quasi stable release (my first python code…)
445 -- kaliko jack <kaliko@azylum.org> Thu, 28 May 2009 20:45:03 +0200
447 # vim: fileencoding=utf-8
448 # -*- coding: utf-8 -*-