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