summaryrefslogtreecommitdiff
path: root/NEWS
blob: 1ad1f9a7867882f1d74d3b2e28d44a74361d0fca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
Overview of changes in lightdm 1.3.4

    * Correctly annotate enums in vapi file

Overview of changes in lightdm 1.3.3

    * Add a new remote session type. These sessions create a temporary local
      account and authenticate against a remote server. The session is an
      application that accesses that remote session (e.g. VNC, RDP etc)
    * Support multiple simultaneous PAM prompts
    * Set utmp ut_host field to the X display address
    * Correctly reap unused authentication sessions

Overview of changes in lightdm 1.3.2

    * Handle clearenv() not being defined
    * Fix compilation with GCC 4.7
    * Expose remaining properties in QLightDM::Greeter
    * Fix utmp records being written before child process created

Overview of changes in lightdm 1.3.1

    * Fix wrapper path in AppArmor profile (broken since 1.1.1)
    * Add show-manual-login and allow-guest options to lightdm-set-defaults
    * Don't set PAM_XDISPLAY or PAM_XAUTHDATA if not supported
    * Add lock-memory option, enabled by default, to prevent paging memory
      to disk.
    * Write utmp records for sessions
    * Install PAM configuration
    * Run greeters inside the "lightdm-greeter" PAM service
    * Handle setresgid and setresuid not being available
    * Use xsession directory from lightdm.conf in liblightdm

Overview of changes in lightdm 1.2.0

    * Backup .xsession-errors on login
    * Handle failures in pam_setcred
    * Open log files in append mode
    * Add extra checks in liblightdm so that it doesn't send invalid messages
      to the daemon
    * Fix gdmflexiserver not being added to the path (broken since 1.1.4)
    * Fix PAM conversations after authentication from locking up sessions
    * Fix PAM informational messages locking up autologin
    * Change XDMCP manage timeout from 10ms to 126s (maximum specified in the
      XDMCP specification)

Overview of changes in lightdm 1.1.9

    * Add --show-users/--hide-users to lightdm-set-defaults
    * Call initgroups before pam_setcred - this allows pam_setcred to change
      group membership correctly

Overview of changes in lightdm 1.1.8

    * Handle PAM interactions that have more than one message in one callback

Overview of changes in lightdm 1.1.7

    * Add a seat option greeter-allow-guest which controls if the greeter should
      provide an option to access the guest account.
    * Add a seat option greeter-show-manual-login which hints to a greeter if it
      should show a manual username entry if a user list is already present.

Overview of changes in lightdm 1.1.6

    * Fix session wrapper working the same as it did in 1.1.3

Overview of changes in lightdm 1.1.5

    * Stop file descriptors leaking into the session processes

Overview of changes in lightdm 1.1.4

    * Change session directory once user permissions are set so it works
      on NFS filesystems that don't allow root to access files.
    * Restructure session code so the PAM authentication is run in its
      own process.
    * Set PAM_XDISPLAY and PAM_XAUTHDATA pam items
    * Don't send session stdout to .xsession-errors
    * Fix Qt bindings crash when removing a user

Overview of changes in lightdm 1.1.3

    * Actually return the system default keyboard layout, not just 'us'
    * Add keyboard layout variants to list of keyboard layouts
    * Check accountsservice as well as .dmrc for users' layouts
    * Add lightdm_user_get_layouts() to query the configured list of layouts
      on a per-user basis
    * Add Lock D-Bus method that locks the seat and provides a hint to the
      greeter to be in lock mode.
    * Automatically lock sessions when switching away from them
    * Add a has-messages property to liblightdm
    * Add regression tests for PAM modules changing usernames
    * Don't use g_key_file_unref, it requires glib 2.32

Overview of changes in lightdm 1.1.2

    * Add regression tests for getting the user language and layout
    * Stop accidentally distributing libsystem
    * Fix introspection bindings not containing any methods
    * lightdm-set-defaults can now set the autologin user
    * Add Python greeter regression tests (representative of all introspection
      based greeters)
    * Wait for the VT to become active when switching to avoid a suspected
      race condition somewhere between LightDM, X, ConsoleKit and the kernel.
    * Stop lightdm_greeter_start_session_sync() blocking on success.

Overview of changes in lightdm 1.1.1

    * Add a --disable-tests option
    * Add note to AUTHORS file where to find author list
    * Update build system to find moc/uic
    * Fix non-distributed tests/src/lightdm-session
    * Fix X sessions with arguments in Exec not working
    * Use previous session for automatic login or if greeter does not request
      one.
    * Set default resolution of VNC to 1024x768, add settings for width, height,
      depth into lightdm.conf.
    * AppArmor profile: Fix broken gnome-keyring and dbus/gwibber, and quiesce
      annoying kernel audit messages for privileges that we definitively do not
      want to grant.
    * Set LOGNAME environment variable
    * Don't set USERNAME environment variable - this is not specified in POSIX,
      please report if this causes any major problems.
    * Drop privileges when reading ~/.dmrc
    * Move the GTK+ and Qt greeters into their own projects
    * Fix crash when quitting with newer GLib
    * Fix crash calling lightdm_get_layout
    * Support for reading users' backgrounds from Accounts Service
    * Fix --debug working with new glib
    * Support PAM requesting a change of password
    * Update build system to work with automake 1.11.2
    * Run tests inside their own system D-Bus, simulating ConsoleKit and
      AccountsService
    * Add regression test for users that have their home directory created after
      authentication.
    * Move lightdm-guest-session from libexec to pkglibexec directory

Overview of changes in lightdm 1.1.0

    * Remove GetSeatForCookie and GetSessionForCookie D-Bus methods
    * Switching to a user without a password bypasses the greeter
    * Use LD_PRELOAD to intercept system calls for testing
    * Removed the --passwd-file option as not required for testing anymore
    * Rename test-xserver to X and remove --xserver-command option
    * Make a test session wrapper and remove --session-wrapper option
    * Remove unused --user-session, --greeter-session, --minimum-vt,
      --minimum-display-number options
    * Use 'default' as the default greeter (make a symlink)
    * GTK greeter now initializes i18n
    * GTK greeter now remembers last user
    * Start authentication for automtically selected user in GTK greeter
    * Don't resize GTK greeter on each click
    * Start authentication when scrolling through GTK greeter entries
    * Link liblightdm-qt against QtGui
    * Fix liblightdm-qt crashing when face images are installed
    * Set correct permissions on session log files
    * Introduce a lightdm-guest-session-wrapper session command which MAC
      systems like AppArmor and SELinux can use for attaching a restrictive
      policy to guest sessions.
    * Provide an AppArmor profile for guest session lockdown.
    * Fix daemon from blocking if Accounts Service does not exist
    * Fix greeter log file not being written
    * Don't set LANG environment variable if using Accounts Service.
    * Fix gdmflexiserver not working due to it not being in PATH
    * Don't authenticate the greeter user
    * Allow greeters to be disabled in configure flags
    * Fix over allocation of read buffer in greeter protocol
    * Make sure objects are cleaned up on exit
    * Fix minor memory leaks
    * Fix reference counting issue in ConsoleKit code
    * Fix --enable-gtk-greeter=yes not working

Overview of changes in lightdm 1.0.0

    * Explicitly grab keyboard focus in GTK greeter
    * Fix removed power and a11y menu items in GTK greeter
    * Put system binary directory into path when running in test mode
    * Call pam_getenvlist after pam_setcred

Overview of changes in lightdm 0.9.8

    * GetSeatForCookie and GetSessionForCookie are now deprecated.  They
      remain for now but use the XDG_SEAT_PATH and XDG_SESSION_PATH
      environment variables instead.
    * Change log filenames to be unique across different display types.
    * Fix up script hooks, add regression tests for them
    * Complete removal of X code from the core of LightDM, so it can better
      support various display types
    * Add ability to set the language of a user from the greeter
    * Set LANG variable based on the user language
    * Add language selector into GTK greeter (disabled by default)
    * Allow TCP/IP connections if xserver-allow-tcp is true
    * Allow lightdm --version to be run as non-root
    * Automatically respond to PAM messages without prompts
    * Create 'AddLocalXSeat' D-Bus method, and require root to use 'AddSeat'
    * Fix multi-seat configuration picking the same display number
    * Use correct D-Bus and power interface in liblightdm-qt
    * Run pam_setcred inside the session process so pam_group works
    * Make sure one session is always selected in the GTK greeter

Overview of changes in lightdm 0.9.7

    * Set PAM_TTY to the display name, not the tty device

Overview of changes in lightdm 0.9.6

    * Only unlock displays if switched to from greeter
    * Make log file not system readable
    * Write ~/.Xauthority inside the session process so it cannot be hijacked
    * Set PAM_TTY and PAM_XDISPLAY when opening PAM session
    * Add VNC server support
    * Do not write ~/.dmrc and ~/.Xauthority as root. [CVE-2011-3349]

Overview of changes in lightdm 0.9.5

    * Use accounts service in the daemon if it is available
    * Correctly load seat type in multi seat configuration
    * Add display-setup, session-setup and session-cleanup scripting hooks
    * Fix cancel button in GTK greeter
    * Fix line through GTK greeter menu items
    * Exit daemon if a seat fails which has exit-on-failure set to true
    * Add HasGuestAccount property to seat D-Bus interface
    * Fix XDMCP authorization
    * Update man file

Overview of changes in lightdm 0.9.4

    * lightdm-set-defaults enables tweaking the default session and chosen
      greeter for lightdm. This is useful for derivatives waiting to not ship
      the whole configuration file of lightdm
    * Fix crash in GTK+ greeter when a user is added
    * Move xsessions-directory and xgreeters-directory from [SeatDefaults] to
      [LightDM].  This is a configuration break, but making it on the assumption
      that these settings are not likely to have been overridden.
    * Fix fallback from org.freedesktop.Accounts to passwd format
    * Fix duplicate user entries being shown when using passwd file
    * Add AddSeat D-Bus method for adding dynamic seats
    * Added a dm-tool program that allows user switching and adding seats
    * Allow remote X servers, e.g. launched using dm-tool add-nested-seat
    * Fix bug where sessions were started when the greeter quit and the user
      hadn't been authorized.
    * Fix bug where sessions used the seat bus name
    * Don't allow autologin-username to be set to empty
    * Fix bug where PAM session was not opened before writing to home directory
    * Fix crash when failing to write X authority

Overview of changes in lightdm 0.9.3

    * Unlock ConsoleKit sessions when switching to them
    * Add a gdmflexiserver binary that provides backwards compatibility with
      existing sessions
    * Set XDG_SEAT_PATH and XDG_SESSION_PATH environment variables for sessions.
    * Always set XAUTHORITY environment variable so sudo keeps accessing the
      correct X authority.
    * Connect up lightdm_user_get_logged_in in liblightdm-gobject
    * Ignore sessions that fail TryExec or are hidden
    * Add missing home_directory User property missing in Vala bindings

Overview of changes in lightdm 0.9.2

    * Fix annotation and Vala bindings for getting the UserList singleton
    * Fix GTK+ greeter error label not being shown
    * Don't set SIGQUIT to ignore in child processes
    * Reworked the PAM code as ecryptfs users weren't able to log in.  They
      can now but not sure what changed to fix that!?

Overview of changes in lightdm 0.9.1

    * Fix up translation build system
    * Add a --with-greeter-user configure option
    * Fix greeter-user configuration not being used
    * Abort greeter if attempted to be run as root and greeter-user set
    * Fix setting session in GTK+ greeter

Overview of changes in lightdm 0.9.0

    * Fix invalid XAUTHORITY variable being set for second X server.
    * Fix bug where switching users created X servers without VTs
    * Release a VT when the X server on it stops
    * Greeters are now just standard X sessions that are stored in
      /usr/share/xgreeters.
    * Binaries now installed in /usr/sbin
    * Drop most of the configure options, they aren't necessary
    * Config changes:
      - Major reorginisation of configuration to make it easier to configure and
        understand.  Users should set [SeatDefaults] section with settings for
        all seats, and can override each setting in a per seat configuration.
      - Default seats are now specified using a [Seat:<name>] section.  If no seats
        are specified then one is started.  This can be overridden by setting
        start-default-seat=false in [LightDM].
      - Support setting autologin user to guest account
      - Split the user accounts configuration into /etc/lightdm/users.conf so the
        main config can be private.
      - The default user session is now "default".  Distributions should put a
        symlink to their chosen default or set one in lightdm.conf.
      - XDMCP keys now stored in keys.conf
    * liblightdm API changes:
      - Both libraries are now version 1 and have API and ABI guarantees.
      - Face images are now local paths not URIs
      - liblightdm-gobject now uses lightdm_ prefix instead of ldm_
      - Non-greeter functions are now moved out of the Greeter class
      - connect_to_server() is now called connect_sync and blocks until
        completion.
      - start_session() is now called start_session_sync and blocks until
        completion. The quit signal is removed, and the greeter should quit if
        this method returns TRUE.
      - login() is now called authenticate()
      - Greeters now have hints instead of configuration (greeters should load their
        own configuration from /etc/lightdm if they need it).
      - liblightdm-gobject uses AccountsService if it is available
      - Added regression tests for liblightdm-qt
    * D-Bus API changes:
      - Expose Seats and Sessions on org.freedesktop.DisplayManager
      - Add a CanSwitch property
      - Rename ShowGreeter() to SwitchToGreeter()
    * Greeter changes:
      - Drop "example" from the name of the GTK+ and Qt greeters and make them
        official default greeters.
      - Use GTK3 for GTK+ greeter.
      - Removed the Vala and Python GTK+ greeters, they weren't being well
        maintained.

Overview of changes in lightdm 0.4.4

    * Fix failure to accept XDMCP connections due to invalid assert.
    * Allow minimum-display-number to be set in lightdm.conf and on the command
      line.
    * Session X authority now written to ~/.Xauthority by default.  It can be
      configured to run from the system location by setting
      user-authority-in-system-dir=true in lightdm.conf.
    * When using system authority the authority can be updated by the user.
    * Written X authority files now checks hostname and display number.
    * Enironment is no longer passed through to X servers and sessions, this is
      no longer required now PAM works correctly.
    * liblightdm API changes:
      - Drop ldm_greeter_get_is_first() - it was added for testing and doesn't
        work well.
    * Fix more errors where authentication messages from previous sessions could
      be confused with new sessions.
    * Added XDMCP regression tests.

Overview of changes in lightdm 0.4.3

    * Don't replace Plymouth if it isn't running on a valid VT
    * Allow a null username to log in with - the system will prompt for a
      username.
    * liblightdm API changes:
      - Rename ldm_greeter_provide_secret to ldm_greeter_respond - responses
        may not be secrets.
      - show-prompt signal now has a PromptType field
      - show-message signal now has a MessageType field and takes over
        behaviour of show-error signal
    * Fix error where an authentication failure from a previous session could
      be interpreted as a failure in the current session.
    * Simplify Vala bindings and add missing methods

Overview of changes in lightdm 0.4.2

    * Fix errors communicating with PAM
    * Fix interaction with Plytmouth.
    * Removes the vt option in lightdm.conf, this is no longer required
      and the active is used for the first display if Plymouth is
      detected.  A new option minimum-vt is added to select the first
      VT to be used for other displays.
    * On login switch to an existing session if already logged in with that
      username.
    * Correctly connect up D-Bus interface for user switching

Overview of changes in lightdm 0.4.1

    * Fix linking issue with -z,defs
    * Added guest account support
    * Restart X server if it crashes during a session
    * Don't set language environment variables, use the daemon values
      (system default) and leave it to ~/.profile for users to set these
    * Change greeter library API, starting a session no longer has a language
      option
    * Fix greeter crash when user accounts change

Overview of changes in lightdm 0.4.0

    * Fix crash when child processes quit
    * Fix crash when catching signals
    * Fix crash when session quits after X server
    * Add internal checking for NULL object access
    * Correctly handle signals from external programs (Thanks to Jason Conti)
    * liblightdm API changes:
      - ldm_greeter_start_authentication becomes ldm_greeter_login
      - The existing ldm_greeter_login is now ldm_greeter_start_session
        and the username parameter is not required.
      - Drop ldm_greeter_get_default_layout (X controls the layout)
    * Configuration changes:
      - Use /etc/lightdm/lightdm.conf instead of /etc/lightdm.conf
      - The "displays" item is now called "seats".  LightDM will fallback to
        "displays" if "seats" is not defined, but this is deprecated and will
        be removed by version 1.0.
      - Make X server configuration a separate section and now has new options
    * Automatic login users now use PAM session lightdm-autologin
    * Use org.freedesktop.DisplayManager instead of
      org.lightdm.LightDisplayManager for D-Bus name
    * Add regression tests
    * Allow many more options to be set from the command line

Overview of changes in lightdm 0.3.7

    * Fix autologin broken in 0.3.3

Overview of changes in lightdm 0.3.6

    * Disable Plymouth when starting
    * Allow display vt setting to be set to "active" to start on active VT
    * Fix login in Qt example greeter
    * Fix typo for High Contrast menu item (GTK example greeter)

Overview of changes in lightdm 0.3.5

    * Set working directory when logging in
    * Massive improvements to Qt greeter
    * Fix XDMCP authentication/authorization errors
    * Have the daemon open a connection to a local X server
    * Tidy up some debugging messages
    
Overview of changes in lightdm 0.3.4

    * Updates to liblightdm-qt
    * Fix --with-cache-dir not working
    * Set greeterdir in .pc files to point to where greeter engines should be
      installed

Overview of changes in lightdm 0.3.3

    * Don't run in test-mode if Xephyr cannot be found
    * Fix daemon using 100% CPU after greeter quits
    * Fix crash when users don't have GECOS data
    * Greeters can now detect user add/remove events
    * Fix ConsoleKit support broken with switch to GDBus
    * Correctly clean up X processes on exit
    * Wait for greeter to quit before running user session (fixes problem with
      Compiz)

Overview of changes in lightdm 0.3.2

    * Distribute GTK greeter .ui file

Overview of changes in lightdm 0.3.1

    * Add greeter login_with_defaults method
    * Add example to the name of all the greeters
    * Set the configuration for the default display to use VT 7
    * Fix the vt setting for displays, it was incorrectly named tty
    * Fix crash when load-users is false in UserManager
    * Fix up name of .vapi file so it can be used directly from valac
    * Tidy up Qt library and greeter
    * Move menubar in greeters to top of screen
    * Fix console kit get_can_*() methods
    * Use GtkBuilder for example GTK greeter

Overview of changes in lightdm 0.3.0

    * Correctly pass environment variables through to the session
    * Allow starting virtual terminal to be configured
    * Replace D-Bus greeter communication with a private pipe
    * Use GDBus instead of dbus-glib
    * Use the engine process name instead of a hardcoded value in theme files
    * Rename ldm_greeter_connect to ldm_greeter_connect_to_server so it doesn't
      clash with GObject method name
    * Rename ldm-gtk-greeter to lightdm-gtk-greeter
    * Rename gnome theme to example-gtk-gnome
    * Add more annotations to liblightdm-gobject
    * Add an example PyGObject, Vala and QT greeter
    * Generate metadata for QT libraries
    * Move Webkit greeter into separate module

Overview of changes in lightdm 0.2.3

    * Set correct linking library names in pkg-config files
    * Handle session executables that take arguments

Overview of changes in lightdm 0.2.2

    * Make default themedir work when --prefix is not passed to configure
    * Look for face images in ~/.face and ~/.face.icon
    * Put .vapi file in unversioned vala directory
    * Fix compiling without QT
    * Choose the VT to open the display on
    * Set correct group memberships for sessions (Yves-Alexis Perez)
    * Set permissions on xauthority file so it can only be read by the owning
      user (Yves-Alexis Perez)
    * Set correct permissions on ~/.dmrc (Yves-Alexis Perez)
    * Add --enable-liblightdm-gobject, --enable-liblightdm-qt configure option
    * Set environment variables from PAM (Yves-Alexis Perez)

Overview of changes in lightdm 0.2.1

    * Use "lightdm" as default PAM service and make it configurable
    * Rename libldmgreeter to libldmgreeter-gobject
    * Add libldmgreeter-qt (David Edmundson)
    * Fix gobject-introspection build
    * Renamed libldmgreeter to liblightdm
    * Install a .vapi file

Overview of changes in lightdm 0.2.0

    * Make default user configuration per-display
    * Only automatically login the first time
    * Fix WebKit theme loading and automatic login
    * Do cross fade for sessions that support it
      (set X-LightDM-Supports-Transitions=true in their xsession file)
    * Load user settings from ~/.dmrc
    * Add configuration for default language/layout
    * Change language/layout/session when user selected in GTK+ greeter
    * Set default keyboard layout on first login
    * Don't run all sessions throught /etc/X11/XSession - make the session
      wrapper optional and configurable.
    * Make pkgconfig file require libxklavier
    * Only compile greeters if have dependencies
    * Include ck-connector code to reduce library dependencies
    * Add introspection.m4 to the source tree
    * Support using no greeter user in lightdm.conf
    * Flush writes to main log file
    * Allow non-privilidged user to write greeter log file in /var
    * Fix bugs stopping running greeter as priviledged user (i.e. root)
    * Don't default to running greeters with the GDM user - it may not exist!

Overview of changes in lightdm 0.1.2

    * Write PID file
    * Make user switcher API work
    * Add a AddDisplay D-Bus method to start new displays
    * Feed signals to GLib main loop via a pipe
    * Add an upstart script
    * Make theme files more similar to existing themes
    * Change dbus namespace from org.freedesktop.LightDisplayManager to
      org.lightdm.LightDisplayManager
    * Write debug log to /var/log/lightdm/lightdm.log instead of stdout.  Use
      --debug for the previous behaviour
    * Add exec_prefix into libldmgreeter.pc
    * Change versioned include and pkgconfig files from 1 to 0
    * Add themedir variable into pkgconfig file
    * Connect language list in GTK greeter to login language

Overview of changes in lightdm 0.1.1

    * Change licence of libldmgreeter from GPL to LGPL
    * Write X server and session output to log files
    * Set PATH, DESKTOP_SESSION, GDMSESSION and USERNAME environment variables
    * Run sessions through Xsession
    * Close all X servers on exit
    * Send SIGHUP to X server when returning to greeter (makes all clients quit)
    * Change authorization after a session ends so previous session does not get
      access
    * Make shutdown buttons work in GTK+ greeter
    * Make user manager configurable
    * Make GTK+ greeter show username entry if no user list
    * Hide C and POSIX languages in greeter
    * Load language and layout from .dmrc file

Overview of changes in lightdm 0.1.0

    * Make --test-mode which runs as the current user
    * Support displays acting as XDMCP terminals
    * Support MIT-MAGIC-COOKIE-1 and XDM-AUTHORIZATION-1 authorization
    * Support XDMCP over IPv6

Overview of changes in lightdm 0.0.4

    * Support XDMCP logins
    * Support multi-head
    * Clean up resources on exit
    * Create gettext instance in WebKit greeter

Overview of changes in lightdm 0.0.3

    * Wait for signal from X server before starting session
    * Add language API
    * Add keyboard layout API
    * Add gettext support to the WebKit greeter

Overview of changes in lightdm 0.0.2

    * Fix installation of D-Bus service file
    * Allow DISPLAY env variable to be passed to X server so can run Xephyr
    * Handle no automatic login in webkit theme

Overview of changes in lightdm 0.0.1

    * Initial release