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