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