Overview of changes in lightdm 1.10.6

    * Handle trailing whitespace on boolean values in configuration.
    * Use libaudit to generate audit events.
    * Fix apparmor profiles for running Chromium in guest sessions.
    * Add LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT and
      LC_IDENTIFICATION variables to the list of inherited locale variables.
    * Add a backup-logs option that can be used to disable existing logging
      files having a .old suffix added to them.
    * Check the version of the X server we are running so we correctly pass
      -listen tcp when required.
    * Use IP address of XDMCP requests to contact X server if available.
    * Implement XDMCP ForwardQuery.
    * Add an option for XDMCP and VNC servers to only listen on one address.
    * Don't start LightDM if the XDMCP server is configured with a key that
      doesn't exist.
    * Add IP addresses to XDMCP log messages.
    * Refactor XDMCP error handling.
    * Fix small memory leak in XDMCP logging code.
    * Fix typo in dm-tool man page.
    * Use new Xmir binary when running X under Unity System Compositor.
    * Fix all the things that prevent clang (3.5) from building LightDM with
      -Werror.
    * Add more tests.

Overview of changes in lightdm 1.10.5

    * Fix pipe file descriptor leak for each greeter session.
    * Don't attempt generate D-Bus seat/session removal signals on shutdown.

Overview of changes in lightdm 1.10.4

    * Fix pipe file descriptor leak for each session login / authentication
    * Support DesktopNames key in session files

Overview of changes in lightdm 1.10.3

    * Fix crash when having configuration keys defined in multiple places
    * Allow user switching in multi-seat until bug stopping greeter showing on
      logout is fixed
    * Don't access .dmrc files until information from these files is required
    * Do timed autologin each time you are returned to the greeter

Overview of changes in lightdm 1.10.2

    * Use logind to provide the list of seats to use. This is disabled unless
      logind-load-seats (in [LightDM] section) is set to true. This is the
      default behaviour in lightdm 1.12.
    * Fix crash if running script hooks with non-X display servers.
    * Add a seat option 'allow-user-switching' that can disable all user
      switching for that seat.
    * Make PAM services configurable.
    * Add liblightdm method to get user UID.
    * Add a new session type 'mir-container' that allows the session to run
      inside a custom system compositor.
    * Add --show-config option that shows combined configuration.
    * Use XDG_SESSION_ID from PAM instead of using the logind D-Bus API.
    * Make socket writing code used between greeter and daemon more robust to
      errors.
    * Correct section name in default users.conf file.
    * Fix tests failing with Qt 5.3 due to it checking getuid/geteuid which we are faking.
    * Fix small memory leaks.
    * Test improvements

Overview of changes in lightdm 1.10.1

    * When switching to an existing session refresh PAM credentials and end
      session cleanly so no resources leak.
    * Update apparmor rules to allow oxide based browsers and Google Chrome to
      run in the guest session.

Overview of changes in lightdm 1.10.0

    * Fix return value for Vala bindings to Greeter.start_session_sync
    * Fix logging when failing to find session

Overview of changes in lightdm 1.9.15

    * Update the lightdm AppArmor abstraction to allow the guest session to
      start when AppArmor is mediating signals and ptrace and fix a minor, but
      noisy, denial when applications attempt to read /proc/<PID>/stat.

Overview of changes in lightdm 1.9.14

    * Pass --enable-hardware-greeter to unity-system-compositor for Mir sessions
      on xlocal seats

Overview of changes in lightdm 1.9.13

    * Handle not getting an X connection when attempting to get X layouts.
    * Read config data from both XDG_DATA_DIRS and XDG_CONFIG_DIRS.

Overview of changes in lightdm 1.9.12

    * Ensure X authority is written before X server is started
    * Activate after unlocking a logind session

Overview of changes in lightdm 1.9.11

    * Don't use g_hash_table_get_keys_as_array, it's a glib 2.40 feature

Overview of changes in lightdm 1.9.10

    * Honour session type requested by greeter for guest sessions
    * Log to wtmp and btmp.
    * Implement guest-session config option

Overview of changes in lightdm 1.9.9

    * Handle signals being received in child processes instead of treating them
      like they are received in the daemon.
    * Set utmp ut_line to the display name (i.e. :0) to match what other
      programs expect (e.g. 'w').
    * Fix lightdm_greeter_ensure_shared_data_dir_sync returning the wrong value.
    * Fix shared data tests so you can run test suite without root again.
    * Be extra careful not to call any non thread safe function after a fork.
    * Fix some small memory leaks detected by valgrind.
    * Fix process shutdown code to stop generating confusing warnings
    * Fix more double removal of source IDs.
    * Test improvements.

Overview of changes in lightdm 1.9.8

    * Add support for shared user data directories between the greeter and user sessions.
    * Refactor LightDMUser and User classes to use the same code internally.

Overview of changes in lightdm 1.9.7

    * Correctly invoke PAM to change authentication token.
    * Make xdg-seat a core property of a seat and always pass it to X servers.
    * Qt bindings: properly hand over prompt and message type.
    * Add warning flags where they are missing and fix the resulting warnings.

Overview of changes in lightdm 1.9.6

    * Support Mir sessions in xlocal seats by starting a unity system compositor
      for each session.
    * Add --screen and --fullscreen options to "dm-tool add-nested-seat"
    * Don't try to compile liblightdm-qt if liblightdm-gobject will not be
      compiled.
    * Stop greeters warning if sessions directories not present or lightdm.conf
      doesn't exist - this is valid.
    * Fix log name for Mir display servers
    * Fix double removal of source IDs

Overview of changes in lightdm 1.9.5

    * In the unity seat, if we don't have proper VT support, fake VT 0 instead
      of a real VT number. This matches what logind expects.

Overview of changes in lightdm 1.9.4

    * Fix issue where VTs are double used when switching sessions.
    * Remove lightdm-set-defaults and gdmflexiserver.
    * Add new ability to specify a list of seat types to try, rather than just
      one.
    * Allow Mir sessions in the surfaceflinger seat.
    * Rename the guest session wrapper to have a simpler name.
    * Make sure sessions are associated with the display server before starting
      them.
    * Add a dm-tool man page.

Overview of changes in lightdm 1.9.3

    * Don't pass system user accounts from AccountsService to greeters.
    * Fix crash if switching to greeter and it isn't installed.

Overview of changes in lightdm 1.9.2

    * Implement missing guest-wrapper functionality and enable it for Ubuntu.
    * Update AppArmor scripts to work in Ubuntu 13.10.

Overview of changes in lightdm 1.9.1

    * Correctly set $XDG_SESSION_CLASS for greeters. This was regressed in 1.7.5
      for ConsoleKit and was never passed to logind. logind/ConsoleKit treat
      greeter sessions without this set as user sessions. This causes greeters
      to show the lightdm user able to be logged in with.
    * Set $USER when running the session-setup-script. This is a regression from
      1.7.5.
    * Fix notification of sessions being logged out. This is a regression from
      1.7.5 and caused greeters to show sessions logged in after they had been
      logged out.
    * Refactor liblightdm user scanning to be simpler and more reliable. This
      fixes bugs where some properties wouldn't be updated when they changed in
      accounts service.
    * Add support for a "display-stopped-script" field in lightdm.conf. The
      "display-stopped-script" field allows us to run a script right after
      stopping the display server.
    * Allow dm-tool to run outside of a session if it doesn't need to be.
    * Set $MIR_SERVER_NAME to assign a name to launched sessions. Also use a
      "greeter-" prefix for greeter sessions for the benefit of
      unity-system-compositor.

Overview of changes in lightdm 1.9.0

    * Fix crash when starting with existing X servers. This was introduced in
      rev 1651 (lightdm 1.7.0).
    * Fix crash where Process objects are accessed after unref

Overview of changes in lightdm 1.8.0

    * Add regression test for corrupt X authority files.

Overview of changes in lightdm 1.7.18

    * Set session environment variables for guest sessions (1.7 regression).
    * Don't fail writing X authority if reading it had an error.
    * Update environment variables that we pass to Mir.

Overview of changes in lightdm 1.7.17

    * surfaceflinger: Set XDG_VTNR=0 if VTs are not available
    * Allow compiling of liblightdm-qt without liblightdm-gobject
    * Add missing documentation for xremote seat options.

Overview of changes in lightdm 1.7.16

    * Fix ConsoleKit support broken in 1.7.5
    * Fix --test-mode
    * Add support for running Surfaceflinger sessions

Overview of changes in lightdm 1.7.15

    * Set XDG_VTNR=1 as a fallback if using SeatUnity without a functioning
      compositor or working VT switching, so that logind will recognize the VT
      as active.

Overview of changes in lightdm 1.7.14

    * Correctly set permissions on Xauthority file.

Overview of changes in lightdm 1.7.13

    * Correctly set $XDG_CURRENT_DESKTOP for non-autologin sessions
    * Fix overallocation of array for strings from greeter.
    * Fix truncation writing card32 in XDMCP server.

Overview of changes in lightdm 1.7.12

    * Add xdg-seat config setting
    * Notify Unity System Compositor of the session being authenticated

Overview of changes in lightdm 1.7.11

    * Fix crash when greeter quits due to read watch not being removed
    * Correctly setup Unity System Compositor environment
    * Improve log messages

Overview of changes in lightdm 1.7.10

    * Fix session locking broken in 1.7.5
    * Load lightdm.conf after lightdm.conf.d/*.conf
    * Also support loading config from /usr/share
    * When switching sessions show a greeter if authentication required
    * Set $XDG_CURRENT_DESKTOP if specified in the xsession file
    * Change logging prefixes to make it easier to troubleshoot multiseat setups
    * Bring Ubuntu packaging in-tree

Overview of changes in lightdm 1.7.9

    * Correctly set XDG_VTNR for unity sessions that are not autologin.

Overview of changes in lightdm 1.7.8

    * Add support for Mir sessions and greeters.
    * Set XDG_VTNR for unity sessions.
    * Fix desktop-session-start upstart signal not being emitted since 1.7.5.
    * Fix greeter log broken in 1.7.5.

Overview of changes in lightdm 1.7.7

    * Fix uninitialized pointer introduced in 1.7.3
    * Enable compile warnings and fix code generating warnings

Overview of changes in lightdm 1.7.6

    * Restore greeter hints that were regressed in 1.7.5.
    * Don't run greeters through session wrapper - regression in 1.7.5

Overview of changes in lightdm 1.7.5

    * Quit Plymouth correctly when using the unity seat type
    * Release the VT when the system compositor fails to start
    * Load sessions and greeters from /usr/share/lightdm/sessions and
      /usr/share/lightdm/greeters. The existing directories are checked
      if the sessions are not in these directories.
    * Refactor the Display class so that it merges with the Seat class
    * Support running the greeter and session in different display servers
      instead of re-using the same one during a login.
    * Add more regression tests
    * Documentation fixes

Overview of changes in lightdm 1.7.4

    * Set XDG_SEAT and XDG_VTNR environment variables.
    * Add initial support for Unity (i.e. Mir based) seats.
    * Add a greeter wrapper option.

Overview of changes in lightdm 1.7.3

    * Load configuration from /etc/lightdm/lightdm.conf.d.
    * Fix compile warnings
    * Fix tests not running from install directory inside checkout.

Overview of changes in lightdm 1.7.2

    * Fix incorrectly distributed guest-session apparmor data

Overview of changes in lightdm 1.7.1

    * Fix .pc file for liblightdm-qt5-3
    * Add a new option "autologin-in-background" which lets an autologin happen
      in a second display while still showing the greeter.
    * Stop if fail to create default seat
    * Add option to set seat type in lightdm-set-defaults
    * Stop using g_file_set_contents - it can leave intermediate files around
    * Make tests work without installing them
    * Fix distcheck

Overview of changes in lightdm 1.7.0

    * Use logind instead of ConsoleKit if it is available
    * Use Q_SLOTS and Q_SIGNALS instead of slots and signals.
    * Ignore stale X server locks
    * Pass through system locale or set locale from AccountsService/.dmrc
    * Fix bug where seat failure before D-Bus acquired would not stop daemon

Overview of changes in lightdm 1.6.0

    * Allow VNC command to be specified in lightdm.conf
    * Register enums with QObject meta type system.

Overview of changes in lightdm 1.5.3

    * Fix build with gobject-introspection 1.35.9
    * Fix authentication cancel regression caused in 1.5.2

Overview of changes in lightdm 1.5.2

    * Fix stale X server being left behind when using LockSession D-Bus API
    * Adjust AppArmor profile to also work with logind
    * Don't use GIO to access X authority files - it uses GVFS which is
      unnecessary overhead/complexity
    * Handle over/underflows when reading from greeter
    * Improve warning message when XDMCP packet has length mismatch
    * Only report test command line if it fails
    * Add more regression tests

Overview of changes in lightdm 1.5.1

    * QLightDM: Add Qt5 version of the library: liblightdm-qt5-2
    * QLightDM: Add some missing role names in UsersModel
    * QLightDM: Add a backgroundPath role to UsersModel
    * QLightDM: Fix potential crash in QLightDM::UsersModel closedown.
    * Improve guest session apparmor
    * Run each test in its own /tmp dir so they can't interfere with eachother
    * Fix script hooks no longer working with latest glib
    * Fix display clean up code

Overview of changes in lightdm 1.5.0

    * Add man page for lightdm-set-defaults
    * Use xzip for distribution, don't distribute old metadata
    * Correctly check if display is active when session quits
    * Relicense liblightdm to LGPL-2/LGPL-3 so GPL-2 code can link against it
    * Selectively lock memory rather than calling mlockall for main daemon

Overview of changes in lightdm 1.4.1

    * Fix autologin PAM configuration

Overview of changes in lightdm 1.4.0

    * Correctly implement and test autologin timeouts
    * Add greeter-show-remote-login hint
    * Correctly annotate enums in vapi file
    * QLightDM: Add default constructor to Qt power interface
    * QLightDM: Expose image path in UserModel
    * QLightDM: Add parameter to session model to show either local or remote
      sessions
    * Fix race conditions in tests

Overview of changes in lightdm 1.3.3

    * Add a new remote session type. These sessions create a temporary local
      account and authenticate against a remote server. The session is an
      application that accesses that remote session (e.g. VNC, RDP etc)
    * Support multiple simultaneous PAM prompts
    * Set utmp ut_host field to the X display address
    * Correctly reap unused authentication sessions

Overview of changes in lightdm 1.3.2

    * Handle clearenv() not being defined
    * Fix compilation with GCC 4.7
    * Expose remaining properties in QLightDM::Greeter
    * Fix utmp records being written before child process created

Overview of changes in lightdm 1.3.1

    * Fix wrapper path in AppArmor profile (broken since 1.1.1)
    * Add show-manual-login and allow-guest options to lightdm-set-defaults
    * Don't set PAM_XDISPLAY or PAM_XAUTHDATA if not supported
    * Add lock-memory option, enabled by default, to prevent paging memory
      to disk.
    * Write utmp records for sessions
    * Install PAM configuration
    * Run greeters inside the "lightdm-greeter" PAM service
    * Handle setresgid and setresuid not being available
    * Use xsession directory from lightdm.conf in liblightdm

Overview of changes in lightdm 1.2.0

    * Backup .xsession-errors on login
    * Handle failures in pam_setcred
    * Open log files in append mode
    * Add extra checks in liblightdm so that it doesn't send invalid messages
      to the daemon
    * Fix gdmflexiserver not being added to the path (broken since 1.1.4)
    * Fix PAM conversations after authentication from locking up sessions
    * Fix PAM informational messages locking up autologin
    * Change XDMCP manage timeout from 10ms to 126s (maximum specified in the
      XDMCP specification)

Overview of changes in lightdm 1.1.9

    * Add --show-users/--hide-users to lightdm-set-defaults
    * Call initgroups before pam_setcred - this allows pam_setcred to change
      group membership correctly

Overview of changes in lightdm 1.1.8

    * Handle PAM interactions that have more than one message in one callback

Overview of changes in lightdm 1.1.7

    * Add a seat option greeter-allow-guest which controls if the greeter should
      provide an option to access the guest account.
    * Add a seat option greeter-show-manual-login which hints to a greeter if it
      should show a manual username entry if a user list is already present.

Overview of changes in lightdm 1.1.6

    * Fix session wrapper working the same as it did in 1.1.3

Overview of changes in lightdm 1.1.5

    * Stop file descriptors leaking into the session processes

Overview of changes in lightdm 1.1.4

    * Change session directory once user permissions are set so it works
      on NFS filesystems that don't allow root to access files.
    * Restructure session code so the PAM authentication is run in its
      own process.
    * Set PAM_XDISPLAY and PAM_XAUTHDATA pam items
    * Don't send session stdout to .xsession-errors
    * Fix Qt bindings crash when removing a user

Overview of changes in lightdm 1.1.3

    * Actually return the system default keyboard layout, not just 'us'
    * Add keyboard layout variants to list of keyboard layouts
    * Check accountsservice as well as .dmrc for users' layouts
    * Add lightdm_user_get_layouts() to query the configured list of layouts
      on a per-user basis
    * Add Lock D-Bus method that locks the seat and provides a hint to the
      greeter to be in lock mode.
    * Automatically lock sessions when switching away from them
    * Add a has-messages property to liblightdm
    * Add regression tests for PAM modules changing usernames
    * Don't use g_key_file_unref, it requires glib 2.32

Overview of changes in lightdm 1.1.2

    * Add regression tests for getting the user language and layout
    * Stop accidentally distributing libsystem
    * Fix introspection bindings not containing any methods
    * lightdm-set-defaults can now set the autologin user
    * Add Python greeter regression tests (representative of all introspection
      based greeters)
    * Wait for the VT to become active when switching to avoid a suspected
      race condition somewhere between LightDM, X, ConsoleKit and the kernel.
    * Stop lightdm_greeter_start_session_sync() blocking on success.

Overview of changes in lightdm 1.1.1

    * Add a --disable-tests option
    * Add note to AUTHORS file where to find author list
    * Update build system to find moc/uic
    * Fix non-distributed tests/src/lightdm-session
    * Fix X sessions with arguments in Exec not working
    * Use previous session for automatic login or if greeter does not request
      one.
    * Set default resolution of VNC to 1024x768, add settings for width, height,
      depth into lightdm.conf.
    * AppArmor profile: Fix broken gnome-keyring and dbus/gwibber, and quiesce
      annoying kernel audit messages for privileges that we definitively do not
      want to grant.
    * Set LOGNAME environment variable
    * Don't set USERNAME environment variable - this is not specified in POSIX,
      please report if this causes any major problems.
    * Drop privileges when reading ~/.dmrc
    * Move the GTK+ and Qt greeters into their own projects
    * Fix crash when quitting with newer GLib
    * Fix crash calling lightdm_get_layout
    * Support for reading users' backgrounds from Accounts Service
    * Fix --debug working with new glib
    * Support PAM requesting a change of password
    * Update build system to work with automake 1.11.2
    * Run tests inside their own system D-Bus, simulating ConsoleKit and
      AccountsService
    * Add regression test for users that have their home directory created after
      authentication.
    * Move lightdm-guest-session from libexec to pkglibexec directory

Overview of changes in lightdm 1.1.0

    * Remove GetSeatForCookie and GetSessionForCookie D-Bus methods
    * Switching to a user without a password bypasses the greeter
    * Use LD_PRELOAD to intercept system calls for testing
    * Removed the --passwd-file option as not required for testing anymore
    * Rename test-xserver to X and remove --xserver-command option
    * Make a test session wrapper and remove --session-wrapper option
    * Remove unused --user-session, --greeter-session, --minimum-vt,
      --minimum-display-number options
    * Use 'default' as the default greeter (make a symlink)
    * GTK greeter now initializes i18n
    * GTK greeter now remembers last user
    * Start authentication for automtically selected user in GTK greeter
    * Don't resize GTK greeter on each click
    * Start authentication when scrolling through GTK greeter entries
    * Link liblightdm-qt against QtGui
    * Fix liblightdm-qt crashing when face images are installed
    * Set correct permissions on session log files
    * Introduce a lightdm-guest-session-wrapper session command which MAC
      systems like AppArmor and SELinux can use for attaching a restrictive
      policy to guest sessions.
    * Provide an AppArmor profile for guest session lockdown.
    * Fix daemon from blocking if Accounts Service does not exist
    * Fix greeter log file not being written
    * Don't set LANG environment variable if using Accounts Service.
    * Fix gdmflexiserver not working due to it not being in PATH
    * Don't authenticate the greeter user
    * Allow greeters to be disabled in configure flags
    * Fix over allocation of read buffer in greeter protocol
    * Make sure objects are cleaned up on exit
    * Fix minor memory leaks
    * Fix reference counting issue in ConsoleKit code
    * Fix --enable-gtk-greeter=yes not working

Overview of changes in lightdm 1.0.0

    * Explicitly grab keyboard focus in GTK greeter
    * Fix removed power and a11y menu items in GTK greeter
    * Put system binary directory into path when running in test mode
    * Call pam_getenvlist after pam_setcred

Overview of changes in lightdm 0.9.8

    * GetSeatForCookie and GetSessionForCookie are now deprecated.  They
      remain for now but use the XDG_SEAT_PATH and XDG_SESSION_PATH
      environment variables instead.
    * Change log filenames to be unique across different display types.
    * Fix up script hooks, add regression tests for them
    * Complete removal of X code from the core of LightDM, so it can better
      support various display types
    * Add ability to set the language of a user from the greeter
    * Set LANG variable based on the user language
    * Add language selector into GTK greeter (disabled by default)
    * Allow TCP/IP connections if xserver-allow-tcp is true
    * Allow lightdm --version to be run as non-root
    * Automatically respond to PAM messages without prompts
    * Create 'AddLocalXSeat' D-Bus method, and require root to use 'AddSeat'
    * Fix multi-seat configuration picking the same display number
    * Use correct D-Bus and power interface in liblightdm-qt
    * Run pam_setcred inside the session process so pam_group works
    * Make sure one session is always selected in the GTK greeter

Overview of changes in lightdm 0.9.7

    * Set PAM_TTY to the display name, not the tty device

Overview of changes in lightdm 0.9.6

    * Only unlock displays if switched to from greeter
    * Make log file not system readable
    * Write ~/.Xauthority inside the session process so it cannot be hijacked
    * Set PAM_TTY and PAM_XDISPLAY when opening PAM session
    * Add VNC server support
    * Do not write ~/.dmrc and ~/.Xauthority as root. [CVE-2011-3349]

Overview of changes in lightdm 0.9.5

    * Use accounts service in the daemon if it is available
    * Correctly load seat type in multi seat configuration
    * Add display-setup, session-setup and session-cleanup scripting hooks
    * Fix cancel button in GTK greeter
    * Fix line through GTK greeter menu items
    * Exit daemon if a seat fails which has exit-on-failure set to true
    * Add HasGuestAccount property to seat D-Bus interface
    * Fix XDMCP authorization
    * Update man file

Overview of changes in lightdm 0.9.4

    * lightdm-set-defaults enables tweaking the default session and chosen
      greeter for lightdm. This is useful for derivatives waiting to not ship
      the whole configuration file of lightdm
    * Fix crash in GTK+ greeter when a user is added
    * Move xsessions-directory and xgreeters-directory from [SeatDefaults] to
      [LightDM].  This is a configuration break, but making it on the assumption
      that these settings are not likely to have been overridden.
    * Fix fallback from org.freedesktop.Accounts to passwd format
    * Fix duplicate user entries being shown when using passwd file
    * Add AddSeat D-Bus method for adding dynamic seats
    * Added a dm-tool program that allows user switching and adding seats
    * Allow remote X servers, e.g. launched using dm-tool add-nested-seat
    * Fix bug where sessions were started when the greeter quit and the user
      hadn't been authorized.
    * Fix bug where sessions used the seat bus name
    * Don't allow autologin-username to be set to empty
    * Fix bug where PAM session was not opened before writing to home directory
    * Fix crash when failing to write X authority

Overview of changes in lightdm 0.9.3

    * Unlock ConsoleKit sessions when switching to them
    * Add a gdmflexiserver binary that provides backwards compatibility with
      existing sessions
    * Set XDG_SEAT_PATH and XDG_SESSION_PATH environment variables for sessions.
    * Always set XAUTHORITY environment variable so sudo keeps accessing the
      correct X authority.
    * Connect up lightdm_user_get_logged_in in liblightdm-gobject
    * Ignore sessions that fail TryExec or are hidden
    * Add missing home_directory User property missing in Vala bindings

Overview of changes in lightdm 0.9.2

    * Fix annotation and Vala bindings for getting the UserList singleton
    * Fix GTK+ greeter error label not being shown
    * Don't set SIGQUIT to ignore in child processes
    * Reworked the PAM code as ecryptfs users weren't able to log in.  They
      can now but not sure what changed to fix that!?

Overview of changes in lightdm 0.9.1

    * Fix up translation build system
    * Add a --with-greeter-user configure option
    * Fix greeter-user configuration not being used
    * Abort greeter if attempted to be run as root and greeter-user set
    * Fix setting session in GTK+ greeter

Overview of changes in lightdm 0.9.0

    * Fix invalid XAUTHORITY variable being set for second X server.
    * Fix bug where switching users created X servers without VTs
    * Release a VT when the X server on it stops
    * Greeters are now just standard X sessions that are stored in
      /usr/share/xgreeters.
    * Binaries now installed in /usr/sbin
    * Drop most of the configure options, they aren't necessary
    * Config changes:
      - Major reorginisation of configuration to make it easier to configure and
        understand.  Users should set [SeatDefaults] section with settings for
        all seats, and can override each setting in a per seat configuration.
      - Default seats are now specified using a [Seat:<name>] section.  If no seats
        are specified then one is started.  This can be overridden by setting
        start-default-seat=false in [LightDM].
      - Support setting autologin user to guest account
      - Split the user accounts configuration into /etc/lightdm/users.conf so the
        main config can be private.
      - The default user session is now "default".  Distributions should put a
        symlink to their chosen default or set one in lightdm.conf.
      - XDMCP keys now stored in keys.conf
    * liblightdm API changes:
      - Both libraries are now version 1 and have API and ABI guarantees.
      - Face images are now local paths not URIs
      - liblightdm-gobject now uses lightdm_ prefix instead of ldm_
      - Non-greeter functions are now moved out of the Greeter class
      - connect_to_server() is now called connect_sync and blocks until
        completion.
      - start_session() is now called start_session_sync and blocks until
        completion. The quit signal is removed, and the greeter should quit if
        this method returns TRUE.
      - login() is now called authenticate()
      - Greeters now have hints instead of configuration (greeters should load their
        own configuration from /etc/lightdm if they need it).
      - liblightdm-gobject uses AccountsService if it is available
      - Added regression tests for liblightdm-qt
    * D-Bus API changes:
      - Expose Seats and Sessions on org.freedesktop.DisplayManager
      - Add a CanSwitch property
      - Rename ShowGreeter() to SwitchToGreeter()
    * Greeter changes:
      - Drop "example" from the name of the GTK+ and Qt greeters and make them
        official default greeters.
      - Use GTK3 for GTK+ greeter.
      - Removed the Vala and Python GTK+ greeters, they weren't being well
        maintained.

Overview of changes in lightdm 0.4.4

    * Fix failure to accept XDMCP connections due to invalid assert.
    * Allow minimum-display-number to be set in lightdm.conf and on the command
      line.
    * Session X authority now written to ~/.Xauthority by default.  It can be
      configured to run from the system location by setting
      user-authority-in-system-dir=true in lightdm.conf.
    * When using system authority the authority can be updated by the user.
    * Written X authority files now checks hostname and display number.
    * Enironment is no longer passed through to X servers and sessions, this is
      no longer required now PAM works correctly.
    * liblightdm API changes:
      - Drop ldm_greeter_get_is_first() - it was added for testing and doesn't
        work well.
    * Fix more errors where authentication messages from previous sessions could
      be confused with new sessions.
    * Added XDMCP regression tests.

Overview of changes in lightdm 0.4.3

    * Don't replace Plymouth if it isn't running on a valid VT
    * Allow a null username to log in with - the system will prompt for a
      username.
    * liblightdm API changes:
      - Rename ldm_greeter_provide_secret to ldm_greeter_respond - responses
        may not be secrets.
      - show-prompt signal now has a PromptType field
      - show-message signal now has a MessageType field and takes over
        behaviour of show-error signal
    * Fix error where an authentication failure from a previous session could
      be interpreted as a failure in the current session.
    * Simplify Vala bindings and add missing methods

Overview of changes in lightdm 0.4.2

    * Fix errors communicating with PAM
    * Fix interaction with Plytmouth.
    * Removes the vt option in lightdm.conf, this is no longer required
      and the active is used for the first display if Plymouth is
      detected.  A new option minimum-vt is added to select the first
      VT to be used for other displays.
    * On login switch to an existing session if already logged in with that
      username.
    * Correctly connect up D-Bus interface for user switching

Overview of changes in lightdm 0.4.1

    * Fix linking issue with -z,defs
    * Added guest account support
    * Restart X server if it crashes during a session
    * Don't set language environment variables, use the daemon values
      (system default) and leave it to ~/.profile for users to set these
    * Change greeter library API, starting a session no longer has a language
      option
    * Fix greeter crash when user accounts change

Overview of changes in lightdm 0.4.0

    * Fix crash when child processes quit
    * Fix crash when catching signals
    * Fix crash when session quits after X server
    * Add internal checking for NULL object access
    * Correctly handle signals from external programs (Thanks to Jason Conti)
    * liblightdm API changes:
      - ldm_greeter_start_authentication becomes ldm_greeter_login
      - The existing ldm_greeter_login is now ldm_greeter_start_session
        and the username parameter is not required.
      - Drop ldm_greeter_get_default_layout (X controls the layout)
    * Configuration changes:
      - Use /etc/lightdm/lightdm.conf instead of /etc/lightdm.conf
      - The "displays" item is now called "seats".  LightDM will fallback to
        "displays" if "seats" is not defined, but this is deprecated and will
        be removed by version 1.0.
      - Make X server configuration a separate section and now has new options
    * Automatic login users now use PAM session lightdm-autologin
    * Use org.freedesktop.DisplayManager instead of
      org.lightdm.LightDisplayManager for D-Bus name
    * Add regression tests
    * Allow many more options to be set from the command line

Overview of changes in lightdm 0.3.7

    * Fix autologin broken in 0.3.3

Overview of changes in lightdm 0.3.6

    * Disable Plymouth when starting
    * Allow display vt setting to be set to "active" to start on active VT
    * Fix login in Qt example greeter
    * Fix typo for High Contrast menu item (GTK example greeter)

Overview of changes in lightdm 0.3.5

    * Set working directory when logging in
    * Massive improvements to Qt greeter
    * Fix XDMCP authentication/authorization errors
    * Have the daemon open a connection to a local X server
    * Tidy up some debugging messages
    
Overview of changes in lightdm 0.3.4

    * Updates to liblightdm-qt
    * Fix --with-cache-dir not working
    * Set greeterdir in .pc files to point to where greeter engines should be
      installed

Overview of changes in lightdm 0.3.3

    * Don't run in test-mode if Xephyr cannot be found
    * Fix daemon using 100% CPU after greeter quits
    * Fix crash when users don't have GECOS data
    * Greeters can now detect user add/remove events
    * Fix ConsoleKit support broken with switch to GDBus
    * Correctly clean up X processes on exit
    * Wait for greeter to quit before running user session (fixes problem with
      Compiz)

Overview of changes in lightdm 0.3.2

    * Distribute GTK greeter .ui file

Overview of changes in lightdm 0.3.1

    * Add greeter login_with_defaults method
    * Add example to the name of all the greeters
    * Set the configuration for the default display to use VT 7
    * Fix the vt setting for displays, it was incorrectly named tty
    * Fix crash when load-users is false in UserManager
    * Fix up name of .vapi file so it can be used directly from valac
    * Tidy up Qt library and greeter
    * Move menubar in greeters to top of screen
    * Fix console kit get_can_*() methods
    * Use GtkBuilder for example GTK greeter

Overview of changes in lightdm 0.3.0

    * Correctly pass environment variables through to the session
    * Allow starting virtual terminal to be configured
    * Replace D-Bus greeter communication with a private pipe
    * Use GDBus instead of dbus-glib
    * Use the engine process name instead of a hardcoded value in theme files
    * Rename ldm_greeter_connect to ldm_greeter_connect_to_server so it doesn't
      clash with GObject method name
    * Rename ldm-gtk-greeter to lightdm-gtk-greeter
    * Rename gnome theme to example-gtk-gnome
    * Add more annotations to liblightdm-gobject
    * Add an example PyGObject, Vala and QT greeter
    * Generate metadata for QT libraries
    * Move Webkit greeter into separate module

Overview of changes in lightdm 0.2.3

    * Set correct linking library names in pkg-config files
    * Handle session executables that take arguments

Overview of changes in lightdm 0.2.2

    * Make default themedir work when --prefix is not passed to configure
    * Look for face images in ~/.face and ~/.face.icon
    * Put .vapi file in unversioned vala directory
    * Fix compiling without QT
    * Choose the VT to open the display on
    * Set correct group memberships for sessions (Yves-Alexis Perez)
    * Set permissions on xauthority file so it can only be read by the owning
      user (Yves-Alexis Perez)
    * Set correct permissions on ~/.dmrc (Yves-Alexis Perez)
    * Add --enable-liblightdm-gobject, --enable-liblightdm-qt configure option
    * Set environment variables from PAM (Yves-Alexis Perez)

Overview of changes in lightdm 0.2.1

    * Use "lightdm" as default PAM service and make it configurable
    * Rename libldmgreeter to libldmgreeter-gobject
    * Add libldmgreeter-qt (David Edmundson)
    * Fix gobject-introspection build
    * Renamed libldmgreeter to liblightdm
    * Install a .vapi file

Overview of changes in lightdm 0.2.0

    * Make default user configuration per-display
    * Only automatically login the first time
    * Fix WebKit theme loading and automatic login
    * Do cross fade for sessions that support it
      (set X-LightDM-Supports-Transitions=true in their xsession file)
    * Load user settings from ~/.dmrc
    * Add configuration for default language/layout
    * Change language/layout/session when user selected in GTK+ greeter
    * Set default keyboard layout on first login
    * Don't run all sessions throught /etc/X11/XSession - make the session
      wrapper optional and configurable.
    * Make pkgconfig file require libxklavier
    * Only compile greeters if have dependencies
    * Include ck-connector code to reduce library dependencies
    * Add introspection.m4 to the source tree
    * Support using no greeter user in lightdm.conf
    * Flush writes to main log file
    * Allow non-privilidged user to write greeter log file in /var
    * Fix bugs stopping running greeter as priviledged user (i.e. root)
    * Don't default to running greeters with the GDM user - it may not exist!

Overview of changes in lightdm 0.1.2

    * Write PID file
    * Make user switcher API work
    * Add a AddDisplay D-Bus method to start new displays
    * Feed signals to GLib main loop via a pipe
    * Add an upstart script
    * Make theme files more similar to existing themes
    * Change dbus namespace from org.freedesktop.LightDisplayManager to
      org.lightdm.LightDisplayManager
    * Write debug log to /var/log/lightdm/lightdm.log instead of stdout.  Use
      --debug for the previous behaviour
    * Add exec_prefix into libldmgreeter.pc
    * Change versioned include and pkgconfig files from 1 to 0
    * Add themedir variable into pkgconfig file
    * Connect language list in GTK greeter to login language

Overview of changes in lightdm 0.1.1

    * Change licence of libldmgreeter from GPL to LGPL
    * Write X server and session output to log files
    * Set PATH, DESKTOP_SESSION, GDMSESSION and USERNAME environment variables
    * Run sessions through Xsession
    * Close all X servers on exit
    * Send SIGHUP to X server when returning to greeter (makes all clients quit)
    * Change authorization after a session ends so previous session does not get
      access
    * Make shutdown buttons work in GTK+ greeter
    * Make user manager configurable
    * Make GTK+ greeter show username entry if no user list
    * Hide C and POSIX languages in greeter
    * Load language and layout from .dmrc file

Overview of changes in lightdm 0.1.0

    * Make --test-mode which runs as the current user
    * Support displays acting as XDMCP terminals
    * Support MIT-MAGIC-COOKIE-1 and XDM-AUTHORIZATION-1 authorization
    * Support XDMCP over IPv6

Overview of changes in lightdm 0.0.4

    * Support XDMCP logins
    * Support multi-head
    * Clean up resources on exit
    * Create gettext instance in WebKit greeter

Overview of changes in lightdm 0.0.3

    * Wait for signal from X server before starting session
    * Add language API
    * Add keyboard layout API
    * Add gettext support to the WebKit greeter

Overview of changes in lightdm 0.0.2

    * Fix installation of D-Bus service file
    * Allow DISPLAY env variable to be passed to X server so can run Xephyr
    * Handle no automatic login in webkit theme

Overview of changes in lightdm 0.0.1

    * Initial release
