chiark / gitweb /
Add a daily backup cron job to the Debian package.
[disorder] / CHANGES.html
... / ...
CommitLineData
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
2<html>
3<head>
4<title>DisOrder Change History</title>
5<link rel=StyleSheet type="text/css" href="docs.css">
6</head>
7
8<body>
9<h1>DisOrder Change History</h1>
10
11<p>This file documents recent user-visible changes to <a
12 href="http://www.greenend.org.uk/rjk/disorder/">DisOrder</a>.</p>
13
14<p><b>IMPORTANT</b>: you should read <a
15href="README.upgrades.html">README.upgrades</a> before upgrading.</p>
16
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
26 mounted or unmounted. (Use the <tt>mount_rescan</tt> option if you want to
27 suppress this behavior.)</p>
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
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
45</div>
46
47<h2>Changes up to version 5.0</h2>
48
49 <div class=section>
50
51 <h3>Server</h3>
52
53 <div class=section>
54
55 <p>The <tt>device</tt> configuration option now works under OS X.
56 Devices may
57 be specified either by UID or name. Fixes <a
58 href="http://code.google.com/p/disorder/issues/detail?id=27">Issue
59 27</a>.</p>
60
61 <p>Gapless play should be more reliable, and playback latency over RTP
62 should be a bit lower. Note though that all the sound output code has
63 been reorganized and in some cases completely rewritten, so it's possible
64 that bugs may have been (re-)introduced. Decoding of scratches is also
65 initiated ahead of time, giving more reliable playback.</p>
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>
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
72 <a href="http://sox.sourceforge.net/">SoX</a>. SoX support will be
73 removed in a future version.</p>
74
75 <p>The libao plugin has been removed, because the plugin API is not
76 usable in libao 1.0.0.</p>
77
78 <p>Playlists are now supported. These allow a collection of tracks to be
79 prepared offline and played as a unit.</p>
80
81 </div>
82
83 <h3>Disobedience</h3>
84
85 <div class=section>
86
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>
91
92 <p>Disobedience now supports playlist editing and has a compact mode,
93 available from the <b>Control</b> menu.</p>
94
95 <p>Disobedience has a <a href="disobedience/manual/index.html">new
96 manual</a>.</p>
97
98 </div>
99
100 <h3>Web Interface</h3>
101
102 <div class=section>
103
104 <p>Confirmation URLs should be cleaner (and in particular not end
105 with punctuation). (Please see <a
106 href="README.upgrades.html">README.upgrades</a> for more about this.)</p>
107
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>
120
121 </div>
122
123 <h3>General</h3>
124
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
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
136 <p>Various elements of the source code have been
137 rationalized.</p>
138
139 </div>
140
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>
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
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
161 <tr>
162 <td><a href="http://code.google.com/p/disorder/issues/detail?id=30">#30</a></td>
163 <td>mini disobedience interface</td>
164 </tr>
165
166 <tr>
167 <td><a href="http://code.google.com/p/disorder/issues/detail?id=32">#32</a></td>
168 <td>Excessively verbose log chatter on shutdown</td>
169 </tr>
170
171 <tr>
172 <td><a href="http://code.google.com/p/disorder/issues/detail?id=33">#33</a></td>
173 <td>(Some) plugins need -lm.</td>
174 </tr>
175
176 <tr>
177 <td><a href="http://code.google.com/p/disorder/issues/detail?id=39">#39</a></td>
178 <td>Double bind() non-multicast AF_INET</td>
179 </tr>
180
181 <tr>
182 <td><a href="http://code.google.com/p/disorder/issues/detail?id=40">#40</a></td>
183 <td>Missing stub function</td>
184 </tr>
185
186 <tr>
187 <td><a href="http://code.google.com/p/disorder/issues/detail?id=41">#41</a></td>
188 <td>Missing includes for timeval</td>
189 </tr>
190
191 <tr>
192 <td><a href="http://code.google.com/p/disorder/issues/detail?id=42">#42</a></td>
193 <td>syntax error in empeg_host section</td>
194 </tr>
195
196 <tr>
197 <td><a href="http://code.google.com/p/disorder/issues/detail?id=43">#43</a></td>
198 <td>decoder segfault with FLAC 1.2.1</td>
199 </tr>
200
201 <tr>
202 <td><a href="http://code.google.com/p/disorder/issues/detail?id=44">#44</a></td>
203 <td>gcc 4.3.2-1ubuntu12 SUYB patch</td>
204 </tr>
205
206 <tr>
207 <td><a href="http://code.google.com/p/disorder/issues/detail?id=45">#45</a></td>
208 <td>disobedience doesn't configure its back end</td>
209 </tr>
210
211 <tr>
212 <td><a href="http://code.google.com/p/disorder/issues/detail?id=46">#46</a></td>
213 <td>Sort search results in web interface</td>
214 </tr>
215
216 <tr>
217 <td><a href="http://code.google.com/p/disorder/issues/detail?id=48">#48</a></td>
218 <td>build-time dependency on <tt>oggdec</tt> removed</td>
219 </tr>
220
221 <tr>
222 <td><a href="http://code.google.com/p/disorder/issues/detail?id=49">#49</a></td>
223 <td>Disobedience's 'When' column gets out of date</td>
224 </tr>
225
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
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
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
243 </table>
244 </div>
245 </div>
246
247<h2>Changes up to version 4.3</h2>
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
256 played. This would lead to the counter showing incorrect values in
257 various situations.</p>
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
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
266 </div>
267
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
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
280 <p>The default track name parsing was modified to handle filenames
281 generated by iTunes.</p>
282
283 </div>
284
285 <h3>Miscellaneous</h3>
286
287 <div class=section>
288
289 <p><tt>disorderfm</tt> now preserves directory permissions.</p>
290
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
296 <p>The build system will now automatically cope with Fink's broken GTK+
297 packages. There are a number of improvements to the Debian
298 packaging.</p>
299
300 <p>DisOrder now builds on 64-bit Linux systems.</p>
301
302 <p>There are various minor fixes.</p>
303
304 </div>
305
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>
327 </div>
328
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>
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>
373</div>
374
375
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
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>
409
410 <li>You can now play tracks off the recent tab.</li>
411
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
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
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
449<h2>Changes up to version 4.0</h2>
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
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>
521
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>
526
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
630 href="README.upgrades.html">README.upgrades</a> when upgrading.</p>
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
694indent-tabs-mode:nil
695End:
696-->