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