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