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