chiark / gitweb /
CHANGES -> CHANGES.html
[disorder] / CHANGES
diff --git a/CHANGES b/CHANGES
deleted file mode 100644 (file)
index 32d83b7..0000000
--- a/CHANGES
+++ /dev/null
@@ -1,473 +0,0 @@
-* Changes up to version 3.1
-
-** Server
-
-The 'gap' directive will no longer work.  It could be restored if there
-is real demand.
-
-*** Event Scheduling
-
-It is now possible to schedule events to occur in the future.  Currently
-the supported actions are playing a specific track, and changing a
-global preference (thus allowing e.g. random play to be turned on or
-off).  See the schedule-* commands described in disorder(1).
-
-*** Random Track Choice
-
-This has been completely rewritten to support new features:
-   - tracks in the recently-played list or in the queue are no longer
-     eligible for random choice
-   - there is a new 'weight' track preference allowing for non-uniform
-     track selection.  See disorder(1) for details.
-   - there is a new configuration item replay_min defining the minimum
-     time before a played track can be picked at random.  The default is
-     8 hours (which matches the earlier behaviour).
-   - recently added tracks are biased up; see new_bias and new_bias_age
-     in disorder_config(5).
-
-*** Web Interface
-
-This has been largely rewritten.  The most immediate benefits are:
-   - the search page is integrated into the choose page, and includes
-     links to parent directories
-   - if you try to do something you have insufficient rights for,
-     instead of getting an error page or nothing happening, you are
-     redirected to the login page
-
-Customizers should find their lives easier: the syntax is less onerous,
-it is possible to define macros to avoid repetition, and the
-documentation is less monolithic.
-
-** Disobedience
-
-There is now a new user management window.  From here you can add and
-remove users or modify their settings.
-
-Relatedly, the server will only allow remote user management if you set
-remote_userman to 'yes'.
-
-** Miscellaneous
-
-scripts/setup now honors command line options, and can set up network
-play as well as the local default sound device.
-
-** Bugs Fixed
-
- #2 Search results should link to directories
- #6 Schedule tracks for a particular time
-#10 Non-uniform track selection
-#11 Bias random selection to newly added tracks
-#13 Default encoding for debian setup scripts
-#16 Cookie expiry causes user to be silently logged out and not
-    subsequently redirected to login page
-#20 Broken aliasing rules
-
-* Changes up to version 3.0.2
-
-Builds --without-server should work again.
-
-The web interface is a bit more liberal in the cookie value syntax it
-will accept.
-
-Clients fail more gracefully if no password is available.
-
-* Changes up to version 3.0.1
-
-Debian upgrades from 2.0.x should now work better.
-
-* Changes up to version 3.0
-
-Important!  See README.upgrades when upgrading.
-
-** Platforms And Installation
-
-Mac OS X and FreeBSD are somewhat supported.  There is now a bash script
-in scripts/setup which will automate the setup after 'make install'.
-
-** Server
-
-Users are now stored in the database rather than a configuration file.
-
-The server now has a built-in list of stopwords and players, so only
-additions to these need be mentioned in the configuration file.
-
-The default inter-track gap is now 0s.
-
-How sound is played is now controlled via the new 'api' configuration
-command.  This also controls how the volume is set, which now works with
-ALSA as well as OSS.
-
-A bug in the MP3 decoder was fixed (also in 2.0.4).
-
-** Web Interface
-
-The web interface now uses cookies to remember user identity, and allows
-online registration of new users.  Also it is no longer necessary to
-manually specify the URL of the web interface (but you can override it
-if you don't like the value it figures out).
-
-It is possible to allow users to register via the web interface.
-
-The web interface's browser support has been improved.  It has been
-tested with Firefox 2, Safari 3, Konqueror 3, Internet Explorer 7 and
-Opera 9.
-
-** Disobedience
-
-A bug which would cause a crash if you attempt to rearrange the queue
-while no track was playing has been fixed.  There is a new 'deselect all
-tracks' option, mirroring 'select all tracks.
-
-* Changes up to version 2.0
-
-** General
-
-Tracks can now have tags associated with them.  See tags in disorder(1)
-or the preferences documentation for the web interface or Disobedience.
-
-The search facility knows how to limit results by tag (see search
-documentation for any interface) as well as by word search.  It is
-possible to limit random play by tag (see required-tags and
-prohibited-tags in disorder_config(5)).
-
-Unicode support is improved.  Case-folding and word breaking now follows
-the rules given in the Unicode standard (with a bit of tailoring in the
-latter case).
-
-** Disobedience
-
-There is a new client, 'Disobedience', that depends on the GTK+ library.
-Feedback on the interface would be very welcome.
-
-** Web Interface
-
-The "New" screen display tracks recently added to the database.  From
-here they can be played or their preferences changed.
-
-Long track names are truncated so they fit better on the screen.  Hover
-for the full name.
-
-** Network Play
-
-DisOrder can broadcast audio over a network, allowing it to be played on
-multiple client machines.  See README.streams for details.
-
-** Server
-
-Slow file lookups are cached in the server.  This should help
-installations with large collections and/or slow platforms.
-
-The 'enabled' and 'random_enabled' configuration options are now gone.
-Instead the state survives from one run of the server to the next.
-'disable now' is gone as well - if you want to emulate it disable
-playing and then scratch the current track.
-
-The 'pick' plugin has been abolished.  All the logic formerly done there
-is now built into the server, where it can be done much more
-efficiently.
-
-'tracklength' plugins must be explicitly specified.
-
-A bug where removing a collection (from the configuration) could cause a
-crash when random play was enabled has been fixed.
-
-A new configuration option 'queue_pad' allows the number of random
-tracks kept on the queue to be controlled.
-
-There is a new utility disorder-decode which can decode OGG, MP3, WAV
-and FLAC.  The example config file uses it.
-
-Database statistics are computed in a subprocess so that the main server
-(and all clients) are not blocked for the duration.
-
-** disorderfm
-
-There is a new command line tool called 'disorderfm' which is designed
-for filename translation on (for instance) digital audio repositories.
-It is not yet feature-complete.  See its man page for additional
-details.
-
-** Build And Configuration
-
-You can control which components are built with new --with options.  See
-README.
-
-options.transform and the 'transform' web option have gone, replaced
-with a 'transform' configuration command.  Both this and 'namepart' are
-now optional.
-
-** Thanks
-
-Ross Younger, Colin Watson, Michael Stevens and Mark Wooding all
-contributed in some way to this release.
-
-* Changes up to version 1.5.1
-
-** Web Interface
-
-Correct regexp for non-alpha tracks.
-
-* Changes up to version 1.5
-
-** Web Interface
-
-Regexp-based filtering of tracks (for instance as used by the initial
-'Choose' page) now does the regexp matching in the server, limiting the
-amount of data transferred to the web interface only to be discarded.
-
-** Client
-
-Regexp-base filtering of tracks is now available to the command line
-client.
-
-** Server
-
-New server_nice, speaker_nice and rescan_nice configuration options
-allow independent control of process priorities.
-
-Scratches are now attributed to the user who requested them.
-
-Bugs fixed:
-  A file descriptor was leaked for each track played.
-  The amount of a track played so far was not reported.
-  The speaker process could crash on underrun.
-  The server would crash if you paused a non-pause capable track.
-  Regexp matching in the file and directory list commands was not
-  reliable.
-  Handling of variable-argument commands in the client was broken.
-
-* Changes up to version 1.4
-
-** General
-
-Raw format players are now supported.  See README.upgrades and
-README.raw for details.  This allows pausing and eliminating the
-inter-track gap.
-
-Pausing is also supported with suitably modified standalone player
-plugins, though none of the supplied ones are capable of this.
-
-When random play is enabled the randomly picked track now appears in the
-queue, and can be moved around the queue, removed from it, etc.
-
-** Web Interface
-
-Switches (random play, pause, ...) are now presented as a
-fixed-appearance switch with an adjacent state indicator.
-
-The 'Manage' screen has new buttons to move tracks to the head or tail
-of the queue.
-
-You can now edit the preferences for all the tracks in an album in a
-single screen, rather than having to visit each separately.  For the
-time being the raw preferences editing has gone; it can be reintroduced
-on some form if there is demand.  (You can still edit raw preferences
-from the command line.)
-
-Labels are now documented in options.labels rather than
-disorder_config(5).
-
-** Server
-
-If you tried to start up on any empty database with random play enabled
-the server would exit with an error.
-
-The server no longer risks failing if you strace its player
-subprocesses.
-
-It was possible for the server to hang when a 'reconfigure' command was
-issued.  This should no longer be the case.
-
-The default signal to forcibly terminate players is now SIGKILL.
-
-** Plugins
-
-Plugins must now declare a type word.  This allows them to document
-whether they are a standalone player or a raw-format player, and whether
-they support pausing.  They can also arrange to get setup and cleanup
-calls in the main server.  See disorder(3) for more details.
-
-* Changes up to version 1.3
-
-** Dependencies
-
-Berkeley DB 4.2 is no longer supported.  Use 4.3.
-
-** Client
-
-There is a new 'authorize' command to simplify the addition of local
-users.  Please report successes as well as failures.
-
-There is a new 'resolve' command to return the real track name behind an
-alias.
-
-The 'rescan' command no longer takes an argument.
-
-** Server
-
-The track database code has been largely rewritten to improve
-maintainability.
-
-There is a new 'lock' directive.  By default the server uses a lockfile
-to prevent multiple copies of itself running simultaneously; this can be
-inhibited e.g. if you are using a filesystem that does not support
-locking and are confident you can prevent concurrent running yourself.
-
-Aliases for track names, constructed from trackname_display_
-preferences, now appear in the virtual filesystem.  
-
-The server now executes a subprocess for the rescan operation.  It also
-runs a separate deadlock manager.
-
-Standard output and standard error from subprocesses are now logged.
-This is handy if you need to figure out why a player failed unexpectedly
-but might lead to huge log files if you have needlessly verbose players.
-
-** Web Interface
-
-Enable/disable buttons are now colored to reflect current state.
-
-Entering numeric volume values (rather than clicking on the arrows) now
-works.
-
-Connection errors are reported more gracefully.
-
-** Plugins
-
-Scanner plugins are now always invoked in a subprocess.
-
-disorder_track_count() and disorder_track_getn() are no longer
-available.  Instead use disorder_track_random().
-
-Plugins are now opened with RTLD_NOW, so link errors are detected
-immediately.
-
-** Tools
-
-disorder-dump now insists on the input/output file being a named regular
-file, rather than using stdin or stdout.
-
-** Other
-
-Some missing files have been added, and some notes added regarding
-getting text encoding right.
-
-* Changes up to version 1.2
-
-See README.upgrades when upgrading to this version.
-
-** Bugs Fixed
-
-Avoid accumulating overlarge recently played list.
-
-When the server was stopped, the currently playing track would not be
-added to the recently played list.  This has been fixed.
-
-Reloading the 'volume' page no longer repeats the last volume-changing
-action.
-
-The search facility now works properly for multiple hits within a single
-artist or album.
-
-** Server
-
-New namepart directive replaces web interface's trackname-part.  There
-are associated changes to the protocol and clients.
-
-The number of database queries per candidate match required when
-searching has been reduced.
-
-The operator can control the signal used to scratch playing tracks.  The
-default has been changed to SIGINT from SIGKILL.
-
-The 'log' command now provides a formalised event log, rather than raw
-access to the server's ordinary log output.
-
-** Web Interface Changes
-
-*** Choosing Tracks
-
-When picking a track the client now stays on the same screen rather than
-redirecting back to the 'Playing' screen.  So that the user gets
-feedback from their action, playing and queued tracks are now marked as
-such in the track picking screen.
-
-It is possible to revert to the old behaviour by removing the back=
-argument from the choose.html and search.html templates (and optionally
-the trackstate lines).
-
-*** Search
-
-Non-ASCII characters are now properly supported in search terms.
-
-*** Syntax
-
-The template syntax has been changed slightly to ignore whitespace in
-certain places.
-
-*** Miscellaneous
-
-Some formerly textual buttons are now replaced by images (with ALT text
-reflecting the old value).  The stylesheet is now a .css file (installed
-in the same place as the images) rather than being embedded into every
-template.
-
-Artist and album names in the playing and recently-played lists are now
-links to the corresponding directory.
-
-More functions are now available from the 'manage' screen.
-
-The menus are now (by default) across the top of the screen instead of
-down the side.  Set the 'menu' label to 'sidebar' to restore the old
-appearance.  'Volume' is not present in this new menu, use 'Manage'
-instead (or edit the template).
-
-** tkdisorder
-
-tkdisorder now displays artist, album and title in the queue and
-recently played widgets, rather than just the title (as formerly).
-
-* Changes up to version 1.1
-
-** Bugs Fixed
-
-Corrected various problems with UTF-8 parsing.
-
-In the web interface, "The Beatles" (etc) are now grouped under 'B' not
-'T' when grouping tracks by initial letter.
-
-** Server
-
-The list of recently played tracks is now preserved across server
-restarts.
-
-Track IDs are more compact.
-
-Versions of libdb before 4.2 are no longer supported.  4.2 and 4.3 both
-work now.  4.2 support will be removed in some future release.
-
-Prehistoric backwards-compatibility logic removed.  Only affects people
-upgrading from long before 1.0 (who should upgrade to 1.0 and then to
-1.1.)
-
-** Command Line
-
-Tracks can be moved in the queue from the command line.
-
-'disorder queue' now reports track IDs.
-
-$pkgdatadir/completion.bash provides tab completion over commands and
-options.
-
-** Web Interface
-
-New 'cooked' preferences interface saves users having to know arcane
-details of trackname preferences and so on.  Non-ASCII characters are
-now properly supported in this context.
-
-CGI arguments to the web interface are now checked for UTF-8 compliance.
-
-Local Variables:
-mode:outline
-fill-column:72
-End: