-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//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>
+<link rel=StyleSheet type="text/css" href="docs.css">
</head>
<body>
<p>This file documents recent user-visible changes to <a
href="http://www.greenend.org.uk/rjk/disorder/">DisOrder</a>.</p>
-<h2>Changes up to version 4.4</h2>
+<p><b>IMPORTANT</b>: you should read <a
+href="README.upgrades.html">README.upgrades</a> before upgrading.</p>
+
+<h2>Changes up to version 5.1.1</h2>
+
+ <div class=section>
+
+ <h3>Bug fixes</h3>
+
+ <div class=section>
+
+ <ul>
+ <li><code>player</code> and <code>tracklength</code> can now be used
+ without arguments to clear the lists, as per the documentation.</li>
+
+ <li>Tracks without a player are forgotten upon rescan.</li>
+
+ <li>The speaker process avoids splitting frames.</li>
+ </ul>
+
+ <p>Thanks to Mark Wooding and Joe Birr-Pixton.</p>
+
+ </div>
+
+ </div>
+
+<h2>Changes up to version 5.1</h2>
+
+<div class=section>
+
+ <h3>Removable Device Support</h3>
+
+ <div class=section>
+
+ <p>The server will now automatically initiate a rescan when a filesystem is
+ mounted or unmounted. (Use the <tt>mount_rescan</tt> option if you want to
+ suppress this behavior.)</p>
+
+ <p>The server takes care not to hold audio files open unnecessarily, so
+ that devices can be unmounted even if tracks from them are currently being
+ buffered.</p>
+
+ </div>
+
+ <h3>Disobedience</h3>
+
+ <div class=section>
+
+ <p>You can now edit the <tt>required-tags</tt> and <tt>prohibited-tags</tt>
+ global preferences in Disobedience
+ (<a href="http://code.google.com/p/disorder/issues/detail?id=29">issue
+ #29</a>).</p>
+
+ <p>The “Manage users” option is now more reliably greyed out if
+ it will not work. This depends on a server change too, so it may still be
+ wrong if a new Disobedience is used against an old server.</p>
+
+ <p>A <tt>.desktop</tt> file is now shipped, making Disobedience visible as
+ an application in freedesktop.org-compliant systems.</p>
+
+ </div>
+
+ <h3>Backups</h3>
+
+ <div class=section>
+
+ <p>The Debian package now includes a cronjob that backs up the database
+ daily. See <tt>/etc/cron.d/disorder</tt>. You can put settings
+ in <tt>/etc/default/disorder</tt> to turn this off or to control how long
+ the backups are kept for.</p>
+
+ <p>The <tt>disorder-dump -r</tt> option was broken.</p>
+
+ <p><tt>disorder-dump</tt> now gets permissions right automatically (<a
+ href="http://code.google.com/p/disorder/issues/detail?id=56">issue
+ #56</a>).</p>
+
+ </div>
+
+ <h3>General</h3>
+
+ <div class=section>
+
+ <p>Unicode support has been upgraded to <a
+ href="http://www.unicode.org/versions/Unicode6.0.0/">Unicode
+ 6.0.0</a>.</p>
+
+ <p>Client programs no longer depend on libdb.</p>
+
+ <p>The following have been removed:</p>
+
+ <ul>
+
+ <li>The <tt>allow</tt>, <tt>gap</tt>, <tt>lock</tt>, <tt>prefsync</tt>,
+ <tt>restrict</tt>, <tt>trust</tt> configuration commands. If they still
+ appear in your configuration file then the server will not start.</li>
+
+ <li>The <tt>columns</tt> web interface option. It will generate an
+ message in your error log but otherwise be ignored.</li>
+
+ <li>The <tt>--wait-for-device</tt> player option. If it still appears in
+ any player commands, they will not work.</li>
+
+ <li>Support for automatically importing pre-3.0 users.</li>
+
+ </ul>
+
+ <p>Various minor bug fixes.</p>
+
+ </div>
+
+</div>
+
+<h2>Changes up to version 5.0.3</h2>
+
+<div class=section>
+
+<p><b>Security</b>: Local connections can no longer create and delete users
+unless they are properly authorized.</p>
+
+</div>
+
+<h2>Changes up to version 5.0.2</h2>
+
+<div class=section>
+
+<p>The login form now indicates that a cookie will be set.</p>
+
+</div>
+
+<h2>Changes up to version 5.0.1</h2>
+
+<div class=section>
+
+<h3>Disobedience</h3>
+
+<div class=section>
+
+<p>The sense of the Control → Playing menu item was fixed.</p>
+
+</div>
+
+</div>
+
+<h2>Changes up to version 5.0</h2>
<div class=section>
<p>Gapless play should be more reliable, and playback latency over RTP
should be a bit lower. Note though that all the sound output code has
been reorganized and in some cases completely rewritten, so it's possible
- that bugs may have been (re-)introduced.</p>
+ that bugs may have been (re-)introduced. Decoding of scratches is also
+ initiated ahead of time, giving more reliable playback.</p>
<p>The <tt>command</tt> backend now (optionally) sends silence instead
of suspending writes when a pause occurs or no track is playing.</p>
-
+
+ <p>If <a href="http://www.mega-nerd.com/SRC/">libsamplerate</a> is
+ available at build time then that will be used instead of invoking
+ <a href="http://sox.sourceforge.net/">SoX</a>. SoX support will be
+ removed in a future version.</p>
+
+ <p>The libao plugin has been removed, because the plugin API is not
+ usable in libao 1.0.0.</p>
+
+ <p>Playlists are now supported. These allow a collection of tracks to be
+ prepared offline and played as a unit.</p>
+
</div>
+ <h3>Disobedience</h3>
+
+ <div class=section>
+
+ <p>Multiple tracks can now be dragged in the queue in a single operation.
+ Furthermore, it is now possible to drag tracks from the
+ “Recent”, “Added” and “Choose” tabs
+ to the queue.</p>
+
+ <p>Disobedience now supports playlist editing and has a compact mode,
+ available from the <b>Control</b> menu.</p>
+
+ <p>Disobedience has a <a href="disobedience/manual/index.html">new
+ manual</a>.</p>
+
+ </div>
+
<h3>Web Interface</h3>
<div class=section>
<p>Confirmation URLs should be cleaner (and in particular not end
with punctuation). (Please see <a
- href="README.upgrades">README.upgrades</a> for more about this.)</p>
-
+ href="README.upgrades.html">README.upgrades</a> for more about this.)</p>
+
</div>
<h3>RTP Player</h3>
<th>ID</th>
<th>Description</th>
</tr>
-
+
+ <tr>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=22">#22</a></td>
+ <td>Background decoders interact badly with server reload</td>
+ </tr>
+
<tr>
<td><a href="http://code.google.com/p/disorder/issues/detail?id=27">#27</a></td>
<td>Mac DisOrder uses wrong sound device</td>
</tr>
<tr>
- <td><a href="http://code.google.com/p/disorder/issues/detail?id=33">#33</a></d>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=30">#30</a></td>
+ <td>mini disobedience interface</td>
+ </tr>
+
+ <tr>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=32">#32</a></td>
+ <td>Excessively verbose log chatter on shutdown</td>
+ </tr>
+
+ <tr>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=33">#33</a></td>
<td>(Some) plugins need -lm.</td>
</tr>
<tr>
- <td><a href="http://code.google.com/p/disorder/issues/detail?id=39">#39</a></d>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=39">#39</a></td>
<td>Double bind() non-multicast AF_INET</td>
</tr>
<tr>
- <td><a href="http://code.google.com/p/disorder/issues/detail?id=40">#40</a></d>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=40">#40</a></td>
<td>Missing stub function</td>
</tr>
<tr>
- <td><a href="http://code.google.com/p/disorder/issues/detail?id=41">#41</a></d>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=41">#41</a></td>
<td>Missing includes for timeval</td>
</tr>
<tr>
- <td><a href="http://code.google.com/p/disorder/issues/detail?id=42">#42</a></d>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=42">#42</a></td>
<td>syntax error in empeg_host section</td>
</tr>
<tr>
- <td><a href="http://code.google.com/p/disorder/issues/detail?id=44">#44</a></d>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=43">#43</a></td>
+ <td>decoder segfault with FLAC 1.2.1</td>
+ </tr>
+
+ <tr>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=44">#44</a></td>
<td>gcc 4.3.2-1ubuntu12 SUYB patch</td>
</tr>
<tr>
- <td><a href="http://code.google.com/p/disorder/issues/detail?id=45">#45</a></d>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=45">#45</a></td>
<td>disobedience doesn't configure its back end</td>
</tr>
-
+
+ <tr>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=46">#46</a></td>
+ <td>Sort search results in web interface</td>
+ </tr>
+
+ <tr>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=48">#48</a></td>
+ <td>build-time dependency on <tt>oggdec</tt> removed</td>
+ </tr>
+
+ <tr>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=49">#49</a></td>
+ <td>Disobedience's 'When' column gets out of date</td>
+ </tr>
+
+ <tr>
+ <td><a href="http://code.google.com/p/disorder/issues/detail?id=51">#51</a></td>
+ <td>Improved speaker process robustness</td>
+ </tr>
+
+ <tr>
+ <td>(none)</td>
+ <td>“found track in no collection” messages for scratches
+ are now suppressed</td>
+ </tr>
+
+ <tr>
+ <td>(none)</td>
+ <td>Disobedience would sometimes fail to notice when a track
+ started, leading to its display getting out of date.</td>
+ </tr>
+
</table>
-
</div>
</div>
<div class=section>
<p><b>Important</b>! See <a
- href="README.upgrades">README.upgrades</a> when upgrading.</p>
+ href="README.upgrades.html">README.upgrades</a> when upgrading.</p>
<h3>Platforms And Installation</h3>