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