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