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