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