X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/e3002eb9f618d7498f21933a2e8552d42ffcc7fc..HEAD:/CHANGES.html diff --git a/CHANGES.html b/CHANGES.html index 3722b61..0ed1e72 100644 --- a/CHANGES.html +++ b/CHANGES.html @@ -1,55 +1,8 @@ - + DisOrder Change History - + @@ -58,22 +11,339 @@ span.command {

This file documents recent user-visible changes to DisOrder.

-

Changes up to version 4.4

+

IMPORTANT: you should read README.upgrades before upgrading.

+ +

Changes up to version 5.2

+ +
+ +

PulseAudio Support

+ +
+ +

PulseAudio is now supported, if the support library is available at + build time. It is the default for client applications, reflecting its + widespread use in desktop environments.

+ +
+ +

Changes To RTP Support

+ +
+ +

Disobedience now has a menu to select the network playback API.

+ +

disorder-playrtp now selects playback API using + a --api option. The old API-selection options remain + available but are deprecated and will be removed in the future.

+ +

RTP playback can now transmit to multiple unicast destinations, added + and removed on demand. This is controlled by the new rtp_mode + option. The motivating use case is a bridged network with high- and + low-capacity components. However it is may also be useful in a routed + network without multicast routing support.

+ +
+ +

GStreamer support

+ +
+ +

If it's detected at configure time, a new decoder + program disorder-gstdecode and a new tracklength + plugin tracklength-gstreamer are built. These use the GStreamer + library for filetype detection, audio decoding and sample-rate conversion, + among other features. Using these, DisOrder can play any audio file + supported by GStreamer. + +

The decoder has a number of options for controlling the sample-rate and + audio format conversion, allowing various tradeoffs between quality and + processor time. (High-quality conversion can consume more processor time + than decoding, so this is potentially useful on very a small device such as + a Raspberry Pi.

+ +

The GStreamer decoder can also use ReplayGain information stored in + audio files' metadata to adjust playback volume, so that tracks with very + wide dynamic range don't sound really quiet in comparison. This + information can be added using tools such as mp3gain, + vorbisgain, or metaflac. This is turned on by default if + you use the decoder; you can choose between per-album or per-track + settings, or turn it off entirely, using command-line options.

+ +

The GStreamer decoder is not used by default, but it can be enabled + easily enough by dropping something like the following into the server + configuration file: +

+        player
+        player *.flac execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+        player *.mp2 execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+        player *.mp3 execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+        player *.ogg execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+        player *.wav execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+
+        tracklength
+        tracklength *.flac tracklength-gstreamer
+        tracklength *.mp2 tracklength-gstreamer
+        tracklength *.mp3 tracklength-gstreamer
+        tracklength *.ogg tracklength-gstreamer
+        tracklength *.wav tracklength-gstreamer
+      
+

+ +

Bug fixes

+ +
+ +
    +
  • The CGI program now checks user passwords even when it runs as the + main jukebox user(!).
  • + +
  • Disobedience doesn't crash when search terms change under its + feet.
  • + +
  • The CGI program doesn't crash on some POST requests. +
+ +
+ +
+ +

Changes up to version 5.1.1

+ +
+ +

Bug fixes

+ +
+ +
    +
  • player and tracklength can now be used + without arguments to clear the lists, as per the documentation.
  • + +
  • Tracks without a player are forgotten upon rescan.
  • + +
  • The speaker process avoids splitting frames.
  • +
+ +

Thanks to Mark Wooding and Joe Birr-Pixton.

+ +
+ +
+ +

Changes up to version 5.1

+ +
+ +

Removable Device Support

+ +
+ +

The server will now automatically initiate a rescan when a filesystem is + mounted or unmounted. (Use the mount_rescan option if you want to + suppress this behavior.)

+ +

The server takes care not to hold audio files open unnecessarily, so + that devices can be unmounted even if tracks from them are currently being + buffered.

+ +
+ +

Disobedience

+ +
+ +

You can now edit the required-tags and prohibited-tags + global preferences in Disobedience + (issue + #29).

+ +

The “Manage users” option is now more reliably greyed out if + it will not work. This depends on a server change too, so it may still be + wrong if a new Disobedience is used against an old server.

+ +

A .desktop file is now shipped, making Disobedience visible as + an application in freedesktop.org-compliant systems.

+ +
+ +

Backups

+ +
+ +

The Debian package now includes a cronjob that backs up the database + daily. See /etc/cron.d/disorder. You can put settings + in /etc/default/disorder to turn this off or to control how long + the backups are kept for.

+ +

The disorder-dump -r option was broken.

+ +

disorder-dump now gets permissions right automatically (issue + #56).

+ +
+ +

General

+ +
+ +

Unicode support has been upgraded to Unicode + 6.0.0.

+ +

Client programs no longer depend on libdb.

+ +

The following have been removed:

+ +
    + +
  • The allow, gap, lock, prefsync, + restrict, trust configuration commands. If they still + appear in your configuration file then the server will not start.
  • + +
  • The columns web interface option. It will generate an + message in your error log but otherwise be ignored.
  • + +
  • The --wait-for-device player option. If it still appears in + any player commands, they will not work.
  • + +
  • Support for automatically importing pre-3.0 users.
  • + +
+ +

Various minor bug fixes.

+ +
+ +
+ +

Changes up to version 5.0.3

+ +
+ +

Security: Local connections can no longer create and delete users +unless they are properly authorized.

+ +
+ +

Changes up to version 5.0.2

+ +
+ +

The login form now indicates that a cookie will be set.

+ +
+ +

Changes up to version 5.0.1

+ +
+ +

Disobedience

+ +
+ +

The sense of the Control → Playing menu item was fixed.

+ +
+ +
+ +

Changes up to version 5.0

-

Mac OS X

- +

Server

+
-

The device configuration option and --device option - to disorder-playrtp now work. Devices may be specified either - by UID or name. Fixes The device configuration option now works under OS X. + Devices may + be specified either by UID or name. Fixes Issue 27.

+ +

Gapless play should be more reliable, and playback latency over RTP + should be a bit lower. Note though that all the sound output code has + been reorganized and in some cases completely rewritten, so it's possible + that bugs may have been (re-)introduced. Decoding of scratches is also + initiated ahead of time, giving more reliable playback.

+ +

The command backend now (optionally) sends silence instead + of suspending writes when a pause occurs or no track is playing.

+ +

If libsamplerate is + available at build time then that will be used instead of invoking + SoX. SoX support will be + removed in a future version.

+ +

The libao plugin has been removed, because the plugin API is not + usable in libao 1.0.0.

+ +

Playlists are now supported. These allow a collection of tracks to be + prepared offline and played as a unit.

+ +
+ +

Disobedience

+ +
+ +

Multiple tracks can now be dragged in the queue in a single operation. + Furthermore, it is now possible to drag tracks from the + “Recent”, “Added” and “Choose” tabs + to the queue.

+ +

Disobedience now supports playlist editing and has a compact mode, + available from the Control menu.

+ +

Disobedience has a new + manual.

+ +
+ +

Web Interface

+ +
+ +

Confirmation URLs should be cleaner (and in particular not end + with punctuation). (Please see README.upgrades for more about this.)

+ +
+ +

RTP Player

+ +
+ +

There is a new --command option which allows the RTP player + to send audio data to a user-chosen command instead of an audio API. See + the man page for details.

+ +

The --device option to disorder-playrtp now works + under OS X (as above).

+ +

General

+ +
+

IPv6 should now work. Network address specifications + (listen, connect etc) can now be prefixed with + -4 or -6 to force use + of IPv4 or IPv6, though normally this should not be needed.

+ +

Unicode support has been upgraded to Unicode + 5.1.0.

+ +

Various elements of the source code have been + rationalized.

+ +
+

Bugs fixed

@@ -83,14 +353,100 @@ span.command { ID Description - + + + #22 + Background decoders interact badly with server reload + + #27 Mac DisOrder uses wrong sound device + + #30 + mini disobedience interface + + + + #32 + Excessively verbose log chatter on shutdown + + + + #33 + (Some) plugins need -lm. + + + + #39 + Double bind() non-multicast AF_INET + + + + #40 + Missing stub function + + + + #41 + Missing includes for timeval + + + + #42 + syntax error in empeg_host section + + + + #43 + decoder segfault with FLAC 1.2.1 + + + + #44 + gcc 4.3.2-1ubuntu12 SUYB patch + + + + #45 + disobedience doesn't configure its back end + + + + #46 + Sort search results in web interface + + + + #48 + build-time dependency on oggdec removed + + + + #49 + Disobedience's 'When' column gets out of date + + + + #51 + Improved speaker process robustness + + + + (none) + “found track in no collection” messages for scratches + are now suppressed + + + + (none) + Disobedience would sometimes fail to notice when a track + started, leading to its display getting out of date. + + -
@@ -477,7 +833,7 @@ span.command {

Important! See README.upgrades when upgrading.

+ href="README.upgrades.html">README.upgrades when upgrading.

Platforms And Installation