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