chiark / gitweb /
server/gstdecode.c: Produce the configured sample format directly.
[disorder] / CHANGES.html
CommitLineData
2ea2b361 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
b0a578cb
RK
2<html>
3<head>
4<title>DisOrder Change History</title>
2ea2b361 5<link rel=StyleSheet type="text/css" href="docs.css">
b0a578cb
RK
6</head>
7
8<body>
9<h1>DisOrder Change History</h1>
10
d8b95785
RK
11<p>This file documents recent user-visible changes to <a
12 href="http://www.greenend.org.uk/rjk/disorder/">DisOrder</a>.</p>
13
2ea2b361
RK
14<p><b>IMPORTANT</b>: you should read <a
15href="README.upgrades.html">README.upgrades</a> before upgrading.</p>
16
5bb003c8
RK
17<h2>Changes up to version 5.1</h2>
18
19<div class=section>
20
21 <h3>Removable Device Support</h3>
22
23 <div class=section>
24
25 <p>The server will now automatically initiate a rescan when a filesystem is
8488cf7d
RK
26 mounted or unmounted. (Use the <tt>mount_rescan</tt> option if you want to
27 suppress this behavior.)</p>
5bb003c8
RK
28
29 <p>The server takes care not to hold audio files open unnecessarily, so
30 that devices can be unmounted even if tracks from them are currently being
31 buffered.</p>
32
33 </div>
34
5568dfa8
RK
35 <h3>Disobedience</h3>
36
37 <div class=section>
38
39 <p>You can now edit the <tt>required-tags</tt> and <tt>prohibited-tags</tt>
40 global preferences in Disobedience
41 (<a href="http://code.google.com/p/disorder/issues/detail?id=29">issue
42 #29</a>).</p>
43
164f2e93
RK
44 <p>The &ldquo;Manage users&rdquo; option is now more reliably greyed out if
45 it will not work. This depends on a server change too, so it may still be
46 wrong if a new Disobedience is used against an old server.</p>
51827ce3
RK
47
48 <p>A <tt>.desktop</tt> file is now shipped, making Disobedience visible as
49 an application in freedesktop.org-compliant systems.</p>
164f2e93 50
5568dfa8
RK
51 </div>
52
7823bd97
RK
53 <h3>Backups</h3>
54
55 <div class=section>
56
57 <p>The Debian package now includes a cronjob that backs up the database
58 daily. See <tt>/etc/cron.d/disorder</tt>. You can put settings
59 in <tt>/etc/default/disorder</tt> to turn this off or to control how long
60 the backups are kept for.</p>
61
62 <p>The <tt>disorder-dump -r</tt> option was broken.</p>
63
5568dfa8 64 <p><tt>disorder-dump</tt> now gets permissions right automatically (<a
7823bd97
RK
65 href="http://code.google.com/p/disorder/issues/detail?id=56">issue
66 #56</a>).</p>
67
5568dfa8
RK
68 </div>
69
b1dd58fc
RK
70 <h3>General</h3>
71
72 <div class=section>
73
74 <p>Unicode support has been upgraded to <a
75 href="http://www.unicode.org/versions/Unicode6.0.0/">Unicode
76 6.0.0</a>.</p>
4019fe4d
RK
77
78 <p>Client programs no longer depend on libdb.</p>
7823bd97 79
657fdb79
RK
80 <p>The following have been removed:</p>
81
82 <ul>
83
84 <li>The <tt>allow</tt>, <tt>gap</tt>, <tt>lock</tt>, <tt>prefsync</tt>,
85 <tt>restrict</tt>, <tt>trust</tt> configuration commands. If they still
86 appear in your configuration file then the server will not start.</li>
87
88 <li>The <tt>columns</tt> web interface option. It will generate an
89 message in your error log but otherwise be ignored.</li>
90
91 <li>The <tt>--wait-for-device</tt> player option. If it still appears in
92 any player commands, they will not work.</li>
93
94 <li>Support for automatically importing pre-3.0 users.</li>
95
96 </ul>
97
7823bd97 98 <p>Various minor bug fixes.</p>
b1dd58fc
RK
99
100 </div>
101
f3ae6953
RK
102</div>
103
68a78d16
RK
104<h2>Changes up to version 5.0.3</h2>
105
106<div class=section>
107
108<p><b>Security</b>: Local connections can no longer create and delete users
109unless they are properly authorized.</p>
110
111</div>
112
06bedf43
RK
113<h2>Changes up to version 5.0.2</h2>
114
115<div class=section>
116
117<p>The login form now indicates that a cookie will be set.</p>
118
119</div>
120
9b68b94f
RK
121<h2>Changes up to version 5.0.1</h2>
122
123<div class=section>
124
125<h3>Disobedience</h3>
126
127<div class=section>
128
129<p>The sense of the Control &#x2192; Playing menu item was fixed.</p>
130
131</div>
132
5bb003c8
RK
133</div>
134
64360021 135<h2>Changes up to version 5.0</h2>
f5fd9a6b
RK
136
137 <div class=section>
138
f207f710
RK
139 <h3>Server</h3>
140
f5fd9a6b
RK
141 <div class=section>
142
fe33cfc0 143 <p>The <tt>device</tt> configuration option now works under OS X.
7cd4dd21 144 Devices may
f207f710 145 be specified either by UID or name. Fixes <a
f5fd9a6b
RK
146 href="http://code.google.com/p/disorder/issues/detail?id=27">Issue
147 27</a>.</p>
f207f710 148
f71fc3ab 149 <p>Gapless play should be more reliable, and playback latency over RTP
6762ac8a 150 should be a bit lower. Note though that all the sound output code has
f71fc3ab 151 been reorganized and in some cases completely rewritten, so it's possible
900fa0b8
RK
152 that bugs may have been (re-)introduced. Decoding of scratches is also
153 initiated ahead of time, giving more reliable playback.</p>
7cd4dd21
RK
154
155 <p>The <tt>command</tt> backend now (optionally) sends silence instead
156 of suspending writes when a pause occurs or no track is playing.</p>
c3feb35b
RK
157
158 <p>If <a href="http://www.mega-nerd.com/SRC/">libsamplerate</a> is
159 available at build time then that will be used instead of invoking
317dc3e8
RK
160 <a href="http://sox.sourceforge.net/">SoX</a>. SoX support will be
161 removed in a future version.</p>
c3feb35b 162
6a213ecb
RK
163 <p>The libao plugin has been removed, because the plugin API is not
164 usable in libao 1.0.0.</p>
86541f5a 165
79ab6bd2
RK
166 <p>Playlists are now supported. These allow a collection of tracks to be
167 prepared offline and played as a unit.</p>
168
7cd4dd21
RK
169 </div>
170
6a7eb118
RK
171 <h3>Disobedience</h3>
172
173 <div class=section>
174
69c456f3
RK
175 <p>Multiple tracks can now be dragged in the queue in a single operation.
176 Furthermore, it is now possible to drag tracks from the
177 &ldquo;Recent&rdquo;, &ldquo;Added&rdquo; and &ldquo;Choose&rdquo; tabs
178 to the queue.</p>
6a7eb118 179
c2f51940
RK
180 <p>Disobedience now supports playlist editing and has a compact mode,
181 available from the <b>Control</b> menu.</p>
79ab6bd2 182
67b1beae
RK
183 <p>Disobedience has a <a href="disobedience/manual/index.html">new
184 manual</a>.</p>
185
6a7eb118
RK
186 </div>
187
7cd4dd21
RK
188 <h3>Web Interface</h3>
189
190 <div class=section>
53710d44 191
7cd4dd21
RK
192 <p>Confirmation URLs should be cleaner (and in particular not end
193 with punctuation). (Please see <a
2ea2b361 194 href="README.upgrades.html">README.upgrades</a> for more about this.)</p>
533272be 195
f207f710
RK
196 </div>
197
198 <h3>RTP Player</h3>
199
200 <div class=section>
201
202 <p>There is a new <tt>--command</tt> option which allows the RTP player
203 to send audio data to a user-chosen command instead of an audio API. See
204 the man page for details.</p>
205
206 <p>The <tt>--device</tt> option to <tt>disorder-playrtp</tt> now works
207 under OS X (as above).</p>
f5fd9a6b
RK
208
209 </div>
7cd4dd21
RK
210
211 <h3>General</h3>
f5fd9a6b 212
7cd4dd21
RK
213 <div class=section>
214
215 <p>IPv6 should now work. Network address specifications
216 (<tt>listen</tt>, <tt>connect</tt> etc) can now be prefixed with
217 <tt>-4</tt> or <tt>-6</tt> to force use
218 of IPv4 or IPv6, though normally this should not be needed.</p>
219
2cb9bc5f
RK
220 <p>Unicode support has been upgraded to <a
221 href="http://www.unicode.org/versions/Unicode5.1.0/">Unicode
222 5.1.0</a>.</p>
223
7cd4dd21
RK
224 <p>Various elements of the source code have been
225 rationalized.</p>
226
227 </div>
228
f5fd9a6b
RK
229 <h3>Bugs fixed</h3>
230
231 <div class=section>
232
233 <table class=bugs>
234 <tr>
235 <th>ID</th>
236 <th>Description</th>
237 </tr>
417ef7de
RK
238
239 <tr>
240 <td><a href="http://code.google.com/p/disorder/issues/detail?id=22">#22</a></td>
241 <td>Background decoders interact badly with server reload</td>
242 </tr>
243
f5fd9a6b
RK
244 <tr>
245 <td><a href="http://code.google.com/p/disorder/issues/detail?id=27">#27</a></td>
246 <td>Mac DisOrder uses wrong sound device</td>
247 </tr>
248
7cd4dd21 249 <tr>
2ea2b361 250 <td><a href="http://code.google.com/p/disorder/issues/detail?id=30">#30</a></td>
548c9cba
RK
251 <td>mini disobedience interface</td>
252 </tr>
253
254 <tr>
2ea2b361 255 <td><a href="http://code.google.com/p/disorder/issues/detail?id=32">#32</a></td>
bbaed9ec
RK
256 <td>Excessively verbose log chatter on shutdown</td>
257 </tr>
258
259 <tr>
2ea2b361 260 <td><a href="http://code.google.com/p/disorder/issues/detail?id=33">#33</a></td>
7cd4dd21
RK
261 <td>(Some) plugins need -lm.</td>
262 </tr>
6762ac8a
RK
263
264 <tr>
2ea2b361 265 <td><a href="http://code.google.com/p/disorder/issues/detail?id=39">#39</a></td>
6762ac8a
RK
266 <td>Double bind() non-multicast AF_INET</td>
267 </tr>
268
269 <tr>
2ea2b361 270 <td><a href="http://code.google.com/p/disorder/issues/detail?id=40">#40</a></td>
6762ac8a
RK
271 <td>Missing stub function</td>
272 </tr>
273
274 <tr>
2ea2b361 275 <td><a href="http://code.google.com/p/disorder/issues/detail?id=41">#41</a></td>
6762ac8a
RK
276 <td>Missing includes for timeval</td>
277 </tr>
278
279 <tr>
2ea2b361 280 <td><a href="http://code.google.com/p/disorder/issues/detail?id=42">#42</a></td>
6762ac8a
RK
281 <td>syntax error in empeg_host section</td>
282 </tr>
283
284 <tr>
2ea2b361 285 <td><a href="http://code.google.com/p/disorder/issues/detail?id=43">#43</a></td>
93379b3d
RK
286 <td>decoder segfault with FLAC 1.2.1</td>
287 </tr>
288
289 <tr>
2ea2b361 290 <td><a href="http://code.google.com/p/disorder/issues/detail?id=44">#44</a></td>
6762ac8a
RK
291 <td>gcc 4.3.2-1ubuntu12 SUYB patch</td>
292 </tr>
293
294 <tr>
2ea2b361 295 <td><a href="http://code.google.com/p/disorder/issues/detail?id=45">#45</a></td>
6762ac8a
RK
296 <td>disobedience doesn't configure its back end</td>
297 </tr>
fa667301
RK
298
299 <tr>
2ea2b361 300 <td><a href="http://code.google.com/p/disorder/issues/detail?id=46">#46</a></td>
d53ef367
RK
301 <td>Sort search results in web interface</td>
302 </tr>
303
304 <tr>
2ea2b361 305 <td><a href="http://code.google.com/p/disorder/issues/detail?id=48">#48</a></td>
fa667301
RK
306 <td>build-time dependency on <tt>oggdec</tt> removed</td>
307 </tr>
308
e03df0a5 309 <tr>
2ea2b361 310 <td><a href="http://code.google.com/p/disorder/issues/detail?id=49">#49</a></td>
e03df0a5
RK
311 <td>Disobedience's 'When' column gets out of date</td>
312 </tr>
313
900fa0b8 314 <tr>
de38ab9b
RK
315 <td><a href="http://code.google.com/p/disorder/issues/detail?id=51">#51</a></td>
316 <td>Improved speaker process robustness</td>
317 </tr>
318
319 <tr>
900fa0b8
RK
320 <td>(none)</td>
321 <td>&ldquo;found track in no collection&rdquo; messages for scratches
322 are now suppressed</td>
323 </tr>
324
37e94d5c
RK
325 <tr>
326 <td>(none)</td>
327 <td>Disobedience would sometimes fail to notice when a track
328 started, leading to its display getting out of date.</td>
329 </tr>
330
f5fd9a6b 331 </table>
f5fd9a6b
RK
332 </div>
333 </div>
334
a0e78d96 335<h2>Changes up to version 4.3</h2>
d8b95785
RK
336
337 <div class=section>
338
339 <h3>Disobedience</h3>
340
341 <div class=section>
342
343 <p>A bug was fixed in the calculation of how much of the track had
e02f9807
RK
344 played. This would lead to the counter showing incorrect values in
345 various situations.</p>
d8b95785
RK
346
347 <p>Disobedience's icons have been changed to larger, more colorful
348 ones. The SVG source is included if you want to fiddle with them.</p>
349
a0e78d96
RK
350 <p>&ldquo;Select all&rdquo; is now no longer available in the choose
351 tab. Instead there is a new &ldquo;Select children&rdquo; option which
352 selects the file children of a single subdirectory.</p>
353
d8b95785
RK
354 </div>
355
6151ae7e
RK
356 <h3>Server</h3>
357
358 <div class=section>
359
360 <p>The selection bias for newly added tracks was reduced by half. You
361 can put it back to the old very neophilic value with
362 &ldquo;<tt>new_bias 900000</tt>&rdquo; in the config file.</p>
363
ff45af7c
RK
364 <p>It is now possible to &lsquo;adopt&rsquo; randomly picked tracks.
365 Disobedience and the command-line client support this but the web
366 interface does not.</p>
367
e02f9807
RK
368 <p>The default track name parsing was modified to handle filenames
369 generated by iTunes.</p>
370
6151ae7e
RK
371 </div>
372
10a6c925 373 <h3>Miscellaneous</h3>
d8b95785
RK
374
375 <div class=section>
376
10a6c925
RK
377 <p><tt>disorderfm</tt> now preserves directory permissions.</p>
378
e7eb3a27
RK
379 <p>DisOrder is now licensed under <a
380 href="http://www.gnu.org/licenses/gpl-3.0.html">GPL v3</a>. The main
381 goal is to prohibit <a
382 href="http://en.wikipedia.org/wiki/Tivoization">Tivoization</a>.</p>
383
d8b95785 384 <p>The build system will now automatically cope with Fink's broken GTK+
e02f9807
RK
385 packages. There are a number of improvements to the Debian
386 packaging.</p>
d8b95785 387
74cfbeaa
RK
388 <p>DisOrder now builds on 64-bit Linux systems.</p>
389
e02f9807 390 <p>There are various minor fixes.</p>
d8b95785
RK
391
392 </div>
393
e02f9807
RK
394 <h3>Bugs fixed</h3>
395
396 <div class=section>
397
398 <table class=bugs>
399 <tr>
400 <th>ID</th>
401 <th>Description</th>
402 </tr>
403
404 <tr>
405 <td><a href="http://code.google.com/p/disorder/issues/detail?id=24">#24</a></td>
406 <td>Fails to build on ubuntu 8.10</td>
407 </tr>
408 <tr>
409 <td><a href="http://code.google.com/p/disorder/issues/detail?id=26">#26</a></td>
410 <td>Disobedience shows wrong track elapsed time after a pause</td>
411 </tr>
412 </table>
413
414 </div>
d8b95785 415 </div>
b0a578cb 416
eb2a1fe9
RK
417<h2>Changes up to version 4.2</h2>
418
419<div class=section>
420
421 <h3>Disobedience</h3>
422
423 <div class=section>
424
425 <p>The login window now has a 'remote' switch. If this is turned off
426 then Disobedience will connect to a local server. Formerly it would
427 always use TCP/IP.</p>
428
429 <p>The Delete and backspace keys will now remove tracks from the queue.
430 Escape will now dismiss the properties, users or login windows and return
431 now works in the login and properties windows.</p>
432
433 </div>
434
435 <h3>Documentation</h3>
436
437 <div class=section>
438
439 <p>Track and global preferences are now described in a new
440 <b>disorder_preferences</b>(5) man page.</p>
441
442 </div>
cc5b0a8e
RK
443
444 <h3>Bugs fixed</h3>
445
446 <div class=section>
447
448 <table class=bugs>
449 <tr>
450 <th>ID</th>
451 <th>Description</th>
452 </tr>
453
454 <tr>
455 <td><a href="http://code.google.com/p/disorder/issues/detail?id=21">#21</a></td>
456 <td>CGI should use PATH_INFO more sensibly</td>
457 </tr>
458 </table>
459
460 </div>
eb2a1fe9
RK
461</div>
462
463
68210888
RK
464<h2>Changes up to version 4.1.1</h2>
465
466<div class=section>
467
468 <p>Disobedience's &ldquo;Login&rdquo; window now works when you are logged
469 in.</p>
470
471</div>
472
452ad6ba
RK
473<h2>Changes up to version 4.1</h2>
474
475<div class=section>
476
477 <h3>Disobedience</h3>
478
479 <div class=section>
480
481 <p>Disobedience has been largely rewritten:</p>
482
483 <ul>
484
485 <li>All the tabs now use native GTK+ list/tree widgets, resulting in
486 greater speed in some cases and more consistency with other GTK+
487 applications.</li>
488
489 <li>You can now use type-ahead find in the choose tab. The initiation
490 of a search is delayed slightly to avoid lots of updates when you're
491 half way through entering search terms.</li>
492
493 <li>The choose tab now shows track lengths.</li>
494
495 <li>Many buttons are now more reliably made insensitive when they can't
496 be used.</li>
30f2f8c9
RK
497
498 <li>You can now play tracks off the recent tab.</li>
499
452ad6ba
RK
500 </ul>
501
502 <p>Disobedience attempts to cope with servers from older versions, up to
503 a point, but this is not well tested and it's best to keep the server
504 fully up to date.</p>
505
506 </div>
507
508 <h3>Server</h3>
509
510 <div class=section>
511
512 <p>When a track shares a directory with its alias, the real track name is
513 now returned instead of the alias (the opposite way round to the previous
514 behaviour).</p>
515
516 </div>
517</div>
518
32918782
RK
519<h2>Changes up to version 4.0.2</h2>
520
521<div class=section>
522
523 <p>Corrected web browser linked from Disobedience.</p>
524
525</div>
526
f03d4184
RK
527<h2>Changes up to version 4.0.1</h2>
528
529<div class=section>
530
531 <p>Libtool and Automake now install the CGI correctly. As part of this,
532 <tt>cgidir</tt> has been renamed to <tt>cgiexecdir</tt>. The configure
533 script will report an error if you try to use the old name.</p>
534
535</div>
536
0ba75c7f 537<h2>Changes up to version 4.0</h2>
b0a578cb
RK
538
539<div class=section>
540
541 <h3>Server</h3>
542
543<div class=section>
544
545 <p>The <tt>gap</tt> directive will no longer work. It could be
546 restored if there is real demand.</p>
547
548 <h4>Event Scheduling</h4>
549
550<div class=section>
551
552 <p>It is now possible to schedule events to occur in the future.
553 Currently the supported actions are playing a specific track, and
554 changing a global preference (thus allowing e.g. random play to be
555 turned on or off). See the <tt>schedule-*</tt>
556 commands described in disorder(1).</p>
557
558</div>
559
560<h4>Random Track Choice</h4>
561
562<div class=section>
563
564 <p>This has been completely rewritten to support new features:</p>
565
566 <ul>
567
568 <li>tracks in the recently-played list or in the queue are no longer
569 eligible for random choice.</li>
570
571 <li>there is a new <tt>weight</tt> track preference allowing for
572 non-uniform track selection. See disorder(1) for details.</li>
573
574 <li>there is a new configuration item <tt>replay_min</tt> defining
575 the minimum time before a played track can be picked at random.
576 The default is 8 hours (which matches the earlier behaviour).</li>
577
578 <li>recently added tracks are biased up; see <tt>new_bias</tt> and
579 <tt>new_bias_age</tt> in disorder_config(5).</li>
580
581 </ul>
582
583</div>
584
585<h4>Web Interface</h4>
586
587<div class=section>
588
589 <p>This has been largely rewritten. The most immediate benefits are:</p>
590
591 <ul>
592
593 <li>the search page is integrated into the choose page, and
594 includes links to parent directories.</li>
595
596 <li>if you try to do something you have insufficient rights for,
597 instead of getting an error page or nothing happening, you are
598 redirected to the login page.</li>
599
600 </ul>
601
602 <p>Customizers should find their lives easier: the syntax is less onerous, it
603 is possible to define macros to avoid repetition, and the documentation is
604 less monolithic (see disorder.cgi(8) as a starting point).</p>
605
2eee4b0c
RK
606 <p>Mail is now sent via the system sendmail program, though it remains
607 possible to use TCP to connect to an SMTP server. See <tt>sendmail</tt> and
608 <tt>smtp_server</tt> in disorder_config(5).</p>
4cbafe13 609
64ac73bb
RK
610 <p>The web interface is now installed automatically. If you don't want it,
611 use <tt>./configure --without-cgi</tt>. If you want it in a non-default
612 location, or no location for it is detected, set <tt>cgidir</tt>
613 and <tt>httpdir</tt> on the <tt>./configure</tt> command line.</p>
2eee4b0c 614
b0a578cb
RK
615</div>
616
617</div>
618
619<h3>Disobedience</h3>
620
621<div class=section>
622
623 <p>There is now a new user management window. From here you can add and
624 remove users or modify their settings.</p>
625
626 <p>Relatedly, the server will only allow remote user management if you set
627 <tt>remote_userman</tt> to <tt>yes</tt>.</p>
628
629</div>
630
631<h3>Miscellaneous</h3>
632
633<div class=section>
634
635 <p><tt>scripts/setup</tt> now honors command line options, and can
636 set up network play as well as the local default sound device.</p>
637
638</div>
639
640<h3>Bugs Fixed</h3>
641
642<div class=section>
643
644 <table class=bugs>
645 <tr>
646 <th>ID</th>
647 <th>Description</th>
648 </tr>
649
650 <tr>
651 <td><a href="http://code.google.com/p/disorder/issues/detail?id=2">#2</a></td>
652 <td>Search results should link to directories</td>
653 </tr>
654
655 <tr>
656 <td><a href="http://code.google.com/p/disorder/issues/detail?id=6">#6</a></td>
657 <td>Schedule tracks for a particular time</td>
658 </tr>
659
660 <tr>
661 <td><a href="http://code.google.com/p/disorder/issues/detail?id=10">#10</a></td>
662 <td>Non-uniform track selection</td>
663 </tr>
664
665 <tr>
666 <td><a href="http://code.google.com/p/disorder/issues/detail?id=11">#11</a></td>
667 <td>Bias random selection to newly added tracks</td>
668 </tr>
669
670 <tr>
671 <td><a href="http://code.google.com/p/disorder/issues/detail?id=13">#13</a></td>
672 <td>Default encoding for debian setup scripts</td>
673 </tr>
674
675 <tr>
676 <td><a href="http://code.google.com/p/disorder/issues/detail?id=16">#16</a></td>
677 <td>Cookie expiry causes user to be silently logged out and not
678 subsequently redirected to login page</td>
679 </tr>
680
681 <tr>
682 <td><a href="http://code.google.com/p/disorder/issues/detail?id=20">#20</a></td>
683 <td>Broken aliasing rules</td>
684 </tr>
685
686 </table>
687
688</div>
689
690</div>
691
692<h2>Changes up to version 3.0.2</h2>
693
694<div class=section>
695
696 <p>Builds <tt>--without-server</tt> should work again.</p>
697
698 <p>The web interface is a bit more liberal in the cookie value
699 syntax it will accept.</p>
700
701 <p>Clients fail more gracefully if no password is available.</p>
702
703</div>
704
705<h2>Changes up to version 3.0.1</h2>
706
707<div class=section>
708
709 <p>Debian upgrades from 2.0.x should now work better.</p>
710
711</div>
712
713<h2>Changes up to version 3.0</h2>
714
715<div class=section>
716
717 <p><b>Important</b>! See <a
2ea2b361 718 href="README.upgrades.html">README.upgrades</a> when upgrading.</p>
b0a578cb
RK
719
720 <h3>Platforms And Installation</h3>
721
722<div class=section>
723
724 <p>Mac OS X and FreeBSD are somewhat supported. There is now a bash
725 script in <tt>scripts/setup</tt> which will automate the setup after
726 <tt>make install</tt>.</p>
727
728</div>
729
730<h3>Server</h3>
731
732<div class=section>
733
734 <p>Users are now stored in the database rather than a configuration
735 file.</p>
736
737 <p>The server now has a built-in list of stopwords and players, so
738 only additions to these need be mentioned in the configuration file.</p>
739
740 <p>The default inter-track gap is now 0s.</p>
741
742 <p>How sound is played is now controlled via the new <tt>api</tt>
743 configuration command. This also controls how the volume is set,
744 which now works with ALSA as well as OSS.</p>
745
746 <p>A bug in the MP3 decoder was fixed (also in 2.0.4).</p>
747
748</div>
749
750<h3>Web Interface</h3>
751
752<div class=section>
753
754 <p>The web interface now uses cookies to remember user identity, and
755 allows online registration of new users. Also it is no longer
756 necessary to manually specify the URL of the web interface (but you
757 can override it if you don't like the value it figures out).</p>
758
759 <p>It is possible to allow users to register via the web interface.</p>
760
761 <p>The web interface's browser support has been improved. It has
762 been tested with Firefox 2, Safari 3, Konqueror 3, Internet Explorer
763 7 and Opera 9.</p>
764
765</div>
766
767<h3>Disobedience</h3>
768
769<div class=section>
770
771 <p>A bug which would cause a crash if you attempt to rearrange the
772 queue while no track was playing has been fixed. There is a new
773 'deselect all tracks' option, mirroring 'select all tracks.</p>
774
775</div>
776
777</div>
778
779<!--
780Local Variables:
781fill-column:79
4cbafe13 782indent-tabs-mode:nil
b0a578cb
RK
783End:
784-->