chiark / gitweb /
CHANGES -> CHANGES.html
authorRichard Kettlewell <rjk@greenend.org.uk>
Mon, 26 May 2008 12:49:02 +0000 (13:49 +0100)
committerRichard Kettlewell <rjk@greenend.org.uk>
Mon, 26 May 2008 12:49:02 +0000 (13:49 +0100)
CHANGES [deleted file]
CHANGES.html [new file with mode: 0644]
Makefile.am
README
debian/rules

diff --git a/CHANGES b/CHANGES
deleted file mode 100644 (file)
index 32d83b7..0000000
--- a/CHANGES
+++ /dev/null
@@ -1,473 +0,0 @@
-* Changes up to version 3.1
-
-** Server
-
-The 'gap' directive will no longer work.  It could be restored if there
-is real demand.
-
-*** 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.
-
-The search facility knows how to limit results by tag (see search
-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)).
-
-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.
-
-** Server
-
-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.
-'disable now' is gone as well - if you want to emulate it disable
-playing and then scratch the current track.
-
-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.
-
-'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
-for filename translation on (for instance) digital audio repositories.
-It is not yet feature-complete.  See its man page for additional
-details.
-
-** Build And Configuration
-
-You can control which components are built with new --with options.  See
-README.
-
-options.transform and the 'transform' web option have gone, replaced
-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
-
-Correct regexp for non-alpha tracks.
-
-* Changes up to version 1.5
-
-** Web Interface
-
-Regexp-based filtering of tracks (for instance as used by the initial
-'Choose' page) now does the regexp matching in the server, limiting the
-amount of data transferred to the web interface only to be discarded.
-
-** Client
-
-Regexp-base filtering of tracks is now available to the command line
-client.
-
-** Server
-
-New server_nice, speaker_nice and rescan_nice configuration options
-allow independent control of process priorities.
-
-Scratches are now attributed to the user who requested them.
-
-Bugs fixed:
-  A file descriptor was leaked for each track played.
-  The amount of a track played so far was not reported.
-  The speaker process could crash on underrun.
-  The server would crash if you paused a non-pause capable track.
-  Regexp matching in the file and directory list commands was not
-  reliable.
-  Handling of variable-argument commands in the client was broken.
-
-* Changes up to version 1.4
-
-** General
-
-Raw format players are now supported.  See README.upgrades and
-README.raw for details.  This allows pausing and eliminating the
-inter-track gap.
-
-Pausing is also supported with suitably modified standalone player
-plugins, though none of the supplied ones are capable of this.
-
-When random play is enabled the randomly picked track now appears in the
-queue, and can be moved around the queue, removed from it, etc.
-
-** Web Interface
-
-Switches (random play, pause, ...) are now presented as a
-fixed-appearance switch with an adjacent state indicator.
-
-The 'Manage' screen has new buttons to move tracks to the head or tail
-of the queue.
-
-You can now edit the preferences for all the tracks in an album in a
-single screen, rather than having to visit each separately.  For the
-time being the raw preferences editing has gone; it can be reintroduced
-on some form if there is demand.  (You can still edit raw preferences
-from the command line.)
-
-Labels are now documented in options.labels rather than
-disorder_config(5).
-
-** Server
-
-If you tried to start up on any empty database with random play enabled
-the server would exit with an error.
-
-The server no longer risks failing if you strace its player
-subprocesses.
-
-It was possible for the server to hang when a 'reconfigure' command was
-issued.  This should no longer be the case.
-
-The default signal to forcibly terminate players is now SIGKILL.
-
-** Plugins
-
-Plugins must now declare a type word.  This allows them to document
-whether they are a standalone player or a raw-format player, and whether
-they support pausing.  They can also arrange to get setup and cleanup
-calls in the main server.  See disorder(3) for more details.
-
-* Changes up to version 1.3
-
-** Dependencies
-
-Berkeley DB 4.2 is no longer supported.  Use 4.3.
-
-** Client
-
-There is a new 'authorize' command to simplify the addition of local
-users.  Please report successes as well as failures.
-
-There is a new 'resolve' command to return the real track name behind an
-alias.
-
-The 'rescan' command no longer takes an argument.
-
-** Server
-
-The track database code has been largely rewritten to improve
-maintainability.
-
-There is a new 'lock' directive.  By default the server uses a lockfile
-to prevent multiple copies of itself running simultaneously; this can be
-inhibited e.g. if you are using a filesystem that does not support
-locking and are confident you can prevent concurrent running yourself.
-
-Aliases for track names, constructed from trackname_display_
-preferences, now appear in the virtual filesystem.  
-
-The server now executes a subprocess for the rescan operation.  It also
-runs a separate deadlock manager.
-
-Standard output and standard error from subprocesses are now logged.
-This is handy if you need to figure out why a player failed unexpectedly
-but might lead to huge log files if you have needlessly verbose players.
-
-** Web Interface
-
-Enable/disable buttons are now colored to reflect current state.
-
-Entering numeric volume values (rather than clicking on the arrows) now
-works.
-
-Connection errors are reported more gracefully.
-
-** Plugins
-
-Scanner plugins are now always invoked in a subprocess.
-
-disorder_track_count() and disorder_track_getn() are no longer
-available.  Instead use disorder_track_random().
-
-Plugins are now opened with RTLD_NOW, so link errors are detected
-immediately.
-
-** Tools
-
-disorder-dump now insists on the input/output file being a named regular
-file, rather than using stdin or stdout.
-
-** Other
-
-Some missing files have been added, and some notes added regarding
-getting text encoding right.
-
-* Changes up to version 1.2
-
-See README.upgrades when upgrading to this version.
-
-** Bugs Fixed
-
-Avoid accumulating overlarge recently played list.
-
-When the server was stopped, the currently playing track would not be
-added to the recently played list.  This has been fixed.
-
-Reloading the 'volume' page no longer repeats the last volume-changing
-action.
-
-The search facility now works properly for multiple hits within a single
-artist or album.
-
-** Server
-
-New namepart directive replaces web interface's trackname-part.  There
-are associated changes to the protocol and clients.
-
-The number of database queries per candidate match required when
-searching has been reduced.
-
-The operator can control the signal used to scratch playing tracks.  The
-default has been changed to SIGINT from SIGKILL.
-
-The 'log' command now provides a formalised event log, rather than raw
-access to the server's ordinary log output.
-
-** Web Interface Changes
-
-*** Choosing Tracks
-
-When picking a track the client now stays on the same screen rather than
-redirecting back to the 'Playing' screen.  So that the user gets
-feedback from their action, playing and queued tracks are now marked as
-such in the track picking screen.
-
-It is possible to revert to the old behaviour by removing the back=
-argument from the choose.html and search.html templates (and optionally
-the trackstate lines).
-
-*** Search
-
-Non-ASCII characters are now properly supported in search terms.
-
-*** Syntax
-
-The template syntax has been changed slightly to ignore whitespace in
-certain places.
-
-*** Miscellaneous
-
-Some formerly textual buttons are now replaced by images (with ALT text
-reflecting the old value).  The stylesheet is now a .css file (installed
-in the same place as the images) rather than being embedded into every
-template.
-
-Artist and album names in the playing and recently-played lists are now
-links to the corresponding directory.
-
-More functions are now available from the 'manage' screen.
-
-The menus are now (by default) across the top of the screen instead of
-down the side.  Set the 'menu' label to 'sidebar' to restore the old
-appearance.  'Volume' is not present in this new menu, use 'Manage'
-instead (or edit the template).
-
-** tkdisorder
-
-tkdisorder now displays artist, album and title in the queue and
-recently played widgets, rather than just the title (as formerly).
-
-* Changes up to version 1.1
-
-** Bugs Fixed
-
-Corrected various problems with UTF-8 parsing.
-
-In the web interface, "The Beatles" (etc) are now grouped under 'B' not
-'T' when grouping tracks by initial letter.
-
-** Server
-
-The list of recently played tracks is now preserved across server
-restarts.
-
-Track IDs are more compact.
-
-Versions of libdb before 4.2 are no longer supported.  4.2 and 4.3 both
-work now.  4.2 support will be removed in some future release.
-
-Prehistoric backwards-compatibility logic removed.  Only affects people
-upgrading from long before 1.0 (who should upgrade to 1.0 and then to
-1.1.)
-
-** Command Line
-
-Tracks can be moved in the queue from the command line.
-
-'disorder queue' now reports track IDs.
-
-$pkgdatadir/completion.bash provides tab completion over commands and
-options.
-
-** Web Interface
-
-New 'cooked' preferences interface saves users having to know arcane
-details of trackname preferences and so on.  Non-ASCII characters are
-now properly supported in this context.
-
-CGI arguments to the web interface are now checked for UTF-8 compliance.
-
-Local Variables:
-mode:outline
-fill-column:72
-End:
diff --git a/CHANGES.html b/CHANGES.html
new file mode 100644 (file)
index 0000000..9a60a44
--- /dev/null
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<title>DisOrder Change History</title>
+<style type="text/css">
+body {
+  color: black;
+  background-color: white;
+  font-family: times,serif;
+  font-weight: normal;
+  font-size: 12pt;
+  font-variant: normal
+}
+
+div.section {
+  margin-left:1em
+}
+
+h1 {
+  background-color: #e0ffe0;
+  font-family: helvetica,sans-serif;
+  padding: 0.2em
+}
+
+h2 {
+  background-color: #e0ffe0;
+  font-family: helvetica,sans-serif;
+  padding: 0.2em
+}
+
+h3 {
+  background-color: #f0f0f0;
+  font-family: helvetica,sans-serif;
+  padding: 0.2em
+}
+
+h4 {
+  font-family: helvetica,sans-serif
+}
+
+table.bugs {
+  width: 100%
+}
+
+table.bugs th {
+  text-align: left
+}
+
+span.command {
+  font-family: monospace
+}
+</style>
+</head>
+
+<body>
+<h1>DisOrder Change History</h1>
+
+<p>This file documents recent user-visible changes to DisOrder.</p>
+
+<h2>Changes up to version 3.1</h2>
+
+<div class=section>
+
+  <h3>Server</h3>
+
+<div class=section>
+  
+  <p>The <tt>gap</tt> directive will no longer work.  It could be
+  restored if there is real demand.</p>
+  
+  <h4>Event Scheduling</h4>
+
+<div class=section>
+
+  <p>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 <tt>schedule-*</tt>
+  commands described in disorder(1).</p>
+
+</div>
+
+<h4>Random Track Choice</h4>
+
+<div class=section>
+
+  <p>This has been completely rewritten to support new features:</p>
+
+  <ul>
+
+    <li>tracks in the recently-played list or in the queue are no longer
+    eligible for random choice.</li>
+
+    <li>there is a new <tt>weight</tt> track preference allowing for
+    non-uniform track selection.  See disorder(1) for details.</li>
+
+    <li>there is a new configuration item <tt>replay_min</tt> defining
+    the minimum time before a played track can be picked at random.
+    The default is 8 hours (which matches the earlier behaviour).</li>
+
+    <li>recently added tracks are biased up; see <tt>new_bias</tt> and
+    <tt>new_bias_age</tt> in disorder_config(5).</li>
+
+  </ul>
+
+</div>
+
+<h4>Web Interface</h4>
+
+<div class=section>
+
+  <p>This has been largely rewritten.  The most immediate benefits are:</p>
+
+  <ul>
+    
+    <li>the search page is integrated into the choose page, and
+    includes links to parent directories.</li>
+    
+    <li>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.</li>
+
+  </ul>
+
+  <p>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 (see disorder.cgi(8) as a starting point).</p>
+
+</div>
+
+</div>
+
+<h3>Disobedience</h3>
+
+<div class=section>
+
+  <p>There is now a new user management window.  From here you can add and
+  remove users or modify their settings.</p>
+
+  <p>Relatedly, the server will only allow remote user management if you set
+  <tt>remote_userman</tt> to <tt>yes</tt>.</p>
+
+</div>
+
+<h3>Miscellaneous</h3>
+
+<div class=section>
+
+  <p><tt>scripts/setup</tt> now honors command line options, and can
+  set up network play as well as the local default sound device.</p>
+
+</div>
+
+<h3>Bugs Fixed</h3>
+
+<div class=section>
+
+  <table class=bugs>
+    <tr>
+      <th>ID</th>
+      <th>Description</th>
+    </tr>
+
+    <tr>
+      <td><a href="http://code.google.com/p/disorder/issues/detail?id=2">#2</a></td>
+      <td>Search results should link to directories</td>
+    </tr>
+
+    <tr>
+      <td><a href="http://code.google.com/p/disorder/issues/detail?id=6">#6</a></td>
+      <td>Schedule tracks for a particular time</td>
+    </tr>
+
+    <tr>
+      <td><a href="http://code.google.com/p/disorder/issues/detail?id=10">#10</a></td>
+      <td>Non-uniform track selection</td>
+    </tr>
+
+    <tr>
+      <td><a href="http://code.google.com/p/disorder/issues/detail?id=11">#11</a></td>
+      <td>Bias random selection to newly added tracks</td>
+    </tr>
+
+    <tr>
+      <td><a href="http://code.google.com/p/disorder/issues/detail?id=13">#13</a></td>
+      <td>Default encoding for debian setup scripts</td>
+    </tr>
+
+    <tr>
+      <td><a href="http://code.google.com/p/disorder/issues/detail?id=16">#16</a></td>
+      <td>Cookie expiry causes user to be silently logged out and not
+      subsequently redirected to login page</td>
+    </tr>
+    
+    <tr>
+      <td><a href="http://code.google.com/p/disorder/issues/detail?id=20">#20</a></td>
+      <td>Broken aliasing rules</td>
+    </tr>
+    
+  </table>
+
+</div>
+
+</div>
+
+<h2>Changes up to version 3.0.2</h2>
+
+<div class=section>
+
+  <p>Builds <tt>--without-server</tt> should work again.</p>
+
+  <p>The web interface is a bit more liberal in the cookie value
+  syntax it will accept.</p>
+
+  <p>Clients fail more gracefully if no password is available.</p>
+
+</div>
+
+<h2>Changes up to version 3.0.1</h2>
+
+<div class=section>
+  
+  <p>Debian upgrades from 2.0.x should now work better.</p>
+  
+</div>
+
+<h2>Changes up to version 3.0</h2>
+
+<div class=section>
+  
+  <p><b>Important</b>!  See <a
+  href="README.upgrades">README.upgrades</a> when upgrading.</p>
+  
+  <h3>Platforms And Installation</h3>
+  
+<div class=section>
+  
+  <p>Mac OS X and FreeBSD are somewhat supported.  There is now a bash
+  script in <tt>scripts/setup</tt> which will automate the setup after
+  <tt>make install</tt>.</p>
+  
+</div>
+
+<h3>Server</h3>
+
+<div class=section>
+  
+  <p>Users are now stored in the database rather than a configuration
+  file.</p>
+  
+  <p>The server now has a built-in list of stopwords and players, so
+  only additions to these need be mentioned in the configuration file.</p>
+  
+  <p>The default inter-track gap is now 0s.</p>
+  
+  <p>How sound is played is now controlled via the new <tt>api</tt>
+  configuration command.  This also controls how the volume is set,
+  which now works with ALSA as well as OSS.</p>
+  
+  <p>A bug in the MP3 decoder was fixed (also in 2.0.4).</p>
+  
+</div>
+
+<h3>Web Interface</h3>
+
+<div class=section>
+  
+  <p>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).</p>
+  
+  <p>It is possible to allow users to register via the web interface.</p>
+  
+  <p>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.</p>
+  
+</div>
+
+<h3>Disobedience</h3>
+
+<div class=section>
+
+  <p>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.</p>
+  
+</div>
+
+</div>
+
+<!--
+Local Variables:
+fill-column:79
+End:
+-->
index 87a70c0..cd8ab35 100644 (file)
@@ -18,7 +18,7 @@
 # USA
 #
 
-EXTRA_DIST=TODO CHANGES README.streams BUGS \
+EXTRA_DIST=TODO CHANGES.html README.streams BUGS \
 README.upgrades README.client README.raw README.vhost README.developers
 SUBDIRS=@subdirs@
 
diff --git a/README b/README
index d13ab37..d9bdde9 100644 (file)
--- a/README
+++ b/README
@@ -13,8 +13,8 @@ DisOrder is a multi-user software jukebox.
      GTK+ interface that runs on Linux and Mac systems.
    * Playing tracks can be paused or cancelled ("scratched").
 
-See CHANGES for details of recent changes to DisOrder and README.upgrades for
-upgrade instructions.
+See CHANGES.html for details of recent changes to DisOrder and README.upgrades
+for upgrade instructions.
 
 Platform support:
   Linux            Well tested on Debian
index 6c5b0ac..4fa3d4c 100755 (executable)
@@ -100,11 +100,10 @@ pkg-disorder: build
        $(MKDIR) debian/disorder/etc/disorder
        dpkg-shlibdeps -Tdebian/substvars.disorder \
                debian/disorder/usr/bin/*
-       $(INSTALL_DATA) CHANGES README debian/README.Debian \
+       $(INSTALL_DATA) CHANGES.html README debian/README.Debian \
                BUGS README.* \
                debian/disorder/usr/share/doc/disorder/.
-       gzip -9f debian/disorder/usr/share/doc/disorder/CHANGES \
-                debian/disorder/usr/share/doc/disorder/README \
+       gzip -9f debian/disorder/usr/share/doc/disorder/README \
                 debian/disorder/usr/share/doc/disorder/README.* \
                 debian/disorder/usr/share/doc/disorder/BUGS \
                 debian/disorder/usr/share/man/man*/*