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