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