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