chiark / gitweb /
Patch from Ross Younger to correct FLAC decoding.
[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 75 <p>Gapless play should be more reliable, and playback latency over RTP
6762ac8a 76 should be a bit lower. Note though that all the sound output code has
f71fc3ab
RK
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>
6762ac8a
RK
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>
7cd4dd21 175
f5fd9a6b
RK
176 </table>
177
178 </div>
179 </div>
180
a0e78d96 181<h2>Changes up to version 4.3</h2>
d8b95785
RK
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
e02f9807
RK
190 played. This would lead to the counter showing incorrect values in
191 various situations.</p>
d8b95785
RK
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
a0e78d96
RK
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
d8b95785
RK
200 </div>
201
6151ae7e
RK
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
ff45af7c
RK
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
e02f9807
RK
214 <p>The default track name parsing was modified to handle filenames
215 generated by iTunes.</p>
216
6151ae7e
RK
217 </div>
218
10a6c925 219 <h3>Miscellaneous</h3>
d8b95785
RK
220
221 <div class=section>
222
10a6c925
RK
223 <p><tt>disorderfm</tt> now preserves directory permissions.</p>
224
e7eb3a27
RK
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
d8b95785 230 <p>The build system will now automatically cope with Fink's broken GTK+
e02f9807
RK
231 packages. There are a number of improvements to the Debian
232 packaging.</p>
d8b95785 233
74cfbeaa
RK
234 <p>DisOrder now builds on 64-bit Linux systems.</p>
235
e02f9807 236 <p>There are various minor fixes.</p>
d8b95785
RK
237
238 </div>
239
e02f9807
RK
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>
d8b95785 261 </div>
b0a578cb 262
eb2a1fe9
RK
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>
cc5b0a8e
RK
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>
eb2a1fe9
RK
307</div>
308
309
68210888
RK
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
452ad6ba
RK
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>
30f2f8c9
RK
343
344 <li>You can now play tracks off the recent tab.</li>
345
452ad6ba
RK
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
32918782
RK
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
f03d4184
RK
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
0ba75c7f 383<h2>Changes up to version 4.0</h2>
b0a578cb
RK
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
2eee4b0c
RK
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>
4cbafe13 455
64ac73bb
RK
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>
2eee4b0c 460
b0a578cb
RK
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<!--
626Local Variables:
627fill-column:79
4cbafe13 628indent-tabs-mode:nil
b0a578cb
RK
629End:
630-->