chiark / gitweb /
TABLE_FIND() now uses typeof. We're committed to GCC anyway so it
[disorder] / CHANGES
diff --git a/CHANGES b/CHANGES
index 04abd310701655b8f6665b59ce5f9428ce64b937..32d83b701eedc79b3fd73c1bb15fa4cf46355d7b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
-See ChangeLog.d/* for detailed revision history.
+* Changes up to version 3.1
 
 
-* Changes up to version 1.6
+** Server
 
 
-** General
+The 'gap' directive will no longer work.  It could be restored if there
+is real demand.
 
 
-There is a new client, 'Disobedience', that depends on the GTK+ library.
-Feedback on the interface would be very welcome.
+*** Event Scheduling
+
+It is now possible to schedule events to occur in the future.  Currently
+the supported actions are playing a specific track, and changing a
+global preference (thus allowing e.g. random play to be turned on or
+off).  See the schedule-* commands described in disorder(1).
+
+*** Random Track Choice
+
+This has been completely rewritten to support new features:
+   - tracks in the recently-played list or in the queue are no longer
+     eligible for random choice
+   - there is a new 'weight' track preference allowing for non-uniform
+     track selection.  See disorder(1) for details.
+   - there is a new configuration item replay_min defining the minimum
+     time before a played track can be picked at random.  The default is
+     8 hours (which matches the earlier behaviour).
+   - recently added tracks are biased up; see new_bias and new_bias_age
+     in disorder_config(5).
+
+*** Web Interface
+
+This has been largely rewritten.  The most immediate benefits are:
+   - the search page is integrated into the choose page, and includes
+     links to parent directories
+   - if you try to do something you have insufficient rights for,
+     instead of getting an error page or nothing happening, you are
+     redirected to the login page
+
+Customizers should find their lives easier: the syntax is less onerous,
+it is possible to define macros to avoid repetition, and the
+documentation is less monolithic.
+
+** Disobedience
+
+There is now a new user management window.  From here you can add and
+remove users or modify their settings.
+
+Relatedly, the server will only allow remote user management if you set
+remote_userman to 'yes'.
+
+** Miscellaneous
+
+scripts/setup now honors command line options, and can set up network
+play as well as the local default sound device.
+
+** Bugs Fixed
+
+ #2 Search results should link to directories
+ #6 Schedule tracks for a particular time
+#10 Non-uniform track selection
+#11 Bias random selection to newly added tracks
+#13 Default encoding for debian setup scripts
+#16 Cookie expiry causes user to be silently logged out and not
+    subsequently redirected to login page
+#20 Broken aliasing rules
+
+* Changes up to version 3.0.2
+
+Builds --without-server should work again.
+
+The web interface is a bit more liberal in the cookie value syntax it
+will accept.
+
+Clients fail more gracefully if no password is available.
+
+* Changes up to version 3.0.1
+
+Debian upgrades from 2.0.x should now work better.
+
+* Changes up to version 3.0
+
+Important!  See README.upgrades when upgrading.
+
+** Platforms And Installation
+
+Mac OS X and FreeBSD are somewhat supported.  There is now a bash script
+in scripts/setup which will automate the setup after 'make install'.
+
+** Server
+
+Users are now stored in the database rather than a configuration file.
+
+The server now has a built-in list of stopwords and players, so only
+additions to these need be mentioned in the configuration file.
+
+The default inter-track gap is now 0s.
+
+How sound is played is now controlled via the new 'api' configuration
+command.  This also controls how the volume is set, which now works with
+ALSA as well as OSS.
+
+A bug in the MP3 decoder was fixed (also in 2.0.4).
+
+** Web Interface
+
+The web interface now uses cookies to remember user identity, and allows
+online registration of new users.  Also it is no longer necessary to
+manually specify the URL of the web interface (but you can override it
+if you don't like the value it figures out).
+
+It is possible to allow users to register via the web interface.
+
+The web interface's browser support has been improved.  It has been
+tested with Firefox 2, Safari 3, Konqueror 3, Internet Explorer 7 and
+Opera 9.
+
+** Disobedience
+
+A bug which would cause a crash if you attempt to rearrange the queue
+while no track was playing has been fixed.  There is a new 'deselect all
+tracks' option, mirroring 'select all tracks.
+
+* Changes up to version 2.0
+
+** General
 
 Tracks can now have tags associated with them.  See tags in disorder(1)
 or the preferences documentation for the web interface or Disobedience.
 
 Tracks can now have tags associated with them.  See tags in disorder(1)
 or the preferences documentation for the web interface or Disobedience.
@@ -15,13 +130,32 @@ documentation for any interface) as well as by word search.  It is
 possible to limit random play by tag (see required-tags and
 prohibited-tags in disorder_config(5)).
 
 possible to limit random play by tag (see required-tags and
 prohibited-tags in disorder_config(5)).
 
-** Server
+Unicode support is improved.  Case-folding and word breaking now follows
+the rules given in the Unicode standard (with a bit of tailoring in the
+latter case).
+
+** Disobedience
+
+There is a new client, 'Disobedience', that depends on the GTK+ library.
+Feedback on the interface would be very welcome.
+
+** Web Interface
+
+The "New" screen display tracks recently added to the database.  From
+here they can be played or their preferences changed.
+
+Long track names are truncated so they fit better on the screen.  Hover
+for the full name.
+
+** Network Play
+
+DisOrder can broadcast audio over a network, allowing it to be played on
+multiple client machines.  See README.streams for details.
 
 
-Cache slow file lookups in the server.  Should help installations with
-large collections and/or slow platforms.
+** Server
 
 
-The communications protocol has changed, for the benefit of
-Disobedience.
+Slow file lookups are cached in the server.  This should help
+installations with large collections and/or slow platforms.
 
 The 'enabled' and 'random_enabled' configuration options are now gone.
 Instead the state survives from one run of the server to the next.
 
 The 'enabled' and 'random_enabled' configuration options are now gone.
 Instead the state survives from one run of the server to the next.
@@ -32,6 +166,20 @@ The 'pick' plugin has been abolished.  All the logic formerly done there
 is now built into the server, where it can be done much more
 efficiently.
 
 is now built into the server, where it can be done much more
 efficiently.
 
+'tracklength' plugins must be explicitly specified.
+
+A bug where removing a collection (from the configuration) could cause a
+crash when random play was enabled has been fixed.
+
+A new configuration option 'queue_pad' allows the number of random
+tracks kept on the queue to be controlled.
+
+There is a new utility disorder-decode which can decode OGG, MP3, WAV
+and FLAC.  The example config file uses it.
+
+Database statistics are computed in a subprocess so that the main server
+(and all clients) are not blocked for the duration.
+
 ** disorderfm
 
 There is a new command line tool called 'disorderfm' which is designed
 ** disorderfm
 
 There is a new command line tool called 'disorderfm' which is designed
@@ -48,6 +196,11 @@ options.transform and the 'transform' web option have gone, replaced
 with a 'transform' configuration command.  Both this and 'namepart' are
 now optional.
 
 with a 'transform' configuration command.  Both this and 'namepart' are
 now optional.
 
+** Thanks
+
+Ross Younger, Colin Watson, Michael Stevens and Mark Wooding all
+contributed in some way to this release.
+
 * Changes up to version 1.5.1
 
 ** Web Interface
 * Changes up to version 1.5.1
 
 ** Web Interface
@@ -177,7 +330,7 @@ Enable/disable buttons are now colored to reflect current state.
 Entering numeric volume values (rather than clicking on the arrows) now
 works.
 
 Entering numeric volume values (rather than clicking on the arrows) now
 works.
 
-Connection errors are reported more gracefuly.
+Connection errors are reported more gracefully.
 
 ** Plugins
 
 
 ** Plugins
 
@@ -318,4 +471,3 @@ Local Variables:
 mode:outline
 fill-column:72
 End:
 mode:outline
 fill-column:72
 End:
-arch-tag:9dfc21f4428056e647e3656822342956