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