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