chiark / gitweb /
Add documentation and administrivia about `disorder-gstdecode'.
[disorder] / CHANGES.html
CommitLineData
2ea2b361 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
b0a578cb
RK
2<html>
3<head>
4<title>DisOrder Change History</title>
2ea2b361 5<link rel=StyleSheet type="text/css" href="docs.css">
b0a578cb
RK
6</head>
7
8<body>
9<h1>DisOrder Change History</h1>
10
d8b95785
RK
11<p>This file documents recent user-visible changes to <a
12 href="http://www.greenend.org.uk/rjk/disorder/">DisOrder</a>.</p>
13
2ea2b361
RK
14<p><b>IMPORTANT</b>: you should read <a
15href="README.upgrades.html">README.upgrades</a> before upgrading.</p>
16
5bb003c8
RK
17<h2>Changes up to version 5.1</h2>
18
19<div class=section>
20
21 <h3>Removable Device Support</h3>
22
23 <div class=section>
24
25 <p>The server will now automatically initiate a rescan when a filesystem is
8488cf7d
RK
26 mounted or unmounted. (Use the <tt>mount_rescan</tt> option if you want to
27 suppress this behavior.)</p>
5bb003c8
RK
28
29 <p>The server takes care not to hold audio files open unnecessarily, so
30 that devices can be unmounted even if tracks from them are currently being
31 buffered.</p>
32
33 </div>
34
5568dfa8
RK
35 <h3>Disobedience</h3>
36
37 <div class=section>
38
39 <p>You can now edit the <tt>required-tags</tt> and <tt>prohibited-tags</tt>
40 global preferences in Disobedience
41 (<a href="http://code.google.com/p/disorder/issues/detail?id=29">issue
42 #29</a>).</p>
43
164f2e93
RK
44 <p>The &ldquo;Manage users&rdquo; option is now more reliably greyed out if
45 it will not work. This depends on a server change too, so it may still be
46 wrong if a new Disobedience is used against an old server.</p>
51827ce3
RK
47
48 <p>A <tt>.desktop</tt> file is now shipped, making Disobedience visible as
49 an application in freedesktop.org-compliant systems.</p>
164f2e93 50
5568dfa8
RK
51 </div>
52
7823bd97
RK
53 <h3>Backups</h3>
54
55 <div class=section>
56
57 <p>The Debian package now includes a cronjob that backs up the database
58 daily. See <tt>/etc/cron.d/disorder</tt>. You can put settings
59 in <tt>/etc/default/disorder</tt> to turn this off or to control how long
60 the backups are kept for.</p>
61
62 <p>The <tt>disorder-dump -r</tt> option was broken.</p>
63
5568dfa8 64 <p><tt>disorder-dump</tt> now gets permissions right automatically (<a
7823bd97
RK
65 href="http://code.google.com/p/disorder/issues/detail?id=56">issue
66 #56</a>).</p>
67
5568dfa8
RK
68 </div>
69
c764e832
MW
70 <h3>GStreamer support</h3>
71
72 <div class=section>
73
74 <p>If it's detected at <tt>configure</tt> time, a new decoder
75 program <tt>disorder-gstdecode</tt> is built. It uses the GStreamer
76 library for audio decoding and sample-rate conversion, among other
77 features.
78
79 <p>The decoder has a number of options for controlling the sample-rate and
80 audio format conversion, allowing various tradeoffs between quality and
81 processor time. (High-quality conversion can consume more processor time
82 than decoding, so this is potentially useful on very a small device such as
83 a Raspberry Pi.</p>
84
85 <p>The GStreamer decoder can also use ReplayGain information stored in
86 audio files' metadata to adjust playback volume, so that tracks with very
87 wide dynamic range don't sound really quiet in comparison. This
88 information can be added using tools such as <tt>mp3gain</tt>,
89 <tt>vorbisgain</tt>, or <tt>metaflac</tt>. This is turned on by default if
90 you use the decoder; you can choose between per-album or per-track
91 settings, or turn it off entirely, using command-line options.</p>
92
93 <p>The GStreamer decoder is not used by default, but it can be enabled
94 easily enough by dropping something like the following into the server
95 configuration file:
96 <pre>
97 player
98 player *.flac execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
99 player *.mp2 execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
100 player *.mp3 execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
101 player *.ogg execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
102 player *.wav execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
103 </pre>
104 </p>
105
b1dd58fc
RK
106 <h3>General</h3>
107
108 <div class=section>
109
110 <p>Unicode support has been upgraded to <a
111 href="http://www.unicode.org/versions/Unicode6.0.0/">Unicode
112 6.0.0</a>.</p>
4019fe4d
RK
113
114 <p>Client programs no longer depend on libdb.</p>
7823bd97 115
657fdb79
RK
116 <p>The following have been removed:</p>
117
118 <ul>
119
120 <li>The <tt>allow</tt>, <tt>gap</tt>, <tt>lock</tt>, <tt>prefsync</tt>,
121 <tt>restrict</tt>, <tt>trust</tt> configuration commands. If they still
122 appear in your configuration file then the server will not start.</li>
123
124 <li>The <tt>columns</tt> web interface option. It will generate an
125 message in your error log but otherwise be ignored.</li>
126
127 <li>The <tt>--wait-for-device</tt> player option. If it still appears in
128 any player commands, they will not work.</li>
129
130 <li>Support for automatically importing pre-3.0 users.</li>
131
132 </ul>
133
7823bd97 134 <p>Various minor bug fixes.</p>
b1dd58fc
RK
135
136 </div>
137
f3ae6953
RK
138</div>
139
68a78d16
RK
140<h2>Changes up to version 5.0.3</h2>
141
142<div class=section>
143
144<p><b>Security</b>: Local connections can no longer create and delete users
145unless they are properly authorized.</p>
146
147</div>
148
06bedf43
RK
149<h2>Changes up to version 5.0.2</h2>
150
151<div class=section>
152
153<p>The login form now indicates that a cookie will be set.</p>
154
155</div>
156
9b68b94f
RK
157<h2>Changes up to version 5.0.1</h2>
158
159<div class=section>
160
161<h3>Disobedience</h3>
162
163<div class=section>
164
165<p>The sense of the Control &#x2192; Playing menu item was fixed.</p>
166
167</div>
168
5bb003c8
RK
169</div>
170
64360021 171<h2>Changes up to version 5.0</h2>
f5fd9a6b
RK
172
173 <div class=section>
174
f207f710
RK
175 <h3>Server</h3>
176
f5fd9a6b
RK
177 <div class=section>
178
fe33cfc0 179 <p>The <tt>device</tt> configuration option now works under OS X.
7cd4dd21 180 Devices may
f207f710 181 be specified either by UID or name. Fixes <a
f5fd9a6b
RK
182 href="http://code.google.com/p/disorder/issues/detail?id=27">Issue
183 27</a>.</p>
f207f710 184
f71fc3ab 185 <p>Gapless play should be more reliable, and playback latency over RTP
6762ac8a 186 should be a bit lower. Note though that all the sound output code has
f71fc3ab 187 been reorganized and in some cases completely rewritten, so it's possible
900fa0b8
RK
188 that bugs may have been (re-)introduced. Decoding of scratches is also
189 initiated ahead of time, giving more reliable playback.</p>
7cd4dd21
RK
190
191 <p>The <tt>command</tt> backend now (optionally) sends silence instead
192 of suspending writes when a pause occurs or no track is playing.</p>
c3feb35b
RK
193
194 <p>If <a href="http://www.mega-nerd.com/SRC/">libsamplerate</a> is
195 available at build time then that will be used instead of invoking
317dc3e8
RK
196 <a href="http://sox.sourceforge.net/">SoX</a>. SoX support will be
197 removed in a future version.</p>
c3feb35b 198
6a213ecb
RK
199 <p>The libao plugin has been removed, because the plugin API is not
200 usable in libao 1.0.0.</p>
86541f5a 201
79ab6bd2
RK
202 <p>Playlists are now supported. These allow a collection of tracks to be
203 prepared offline and played as a unit.</p>
204
7cd4dd21
RK
205 </div>
206
6a7eb118
RK
207 <h3>Disobedience</h3>
208
209 <div class=section>
210
69c456f3
RK
211 <p>Multiple tracks can now be dragged in the queue in a single operation.
212 Furthermore, it is now possible to drag tracks from the
213 &ldquo;Recent&rdquo;, &ldquo;Added&rdquo; and &ldquo;Choose&rdquo; tabs
214 to the queue.</p>
6a7eb118 215
c2f51940
RK
216 <p>Disobedience now supports playlist editing and has a compact mode,
217 available from the <b>Control</b> menu.</p>
79ab6bd2 218
67b1beae
RK
219 <p>Disobedience has a <a href="disobedience/manual/index.html">new
220 manual</a>.</p>
221
6a7eb118
RK
222 </div>
223
7cd4dd21
RK
224 <h3>Web Interface</h3>
225
226 <div class=section>
53710d44 227
7cd4dd21
RK
228 <p>Confirmation URLs should be cleaner (and in particular not end
229 with punctuation). (Please see <a
2ea2b361 230 href="README.upgrades.html">README.upgrades</a> for more about this.)</p>
533272be 231
f207f710
RK
232 </div>
233
234 <h3>RTP Player</h3>
235
236 <div class=section>
237
238 <p>There is a new <tt>--command</tt> option which allows the RTP player
239 to send audio data to a user-chosen command instead of an audio API. See
240 the man page for details.</p>
241
242 <p>The <tt>--device</tt> option to <tt>disorder-playrtp</tt> now works
243 under OS X (as above).</p>
f5fd9a6b
RK
244
245 </div>
7cd4dd21
RK
246
247 <h3>General</h3>
f5fd9a6b 248
7cd4dd21
RK
249 <div class=section>
250
251 <p>IPv6 should now work. Network address specifications
252 (<tt>listen</tt>, <tt>connect</tt> etc) can now be prefixed with
253 <tt>-4</tt> or <tt>-6</tt> to force use
254 of IPv4 or IPv6, though normally this should not be needed.</p>
255
2cb9bc5f
RK
256 <p>Unicode support has been upgraded to <a
257 href="http://www.unicode.org/versions/Unicode5.1.0/">Unicode
258 5.1.0</a>.</p>
259
7cd4dd21
RK
260 <p>Various elements of the source code have been
261 rationalized.</p>
262
263 </div>
264
f5fd9a6b
RK
265 <h3>Bugs fixed</h3>
266
267 <div class=section>
268
269 <table class=bugs>
270 <tr>
271 <th>ID</th>
272 <th>Description</th>
273 </tr>
417ef7de
RK
274
275 <tr>
276 <td><a href="http://code.google.com/p/disorder/issues/detail?id=22">#22</a></td>
277 <td>Background decoders interact badly with server reload</td>
278 </tr>
279
f5fd9a6b
RK
280 <tr>
281 <td><a href="http://code.google.com/p/disorder/issues/detail?id=27">#27</a></td>
282 <td>Mac DisOrder uses wrong sound device</td>
283 </tr>
284
548c9cba 285 <tr>
2ea2b361 286 <td><a href="http://code.google.com/p/disorder/issues/detail?id=30">#30</a></td>
548c9cba
RK
287 <td>mini disobedience interface</td>
288 </tr>
289
bbaed9ec 290 <tr>
2ea2b361 291 <td><a href="http://code.google.com/p/disorder/issues/detail?id=32">#32</a></td>
bbaed9ec
RK
292 <td>Excessively verbose log chatter on shutdown</td>
293 </tr>
294
7cd4dd21 295 <tr>
2ea2b361 296 <td><a href="http://code.google.com/p/disorder/issues/detail?id=33">#33</a></td>
7cd4dd21
RK
297 <td>(Some) plugins need -lm.</td>
298 </tr>
6762ac8a
RK
299
300 <tr>
2ea2b361 301 <td><a href="http://code.google.com/p/disorder/issues/detail?id=39">#39</a></td>
6762ac8a
RK
302 <td>Double bind() non-multicast AF_INET</td>
303 </tr>
304
305 <tr>
2ea2b361 306 <td><a href="http://code.google.com/p/disorder/issues/detail?id=40">#40</a></td>
6762ac8a
RK
307 <td>Missing stub function</td>
308 </tr>
309
310 <tr>
2ea2b361 311 <td><a href="http://code.google.com/p/disorder/issues/detail?id=41">#41</a></td>
6762ac8a
RK
312 <td>Missing includes for timeval</td>
313 </tr>
314
315 <tr>
2ea2b361 316 <td><a href="http://code.google.com/p/disorder/issues/detail?id=42">#42</a></td>
6762ac8a
RK
317 <td>syntax error in empeg_host section</td>
318 </tr>
319
93379b3d 320 <tr>
2ea2b361 321 <td><a href="http://code.google.com/p/disorder/issues/detail?id=43">#43</a></td>
93379b3d
RK
322 <td>decoder segfault with FLAC 1.2.1</td>
323 </tr>
324
6762ac8a 325 <tr>
2ea2b361 326 <td><a href="http://code.google.com/p/disorder/issues/detail?id=44">#44</a></td>
6762ac8a
RK
327 <td>gcc 4.3.2-1ubuntu12 SUYB patch</td>
328 </tr>
329
330 <tr>
2ea2b361 331 <td><a href="http://code.google.com/p/disorder/issues/detail?id=45">#45</a></td>
6762ac8a
RK
332 <td>disobedience doesn't configure its back end</td>
333 </tr>
fa667301 334
d53ef367 335 <tr>
2ea2b361 336 <td><a href="http://code.google.com/p/disorder/issues/detail?id=46">#46</a></td>
d53ef367
RK
337 <td>Sort search results in web interface</td>
338 </tr>
339
fa667301 340 <tr>
2ea2b361 341 <td><a href="http://code.google.com/p/disorder/issues/detail?id=48">#48</a></td>
fa667301
RK
342 <td>build-time dependency on <tt>oggdec</tt> removed</td>
343 </tr>
344
e03df0a5 345 <tr>
2ea2b361 346 <td><a href="http://code.google.com/p/disorder/issues/detail?id=49">#49</a></td>
e03df0a5
RK
347 <td>Disobedience's 'When' column gets out of date</td>
348 </tr>
349
de38ab9b
RK
350 <tr>
351 <td><a href="http://code.google.com/p/disorder/issues/detail?id=51">#51</a></td>
352 <td>Improved speaker process robustness</td>
353 </tr>
354
900fa0b8
RK
355 <tr>
356 <td>(none)</td>
357 <td>&ldquo;found track in no collection&rdquo; messages for scratches
358 are now suppressed</td>
359 </tr>
360
37e94d5c
RK
361 <tr>
362 <td>(none)</td>
363 <td>Disobedience would sometimes fail to notice when a track
364 started, leading to its display getting out of date.</td>
365 </tr>
366
f5fd9a6b 367 </table>
f5fd9a6b
RK
368 </div>
369 </div>
370
a0e78d96 371<h2>Changes up to version 4.3</h2>
d8b95785
RK
372
373 <div class=section>
374
375 <h3>Disobedience</h3>
376
377 <div class=section>
378
379 <p>A bug was fixed in the calculation of how much of the track had
e02f9807
RK
380 played. This would lead to the counter showing incorrect values in
381 various situations.</p>
d8b95785
RK
382
383 <p>Disobedience's icons have been changed to larger, more colorful
384 ones. The SVG source is included if you want to fiddle with them.</p>
385
a0e78d96
RK
386 <p>&ldquo;Select all&rdquo; is now no longer available in the choose
387 tab. Instead there is a new &ldquo;Select children&rdquo; option which
388 selects the file children of a single subdirectory.</p>
389
d8b95785
RK
390 </div>
391
6151ae7e
RK
392 <h3>Server</h3>
393
394 <div class=section>
395
396 <p>The selection bias for newly added tracks was reduced by half. You
397 can put it back to the old very neophilic value with
398 &ldquo;<tt>new_bias 900000</tt>&rdquo; in the config file.</p>
399
ff45af7c
RK
400 <p>It is now possible to &lsquo;adopt&rsquo; randomly picked tracks.
401 Disobedience and the command-line client support this but the web
402 interface does not.</p>
403
e02f9807
RK
404 <p>The default track name parsing was modified to handle filenames
405 generated by iTunes.</p>
406
6151ae7e
RK
407 </div>
408
10a6c925 409 <h3>Miscellaneous</h3>
d8b95785
RK
410
411 <div class=section>
412
10a6c925
RK
413 <p><tt>disorderfm</tt> now preserves directory permissions.</p>
414
e7eb3a27
RK
415 <p>DisOrder is now licensed under <a
416 href="http://www.gnu.org/licenses/gpl-3.0.html">GPL v3</a>. The main
417 goal is to prohibit <a
418 href="http://en.wikipedia.org/wiki/Tivoization">Tivoization</a>.</p>
419
d8b95785 420 <p>The build system will now automatically cope with Fink's broken GTK+
e02f9807
RK
421 packages. There are a number of improvements to the Debian
422 packaging.</p>
d8b95785 423
74cfbeaa
RK
424 <p>DisOrder now builds on 64-bit Linux systems.</p>
425
e02f9807 426 <p>There are various minor fixes.</p>
d8b95785
RK
427
428 </div>
429
e02f9807
RK
430 <h3>Bugs fixed</h3>
431
432 <div class=section>
433
434 <table class=bugs>
435 <tr>
436 <th>ID</th>
437 <th>Description</th>
438 </tr>
439
440 <tr>
441 <td><a href="http://code.google.com/p/disorder/issues/detail?id=24">#24</a></td>
442 <td>Fails to build on ubuntu 8.10</td>
443 </tr>
444 <tr>
445 <td><a href="http://code.google.com/p/disorder/issues/detail?id=26">#26</a></td>
446 <td>Disobedience shows wrong track elapsed time after a pause</td>
447 </tr>
448 </table>
449
450 </div>
d8b95785 451 </div>
b0a578cb 452
eb2a1fe9
RK
453<h2>Changes up to version 4.2</h2>
454
455<div class=section>
456
457 <h3>Disobedience</h3>
458
459 <div class=section>
460
461 <p>The login window now has a 'remote' switch. If this is turned off
462 then Disobedience will connect to a local server. Formerly it would
463 always use TCP/IP.</p>
464
465 <p>The Delete and backspace keys will now remove tracks from the queue.
466 Escape will now dismiss the properties, users or login windows and return
467 now works in the login and properties windows.</p>
468
469 </div>
470
471 <h3>Documentation</h3>
472
473 <div class=section>
474
475 <p>Track and global preferences are now described in a new
476 <b>disorder_preferences</b>(5) man page.</p>
477
478 </div>
cc5b0a8e
RK
479
480 <h3>Bugs fixed</h3>
481
482 <div class=section>
483
484 <table class=bugs>
485 <tr>
486 <th>ID</th>
487 <th>Description</th>
488 </tr>
489
490 <tr>
491 <td><a href="http://code.google.com/p/disorder/issues/detail?id=21">#21</a></td>
492 <td>CGI should use PATH_INFO more sensibly</td>
493 </tr>
494 </table>
495
496 </div>
eb2a1fe9
RK
497</div>
498
499
68210888
RK
500<h2>Changes up to version 4.1.1</h2>
501
502<div class=section>
503
504 <p>Disobedience's &ldquo;Login&rdquo; window now works when you are logged
505 in.</p>
506
507</div>
508
452ad6ba
RK
509<h2>Changes up to version 4.1</h2>
510
511<div class=section>
512
513 <h3>Disobedience</h3>
514
515 <div class=section>
516
517 <p>Disobedience has been largely rewritten:</p>
518
519 <ul>
520
521 <li>All the tabs now use native GTK+ list/tree widgets, resulting in
522 greater speed in some cases and more consistency with other GTK+
523 applications.</li>
524
525 <li>You can now use type-ahead find in the choose tab. The initiation
526 of a search is delayed slightly to avoid lots of updates when you're
527 half way through entering search terms.</li>
528
529 <li>The choose tab now shows track lengths.</li>
530
531 <li>Many buttons are now more reliably made insensitive when they can't
532 be used.</li>
30f2f8c9
RK
533
534 <li>You can now play tracks off the recent tab.</li>
535
452ad6ba
RK
536 </ul>
537
538 <p>Disobedience attempts to cope with servers from older versions, up to
539 a point, but this is not well tested and it's best to keep the server
540 fully up to date.</p>
541
542 </div>
543
544 <h3>Server</h3>
545
546 <div class=section>
547
548 <p>When a track shares a directory with its alias, the real track name is
549 now returned instead of the alias (the opposite way round to the previous
550 behaviour).</p>
551
552 </div>
553</div>
554
32918782
RK
555<h2>Changes up to version 4.0.2</h2>
556
557<div class=section>
558
559 <p>Corrected web browser linked from Disobedience.</p>
560
561</div>
562
f03d4184
RK
563<h2>Changes up to version 4.0.1</h2>
564
565<div class=section>
566
567 <p>Libtool and Automake now install the CGI correctly. As part of this,
568 <tt>cgidir</tt> has been renamed to <tt>cgiexecdir</tt>. The configure
569 script will report an error if you try to use the old name.</p>
570
571</div>
572
0ba75c7f 573<h2>Changes up to version 4.0</h2>
b0a578cb
RK
574
575<div class=section>
576
577 <h3>Server</h3>
578
579<div class=section>
580
581 <p>The <tt>gap</tt> directive will no longer work. It could be
582 restored if there is real demand.</p>
583
584 <h4>Event Scheduling</h4>
585
586<div class=section>
587
588 <p>It is now possible to schedule events to occur in the future.
589 Currently the supported actions are playing a specific track, and
590 changing a global preference (thus allowing e.g. random play to be
591 turned on or off). See the <tt>schedule-*</tt>
592 commands described in disorder(1).</p>
593
594</div>
595
596<h4>Random Track Choice</h4>
597
598<div class=section>
599
600 <p>This has been completely rewritten to support new features:</p>
601
602 <ul>
603
604 <li>tracks in the recently-played list or in the queue are no longer
605 eligible for random choice.</li>
606
607 <li>there is a new <tt>weight</tt> track preference allowing for
608 non-uniform track selection. See disorder(1) for details.</li>
609
610 <li>there is a new configuration item <tt>replay_min</tt> defining
611 the minimum time before a played track can be picked at random.
612 The default is 8 hours (which matches the earlier behaviour).</li>
613
614 <li>recently added tracks are biased up; see <tt>new_bias</tt> and
615 <tt>new_bias_age</tt> in disorder_config(5).</li>
616
617 </ul>
618
619</div>
620
621<h4>Web Interface</h4>
622
623<div class=section>
624
625 <p>This has been largely rewritten. The most immediate benefits are:</p>
626
627 <ul>
628
629 <li>the search page is integrated into the choose page, and
630 includes links to parent directories.</li>
631
632 <li>if you try to do something you have insufficient rights for,
633 instead of getting an error page or nothing happening, you are
634 redirected to the login page.</li>
635
636 </ul>
637
638 <p>Customizers should find their lives easier: the syntax is less onerous, it
639 is possible to define macros to avoid repetition, and the documentation is
640 less monolithic (see disorder.cgi(8) as a starting point).</p>
641
2eee4b0c
RK
642 <p>Mail is now sent via the system sendmail program, though it remains
643 possible to use TCP to connect to an SMTP server. See <tt>sendmail</tt> and
644 <tt>smtp_server</tt> in disorder_config(5).</p>
4cbafe13 645
64ac73bb
RK
646 <p>The web interface is now installed automatically. If you don't want it,
647 use <tt>./configure --without-cgi</tt>. If you want it in a non-default
648 location, or no location for it is detected, set <tt>cgidir</tt>
649 and <tt>httpdir</tt> on the <tt>./configure</tt> command line.</p>
2eee4b0c 650
b0a578cb
RK
651</div>
652
653</div>
654
655<h3>Disobedience</h3>
656
657<div class=section>
658
659 <p>There is now a new user management window. From here you can add and
660 remove users or modify their settings.</p>
661
662 <p>Relatedly, the server will only allow remote user management if you set
663 <tt>remote_userman</tt> to <tt>yes</tt>.</p>
664
665</div>
666
667<h3>Miscellaneous</h3>
668
669<div class=section>
670
671 <p><tt>scripts/setup</tt> now honors command line options, and can
672 set up network play as well as the local default sound device.</p>
673
674</div>
675
676<h3>Bugs Fixed</h3>
677
678<div class=section>
679
680 <table class=bugs>
681 <tr>
682 <th>ID</th>
683 <th>Description</th>
684 </tr>
685
686 <tr>
687 <td><a href="http://code.google.com/p/disorder/issues/detail?id=2">#2</a></td>
688 <td>Search results should link to directories</td>
689 </tr>
690
691 <tr>
692 <td><a href="http://code.google.com/p/disorder/issues/detail?id=6">#6</a></td>
693 <td>Schedule tracks for a particular time</td>
694 </tr>
695
696 <tr>
697 <td><a href="http://code.google.com/p/disorder/issues/detail?id=10">#10</a></td>
698 <td>Non-uniform track selection</td>
699 </tr>
700
701 <tr>
702 <td><a href="http://code.google.com/p/disorder/issues/detail?id=11">#11</a></td>
703 <td>Bias random selection to newly added tracks</td>
704 </tr>
705
706 <tr>
707 <td><a href="http://code.google.com/p/disorder/issues/detail?id=13">#13</a></td>
708 <td>Default encoding for debian setup scripts</td>
709 </tr>
710
711 <tr>
712 <td><a href="http://code.google.com/p/disorder/issues/detail?id=16">#16</a></td>
713 <td>Cookie expiry causes user to be silently logged out and not
714 subsequently redirected to login page</td>
715 </tr>
716
717 <tr>
718 <td><a href="http://code.google.com/p/disorder/issues/detail?id=20">#20</a></td>
719 <td>Broken aliasing rules</td>
720 </tr>
721
722 </table>
723
724</div>
725
726</div>
727
728<h2>Changes up to version 3.0.2</h2>
729
730<div class=section>
731
732 <p>Builds <tt>--without-server</tt> should work again.</p>
733
734 <p>The web interface is a bit more liberal in the cookie value
735 syntax it will accept.</p>
736
737 <p>Clients fail more gracefully if no password is available.</p>
738
739</div>
740
741<h2>Changes up to version 3.0.1</h2>
742
743<div class=section>
744
745 <p>Debian upgrades from 2.0.x should now work better.</p>
746
747</div>
748
749<h2>Changes up to version 3.0</h2>
750
751<div class=section>
752
753 <p><b>Important</b>! See <a
2ea2b361 754 href="README.upgrades.html">README.upgrades</a> when upgrading.</p>
b0a578cb
RK
755
756 <h3>Platforms And Installation</h3>
757
758<div class=section>
759
760 <p>Mac OS X and FreeBSD are somewhat supported. There is now a bash
761 script in <tt>scripts/setup</tt> which will automate the setup after
762 <tt>make install</tt>.</p>
763
764</div>
765
766<h3>Server</h3>
767
768<div class=section>
769
770 <p>Users are now stored in the database rather than a configuration
771 file.</p>
772
773 <p>The server now has a built-in list of stopwords and players, so
774 only additions to these need be mentioned in the configuration file.</p>
775
776 <p>The default inter-track gap is now 0s.</p>
777
778 <p>How sound is played is now controlled via the new <tt>api</tt>
779 configuration command. This also controls how the volume is set,
780 which now works with ALSA as well as OSS.</p>
781
782 <p>A bug in the MP3 decoder was fixed (also in 2.0.4).</p>
783
784</div>
785
786<h3>Web Interface</h3>
787
788<div class=section>
789
790 <p>The web interface now uses cookies to remember user identity, and
791 allows online registration of new users. Also it is no longer
792 necessary to manually specify the URL of the web interface (but you
793 can override it if you don't like the value it figures out).</p>
794
795 <p>It is possible to allow users to register via the web interface.</p>
796
797 <p>The web interface's browser support has been improved. It has
798 been tested with Firefox 2, Safari 3, Konqueror 3, Internet Explorer
799 7 and Opera 9.</p>
800
801</div>
802
803<h3>Disobedience</h3>
804
805<div class=section>
806
807 <p>A bug which would cause a crash if you attempt to rearrange the
808 queue while no track was playing has been fixed. There is a new
809 'deselect all tracks' option, mirroring 'select all tracks.</p>
810
811</div>
812
813</div>
814
815<!--
816Local Variables:
817fill-column:79
4cbafe13 818indent-tabs-mode:nil
b0a578cb
RK
819End:
820-->