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