]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - NEWS
Restructure session code so the PAM authentication is run in its own process.
[sojka/lightdm.git] / NEWS
1 Overview of changes in lightdm 1.1.4
2
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
6       own process.
7
8 Overview of changes in lightdm 1.1.3
9
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
14       on a per-user basis
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
21
22 Overview of changes in lightdm 1.1.2
23
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
29       based greeters)
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.
33
34 Overview of changes in lightdm 1.1.1
35
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
42       one.
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
47       want to grant.
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
60       AccountsService
61     * Add regression test for users that have their home directory created after
62       authentication.
63     * Move lightdm-guest-session from libexec to pkglibexec directory
64
65 Overview of changes in lightdm 1.1.0
66
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
99
100 Overview of changes in lightdm 1.0.0
101
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
106
107 Overview of changes in lightdm 0.9.8
108
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
127
128 Overview of changes in lightdm 0.9.7
129
130     * Set PAM_TTY to the display name, not the tty device
131
132 Overview of changes in lightdm 0.9.6
133
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]
140
141 Overview of changes in lightdm 0.9.5
142
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
151     * Update man file
152
153 Overview of changes in lightdm 0.9.4
154
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
173
174 Overview of changes in lightdm 0.9.3
175
176     * Unlock ConsoleKit sessions when switching to them
177     * Add a gdmflexiserver binary that provides backwards compatibility with
178       existing sessions
179     * Set XDG_SEAT_PATH and XDG_SESSION_PATH environment variables for sessions.
180     * Always set XAUTHORITY environment variable so sudo keeps accessing the
181       correct X authority.
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
185
186 Overview of changes in lightdm 0.9.2
187
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!?
193
194 Overview of changes in lightdm 0.9.1
195
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
201
202 Overview of changes in lightdm 0.9.0
203
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
211     * Config changes:
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
230         completion.
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
239     * D-Bus API changes:
240       - Expose Seats and Sessions on org.freedesktop.DisplayManager
241       - Add a CanSwitch property
242       - Rename ShowGreeter() to SwitchToGreeter()
243     * Greeter changes:
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
248         maintained.
249
250 Overview of changes in lightdm 0.4.4
251
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
254       line.
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
264         work well.
265     * Fix more errors where authentication messages from previous sessions could
266       be confused with new sessions.
267     * Added XDMCP regression tests.
268
269 Overview of changes in lightdm 0.4.3
270
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
273       username.
274     * liblightdm API changes:
275       - Rename ldm_greeter_provide_secret to ldm_greeter_respond - responses
276         may not be secrets.
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
283
284 Overview of changes in lightdm 0.4.2
285
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
293       username.
294     * Correctly connect up D-Bus interface for user switching
295
296 Overview of changes in lightdm 0.4.1
297
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
304       option
305     * Fix greeter crash when user accounts change
306
307 Overview of changes in lightdm 0.4.0
308
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
330
331 Overview of changes in lightdm 0.3.7
332
333     * Fix autologin broken in 0.3.3
334
335 Overview of changes in lightdm 0.3.6
336
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)
341
342 Overview of changes in lightdm 0.3.5
343
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
349     
350 Overview of changes in lightdm 0.3.4
351
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
355       installed
356
357 Overview of changes in lightdm 0.3.3
358
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
366       Compiz)
367
368 Overview of changes in lightdm 0.3.2
369
370     * Distribute GTK greeter .ui file
371
372 Overview of changes in lightdm 0.3.1
373
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
384
385 Overview of changes in lightdm 0.3.0
386
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
400
401 Overview of changes in lightdm 0.2.3
402
403     * Set correct linking library names in pkg-config files
404     * Handle session executables that take arguments
405
406 Overview of changes in lightdm 0.2.2
407
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)
419
420 Overview of changes in lightdm 0.2.1
421
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
428
429 Overview of changes in lightdm 0.2.0
430
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!
451
452 Overview of changes in lightdm 0.1.2
453
454     * Write PID file
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
468
469 Overview of changes in lightdm 0.1.1
470
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
478       access
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
484
485 Overview of changes in lightdm 0.1.0
486
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
491
492 Overview of changes in lightdm 0.0.4
493
494     * Support XDMCP logins
495     * Support multi-head
496     * Clean up resources on exit
497     * Create gettext instance in WebKit greeter
498
499 Overview of changes in lightdm 0.0.3
500
501     * Wait for signal from X server before starting session
502     * Add language API
503     * Add keyboard layout API
504     * Add gettext support to the WebKit greeter
505
506 Overview of changes in lightdm 0.0.2
507
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
511
512 Overview of changes in lightdm 0.0.1
513
514     * Initial release