Overview of changes in lightdm 1.2.2

    * Add missing regression test script

Overview of changes in lightdm 1.2.1

    * Fix wrapper path in AppArmor profile (broken since 1.1.1)
    * Add show-manual-login and allow-guest options to lightdm-set-defaults

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
