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