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