0.5.1:	2005/11/29
	[dsalt]
	* COPYING: update FSF address.
	* Don't allow commas in plugin parameters.
	* Fix truncation in plugin char-array parameter undo handling.
	* Don't assume that an mmshttp MRL is an ASX playlist.
	* Hide some potentially-visible dashes in the settings window.
	  Adjust the widths of the value columns.
	  settings_show() should hide the window if it's visible.
	* More default locations for the JS headers, and another name for the
	  library. Also add a way to specify where the headers are (in case of
	  yet another location).
	* Fix hang on startup with --full-screen.
	* Fix some 'make debug' breakage, apparently exposed by a toolchain
	  update.
	* Give the video window the input focus when entering full-screen mode.
	* Ensure that all filechooser dboxes have the correct parent window.
	* Ensure that the windowed-mode toolbar isn't kept above and that
	  the video window's initial size is correct.
	* Don't fail (BadMatch, request code 138) when DPMS is disabled.
	* Use overwrite confirmation prompt (if available) when saving.
	* Paste relevant parts of playlist and mediamark items into text boxes
	  (where they are owned by gxine).
	* German man page fixes, based on patches from Bastian Kleineidam.
	  (Debian bug 337521)
	* Fix a potential null pointer dereference when setting the MRL's
	  default title. (Bug 1349639)
	* Add independent zoom control for X and Y.
	* JS console changes:
	  - Append, rather than prepend, results to the output area.
	  - Page Up and Page Down scroll the output area.
	  - Cursor up and down select from the history.
	* Make the splash window be displayed for a fixed time.
	* Use GTK's bindings code rather than our own for the key binding
	  editor's accelerator key field.
	* Connect up the key bindings editor's tools' shortcuts.
	* Fix a possible crash in the JS child object handling code.
	* Do away with the Tools menu: the display windows are now accessed via
	  the View menu, and the setup window via File->Configure.
	* "Window" -> "Window size" in the View menu.
	* Fix type checking for JS methods which should take boolean params.
	* JS callback() now accepts a second parameter for setting "this".
	* Improve XML stock item lookup somewhat.
	* Add alt text for nonexistent stock images (once only, at startup).
	* Add listen and onchange attributes (for listening to gxine's
	  control objects).
	* Update the keypad and fs toolbar to use onchange events.
	* Update the keypad to use the stock fullscreen icons if available.
	* Switch tarball compression from gzip to bzip2.
	* Some icon location and desktop file fixups. (Diego Pettenò)
	* Some new graphics. :-)

0.5.0:	2005/10/30
	[dsalt]
	* Reorganised and/or reimplemented large chunks of the UI.
	- There are now top-level menus for audio and video.
	  - The toolbar is now defined using XML-based structures.
	  - There's a "remote control"-style window.
	  (Some of this is done to avoid deprecated bits of GTK+ and GLib.)
	* Drag-resizing the main window now alters the scaling factor.
	  - The window can be shrunk more easily.
	  - Changes in video size no longer force the scale to the default
	    value or a value set via the window menu or set_video_size().
	* Allow the windowed-mode controls to be in a separate window. There's
	  a new prefs option to control whether this happens (requires gxine
	  to be restarted to take effect). The window can be hidden and can
	  be stuck to the video window.
	* Added a Javascript console. You can now see the errors generated
	  by your key bindings :-)
	* Added startup script support. Error reporting is via the JS console.
	  Certain commands (dialogue boxes, stream, playlist, media marks)
	  have no effect, other than to generate warnings, during startup.
	* Made the deinterlacer configuration generic. This allows use of
	  post-plugins such as 'pp'.
	  NOTE: unless deinterlacing is done by an active plugin, the old
	  deinterlacing method is used automatically.
				    - o O o -
	* Separated the settings window into video and audio parts.
	* Added a graphic equaliser (in the settings window).
	* Added clipboard support to the playlist and media marks windows.
	* Removed the "up" & "down" buttons in the playlist window.
	* Added a "file" button to the 'open MRL' dialogue box. This makes it
	  easier to open some local MRLs, e.g. a DVD image on a hard disk.
	* Added a "copy to mediamarks" button to the playlist window.
	* Editing the currently-played item's playlist entry makes an
	  off-list copy of the original entry. Adding to mediamarks copies
	  the original.
	* Reimplemented full-screen mode (it now reuses the main window).
	  - Force windowed mode for audio-only with no visualisation.
	* Improved the LIRC support:
	  - also read ~/.lircrc (mappings in ~/.gxine/lircrc have priority);
	  - if the connection to lircd is lost, try to reconnect.
	* Moving the stream position slider no longer selects normal play.
	* Added Russian translation (Pavel Maryanov).
				    - o O o -
	* Require GTK+ 2.6 and external Spidermonkey JS library.
	* Added autoconf tests for C99 and certain GCC extensions.
	* Add support for unblanking via DPMS, and prefer to use it.
	* Unblank when starting or resuming playback.
	* Separated utility functions and UI slider code.
	* Made the playlist and speaker buttons themeable.
	  Prefix "gxine-media-", names "playlist", "speaker", "speaker-mute".
	* Added JS settings objects for:
	  - each control in the settings window;
	  - various xine parameters and gxine runtime configuration items.
	  Some of these were previously accessed via JS functions: these
	  functions are now deprecated. You should upgrade your key bindings.
	* Added JS callback function.
	* Reworked the time widget and info bar. These can now be configured
	  via $SYSCONFDIR/gxine/gtkrc (typically /etc/gxine/gtkrc),
	  ~/.gtkrc-2.0 or ~/.gxine/gtkrc.
	* Improved default widget handling (action on Return/Enter).
	* Improved info bar metadata update.
	* Show more metadata (if available) in the stream info window.
	  If there's too much, use an ellipsis.
	* Playlist next and previous now wrap.
	* Switched to GtkFileChooser for the file dialogue boxes.
	  (Based on a patch from Arjan Timmerman <arjan@soulfly.nl>.)
	* Make use of GNOME VFS (if available) as a backend for GtkFileChooser.
	  Allow non-local URLs where we can currently cope with them.
	* Keep dialogue boxes above their parent windows.
	* Moved "title from stream" out of the playlist/mediamark item editor
	  dbox's buttons area.
	* Handle externally-generated screen resolution changes (XRandR).
	* Handle window-manager-generated main window fullscreen toggling.
	* Reworked the "setup wizards" dialogue box.
	* Overhauled error message handling (and write them to stderr).
	* Show DVD title/chapter/angle count (if available) in stream info.
	* Switched to tool buttons in playlist, media marks, key bindings.
	* Improved ASX parsing. Don't complain about unrecognised elements
	  - gxine doesn't support some and I'm not planning to check for them.
	  Use <starttime> (which is standard) instead of <time> (which isn't).
	* Listen for extended MRL ref events (if available at compile time).
	* The browser plugin no longer causes the playlist to be cleared.
	  There's an extra option -a --add to support this.
	* The splash window is now a popup (no effect on new window placement).
	* Don't use deprecated GNOME VFS MIME functions.
	* Prevent F10 and Menu from being used in (new) key bindings.
	  (These are hard-wired within GTK for menu display purposes.)
	* Should now cope with movement between (logical) screens.
	* Adjusted the default size to force recalc of the initial video size.
	* Unshade the video window on entry to full-screen mode.
	* Link the full-screen toolbar position to the window position.
	* Reworked the video widget; gxine now uses one thread less.
	* Shift focus-grabbing from the video widget to the main window.
	  (Keyboard grab would be used but for problems with some utilities.)

0.4.10:	2005/../..
	[dsalt]
	Backports from 0.5.x:
	* COPYING: update FSF address.
	* Don't allow commas in plugin parameters.
	* Fix truncation in plugin char-array parameter undo handling.     
	* Don't assume that an mmshttp MRL is an ASX playlist.
	* Slightly rework initialisation; delay initial MRL launch a little.
	* Hide some potentially-visible dashes in the settings window.
	* Fix a potential null pointer dereference when setting the MRL's
	  default title. (Bug 1349639)
	Specific to 0.4.x:
	* Make warning about built-in JS lib much more noticeable.
	* Be more careful about giving the full-screen window the input focus.
	* German man page fixes, based on a patch from Bastian Kleineidam.
	  (Debian bug 337521)

0.4.9:	2005/10/14
	[dsalt]
	* Make XTest optional (screenblanker-defeating fake keypresses).
	  It seems to be causing problems...
	* Don't touch the volume at startup if remember_volume isn't set.
	* Don't reset the volume on exit - xine-lib alters it (if
	  remember_volume is set) before gxine gets anywhere near it.
	* Fix Xinerama handling. (Bug 1295801, Debian bug 225367)
	* Enforce black background beyond video area within video window.
	* Don't create links to the browser plugin if it isn't present.
	* Added Simplified Chinese translation. (Tao Pin, Dong Changdao)
	* Fix a few filename-related memory leaks.
	* Fixed problems with # in filenames. (Bug 1314149)
	* Use --as-needed (if supported) when linking.

0.4.8:	2005/09/12
	[dsalt]
	* Fix an initialisation bug which can cause near 100% CPU usage.
	  Of course, it didn't show up in my normal desktop environment...
	* Improve insertion & removal of the vis plugin (minimise audio loss).

0.4.7:	2005/08/26
	[dsalt]
	* Delay application of slider settings until a stream is started.
	* Fix a missing-format-string bug (string parameters for post
	  plugins; practically harmless). (Diego Pettenò)
	* Be safer about temporary files in gxine_client. (Diego Pettenò)
	* Check for gdk-pixbuf-csource (build requirement).
	* Fix an fd leak in read_entire_file (error path).
	* Fix an upper limit off-by-one in the audio channel spin button.
	* Fix snapshot() argument parsing.
	* Don't link gxine_client or the browser plugin with the JS library.
	* Don't build a static version of the browser plugin.

0.4.6:	2005/07/18
	[dsalt]
	* Cope better with different window managers (full-screen toolbar).
	* Fixed a few small string-related bugs in the browser plugin.
	* Don't play the next item if not playing the deleted item (playlist).
	* Improved gxine.desktop, based on work not sent upstream by Dag Wieers.
	* Delayed startup notification until the main window is displayed.
	* German translation typo fixes. (Debian bug 314039)
	* Fix detection of xine-lib's gettext binding (xine-lib bug).
	* Show the logo if the stream can't be played for some reason.
	* Correct the initial position of the video widget's window.
	* Moved gxine-logo.png into /usr/[local/]share/pixmaps (based on a
	  patch from Chris Lord).
	* Fix a couple of playlist insertion bugs.
	* Mark a few more strings as translatable.
	* Remove MRLs from the playlist when they cause more MRLs to be added.
	* Fix a GNOME VFS shutdown bug.
	* Fix play() start index handling.

0.4.5:	2005/05/24
	[dsalt]
	* SECURITY FIX (CAN-2005-1692) (pst.advisory 2005-21)
	  Remotely-exploitable missing-format-string vulnerability in some
	  message dialogue boxes.

	* Fixed some brokenness in the visualisations menu; hide/show the
	  video widget as needed when selecting an item from that menu.
	* Better handling of uninstantiatable post-plugins when configuring.
	* Caught and replaced another asprintf. [Bug 1204625]
	* Compile fix (Solaris): need $(X_EXTRA_LIBS).
	* Correct the documentation of the '-e' option in gxine.1.
	  (en is done; de, pt-BR not done.)
	* Don't set a title for the full-screen toolbar.
	* Set up X threads earlier (it was being done too late).
	  (based on a patch from Antti P Miettinen <ananaza@iki.fi>.)

0.4.4:	2005/04/26
	[dsalt]
	* Added support for VDR's AUDIO key.
	* Made the browser plugin optional.
	* Stop playback on playlist clear.
	* Fixed a bug in multi-file drag+drop.

0.4.3:	2005/03/27
	[dsalt]
	* Fix a bug in JS vdr(). It should check the active MRL rather than
	  the currently-selected playlist entry.
	* Fix a post-plugin parameter handling error.
	* Provide a few more default bindings with keys.

0.4.2:	2005/03/08
	[dsalt]
	! Use external JS lib by default (if available).
	  If you're using amd64, you want this, I'm told.
	! This version should be buildable and useable with GTK+2.2.
	  It may also use, but not rely on, a few features from GTK+2.6.
	* Configure switches for GTK+ versions compatibility and whether to
	  use the desktop integration wizard. (Mainly for packagers.)
	* Mark 'repeat' and 'random' buttons (playlist) as having accelerator
	  keys.
	* Improve prefs window numeric entry editing.
	* "tvtime" deinterlace plugin support.
	* Video and audio post-plugin chain support.
	  The deinterlace plugin is prepended to the video chain if enabled.
	  The visualisation plugin is prepended to the audio chain if active.
	* Hide tab & border for single-page notebooks in the prefs window.
	* Make columns in playlist etc. resizable.
	* Fixed a few crash/warning bugs (mediamarks/playlist item edit) left
	  over from 0.4.1.
	* Respond to volume changes made externally.
	* Fix crash on virtual desktop change. The full-screen window is now
	  sticky and on all desktops. (If you have a better way of fixing
	  this which *doesn't* require this, let me know.)
	* Fix overlay bug with window managers, such as IceWM, which have
	  their own toolbars.
	* Text preferences which are uncommitted may be undone by Ctrl '-' or
	  Undo.
	* Make the visualisation setting a preference.
	* Fix a few problems in playlist expansion via xine-lib.
	* Add JS event(NAME) function and make event() and vdr() output help
	  text if called without parameters.
	* Add keybinding entries for 'next angle' and 'previous angle'.
	* Save the A/V offset setting.
	* Build fix: apparently, Spidermonkey isn't always libsmjs.so.
	* Stop GTK's complaints when the locale doesn't use UTF-8.
	  (This is done by telling gettext that we want translated text in
	  UTF-8. Some is intended for the console; this isn't special-cased.)
	* Add a few extra icons to the menus.
	* Add config options for default window size and magnification of
	  low-res video streams.
	* Improve live-stream detection; recognise streams of unknown length.
	* Improve the current stream title display.
	* Rely on xine-lib's XML parser and quote some characters when saving
	  the playlist, media marks and key bindings.
	* Change the way in which the control button images are implemented.
	  (There are problems with some GTK+ theme engines otherwise.)
	* Try to update the current playlist item's title from the stream
	  automatically unless the title has been edited.
	* Deleting a playlist item will, if it is being played, cause the
	  next item to be played (or the player to enter idle mode).
	* Use ellipsis in long entries in the playlist & mediamarks windows.
	  (Requires GTK+2.6.)
	* Allow drag&drop for reordering playlist items.
	* Prevent multiple install wizard instantiations.
	* Add menu tooltips for plugins with short descriptions in the plugin
	  chain configuration windows.
	* Make playlist repeat & random settings persistent. (Guenter)

0.4.1:	2004/12/17
	[dsalt]
	* Require at least GTK+ 2.4 and GLib 2.4. (I can't test 2.2.)
	* Rework toolbar widget internals, mainly for the UI control buttons
	  (so that the displayed state is consistent) and sliders (for
	  synchronous update).
	* Update the volume sliders from javascript:set_volume().
	* Tweak the toolbar layout a little.
	* Add an extra line to the info widget (for audio codec info).
	* More internal rearrangement, intended to get rid of a hang in the
	  video window event handler thread.
	  (Locking problem between XNextEvent() and XSelectInput()?)
	* Handle app window resize even when in full-screen mode.
	* Get title from meta-info for 'add mediamark'.
	* Add configuration items for deinterlace-by-default and toolbar.
	* Add menu options for toolbar handling.
	* Nested tab boxes in the prefs window for the renamed preferences in
	  xine-lib >1-rc7.
	* Fix building with --disable-nls.
	* The speaker button now displays a crossed-out speaker when audio is
	  muted.
	* Improve the visualisation show/hide code: check for audio as well
	  as video.
	* Pass button press events to libxine, except for button 2 (override
	  if Shift is pressed). Similarly, pass release events.

0.4.0:	2004/12/11
	[dsalt] [0.4.0 branch]
	* Hack to update the volume level sliders.
	* Require at least GTK+ 2.2 and GLib 2.2.
	  (Note that I've only been able to test against 2.0 and 2.4.)

0.4.0-rc2: 2004/11/28
	[dsalt] [0.4.0 branch]
	* More internal rearrangement, intended to get rid of a hang in the
	  video window event handler thread.
	  (Locking problem between XNextEvent() and XSelectInput()?)
	* Handle app window resize even when in full-screen mode.
	* Bug fixes, mostly wrt features new to -rc1.

0.4.0-rc1: 2004/11/18
	* patches by dsalt:
	  + fix loading of GNOME VFS library (Debian 221509)
          + fix preferences-editing crash bug
            (sf 1019423, 1051186; Debian 258894)
          + don't report missing config files (Debian 257479)
          + fix -DLOG FTBFS (Debian 228185)
          + unbreak mouse UI->video coordinates translation
          + fix some deleted window reopening bugs
          + move away from older GTK deprecated interfaces
          + give the media mark add/edit dbox cancel and undo buttons
          + generalised Javascript menu function (Debian 257493)
          + make various menu items tickable
          + use stock icons in menus and some buttons
          + add save buttons to the prefs, key bindings and media marks
	    windows
	  + add refresh buttons to the engine log and stream info windows
	  + make the scroll bars in the engine log window automatic
          + key bindings have descriptions, general key binding editor
	    improvements (Debian 257480)
          + add/enable auto-resize code and a menu option for it
            - BUG: race if both width and height are altered
          + fix playlist item move/delete wrt item being played
            (Debian 225853)
          + tweaked the prefs window tabs' layout to avoid very short sliders
	    e.g. in the video tab when given '-V xshm'
	  + chdir to |input.file_origin_path| at startup
	  + alter the About window implementation (no more multiple windows)
	  + reduced some menu callback code
	  + all in-source menu items have _shortcuts
	  + added experience level setting to prefs, replaced non-editable
	    combo boxes with option menus (should be GtkComboBox, but that's
	    still quite new)
	  + don't add duplicate MRLs (via menu or MRL dbox) to the playlist
	  + add popup menu (hardwired on F10 & button 3)
	  + fix fullscreen dialogue box problems (sf 908698)
	  + allow menu shortcuts in full-screen mode
	  + [SECURITY] (CAN-2004-1034)
	    fix a buffer overflow in the HTTP fetch code
	  + fix crash if http_proxy (environment) is set
	  + VDR support
	  + Don't fast-forward or pause live audio/video
	  + UI buttons now show current state
	  + Bring BBC media marks up to date
	  + i18n stuff.
	  + plugin 'fixed' to not shutdown or crash browser
	  + playlist: indicate item being played
	  + allow compilation/linking using external spidermonkey (libsmjs)
	  + added menu items for playlist and settings
	  + restore visualisations for audio-only files/streams
	  + added toolbar for full-screen mode
	  * CVS: Add 0.4.0 branch for 0.4.0-rc1.

0.3.4:	unreleased
	* fix time display in mediamarks / live streams
        * playlist drag&drop support
	* new layout of playlist editor
	* drag&drop of multiple files
	* fix annoying console warnings
	* drag&drop bugfixes and cleanups
	* correct build with xine-lib-1_rc6 (bug #1036299)

0.3.3:	2003/04/09
	* browser plugin uses athena widgets now, this will hopefully
	  fix compatibility issues with browsers that are linked against
	  gtk 1.2
	* improved real player plugin emulation
	* improve PLS handling (local files / http)
	* open_mrl dialog fixes
	* display xine engine async messages
	* switch between visualizations without interrupting the current stream

0.3.2:	2003/03/22
	* ASX parser fixes (more tolerant version checking)
	* adapted to new libxine engine verbosity setting method
	* filter out non-ascii characters for strings handed over to pango
	  (should fix some gtk warnings)
	* use gtk widgets in browser plugin, add popup window displaying
	  the mrl in a gtk entry field so the user can copy it to the clipboard
	  e.g. for stream downloading
	* emulate real player plugin autoplay mode
	* better protection against accidently starting gxine more than once
	  from the browser plugin
	* a splash screen for the impatient
	* dvd snapshot bug workaround

0.3.1:	2003/03/09
	* make sure dialog widgets are not destroyed when closed
	  using the window manager's close button
	* exit from fullscreen mode via ctrl-f is now possible
	  (simply pressing f still works)
	* playlist repeat and random modes
	* playlist add button
	* multiple selections possible in file dialog
	* filter out numlock / scroll lock / shift lock from key events
	* fix dvd menu navigation keyboard shortcuts
	  (delete your ~/.gxine/keybindings for this to take effect)
	* browser plugin bugfixes (make sure you run the setup wizard again
	  to have the new plugin copied to your ~/.mozilla/plugins)
	* fix handling of verbose (-v) command line option
	  make sure multiple -v options are handled correctly (more verbosity)
	* drag&drop support (drop files from nautilus on gxine for playback)
	* javascript engine bugfix for ppc by manfred tremmel
	* mediamarks import function
	* implement deinterlacer setting
	* subtitle channel selection moved to view menu

0.3:	2003/03/01
        * ported to gtk 2.0
        * switched to asx/xml file formats for mediamarks/playlists
        * ability to load/save playlist files
        * drag&drop interactive sorting support in mediamarks and
 	  playlist editor
        * full deployment of javascript engine
        * remote-controllable via unix domain socket, client included
        * gxine will start only one instance per user
        * major code cleanup
        * play_item concept (mediamarks and playlist items are the same)
	* configurable keybindings plus a keybindings editor
	* the gtk xine widget (included in gxine) now automatically tries
	  to disable screensavers during playback
	* lirc support
	* zoom in/out video option
	* visualization plugins (e.g. goom) support
	* link browser plugin against libX11/libXt to avoid relocation errors
	  with newer mozilla versions
	* support reference events

0.2.1:	2002/12/26
       * mouse dvd menu navigation
       * fix fullscreen for net_wm compliant window managers (metacity)
       * command line options for audio/video driver selection, verbose
       * make mouse cursor visible in fullscreen mode while mouse moves
       * menu also available as context menu
       * CTRL-F exits fullscreen now (as well as F, Esc)
       * menu entries that bring up dialogs have a "..." suffix now
       * engine log window has scrollbars
       * fix dialog show/hide issues with preferences, playlist and settings

0.2:	2002/12/07
       * renamed to "gxine" (some issues still pending)
       * now using the libxine.1 API (ie current alpha releases)
       * lots of new features

0.1:	2002/04/29
       * initial release
