]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - NEWS
dddca13947a813c319e89279d67949c53a2e8120
[sojka/lightdm.git] / NEWS
1 Overview of changes in lightdm 1.9.9
2
3     * Handle signals being received in child processes instead of treating them
4       like they are received in the daemon.
5     * Set utmp ut_line to the display name (i.e. :0) to match what other
6       programs expect (e.g. 'w').
7     * Fix lightdm_greeter_ensure_shared_data_dir_sync returning the wrong value.
8     * Fix shared data tests so you can run test suite without root again.
9     * Be extra careful not to call any non thread safe function after a fork.
10     * Fix some small memory leaks detected by valgrind.
11     * Fix process shutdown code to stop generating confusing warnings
12     * Fix more double removal of source IDs.
13     * Test improvements.
14
15 Overview of changes in lightdm 1.9.8
16
17     * Add support for shared user data directories between the greeter and user sessions.
18     * Refactor LightDMUser and User classes to use the same code internally.
19
20 Overview of changes in lightdm 1.9.7
21
22     * Correctly invoke PAM to change authentication token.
23     * Make xdg-seat a core property of a seat and always pass it to X servers.
24     * Qt bindings: properly hand over prompt and message type.
25     * Add warning flags where they are missing and fix the resulting warnings.
26
27 Overview of changes in lightdm 1.9.6
28
29     * Support Mir sessions in xlocal seats by starting a unity system compositor
30       for each session.
31     * Add --screen and --fullscreen options to "dm-tool add-nested-seat"
32     * Don't try to compile liblightdm-qt if liblightdm-gobject will not be
33       compiled.
34     * Stop greeters warning if sessions directories not present or lightdm.conf
35       doesn't exist - this is valid.
36     * Fix log name for Mir display servers
37     * Fix double removal of source IDs
38
39 Overview of changes in lightdm 1.9.5
40
41     * In the unity seat, if we don't have proper VT support, fake VT 0 instead
42       of a real VT number. This matches what logind expects.
43
44 Overview of changes in lightdm 1.9.4
45
46     * Fix issue where VTs are double used when switching sessions.
47     * Remove lightdm-set-defaults and gdmflexiserver.
48     * Add new ability to specify a list of seat types to try, rather than just
49       one.
50     * Allow Mir sessions in the surfaceflinger seat.
51     * Rename the guest session wrapper to have a simpler name.
52     * Make sure sessions are associated with the display server before starting
53       them.
54     * Add a dm-tool man page.
55
56 Overview of changes in lightdm 1.9.3
57
58     * Don't pass system user accounts from AccountsService to greeters.
59     * Fix crash if switching to greeter and it isn't installed.
60
61 Overview of changes in lightdm 1.9.2
62
63     * Implement missing guest-wrapper functionality and enable it for Ubuntu.
64     * Update AppArmor scripts to work in Ubuntu 13.10.
65
66 Overview of changes in lightdm 1.9.1
67
68     * Correctly set $XDG_SESSION_CLASS for greeters. This was regressed in 1.7.5
69       for ConsoleKit and was never passed to logind. logind/ConsoleKit treat
70       greeter sessions without this set as user sessions. This causes greeters
71       to show the lightdm user able to be logged in with.
72     * Set $USER when running the session-setup-script. This is a regression from
73       1.7.5.
74     * Fix notification of sessions being logged out. This is a regression from
75       1.7.5 and caused greeters to show sessions logged in after they had been
76       logged out.
77     * Refactor liblightdm user scanning to be simpler and more reliable. This
78       fixes bugs where some properties wouldn't be updated when they changed in
79       accounts service.
80     * Add support for a "display-stopped-script" field in lightdm.conf. The
81       "display-stopped-script" field allows us to run a script right after
82       stopping the display server.
83     * Allow dm-tool to run outside of a session if it doesn't need to be.
84     * Set $MIR_SERVER_NAME to assign a name to launched sessions. Also use a
85       "greeter-" prefix for greeter sessions for the benefit of
86       unity-system-compositor.
87
88 Overview of changes in lightdm 1.9.0
89
90     * Fix crash when starting with existing X servers. This was introduced in
91       rev 1651 (lightdm 1.7.0).
92     * Fix crash where Process objects are accessed after unref
93
94 Overview of changes in lightdm 1.8.0
95
96     * Add regression test for corrupt X authority files.
97
98 Overview of changes in lightdm 1.7.18
99
100     * Set session environment variables for guest sessions (1.7 regression).
101     * Don't fail writing X authority if reading it had an error.
102     * Update environment variables that we pass to Mir.
103
104 Overview of changes in lightdm 1.7.17
105
106     * surfaceflinger: Set XDG_VTNR=0 if VTs are not available
107     * Allow compiling of liblightdm-qt without liblightdm-gobject
108     * Add missing documentation for xremote seat options.
109
110 Overview of changes in lightdm 1.7.16
111
112     * Fix ConsoleKit support broken in 1.7.5
113     * Fix --test-mode
114     * Add support for running Surfaceflinger sessions
115
116 Overview of changes in lightdm 1.7.15
117
118     * Set XDG_VTNR=1 as a fallback if using SeatUnity without a functioning
119       compositor or working VT switching, so that logind will recognize the VT
120       as active.
121
122 Overview of changes in lightdm 1.7.14
123
124     * Correctly set permissions on Xauthority file.
125
126 Overview of changes in lightdm 1.7.13
127
128     * Correctly set $XDG_CURRENT_DESKTOP for non-autologin sessions
129     * Fix overallocation of array for strings from greeter.
130     * Fix truncation writing card32 in XDMCP server.
131
132 Overview of changes in lightdm 1.7.12
133
134     * Add xdg-seat config setting
135     * Notify Unity System Compositor of the session being authenticated
136
137 Overview of changes in lightdm 1.7.11
138
139     * Fix crash when greeter quits due to read watch not being removed
140     * Correctly setup Unity System Compositor environment
141     * Improve log messages
142
143 Overview of changes in lightdm 1.7.10
144
145     * Fix session locking broken in 1.7.5
146     * Load lightdm.conf after lightdm.conf.d/*.conf
147     * Also support loading config from /usr/share
148     * When switching sessions show a greeter if authentication required
149     * Set $XDG_CURRENT_DESKTOP if specified in the xsession file
150     * Change logging prefixes to make it easier to troubleshoot multiseat setups
151     * Bring Ubuntu packaging in-tree
152
153 Overview of changes in lightdm 1.7.9
154
155     * Correctly set XDG_VTNR for unity sessions that are not autologin.
156
157 Overview of changes in lightdm 1.7.8
158
159     * Add support for Mir sessions and greeters.
160     * Set XDG_VTNR for unity sessions.
161     * Fix desktop-session-start upstart signal not being emitted since 1.7.5.
162     * Fix greeter log broken in 1.7.5.
163
164 Overview of changes in lightdm 1.7.7
165
166     * Fix uninitialized pointer introduced in 1.7.3
167     * Enable compile warnings and fix code generating warnings
168
169 Overview of changes in lightdm 1.7.6
170
171     * Restore greeter hints that were regressed in 1.7.5.
172     * Don't run greeters through session wrapper - regression in 1.7.5
173
174 Overview of changes in lightdm 1.7.5
175
176     * Quit Plymouth correctly when using the unity seat type
177     * Release the VT when the system compositor fails to start
178     * Load sessions and greeters from /usr/share/lightdm/sessions and
179       /usr/share/lightdm/greeters. The existing directories are checked
180       if the sessions are not in these directories.
181     * Refactor the Display class so that it merges with the Seat class
182     * Support running the greeter and session in different display servers
183       instead of re-using the same one during a login.
184     * Add more regression tests
185     * Documentation fixes
186
187 Overview of changes in lightdm 1.7.4
188
189     * Set XDG_SEAT and XDG_VTNR environment variables.
190     * Add initial support for Unity (i.e. Mir based) seats.
191     * Add a greeter wrapper option.
192
193 Overview of changes in lightdm 1.7.3
194
195     * Load configuration from /etc/lightdm/lightdm.conf.d.
196     * Fix compile warnings
197     * Fix tests not running from install directory inside checkout.
198
199 Overview of changes in lightdm 1.7.2
200
201     * Fix incorrectly distributed guest-session apparmor data
202
203 Overview of changes in lightdm 1.7.1
204
205     * Fix .pc file for liblightdm-qt5-3
206     * Add a new option "autologin-in-background" which lets an autologin happen
207       in a second display while still showing the greeter.
208     * Stop if fail to create default seat
209     * Add option to set seat type in lightdm-set-defaults
210     * Stop using g_file_set_contents - it can leave intermediate files around
211     * Make tests work without installing them
212     * Fix distcheck
213
214 Overview of changes in lightdm 1.7.0
215
216     * Use logind instead of ConsoleKit if it is available
217     * Use Q_SLOTS and Q_SIGNALS instead of slots and signals.
218     * Ignore stale X server locks
219     * Pass through system locale or set locale from AccountsService/.dmrc
220     * Fix bug where seat failure before D-Bus acquired would not stop daemon
221
222 Overview of changes in lightdm 1.6.0
223
224     * Allow VNC command to be specified in lightdm.conf
225     * Register enums with QObject meta type system.
226
227 Overview of changes in lightdm 1.5.3
228
229     * Fix build with gobject-introspection 1.35.9
230     * Fix authentication cancel regression caused in 1.5.2
231
232 Overview of changes in lightdm 1.5.2
233
234     * Fix stale X server being left behind when using LockSession D-Bus API
235     * Adjust AppArmor profile to also work with logind
236     * Don't use GIO to access X authority files - it uses GVFS which is
237       unnecessary overhead/complexity
238     * Handle over/underflows when reading from greeter
239     * Improve warning message when XDMCP packet has length mismatch
240     * Only report test command line if it fails
241     * Add more regression tests
242
243 Overview of changes in lightdm 1.5.1
244
245     * QLightDM: Add Qt5 version of the library: liblightdm-qt5-2
246     * QLightDM: Add some missing role names in UsersModel
247     * QLightDM: Add a backgroundPath role to UsersModel
248     * QLightDM: Fix potential crash in QLightDM::UsersModel closedown.
249     * Improve guest session apparmor
250     * Run each test in its own /tmp dir so they can't interfere with eachother
251     * Fix script hooks no longer working with latest glib
252     * Fix display clean up code
253
254 Overview of changes in lightdm 1.5.0
255
256     * Add man page for lightdm-set-defaults
257     * Use xzip for distribution, don't distribute old metadata
258     * Correctly check if display is active when session quits
259     * Relicense liblightdm to LGPL-2/LGPL-3 so GPL-2 code can link against it
260     * Selectively lock memory rather than calling mlockall for main daemon
261
262 Overview of changes in lightdm 1.4.1
263
264     * Fix autologin PAM configuration
265
266 Overview of changes in lightdm 1.4.0
267
268     * Correctly implement and test autologin timeouts
269     * Add greeter-show-remote-login hint
270     * Correctly annotate enums in vapi file
271     * QLightDM: Add default constructor to Qt power interface
272     * QLightDM: Expose image path in UserModel
273     * QLightDM: Add parameter to session model to show either local or remote
274       sessions
275     * Fix race conditions in tests
276
277 Overview of changes in lightdm 1.3.3
278
279     * Add a new remote session type. These sessions create a temporary local
280       account and authenticate against a remote server. The session is an
281       application that accesses that remote session (e.g. VNC, RDP etc)
282     * Support multiple simultaneous PAM prompts
283     * Set utmp ut_host field to the X display address
284     * Correctly reap unused authentication sessions
285
286 Overview of changes in lightdm 1.3.2
287
288     * Handle clearenv() not being defined
289     * Fix compilation with GCC 4.7
290     * Expose remaining properties in QLightDM::Greeter
291     * Fix utmp records being written before child process created
292
293 Overview of changes in lightdm 1.3.1
294
295     * Fix wrapper path in AppArmor profile (broken since 1.1.1)
296     * Add show-manual-login and allow-guest options to lightdm-set-defaults
297     * Don't set PAM_XDISPLAY or PAM_XAUTHDATA if not supported
298     * Add lock-memory option, enabled by default, to prevent paging memory
299       to disk.
300     * Write utmp records for sessions
301     * Install PAM configuration
302     * Run greeters inside the "lightdm-greeter" PAM service
303     * Handle setresgid and setresuid not being available
304     * Use xsession directory from lightdm.conf in liblightdm
305
306 Overview of changes in lightdm 1.2.0
307
308     * Backup .xsession-errors on login
309     * Handle failures in pam_setcred
310     * Open log files in append mode
311     * Add extra checks in liblightdm so that it doesn't send invalid messages
312       to the daemon
313     * Fix gdmflexiserver not being added to the path (broken since 1.1.4)
314     * Fix PAM conversations after authentication from locking up sessions
315     * Fix PAM informational messages locking up autologin
316     * Change XDMCP manage timeout from 10ms to 126s (maximum specified in the
317       XDMCP specification)
318
319 Overview of changes in lightdm 1.1.9
320
321     * Add --show-users/--hide-users to lightdm-set-defaults
322     * Call initgroups before pam_setcred - this allows pam_setcred to change
323       group membership correctly
324
325 Overview of changes in lightdm 1.1.8
326
327     * Handle PAM interactions that have more than one message in one callback
328
329 Overview of changes in lightdm 1.1.7
330
331     * Add a seat option greeter-allow-guest which controls if the greeter should
332       provide an option to access the guest account.
333     * Add a seat option greeter-show-manual-login which hints to a greeter if it
334       should show a manual username entry if a user list is already present.
335
336 Overview of changes in lightdm 1.1.6
337
338     * Fix session wrapper working the same as it did in 1.1.3
339
340 Overview of changes in lightdm 1.1.5
341
342     * Stop file descriptors leaking into the session processes
343
344 Overview of changes in lightdm 1.1.4
345
346     * Change session directory once user permissions are set so it works
347       on NFS filesystems that don't allow root to access files.
348     * Restructure session code so the PAM authentication is run in its
349       own process.
350     * Set PAM_XDISPLAY and PAM_XAUTHDATA pam items
351     * Don't send session stdout to .xsession-errors
352     * Fix Qt bindings crash when removing a user
353
354 Overview of changes in lightdm 1.1.3
355
356     * Actually return the system default keyboard layout, not just 'us'
357     * Add keyboard layout variants to list of keyboard layouts
358     * Check accountsservice as well as .dmrc for users' layouts
359     * Add lightdm_user_get_layouts() to query the configured list of layouts
360       on a per-user basis
361     * Add Lock D-Bus method that locks the seat and provides a hint to the
362       greeter to be in lock mode.
363     * Automatically lock sessions when switching away from them
364     * Add a has-messages property to liblightdm
365     * Add regression tests for PAM modules changing usernames
366     * Don't use g_key_file_unref, it requires glib 2.32
367
368 Overview of changes in lightdm 1.1.2
369
370     * Add regression tests for getting the user language and layout
371     * Stop accidentally distributing libsystem
372     * Fix introspection bindings not containing any methods
373     * lightdm-set-defaults can now set the autologin user
374     * Add Python greeter regression tests (representative of all introspection
375       based greeters)
376     * Wait for the VT to become active when switching to avoid a suspected
377       race condition somewhere between LightDM, X, ConsoleKit and the kernel.
378     * Stop lightdm_greeter_start_session_sync() blocking on success.
379
380 Overview of changes in lightdm 1.1.1
381
382     * Add a --disable-tests option
383     * Add note to AUTHORS file where to find author list
384     * Update build system to find moc/uic
385     * Fix non-distributed tests/src/lightdm-session
386     * Fix X sessions with arguments in Exec not working
387     * Use previous session for automatic login or if greeter does not request
388       one.
389     * Set default resolution of VNC to 1024x768, add settings for width, height,
390       depth into lightdm.conf.
391     * AppArmor profile: Fix broken gnome-keyring and dbus/gwibber, and quiesce
392       annoying kernel audit messages for privileges that we definitively do not
393       want to grant.
394     * Set LOGNAME environment variable
395     * Don't set USERNAME environment variable - this is not specified in POSIX,
396       please report if this causes any major problems.
397     * Drop privileges when reading ~/.dmrc
398     * Move the GTK+ and Qt greeters into their own projects
399     * Fix crash when quitting with newer GLib
400     * Fix crash calling lightdm_get_layout
401     * Support for reading users' backgrounds from Accounts Service
402     * Fix --debug working with new glib
403     * Support PAM requesting a change of password
404     * Update build system to work with automake 1.11.2
405     * Run tests inside their own system D-Bus, simulating ConsoleKit and
406       AccountsService
407     * Add regression test for users that have their home directory created after
408       authentication.
409     * Move lightdm-guest-session from libexec to pkglibexec directory
410
411 Overview of changes in lightdm 1.1.0
412
413     * Remove GetSeatForCookie and GetSessionForCookie D-Bus methods
414     * Switching to a user without a password bypasses the greeter
415     * Use LD_PRELOAD to intercept system calls for testing
416     * Removed the --passwd-file option as not required for testing anymore
417     * Rename test-xserver to X and remove --xserver-command option
418     * Make a test session wrapper and remove --session-wrapper option
419     * Remove unused --user-session, --greeter-session, --minimum-vt,
420       --minimum-display-number options
421     * Use 'default' as the default greeter (make a symlink)
422     * GTK greeter now initializes i18n
423     * GTK greeter now remembers last user
424     * Start authentication for automtically selected user in GTK greeter
425     * Don't resize GTK greeter on each click
426     * Start authentication when scrolling through GTK greeter entries
427     * Link liblightdm-qt against QtGui
428     * Fix liblightdm-qt crashing when face images are installed
429     * Set correct permissions on session log files
430     * Introduce a lightdm-guest-session-wrapper session command which MAC
431       systems like AppArmor and SELinux can use for attaching a restrictive
432       policy to guest sessions.
433     * Provide an AppArmor profile for guest session lockdown.
434     * Fix daemon from blocking if Accounts Service does not exist
435     * Fix greeter log file not being written
436     * Don't set LANG environment variable if using Accounts Service.
437     * Fix gdmflexiserver not working due to it not being in PATH
438     * Don't authenticate the greeter user
439     * Allow greeters to be disabled in configure flags
440     * Fix over allocation of read buffer in greeter protocol
441     * Make sure objects are cleaned up on exit
442     * Fix minor memory leaks
443     * Fix reference counting issue in ConsoleKit code
444     * Fix --enable-gtk-greeter=yes not working
445
446 Overview of changes in lightdm 1.0.0
447
448     * Explicitly grab keyboard focus in GTK greeter
449     * Fix removed power and a11y menu items in GTK greeter
450     * Put system binary directory into path when running in test mode
451     * Call pam_getenvlist after pam_setcred
452
453 Overview of changes in lightdm 0.9.8
454
455     * GetSeatForCookie and GetSessionForCookie are now deprecated.  They
456       remain for now but use the XDG_SEAT_PATH and XDG_SESSION_PATH
457       environment variables instead.
458     * Change log filenames to be unique across different display types.
459     * Fix up script hooks, add regression tests for them
460     * Complete removal of X code from the core of LightDM, so it can better
461       support various display types
462     * Add ability to set the language of a user from the greeter
463     * Set LANG variable based on the user language
464     * Add language selector into GTK greeter (disabled by default)
465     * Allow TCP/IP connections if xserver-allow-tcp is true
466     * Allow lightdm --version to be run as non-root
467     * Automatically respond to PAM messages without prompts
468     * Create 'AddLocalXSeat' D-Bus method, and require root to use 'AddSeat'
469     * Fix multi-seat configuration picking the same display number
470     * Use correct D-Bus and power interface in liblightdm-qt
471     * Run pam_setcred inside the session process so pam_group works
472     * Make sure one session is always selected in the GTK greeter
473
474 Overview of changes in lightdm 0.9.7
475
476     * Set PAM_TTY to the display name, not the tty device
477
478 Overview of changes in lightdm 0.9.6
479
480     * Only unlock displays if switched to from greeter
481     * Make log file not system readable
482     * Write ~/.Xauthority inside the session process so it cannot be hijacked
483     * Set PAM_TTY and PAM_XDISPLAY when opening PAM session
484     * Add VNC server support
485     * Do not write ~/.dmrc and ~/.Xauthority as root. [CVE-2011-3349]
486
487 Overview of changes in lightdm 0.9.5
488
489     * Use accounts service in the daemon if it is available
490     * Correctly load seat type in multi seat configuration
491     * Add display-setup, session-setup and session-cleanup scripting hooks
492     * Fix cancel button in GTK greeter
493     * Fix line through GTK greeter menu items
494     * Exit daemon if a seat fails which has exit-on-failure set to true
495     * Add HasGuestAccount property to seat D-Bus interface
496     * Fix XDMCP authorization
497     * Update man file
498
499 Overview of changes in lightdm 0.9.4
500
501     * lightdm-set-defaults enables tweaking the default session and chosen
502       greeter for lightdm. This is useful for derivatives waiting to not ship
503       the whole configuration file of lightdm
504     * Fix crash in GTK+ greeter when a user is added
505     * Move xsessions-directory and xgreeters-directory from [SeatDefaults] to
506       [LightDM].  This is a configuration break, but making it on the assumption
507       that these settings are not likely to have been overridden.
508     * Fix fallback from org.freedesktop.Accounts to passwd format
509     * Fix duplicate user entries being shown when using passwd file
510     * Add AddSeat D-Bus method for adding dynamic seats
511     * Added a dm-tool program that allows user switching and adding seats
512     * Allow remote X servers, e.g. launched using dm-tool add-nested-seat
513     * Fix bug where sessions were started when the greeter quit and the user
514       hadn't been authorized.
515     * Fix bug where sessions used the seat bus name
516     * Don't allow autologin-username to be set to empty
517     * Fix bug where PAM session was not opened before writing to home directory
518     * Fix crash when failing to write X authority
519
520 Overview of changes in lightdm 0.9.3
521
522     * Unlock ConsoleKit sessions when switching to them
523     * Add a gdmflexiserver binary that provides backwards compatibility with
524       existing sessions
525     * Set XDG_SEAT_PATH and XDG_SESSION_PATH environment variables for sessions.
526     * Always set XAUTHORITY environment variable so sudo keeps accessing the
527       correct X authority.
528     * Connect up lightdm_user_get_logged_in in liblightdm-gobject
529     * Ignore sessions that fail TryExec or are hidden
530     * Add missing home_directory User property missing in Vala bindings
531
532 Overview of changes in lightdm 0.9.2
533
534     * Fix annotation and Vala bindings for getting the UserList singleton
535     * Fix GTK+ greeter error label not being shown
536     * Don't set SIGQUIT to ignore in child processes
537     * Reworked the PAM code as ecryptfs users weren't able to log in.  They
538       can now but not sure what changed to fix that!?
539
540 Overview of changes in lightdm 0.9.1
541
542     * Fix up translation build system
543     * Add a --with-greeter-user configure option
544     * Fix greeter-user configuration not being used
545     * Abort greeter if attempted to be run as root and greeter-user set
546     * Fix setting session in GTK+ greeter
547
548 Overview of changes in lightdm 0.9.0
549
550     * Fix invalid XAUTHORITY variable being set for second X server.
551     * Fix bug where switching users created X servers without VTs
552     * Release a VT when the X server on it stops
553     * Greeters are now just standard X sessions that are stored in
554       /usr/share/xgreeters.
555     * Binaries now installed in /usr/sbin
556     * Drop most of the configure options, they aren't necessary
557     * Config changes:
558       - Major reorginisation of configuration to make it easier to configure and
559         understand.  Users should set [SeatDefaults] section with settings for
560         all seats, and can override each setting in a per seat configuration.
561       - Default seats are now specified using a [Seat:<name>] section.  If no seats
562         are specified then one is started.  This can be overridden by setting
563         start-default-seat=false in [LightDM].
564       - Support setting autologin user to guest account
565       - Split the user accounts configuration into /etc/lightdm/users.conf so the
566         main config can be private.
567       - The default user session is now "default".  Distributions should put a
568         symlink to their chosen default or set one in lightdm.conf.
569       - XDMCP keys now stored in keys.conf
570     * liblightdm API changes:
571       - Both libraries are now version 1 and have API and ABI guarantees.
572       - Face images are now local paths not URIs
573       - liblightdm-gobject now uses lightdm_ prefix instead of ldm_
574       - Non-greeter functions are now moved out of the Greeter class
575       - connect_to_server() is now called connect_sync and blocks until
576         completion.
577       - start_session() is now called start_session_sync and blocks until
578         completion. The quit signal is removed, and the greeter should quit if
579         this method returns TRUE.
580       - login() is now called authenticate()
581       - Greeters now have hints instead of configuration (greeters should load their
582         own configuration from /etc/lightdm if they need it).
583       - liblightdm-gobject uses AccountsService if it is available
584       - Added regression tests for liblightdm-qt
585     * D-Bus API changes:
586       - Expose Seats and Sessions on org.freedesktop.DisplayManager
587       - Add a CanSwitch property
588       - Rename ShowGreeter() to SwitchToGreeter()
589     * Greeter changes:
590       - Drop "example" from the name of the GTK+ and Qt greeters and make them
591         official default greeters.
592       - Use GTK3 for GTK+ greeter.
593       - Removed the Vala and Python GTK+ greeters, they weren't being well
594         maintained.
595
596 Overview of changes in lightdm 0.4.4
597
598     * Fix failure to accept XDMCP connections due to invalid assert.
599     * Allow minimum-display-number to be set in lightdm.conf and on the command
600       line.
601     * Session X authority now written to ~/.Xauthority by default.  It can be
602       configured to run from the system location by setting
603       user-authority-in-system-dir=true in lightdm.conf.
604     * When using system authority the authority can be updated by the user.
605     * Written X authority files now checks hostname and display number.
606     * Enironment is no longer passed through to X servers and sessions, this is
607       no longer required now PAM works correctly.
608     * liblightdm API changes:
609       - Drop ldm_greeter_get_is_first() - it was added for testing and doesn't
610         work well.
611     * Fix more errors where authentication messages from previous sessions could
612       be confused with new sessions.
613     * Added XDMCP regression tests.
614
615 Overview of changes in lightdm 0.4.3
616
617     * Don't replace Plymouth if it isn't running on a valid VT
618     * Allow a null username to log in with - the system will prompt for a
619       username.
620     * liblightdm API changes:
621       - Rename ldm_greeter_provide_secret to ldm_greeter_respond - responses
622         may not be secrets.
623       - show-prompt signal now has a PromptType field
624       - show-message signal now has a MessageType field and takes over
625         behaviour of show-error signal
626     * Fix error where an authentication failure from a previous session could
627       be interpreted as a failure in the current session.
628     * Simplify Vala bindings and add missing methods
629
630 Overview of changes in lightdm 0.4.2
631
632     * Fix errors communicating with PAM
633     * Fix interaction with Plytmouth.
634     * Removes the vt option in lightdm.conf, this is no longer required
635       and the active is used for the first display if Plymouth is
636       detected.  A new option minimum-vt is added to select the first
637       VT to be used for other displays.
638     * On login switch to an existing session if already logged in with that
639       username.
640     * Correctly connect up D-Bus interface for user switching
641
642 Overview of changes in lightdm 0.4.1
643
644     * Fix linking issue with -z,defs
645     * Added guest account support
646     * Restart X server if it crashes during a session
647     * Don't set language environment variables, use the daemon values
648       (system default) and leave it to ~/.profile for users to set these
649     * Change greeter library API, starting a session no longer has a language
650       option
651     * Fix greeter crash when user accounts change
652
653 Overview of changes in lightdm 0.4.0
654
655     * Fix crash when child processes quit
656     * Fix crash when catching signals
657     * Fix crash when session quits after X server
658     * Add internal checking for NULL object access
659     * Correctly handle signals from external programs (Thanks to Jason Conti)
660     * liblightdm API changes:
661       - ldm_greeter_start_authentication becomes ldm_greeter_login
662       - The existing ldm_greeter_login is now ldm_greeter_start_session
663         and the username parameter is not required.
664       - Drop ldm_greeter_get_default_layout (X controls the layout)
665     * Configuration changes:
666       - Use /etc/lightdm/lightdm.conf instead of /etc/lightdm.conf
667       - The "displays" item is now called "seats".  LightDM will fallback to
668         "displays" if "seats" is not defined, but this is deprecated and will
669         be removed by version 1.0.
670       - Make X server configuration a separate section and now has new options
671     * Automatic login users now use PAM session lightdm-autologin
672     * Use org.freedesktop.DisplayManager instead of
673       org.lightdm.LightDisplayManager for D-Bus name
674     * Add regression tests
675     * Allow many more options to be set from the command line
676
677 Overview of changes in lightdm 0.3.7
678
679     * Fix autologin broken in 0.3.3
680
681 Overview of changes in lightdm 0.3.6
682
683     * Disable Plymouth when starting
684     * Allow display vt setting to be set to "active" to start on active VT
685     * Fix login in Qt example greeter
686     * Fix typo for High Contrast menu item (GTK example greeter)
687
688 Overview of changes in lightdm 0.3.5
689
690     * Set working directory when logging in
691     * Massive improvements to Qt greeter
692     * Fix XDMCP authentication/authorization errors
693     * Have the daemon open a connection to a local X server
694     * Tidy up some debugging messages
695     
696 Overview of changes in lightdm 0.3.4
697
698     * Updates to liblightdm-qt
699     * Fix --with-cache-dir not working
700     * Set greeterdir in .pc files to point to where greeter engines should be
701       installed
702
703 Overview of changes in lightdm 0.3.3
704
705     * Don't run in test-mode if Xephyr cannot be found
706     * Fix daemon using 100% CPU after greeter quits
707     * Fix crash when users don't have GECOS data
708     * Greeters can now detect user add/remove events
709     * Fix ConsoleKit support broken with switch to GDBus
710     * Correctly clean up X processes on exit
711     * Wait for greeter to quit before running user session (fixes problem with
712       Compiz)
713
714 Overview of changes in lightdm 0.3.2
715
716     * Distribute GTK greeter .ui file
717
718 Overview of changes in lightdm 0.3.1
719
720     * Add greeter login_with_defaults method
721     * Add example to the name of all the greeters
722     * Set the configuration for the default display to use VT 7
723     * Fix the vt setting for displays, it was incorrectly named tty
724     * Fix crash when load-users is false in UserManager
725     * Fix up name of .vapi file so it can be used directly from valac
726     * Tidy up Qt library and greeter
727     * Move menubar in greeters to top of screen
728     * Fix console kit get_can_*() methods
729     * Use GtkBuilder for example GTK greeter
730
731 Overview of changes in lightdm 0.3.0
732
733     * Correctly pass environment variables through to the session
734     * Allow starting virtual terminal to be configured
735     * Replace D-Bus greeter communication with a private pipe
736     * Use GDBus instead of dbus-glib
737     * Use the engine process name instead of a hardcoded value in theme files
738     * Rename ldm_greeter_connect to ldm_greeter_connect_to_server so it doesn't
739       clash with GObject method name
740     * Rename ldm-gtk-greeter to lightdm-gtk-greeter
741     * Rename gnome theme to example-gtk-gnome
742     * Add more annotations to liblightdm-gobject
743     * Add an example PyGObject, Vala and QT greeter
744     * Generate metadata for QT libraries
745     * Move Webkit greeter into separate module
746
747 Overview of changes in lightdm 0.2.3
748
749     * Set correct linking library names in pkg-config files
750     * Handle session executables that take arguments
751
752 Overview of changes in lightdm 0.2.2
753
754     * Make default themedir work when --prefix is not passed to configure
755     * Look for face images in ~/.face and ~/.face.icon
756     * Put .vapi file in unversioned vala directory
757     * Fix compiling without QT
758     * Choose the VT to open the display on
759     * Set correct group memberships for sessions (Yves-Alexis Perez)
760     * Set permissions on xauthority file so it can only be read by the owning
761       user (Yves-Alexis Perez)
762     * Set correct permissions on ~/.dmrc (Yves-Alexis Perez)
763     * Add --enable-liblightdm-gobject, --enable-liblightdm-qt configure option
764     * Set environment variables from PAM (Yves-Alexis Perez)
765
766 Overview of changes in lightdm 0.2.1
767
768     * Use "lightdm" as default PAM service and make it configurable
769     * Rename libldmgreeter to libldmgreeter-gobject
770     * Add libldmgreeter-qt (David Edmundson)
771     * Fix gobject-introspection build
772     * Renamed libldmgreeter to liblightdm
773     * Install a .vapi file
774
775 Overview of changes in lightdm 0.2.0
776
777     * Make default user configuration per-display
778     * Only automatically login the first time
779     * Fix WebKit theme loading and automatic login
780     * Do cross fade for sessions that support it
781       (set X-LightDM-Supports-Transitions=true in their xsession file)
782     * Load user settings from ~/.dmrc
783     * Add configuration for default language/layout
784     * Change language/layout/session when user selected in GTK+ greeter
785     * Set default keyboard layout on first login
786     * Don't run all sessions throught /etc/X11/XSession - make the session
787       wrapper optional and configurable.
788     * Make pkgconfig file require libxklavier
789     * Only compile greeters if have dependencies
790     * Include ck-connector code to reduce library dependencies
791     * Add introspection.m4 to the source tree
792     * Support using no greeter user in lightdm.conf
793     * Flush writes to main log file
794     * Allow non-privilidged user to write greeter log file in /var
795     * Fix bugs stopping running greeter as priviledged user (i.e. root)
796     * Don't default to running greeters with the GDM user - it may not exist!
797
798 Overview of changes in lightdm 0.1.2
799
800     * Write PID file
801     * Make user switcher API work
802     * Add a AddDisplay D-Bus method to start new displays
803     * Feed signals to GLib main loop via a pipe
804     * Add an upstart script
805     * Make theme files more similar to existing themes
806     * Change dbus namespace from org.freedesktop.LightDisplayManager to
807       org.lightdm.LightDisplayManager
808     * Write debug log to /var/log/lightdm/lightdm.log instead of stdout.  Use
809       --debug for the previous behaviour
810     * Add exec_prefix into libldmgreeter.pc
811     * Change versioned include and pkgconfig files from 1 to 0
812     * Add themedir variable into pkgconfig file
813     * Connect language list in GTK greeter to login language
814
815 Overview of changes in lightdm 0.1.1
816
817     * Change licence of libldmgreeter from GPL to LGPL
818     * Write X server and session output to log files
819     * Set PATH, DESKTOP_SESSION, GDMSESSION and USERNAME environment variables
820     * Run sessions through Xsession
821     * Close all X servers on exit
822     * Send SIGHUP to X server when returning to greeter (makes all clients quit)
823     * Change authorization after a session ends so previous session does not get
824       access
825     * Make shutdown buttons work in GTK+ greeter
826     * Make user manager configurable
827     * Make GTK+ greeter show username entry if no user list
828     * Hide C and POSIX languages in greeter
829     * Load language and layout from .dmrc file
830
831 Overview of changes in lightdm 0.1.0
832
833     * Make --test-mode which runs as the current user
834     * Support displays acting as XDMCP terminals
835     * Support MIT-MAGIC-COOKIE-1 and XDM-AUTHORIZATION-1 authorization
836     * Support XDMCP over IPv6
837
838 Overview of changes in lightdm 0.0.4
839
840     * Support XDMCP logins
841     * Support multi-head
842     * Clean up resources on exit
843     * Create gettext instance in WebKit greeter
844
845 Overview of changes in lightdm 0.0.3
846
847     * Wait for signal from X server before starting session
848     * Add language API
849     * Add keyboard layout API
850     * Add gettext support to the WebKit greeter
851
852 Overview of changes in lightdm 0.0.2
853
854     * Fix installation of D-Bus service file
855     * Allow DISPLAY env variable to be passed to X server so can run Xephyr
856     * Handle no automatic login in webkit theme
857
858 Overview of changes in lightdm 0.0.1
859
860     * Initial release