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