1 Overview of changes in lightdm 1.1.4
3 * Change session directory once user permissions are set so it works
4 on NFS filesystems that don't allow root to access files.
5 * Restructure session code so the PAM authentication is run in its
7 * Set PAM_XDISPLAY and PAM_XAUTHDATA pam items
8 * Don't send session stdout to .xsession-errors
9 * Fix Qt bindings crash when removing a user
11 Overview of changes in lightdm 1.1.3
13 * Actually return the system default keyboard layout, not just 'us'
14 * Add keyboard layout variants to list of keyboard layouts
15 * Check accountsservice as well as .dmrc for users' layouts
16 * Add lightdm_user_get_layouts() to query the configured list of layouts
18 * Add Lock D-Bus method that locks the seat and provides a hint to the
19 greeter to be in lock mode.
20 * Automatically lock sessions when switching away from them
21 * Add a has-messages property to liblightdm
22 * Add regression tests for PAM modules changing usernames
23 * Don't use g_key_file_unref, it requires glib 2.32
25 Overview of changes in lightdm 1.1.2
27 * Add regression tests for getting the user language and layout
28 * Stop accidentally distributing libsystem
29 * Fix introspection bindings not containing any methods
30 * lightdm-set-defaults can now set the autologin user
31 * Add Python greeter regression tests (representative of all introspection
33 * Wait for the VT to become active when switching to avoid a suspected
34 race condition somewhere between LightDM, X, ConsoleKit and the kernel.
35 * Stop lightdm_greeter_start_session_sync() blocking on success.
37 Overview of changes in lightdm 1.1.1
39 * Add a --disable-tests option
40 * Add note to AUTHORS file where to find author list
41 * Update build system to find moc/uic
42 * Fix non-distributed tests/src/lightdm-session
43 * Fix X sessions with arguments in Exec not working
44 * Use previous session for automatic login or if greeter does not request
46 * Set default resolution of VNC to 1024x768, add settings for width, height,
47 depth into lightdm.conf.
48 * AppArmor profile: Fix broken gnome-keyring and dbus/gwibber, and quiesce
49 annoying kernel audit messages for privileges that we definitively do not
51 * Set LOGNAME environment variable
52 * Don't set USERNAME environment variable - this is not specified in POSIX,
53 please report if this causes any major problems.
54 * Drop privileges when reading ~/.dmrc
55 * Move the GTK+ and Qt greeters into their own projects
56 * Fix crash when quitting with newer GLib
57 * Fix crash calling lightdm_get_layout
58 * Support for reading users' backgrounds from Accounts Service
59 * Fix --debug working with new glib
60 * Support PAM requesting a change of password
61 * Update build system to work with automake 1.11.2
62 * Run tests inside their own system D-Bus, simulating ConsoleKit and
64 * Add regression test for users that have their home directory created after
66 * Move lightdm-guest-session from libexec to pkglibexec directory
68 Overview of changes in lightdm 1.1.0
70 * Remove GetSeatForCookie and GetSessionForCookie D-Bus methods
71 * Switching to a user without a password bypasses the greeter
72 * Use LD_PRELOAD to intercept system calls for testing
73 * Removed the --passwd-file option as not required for testing anymore
74 * Rename test-xserver to X and remove --xserver-command option
75 * Make a test session wrapper and remove --session-wrapper option
76 * Remove unused --user-session, --greeter-session, --minimum-vt,
77 --minimum-display-number options
78 * Use 'default' as the default greeter (make a symlink)
79 * GTK greeter now initializes i18n
80 * GTK greeter now remembers last user
81 * Start authentication for automtically selected user in GTK greeter
82 * Don't resize GTK greeter on each click
83 * Start authentication when scrolling through GTK greeter entries
84 * Link liblightdm-qt against QtGui
85 * Fix liblightdm-qt crashing when face images are installed
86 * Set correct permissions on session log files
87 * Introduce a lightdm-guest-session-wrapper session command which MAC
88 systems like AppArmor and SELinux can use for attaching a restrictive
89 policy to guest sessions.
90 * Provide an AppArmor profile for guest session lockdown.
91 * Fix daemon from blocking if Accounts Service does not exist
92 * Fix greeter log file not being written
93 * Don't set LANG environment variable if using Accounts Service.
94 * Fix gdmflexiserver not working due to it not being in PATH
95 * Don't authenticate the greeter user
96 * Allow greeters to be disabled in configure flags
97 * Fix over allocation of read buffer in greeter protocol
98 * Make sure objects are cleaned up on exit
99 * Fix minor memory leaks
100 * Fix reference counting issue in ConsoleKit code
101 * Fix --enable-gtk-greeter=yes not working
103 Overview of changes in lightdm 1.0.0
105 * Explicitly grab keyboard focus in GTK greeter
106 * Fix removed power and a11y menu items in GTK greeter
107 * Put system binary directory into path when running in test mode
108 * Call pam_getenvlist after pam_setcred
110 Overview of changes in lightdm 0.9.8
112 * GetSeatForCookie and GetSessionForCookie are now deprecated. They
113 remain for now but use the XDG_SEAT_PATH and XDG_SESSION_PATH
114 environment variables instead.
115 * Change log filenames to be unique across different display types.
116 * Fix up script hooks, add regression tests for them
117 * Complete removal of X code from the core of LightDM, so it can better
118 support various display types
119 * Add ability to set the language of a user from the greeter
120 * Set LANG variable based on the user language
121 * Add language selector into GTK greeter (disabled by default)
122 * Allow TCP/IP connections if xserver-allow-tcp is true
123 * Allow lightdm --version to be run as non-root
124 * Automatically respond to PAM messages without prompts
125 * Create 'AddLocalXSeat' D-Bus method, and require root to use 'AddSeat'
126 * Fix multi-seat configuration picking the same display number
127 * Use correct D-Bus and power interface in liblightdm-qt
128 * Run pam_setcred inside the session process so pam_group works
129 * Make sure one session is always selected in the GTK greeter
131 Overview of changes in lightdm 0.9.7
133 * Set PAM_TTY to the display name, not the tty device
135 Overview of changes in lightdm 0.9.6
137 * Only unlock displays if switched to from greeter
138 * Make log file not system readable
139 * Write ~/.Xauthority inside the session process so it cannot be hijacked
140 * Set PAM_TTY and PAM_XDISPLAY when opening PAM session
141 * Add VNC server support
142 * Do not write ~/.dmrc and ~/.Xauthority as root. [CVE-2011-3349]
144 Overview of changes in lightdm 0.9.5
146 * Use accounts service in the daemon if it is available
147 * Correctly load seat type in multi seat configuration
148 * Add display-setup, session-setup and session-cleanup scripting hooks
149 * Fix cancel button in GTK greeter
150 * Fix line through GTK greeter menu items
151 * Exit daemon if a seat fails which has exit-on-failure set to true
152 * Add HasGuestAccount property to seat D-Bus interface
153 * Fix XDMCP authorization
156 Overview of changes in lightdm 0.9.4
158 * lightdm-set-defaults enables tweaking the default session and chosen
159 greeter for lightdm. This is useful for derivatives waiting to not ship
160 the whole configuration file of lightdm
161 * Fix crash in GTK+ greeter when a user is added
162 * Move xsessions-directory and xgreeters-directory from [SeatDefaults] to
163 [LightDM]. This is a configuration break, but making it on the assumption
164 that these settings are not likely to have been overridden.
165 * Fix fallback from org.freedesktop.Accounts to passwd format
166 * Fix duplicate user entries being shown when using passwd file
167 * Add AddSeat D-Bus method for adding dynamic seats
168 * Added a dm-tool program that allows user switching and adding seats
169 * Allow remote X servers, e.g. launched using dm-tool add-nested-seat
170 * Fix bug where sessions were started when the greeter quit and the user
171 hadn't been authorized.
172 * Fix bug where sessions used the seat bus name
173 * Don't allow autologin-username to be set to empty
174 * Fix bug where PAM session was not opened before writing to home directory
175 * Fix crash when failing to write X authority
177 Overview of changes in lightdm 0.9.3
179 * Unlock ConsoleKit sessions when switching to them
180 * Add a gdmflexiserver binary that provides backwards compatibility with
182 * Set XDG_SEAT_PATH and XDG_SESSION_PATH environment variables for sessions.
183 * Always set XAUTHORITY environment variable so sudo keeps accessing the
185 * Connect up lightdm_user_get_logged_in in liblightdm-gobject
186 * Ignore sessions that fail TryExec or are hidden
187 * Add missing home_directory User property missing in Vala bindings
189 Overview of changes in lightdm 0.9.2
191 * Fix annotation and Vala bindings for getting the UserList singleton
192 * Fix GTK+ greeter error label not being shown
193 * Don't set SIGQUIT to ignore in child processes
194 * Reworked the PAM code as ecryptfs users weren't able to log in. They
195 can now but not sure what changed to fix that!?
197 Overview of changes in lightdm 0.9.1
199 * Fix up translation build system
200 * Add a --with-greeter-user configure option
201 * Fix greeter-user configuration not being used
202 * Abort greeter if attempted to be run as root and greeter-user set
203 * Fix setting session in GTK+ greeter
205 Overview of changes in lightdm 0.9.0
207 * Fix invalid XAUTHORITY variable being set for second X server.
208 * Fix bug where switching users created X servers without VTs
209 * Release a VT when the X server on it stops
210 * Greeters are now just standard X sessions that are stored in
211 /usr/share/xgreeters.
212 * Binaries now installed in /usr/sbin
213 * Drop most of the configure options, they aren't necessary
215 - Major reorginisation of configuration to make it easier to configure and
216 understand. Users should set [SeatDefaults] section with settings for
217 all seats, and can override each setting in a per seat configuration.
218 - Default seats are now specified using a [Seat:<name>] section. If no seats
219 are specified then one is started. This can be overridden by setting
220 start-default-seat=false in [LightDM].
221 - Support setting autologin user to guest account
222 - Split the user accounts configuration into /etc/lightdm/users.conf so the
223 main config can be private.
224 - The default user session is now "default". Distributions should put a
225 symlink to their chosen default or set one in lightdm.conf.
226 - XDMCP keys now stored in keys.conf
227 * liblightdm API changes:
228 - Both libraries are now version 1 and have API and ABI guarantees.
229 - Face images are now local paths not URIs
230 - liblightdm-gobject now uses lightdm_ prefix instead of ldm_
231 - Non-greeter functions are now moved out of the Greeter class
232 - connect_to_server() is now called connect_sync and blocks until
234 - start_session() is now called start_session_sync and blocks until
235 completion. The quit signal is removed, and the greeter should quit if
236 this method returns TRUE.
237 - login() is now called authenticate()
238 - Greeters now have hints instead of configuration (greeters should load their
239 own configuration from /etc/lightdm if they need it).
240 - liblightdm-gobject uses AccountsService if it is available
241 - Added regression tests for liblightdm-qt
243 - Expose Seats and Sessions on org.freedesktop.DisplayManager
244 - Add a CanSwitch property
245 - Rename ShowGreeter() to SwitchToGreeter()
247 - Drop "example" from the name of the GTK+ and Qt greeters and make them
248 official default greeters.
249 - Use GTK3 for GTK+ greeter.
250 - Removed the Vala and Python GTK+ greeters, they weren't being well
253 Overview of changes in lightdm 0.4.4
255 * Fix failure to accept XDMCP connections due to invalid assert.
256 * Allow minimum-display-number to be set in lightdm.conf and on the command
258 * Session X authority now written to ~/.Xauthority by default. It can be
259 configured to run from the system location by setting
260 user-authority-in-system-dir=true in lightdm.conf.
261 * When using system authority the authority can be updated by the user.
262 * Written X authority files now checks hostname and display number.
263 * Enironment is no longer passed through to X servers and sessions, this is
264 no longer required now PAM works correctly.
265 * liblightdm API changes:
266 - Drop ldm_greeter_get_is_first() - it was added for testing and doesn't
268 * Fix more errors where authentication messages from previous sessions could
269 be confused with new sessions.
270 * Added XDMCP regression tests.
272 Overview of changes in lightdm 0.4.3
274 * Don't replace Plymouth if it isn't running on a valid VT
275 * Allow a null username to log in with - the system will prompt for a
277 * liblightdm API changes:
278 - Rename ldm_greeter_provide_secret to ldm_greeter_respond - responses
280 - show-prompt signal now has a PromptType field
281 - show-message signal now has a MessageType field and takes over
282 behaviour of show-error signal
283 * Fix error where an authentication failure from a previous session could
284 be interpreted as a failure in the current session.
285 * Simplify Vala bindings and add missing methods
287 Overview of changes in lightdm 0.4.2
289 * Fix errors communicating with PAM
290 * Fix interaction with Plytmouth.
291 * Removes the vt option in lightdm.conf, this is no longer required
292 and the active is used for the first display if Plymouth is
293 detected. A new option minimum-vt is added to select the first
294 VT to be used for other displays.
295 * On login switch to an existing session if already logged in with that
297 * Correctly connect up D-Bus interface for user switching
299 Overview of changes in lightdm 0.4.1
301 * Fix linking issue with -z,defs
302 * Added guest account support
303 * Restart X server if it crashes during a session
304 * Don't set language environment variables, use the daemon values
305 (system default) and leave it to ~/.profile for users to set these
306 * Change greeter library API, starting a session no longer has a language
308 * Fix greeter crash when user accounts change
310 Overview of changes in lightdm 0.4.0
312 * Fix crash when child processes quit
313 * Fix crash when catching signals
314 * Fix crash when session quits after X server
315 * Add internal checking for NULL object access
316 * Correctly handle signals from external programs (Thanks to Jason Conti)
317 * liblightdm API changes:
318 - ldm_greeter_start_authentication becomes ldm_greeter_login
319 - The existing ldm_greeter_login is now ldm_greeter_start_session
320 and the username parameter is not required.
321 - Drop ldm_greeter_get_default_layout (X controls the layout)
322 * Configuration changes:
323 - Use /etc/lightdm/lightdm.conf instead of /etc/lightdm.conf
324 - The "displays" item is now called "seats". LightDM will fallback to
325 "displays" if "seats" is not defined, but this is deprecated and will
326 be removed by version 1.0.
327 - Make X server configuration a separate section and now has new options
328 * Automatic login users now use PAM session lightdm-autologin
329 * Use org.freedesktop.DisplayManager instead of
330 org.lightdm.LightDisplayManager for D-Bus name
331 * Add regression tests
332 * Allow many more options to be set from the command line
334 Overview of changes in lightdm 0.3.7
336 * Fix autologin broken in 0.3.3
338 Overview of changes in lightdm 0.3.6
340 * Disable Plymouth when starting
341 * Allow display vt setting to be set to "active" to start on active VT
342 * Fix login in Qt example greeter
343 * Fix typo for High Contrast menu item (GTK example greeter)
345 Overview of changes in lightdm 0.3.5
347 * Set working directory when logging in
348 * Massive improvements to Qt greeter
349 * Fix XDMCP authentication/authorization errors
350 * Have the daemon open a connection to a local X server
351 * Tidy up some debugging messages
353 Overview of changes in lightdm 0.3.4
355 * Updates to liblightdm-qt
356 * Fix --with-cache-dir not working
357 * Set greeterdir in .pc files to point to where greeter engines should be
360 Overview of changes in lightdm 0.3.3
362 * Don't run in test-mode if Xephyr cannot be found
363 * Fix daemon using 100% CPU after greeter quits
364 * Fix crash when users don't have GECOS data
365 * Greeters can now detect user add/remove events
366 * Fix ConsoleKit support broken with switch to GDBus
367 * Correctly clean up X processes on exit
368 * Wait for greeter to quit before running user session (fixes problem with
371 Overview of changes in lightdm 0.3.2
373 * Distribute GTK greeter .ui file
375 Overview of changes in lightdm 0.3.1
377 * Add greeter login_with_defaults method
378 * Add example to the name of all the greeters
379 * Set the configuration for the default display to use VT 7
380 * Fix the vt setting for displays, it was incorrectly named tty
381 * Fix crash when load-users is false in UserManager
382 * Fix up name of .vapi file so it can be used directly from valac
383 * Tidy up Qt library and greeter
384 * Move menubar in greeters to top of screen
385 * Fix console kit get_can_*() methods
386 * Use GtkBuilder for example GTK greeter
388 Overview of changes in lightdm 0.3.0
390 * Correctly pass environment variables through to the session
391 * Allow starting virtual terminal to be configured
392 * Replace D-Bus greeter communication with a private pipe
393 * Use GDBus instead of dbus-glib
394 * Use the engine process name instead of a hardcoded value in theme files
395 * Rename ldm_greeter_connect to ldm_greeter_connect_to_server so it doesn't
396 clash with GObject method name
397 * Rename ldm-gtk-greeter to lightdm-gtk-greeter
398 * Rename gnome theme to example-gtk-gnome
399 * Add more annotations to liblightdm-gobject
400 * Add an example PyGObject, Vala and QT greeter
401 * Generate metadata for QT libraries
402 * Move Webkit greeter into separate module
404 Overview of changes in lightdm 0.2.3
406 * Set correct linking library names in pkg-config files
407 * Handle session executables that take arguments
409 Overview of changes in lightdm 0.2.2
411 * Make default themedir work when --prefix is not passed to configure
412 * Look for face images in ~/.face and ~/.face.icon
413 * Put .vapi file in unversioned vala directory
414 * Fix compiling without QT
415 * Choose the VT to open the display on
416 * Set correct group memberships for sessions (Yves-Alexis Perez)
417 * Set permissions on xauthority file so it can only be read by the owning
418 user (Yves-Alexis Perez)
419 * Set correct permissions on ~/.dmrc (Yves-Alexis Perez)
420 * Add --enable-liblightdm-gobject, --enable-liblightdm-qt configure option
421 * Set environment variables from PAM (Yves-Alexis Perez)
423 Overview of changes in lightdm 0.2.1
425 * Use "lightdm" as default PAM service and make it configurable
426 * Rename libldmgreeter to libldmgreeter-gobject
427 * Add libldmgreeter-qt (David Edmundson)
428 * Fix gobject-introspection build
429 * Renamed libldmgreeter to liblightdm
430 * Install a .vapi file
432 Overview of changes in lightdm 0.2.0
434 * Make default user configuration per-display
435 * Only automatically login the first time
436 * Fix WebKit theme loading and automatic login
437 * Do cross fade for sessions that support it
438 (set X-LightDM-Supports-Transitions=true in their xsession file)
439 * Load user settings from ~/.dmrc
440 * Add configuration for default language/layout
441 * Change language/layout/session when user selected in GTK+ greeter
442 * Set default keyboard layout on first login
443 * Don't run all sessions throught /etc/X11/XSession - make the session
444 wrapper optional and configurable.
445 * Make pkgconfig file require libxklavier
446 * Only compile greeters if have dependencies
447 * Include ck-connector code to reduce library dependencies
448 * Add introspection.m4 to the source tree
449 * Support using no greeter user in lightdm.conf
450 * Flush writes to main log file
451 * Allow non-privilidged user to write greeter log file in /var
452 * Fix bugs stopping running greeter as priviledged user (i.e. root)
453 * Don't default to running greeters with the GDM user - it may not exist!
455 Overview of changes in lightdm 0.1.2
458 * Make user switcher API work
459 * Add a AddDisplay D-Bus method to start new displays
460 * Feed signals to GLib main loop via a pipe
461 * Add an upstart script
462 * Make theme files more similar to existing themes
463 * Change dbus namespace from org.freedesktop.LightDisplayManager to
464 org.lightdm.LightDisplayManager
465 * Write debug log to /var/log/lightdm/lightdm.log instead of stdout. Use
466 --debug for the previous behaviour
467 * Add exec_prefix into libldmgreeter.pc
468 * Change versioned include and pkgconfig files from 1 to 0
469 * Add themedir variable into pkgconfig file
470 * Connect language list in GTK greeter to login language
472 Overview of changes in lightdm 0.1.1
474 * Change licence of libldmgreeter from GPL to LGPL
475 * Write X server and session output to log files
476 * Set PATH, DESKTOP_SESSION, GDMSESSION and USERNAME environment variables
477 * Run sessions through Xsession
478 * Close all X servers on exit
479 * Send SIGHUP to X server when returning to greeter (makes all clients quit)
480 * Change authorization after a session ends so previous session does not get
482 * Make shutdown buttons work in GTK+ greeter
483 * Make user manager configurable
484 * Make GTK+ greeter show username entry if no user list
485 * Hide C and POSIX languages in greeter
486 * Load language and layout from .dmrc file
488 Overview of changes in lightdm 0.1.0
490 * Make --test-mode which runs as the current user
491 * Support displays acting as XDMCP terminals
492 * Support MIT-MAGIC-COOKIE-1 and XDM-AUTHORIZATION-1 authorization
493 * Support XDMCP over IPv6
495 Overview of changes in lightdm 0.0.4
497 * Support XDMCP logins
499 * Clean up resources on exit
500 * Create gettext instance in WebKit greeter
502 Overview of changes in lightdm 0.0.3
504 * Wait for signal from X server before starting session
506 * Add keyboard layout API
507 * Add gettext support to the WebKit greeter
509 Overview of changes in lightdm 0.0.2
511 * Fix installation of D-Bus service file
512 * Allow DISPLAY env variable to be passed to X server so can run Xephyr
513 * Handle no automatic login in webkit theme
515 Overview of changes in lightdm 0.0.1