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