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