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