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