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