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