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