chiark / gitweb /
By default, disable user management over TCP (since it tends to have
[disorder] / CHANGES
1 * Changes up to version 3.1
2
3 ** Server
4
5 The 'gap' directive will no longer work.  It could be restored if there
6 is real demand.
7
8 *** Random Track Choice
9
10 This has been completely rewritten to support new features:
11    - tracks in the recently-played list or in the queue are no longer
12      eligible for random choice
13    - there is a new 'weight' track preference allowing for non-uniform
14      track selection.  See disorder(1) for details.
15    - there is a new configuration item replay_min defining the minimum
16      time before a played track can be picked at random.  The default is
17      8 hours (which matches the earlier behaviour).
18
19 ** Disobedience
20
21 There is now a new user management window.  From here you can add and
22 remove users or modify their settings.
23
24 Relatedly, the server will only allow remote user management if you set
25 remote_userman to 'yes'.
26
27 * Changes up to version 3.0.2
28
29 Builds --without-server should work again.
30
31 The web interface is a bit more liberal in the cookie value syntax it
32 will accept.
33
34 Clients fail more gracefully if no password is available.
35
36 * Changes up to version 3.0.1
37
38 Debian upgrades from 2.0.x should now work better.
39
40 * Changes up to version 3.0
41
42 Important!  See README.upgrades when upgrading.
43
44 ** Platforms And Installation
45
46 Mac OS X and FreeBSD are somewhat supported.  There is now a bash script
47 in scripts/setup which will automate the setup after 'make install'.
48
49 ** Server
50
51 Users are now stored in the database rather than a configuration file.
52
53 The server now has a built-in list of stopwords and players, so only
54 additions to these need be mentioned in the configuration file.
55
56 The default inter-track gap is now 0s.
57
58 How sound is played is now controlled via the new 'api' configuration
59 command.  This also controls how the volume is set, which now works with
60 ALSA as well as OSS.
61
62 A bug in the MP3 decoder was fixed (also in 2.0.4).
63
64 ** Web Interface
65
66 The web interface now uses cookies to remember user identity, and allows
67 online registration of new users.  Also it is no longer necessary to
68 manually specify the URL of the web interface (but you can override it
69 if you don't like the value it figures out).
70
71 It is possible to allow users to register via the web interface.
72
73 The web interface's browser support has been improved.  It has been
74 tested with Firefox 2, Safari 3, Konqueror 3, Internet Explorer 7 and
75 Opera 9.
76
77 ** Disobedience
78
79 A bug which would cause a crash if you attempt to rearrange the queue
80 while no track was playing has been fixed.  There is a new 'deselect all
81 tracks' option, mirroring 'select all tracks.
82
83 * Changes up to version 2.0
84
85 ** General
86
87 Tracks can now have tags associated with them.  See tags in disorder(1)
88 or the preferences documentation for the web interface or Disobedience.
89
90 The search facility knows how to limit results by tag (see search
91 documentation for any interface) as well as by word search.  It is
92 possible to limit random play by tag (see required-tags and
93 prohibited-tags in disorder_config(5)).
94
95 Unicode support is improved.  Case-folding and word breaking now follows
96 the rules given in the Unicode standard (with a bit of tailoring in the
97 latter case).
98
99 ** Disobedience
100
101 There is a new client, 'Disobedience', that depends on the GTK+ library.
102 Feedback on the interface would be very welcome.
103
104 ** Web Interface
105
106 The "New" screen display tracks recently added to the database.  From
107 here they can be played or their preferences changed.
108
109 Long track names are truncated so they fit better on the screen.  Hover
110 for the full name.
111
112 ** Network Play
113
114 DisOrder can broadcast audio over a network, allowing it to be played on
115 multiple client machines.  See README.streams for details.
116
117 ** Server
118
119 Slow file lookups are cached in the server.  This should help
120 installations with large collections and/or slow platforms.
121
122 The 'enabled' and 'random_enabled' configuration options are now gone.
123 Instead the state survives from one run of the server to the next.
124 'disable now' is gone as well - if you want to emulate it disable
125 playing and then scratch the current track.
126
127 The 'pick' plugin has been abolished.  All the logic formerly done there
128 is now built into the server, where it can be done much more
129 efficiently.
130
131 'tracklength' plugins must be explicitly specified.
132
133 A bug where removing a collection (from the configuration) could cause a
134 crash when random play was enabled has been fixed.
135
136 A new configuration option 'queue_pad' allows the number of random
137 tracks kept on the queue to be controlled.
138
139 There is a new utility disorder-decode which can decode OGG, MP3, WAV
140 and FLAC.  The example config file uses it.
141
142 Database statistics are computed in a subprocess so that the main server
143 (and all clients) are not blocked for the duration.
144
145 ** disorderfm
146
147 There is a new command line tool called 'disorderfm' which is designed
148 for filename translation on (for instance) digital audio repositories.
149 It is not yet feature-complete.  See its man page for additional
150 details.
151
152 ** Build And Configuration
153
154 You can control which components are built with new --with options.  See
155 README.
156
157 options.transform and the 'transform' web option have gone, replaced
158 with a 'transform' configuration command.  Both this and 'namepart' are
159 now optional.
160
161 ** Thanks
162
163 Ross Younger, Colin Watson, Michael Stevens and Mark Wooding all
164 contributed in some way to this release.
165
166 * Changes up to version 1.5.1
167
168 ** Web Interface
169
170 Correct regexp for non-alpha tracks.
171
172 * Changes up to version 1.5
173
174 ** Web Interface
175
176 Regexp-based filtering of tracks (for instance as used by the initial
177 'Choose' page) now does the regexp matching in the server, limiting the
178 amount of data transferred to the web interface only to be discarded.
179
180 ** Client
181
182 Regexp-base filtering of tracks is now available to the command line
183 client.
184
185 ** Server
186
187 New server_nice, speaker_nice and rescan_nice configuration options
188 allow independent control of process priorities.
189
190 Scratches are now attributed to the user who requested them.
191
192 Bugs fixed:
193   A file descriptor was leaked for each track played.
194   The amount of a track played so far was not reported.
195   The speaker process could crash on underrun.
196   The server would crash if you paused a non-pause capable track.
197   Regexp matching in the file and directory list commands was not
198   reliable.
199   Handling of variable-argument commands in the client was broken.
200
201 * Changes up to version 1.4
202
203 ** General
204
205 Raw format players are now supported.  See README.upgrades and
206 README.raw for details.  This allows pausing and eliminating the
207 inter-track gap.
208
209 Pausing is also supported with suitably modified standalone player
210 plugins, though none of the supplied ones are capable of this.
211
212 When random play is enabled the randomly picked track now appears in the
213 queue, and can be moved around the queue, removed from it, etc.
214
215 ** Web Interface
216
217 Switches (random play, pause, ...) are now presented as a
218 fixed-appearance switch with an adjacent state indicator.
219
220 The 'Manage' screen has new buttons to move tracks to the head or tail
221 of the queue.
222
223 You can now edit the preferences for all the tracks in an album in a
224 single screen, rather than having to visit each separately.  For the
225 time being the raw preferences editing has gone; it can be reintroduced
226 on some form if there is demand.  (You can still edit raw preferences
227 from the command line.)
228
229 Labels are now documented in options.labels rather than
230 disorder_config(5).
231
232 ** Server
233
234 If you tried to start up on any empty database with random play enabled
235 the server would exit with an error.
236
237 The server no longer risks failing if you strace its player
238 subprocesses.
239
240 It was possible for the server to hang when a 'reconfigure' command was
241 issued.  This should no longer be the case.
242
243 The default signal to forcibly terminate players is now SIGKILL.
244
245 ** Plugins
246
247 Plugins must now declare a type word.  This allows them to document
248 whether they are a standalone player or a raw-format player, and whether
249 they support pausing.  They can also arrange to get setup and cleanup
250 calls in the main server.  See disorder(3) for more details.
251
252 * Changes up to version 1.3
253
254 ** Dependencies
255
256 Berkeley DB 4.2 is no longer supported.  Use 4.3.
257
258 ** Client
259
260 There is a new 'authorize' command to simplify the addition of local
261 users.  Please report successes as well as failures.
262
263 There is a new 'resolve' command to return the real track name behind an
264 alias.
265
266 The 'rescan' command no longer takes an argument.
267
268 ** Server
269
270 The track database code has been largely rewritten to improve
271 maintainability.
272
273 There is a new 'lock' directive.  By default the server uses a lockfile
274 to prevent multiple copies of itself running simultaneously; this can be
275 inhibited e.g. if you are using a filesystem that does not support
276 locking and are confident you can prevent concurrent running yourself.
277
278 Aliases for track names, constructed from trackname_display_
279 preferences, now appear in the virtual filesystem.  
280
281 The server now executes a subprocess for the rescan operation.  It also
282 runs a separate deadlock manager.
283
284 Standard output and standard error from subprocesses are now logged.
285 This is handy if you need to figure out why a player failed unexpectedly
286 but might lead to huge log files if you have needlessly verbose players.
287
288 ** Web Interface
289
290 Enable/disable buttons are now colored to reflect current state.
291
292 Entering numeric volume values (rather than clicking on the arrows) now
293 works.
294
295 Connection errors are reported more gracefully.
296
297 ** Plugins
298
299 Scanner plugins are now always invoked in a subprocess.
300
301 disorder_track_count() and disorder_track_getn() are no longer
302 available.  Instead use disorder_track_random().
303
304 Plugins are now opened with RTLD_NOW, so link errors are detected
305 immediately.
306
307 ** Tools
308
309 disorder-dump now insists on the input/output file being a named regular
310 file, rather than using stdin or stdout.
311
312 ** Other
313
314 Some missing files have been added, and some notes added regarding
315 getting text encoding right.
316
317 * Changes up to version 1.2
318
319 See README.upgrades when upgrading to this version.
320
321 ** Bugs Fixed
322
323 Avoid accumulating overlarge recently played list.
324
325 When the server was stopped, the currently playing track would not be
326 added to the recently played list.  This has been fixed.
327
328 Reloading the 'volume' page no longer repeats the last volume-changing
329 action.
330
331 The search facility now works properly for multiple hits within a single
332 artist or album.
333
334 ** Server
335
336 New namepart directive replaces web interface's trackname-part.  There
337 are associated changes to the protocol and clients.
338
339 The number of database queries per candidate match required when
340 searching has been reduced.
341
342 The operator can control the signal used to scratch playing tracks.  The
343 default has been changed to SIGINT from SIGKILL.
344
345 The 'log' command now provides a formalised event log, rather than raw
346 access to the server's ordinary log output.
347
348 ** Web Interface Changes
349
350 *** Choosing Tracks
351
352 When picking a track the client now stays on the same screen rather than
353 redirecting back to the 'Playing' screen.  So that the user gets
354 feedback from their action, playing and queued tracks are now marked as
355 such in the track picking screen.
356
357 It is possible to revert to the old behaviour by removing the back=
358 argument from the choose.html and search.html templates (and optionally
359 the trackstate lines).
360
361 *** Search
362
363 Non-ASCII characters are now properly supported in search terms.
364
365 *** Syntax
366
367 The template syntax has been changed slightly to ignore whitespace in
368 certain places.
369
370 *** Miscellaneous
371
372 Some formerly textual buttons are now replaced by images (with ALT text
373 reflecting the old value).  The stylesheet is now a .css file (installed
374 in the same place as the images) rather than being embedded into every
375 template.
376
377 Artist and album names in the playing and recently-played lists are now
378 links to the corresponding directory.
379
380 More functions are now available from the 'manage' screen.
381
382 The menus are now (by default) across the top of the screen instead of
383 down the side.  Set the 'menu' label to 'sidebar' to restore the old
384 appearance.  'Volume' is not present in this new menu, use 'Manage'
385 instead (or edit the template).
386
387 ** tkdisorder
388
389 tkdisorder now displays artist, album and title in the queue and
390 recently played widgets, rather than just the title (as formerly).
391
392 * Changes up to version 1.1
393
394 ** Bugs Fixed
395
396 Corrected various problems with UTF-8 parsing.
397
398 In the web interface, "The Beatles" (etc) are now grouped under 'B' not
399 'T' when grouping tracks by initial letter.
400
401 ** Server
402
403 The list of recently played tracks is now preserved across server
404 restarts.
405
406 Track IDs are more compact.
407
408 Versions of libdb before 4.2 are no longer supported.  4.2 and 4.3 both
409 work now.  4.2 support will be removed in some future release.
410
411 Prehistoric backwards-compatibility logic removed.  Only affects people
412 upgrading from long before 1.0 (who should upgrade to 1.0 and then to
413 1.1.)
414
415 ** Command Line
416
417 Tracks can be moved in the queue from the command line.
418
419 'disorder queue' now reports track IDs.
420
421 $pkgdatadir/completion.bash provides tab completion over commands and
422 options.
423
424 ** Web Interface
425
426 New 'cooked' preferences interface saves users having to know arcane
427 details of trackname preferences and so on.  Non-ASCII characters are
428 now properly supported in this context.
429
430 CGI arguments to the web interface are now checked for UTF-8 compliance.
431
432 Local Variables:
433 mode:outline
434 fill-column:72
435 End: