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