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