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