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