summaryrefslogtreecommitdiff
path: root/NEWS
blob: f43b43aa0a45427721e92a2fe7b7d91ca84783d9 (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
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
Overview of changes in lightdm 1.32.0

   * Overwrite existing X authority files to avoid corruption
   * Change logind-check-graphical default config value to true
   * Block autologin if shell in nologin or false
   * Fix failure if with greeters sending two login requests quickly.
   * Drop Qt 4 support, it's been unsupported since 2015
   * Fix lightdm_set_layout
   * Improve method of determining a session is Wayland
   * Don't call setenv with a NULL value - the behaviour is undefined
   * Replace deprecated QAbstractItemModel::setRoleNames
   * Move D-Bus conf file to $(datadir)/dbus-1/system.d
   * Fix tests failing when compiled with --with-greeter-user
   * Use Python 3 in tests
   * Disable compiler optimizations for test programs
   * Compilation fix for glibc 2.33
   * Remove deprecated use of G_TYPE_INSTANCE_GET_PRIVATE, G_PARAM_PRIVATE
   * Fix compile failure due to use of clearenv on FreeBSD
   * Use a size_t to resolve a compile warning
   * Fix DesktopManager typo in man page

Overview of changes in lightdm 1.30.0

    * Add lightdm_user_get_is_locked ()
    * Hide users with shell /bin/false
    * Remove unity-system-compositor support (dead upstream)
    * Fix dm-tool crash
    * Update documentation

Overview of changes in lightdm 1.28.0

    * Continue to shutdown session is removing X authority fails
    * Set XDG_SEAT env variable in script hooks
    * Fix small leak in XDMCP server
    * liblightdm-qt: mark class PowerInterface as exported
    * Fix one qt5 test being run instead of a qt4 one
    * Remove use of deprecated g_type_class_add_private
    * Modernize private data in objects
    * Document XDG_SEAT_PATH in man page
    * Fix install failing if link already exists
    * Remove bashisms in configure.ac

Overview of changes in lightdm 1.26.0

    * No changes from 1.25.2

Overview of changes in lightdm 1.25.2

    * Fix incorrect use of ConsoleKit CanSuspend/Hibernate API
    * Correctly install AccountsService interface file
    * Fix build system to require C99
    * Use standard format for arguments passed to qtchooser

Overview of changes in lightdm 1.25.1

    * Fixes for VNC and XDMCP connections
    * Use AccountsService extension system for extended greeter information
    * Modernise code style

Overview of changes in lightdm 1.25.0

    * Support moc being called moc-qt5 (e.g. Fedora)
    * Fail configure if MOC can't be found
    * Expose autologin-session as a hint to the greeter
    * Fix timed autologins not using autologin-session when no session specified

Overview of changes in lightdm 1.24.0

    * No changes from 1.22

Overview of changes in lightdm 1.22.0

    * Allow guest sessions to talk to Mir (allowing unity8)

Overview of changes in lightdm 1.21.5

    * Fix logic that checked if a session was being stopped.
      This fixes a race condition that could cause logging into an existing
      session from a greeter to not return to that session.

Overview of changes in lightdm 1.21.4

    * Use power management functions from ConsoleKit2 if available.
    * Correctly pass return value from sessions to LightDM.
    * Retry VT_WAITACTIVE if we get EINTR.
    * Ignore SIGHUP by default.
    * Use SA_RESTART with SIGPIPE.
    * liblightdm-qt: Use liblightdm-gobject power methods instead of
      re-implementing in Qt.

Overview of changes in lightdm 1.21.3

    * Fix crashes introduced in 1.21.2 due to environment variable changes
    * Fix incorrect unref in XDMCP server code
    * Fix logging warning

Overview of changes in lightdm 1.21.2

    * Use SA_RESTART on signals so we don't get interrupted reads
    * Use logind to terminate greeter sessions if it is available
    * Load greeters from XDG_DATA_DIRS instead of compile time value
    * Allow D-Bus interface to be disabled
    * Always pass through LD_PRELOAD, LD_LIBRARY_PATH and PATH to
      sessions/display servers

Overview of changes in lightdm 1.21.1

    * Fix greeters crashing with unknown configuration keys (regression from
      1.21.0)
    * Add an API verison to the greeter-daemon protocol for future enhancements
    * More regression tests

Overview of changes in lightdm 1.21.0

    * Add liblightdm functions for getting OS release information and the
      message of the day.
    * Warn if we find unknown keys in configuration.
    * Fix .profile errors not showing in .xsession-errors log.
    * Remove duplicate Qt property in liblightdm.
    * Fix and improve liblightdm API documentation.
    * Minor GIR annotation fixes.

Overview of changes in lightdm 1.20.0

    * Use stable version number (no other changes)

Overview of changes in lightdm 1.19.5

    * Fix errors in documentation generation
    * Improve documentation
    * Fix guest AppArmor profile to allow guest sessions more access to the
      upstart session socket
    * Fix small memory leak in liblightdm-gobject keyboard layout code

Overview of changes in lightdm 1.19.4

    * Fix various issues in new in-session greeter code
    * Fix user list memory management exposed by use of in-session greeters
    * Fix some spurious warnings in the log

Overview of changes in lightdm 1.19.3

    * Fix in-session greeters not working for greeter logins

Overview of changes in lightdm 1.19.2

    * Add support for greeters running inside sessions. This is enabled by
      setting X-LightDM-Allow-Greeter inside the session .desktop file.
      The session can then use liblightdm to connect one greeter to the
      daemon. The communication is done using a socket
      (/var/run/lightdm/<user>/greeter-socket) that is accessible to any
      process run by that user. Consider controlling access to this socket
      using a MAC system such as AppArmor.
    * Report errors for all liblightdm methods. This will require existing
      greeters to update their API usage. The ABI is unchanged.
    * Handle EAGAIN correctly when daemons communicate with the daemon.
    * Drop support for mir-container sessions - no-one ever used these.

Overview of changes in lightdm 1.19.1

    * Rename "xlocal" seat type to "local". Using "xlocal" will continue to work
      but report a warning.
    * Fix memory leaks
    * Fix uninitialized memory errors
    * Use MIR_SERVER_HOST_SOCKET instead of MIR_SOCKET to report compositor
      socket to sessions. This used to work but no longer works in Mir 0.21
    * Allow XMir to run on the xlocal seat using the new x-server-backend=mir
      option
    * Use only a single compositor on local seats
    * Fix Mir greeter log filename having "(null)" in the name
    * Copy fcitx/mozc rules so session works when these aren't installed
    * Revert lxsession change - it caused the AppArmor to fail to compile

Overview of changes in lightdm 1.19.0

    * Use /dev/tty0 instead of /dev/console for VT operations
    * Don't quit on SIGUSR1, SIGUSR2 or SIGHUP
    * Improve XDMCP IPv6 address selection
    * Set XDMCP hostname field in to system hostname or configured value
    * Allow fcitx and mozc to run in guest session
    * Fix lxsession running in guest sessiono
    * Drop support for legacy XMir
    * Fix g_spawn compiler warning

Overview of changes in lightdm 1.18.0

    * Small documentation fixes

Overview of changes in lightdm 1.17.6

    * Don't write $DISPLAY into tty line in utmp/btmp.

Overview of changes in lightdm 1.17.5

    * Set XDG_RUNTIME_DIR for ConsoleKit sessions. This is a recent change in
      ConsoleKit2.

Overview of changes in lightdm 1.17.4

    * Add support for g_autoptr and liblightdm-gobject
    * Fix dm-tool add-local-seat not working because LightDM is trying to
      connect with TCP/IP

Overview of changes in lightdm 1.17.3

    * Don't enable the hardware cursor in Unity System Compositor anymore.
      Unity 8 now correctly provides its own cursor and other shells should too

Overview of changes in lightdm 1.17.2

    * Handle XDMCP Request packet with no addresses.
    * Don't start LightDM if the XDMCP server is configured with a key that
      doesn't exist.
    * Add IP addresses to XDMCP log messages.
    * Refactor XDMCP error handling.
    * Add more XDMCP tests.

Overview of changes in lightdm 1.17.1

    * Add a backup-logs option that can be used to disable existing logging
      files having a .old suffix added to them.
    * Add LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT and
      LC_IDENTIFICATION variables to the list of inherited locale variables.
    * Implement XDMCP ForwardQuery.
    * Fix small memory leak in XDMCP logging code.

Overview of changes in lightdm 1.17.0

    * Disable log backups - this interferes with logrotate.
    * Support using libaudit to generate audit events.
    * Handle trailing whitespace on boolean values in configuration.
    * Update example configuration to more correctly match allowed options.
    * Fix unnecessary X server from being launched when locking seats.
    * Check the version of the X server we are running so we correctly pass
      -listen tcp when required.
    * Allow reading /proc/<PID>/net/dev from within a guest session.
    * Allow guest sessions to write in /{,var/}run/screen folder.
    * Update guest-session AppArmor profile to be suitable for openSUSE.
    * Fix apparmor profiles for running Chromium in guest sessions.
    * Fix configure failing without Vala installed.

Overview of changes in lightdm 1.16.0

    * Update default configuration better explaining the seat configuration name
      matching and dropping references to the obsolete [SeatDefaults] section    

Overview of changes in lightdm 1.15.3

    * Drop Xorg option -sharevts. It's no longer required for non-seat0 X
      servers since xorg-server release 1.16.

Overview of changes in lightdm 1.15.2

    * Support Wayland sessions.
    * Implement autologin-session option.    
    * Generate Vala bindings from GIR instead of manually writing them. This
      fixes some small bugs in both the Vala and GIR bindings.
    * Don't remove autotools generated files in distclean. 

Overview of changes in lightdm 1.15.1

    * Fix default X server command set to XMir in 1.15.0.
    * Internally merge the [SeatDefaults] and [Seat:*] sections together. The
      previous method meant configuration snippets using a mix of old and new
      naming would not correctly override eachother.
    * Use IP address of XDMCP requests to contact X server if available.
    * Add an option for XDMCP and VNC servers to only listen on one address.
    * Fix configuration file warnings so they go to the log, not stderr.
    * Warn if deprecated options logind-load-seats or xdg-seat are in
      configuration.
    * Improve IP addresses in XDMCP log messages.
    * Fix typo in dm-tool man page.

Overview of changes in lightdm 1.15.0

    * Deprecate [SeatDefaults] in favour of [Seat:*]
    * Use new Xmir binary when running X under Unity System Compositor

Overview of changes in lightdm 1.14.0

    * Initialize file descriptor handles so we don't attempt to close stdin by
      accident.
    * Fix small errors detected by scan-build (clang).

Overview of changes in lightdm 1.13.2

    * Fix pipe file descriptor leak for each greeter session.
    * Support active session changing via logind.
    * Don't allow liblightdm-gobject to be disabled. It is required for
      liblightdm-qt and the tests so it's not worth supporting builds without
      it.
    * Add bash autocompletion support

Overview of changes in lightdm 1.13.1

    * Don't attempt generate D-Bus seat/session removal signals on shutdown.
    * Add missing method QLightDM::Greeter::cancelAutologin

Overview of changes in lightdm 1.13.0

    * Fix crash when having configuration keys defined in multiple places
    * Fix pipe file descriptor leak for each session login / authentication
    * Use correct syntax for DesktopNames key in session files
    * Match seat configuration with globbing
    * Allow user switching in multi-seat until bug stopping greeter showing on
      logout is fixed
    * Disable log message when AccountsService users change
    * Update AppArmor scripts, requires AppArmor 2.9
    * Update tests to run better on servers

Overview of changes in lightdm 1.12.0

    * Fix assumption that the display server is X when running scripts.
    * Don't access .dmrc files until information from these files is required.

Overview of changes in lightdm 1.11.9

    * Don't check the logind CanGraphical seat property unless
      login-check-graphical option is set to true. There are too many cases of
      drivers that don't set the appropriate flags for this feature to work.
    * Make socket writing code used between greeter and daemon more robust to
      errors.
    * Fix small memory leaks.
    * Improve logging messages.
    * Test improvements.

Overview of changes in lightdm 1.11.8

    * Rework logind code that gets session ID. The previous method was racy
      and a change in lightdm 1.11.7 led to a lockup when this race occurred.
    * Handle CanGraphical property on logind seats

Overview of changes in lightdm 1.11.7

    * Use logind to provide the list of seats to use. Deprecate the old method
      of manually defining seats.
    * Add --show-config option that shows combined configuration.
    * Drop the surfaceflinger seat type. This was a temporary solution while
      Ubuntu Phone was migrating to Mir.

Overview of changes in lightdm 1.11.6

    * Add a seat option 'allow-user-switching' that can disable all user
      switching for that seat
    * Add a new session type 'mir-container' that allows the session to run
      inside a custom system compositor
    * Only seat0 takes VT from Plymouth
    * Removed unused GAsyncResultIface.is_tagged as this attribute was not
      available in earlier versions of Glib I/O.
    * Abort autogen if yelp-tools not installed
    * Return correct errors for D-Bus calls

Overview of changes in lightdm 1.11.5

    * Make PAM services configurable

Overview of changes in lightdm 1.11.4

    * Do timed autologin each time you are returned to the greeter
    * Fix tests failing with Qt 5.3 due to it checking getuid/geteuid which we are faking
    * dm-tool: Warn if trying to switch to user without username

Overview of changes in lightdm 1.11.3

    * Fix Mir sessions broken with unity-system-compositor 0.3.
    * Add back Vala bindings for LightDM.Greeter.connect_sync - just mark as
      deprecated.
    * Put unity-system-compositor's mir_socket under /run rather than /tmp.
    * Fix building with clang (3.5) and -Werror.
    * Correct section name in default users.conf file.

Overview of changes in lightdm 1.11.2

    * Add liblightdm method to get user UID
    * DBus-activate logind
    * Check for libgcrypt at configure time

Overview of changes in lightdm 1.11.1

    * Allow greeters to remain runing to reduce startup time when switching to a
      greeter
    * Add asynchronous methods to liblightdm

Overview of changes in lightdm 1.11.0

    * When switching to an existing session refresh PAM credentials and end
      session cleanly so no resources leak.
    * Support new standard DesktopNames field in session files
    * Set XDG_SESSION_TYPE and XDG_SESSION_DESKTOP as used by systemd
    * Emit DBus PropertiesChanged when Sessions/Seats properties change. Also
      add SessionAdded/SessionRemoved signals to Seat interface

Overview of changes in lightdm 1.10.0

    * Fix return value for Vala bindings to Greeter.start_session_sync
    * Fix logging when failing to find session

Overview of changes in lightdm 1.9.15

    * Update the lightdm AppArmor abstraction to allow the guest session to
      start when AppArmor is mediating signals and ptrace and fix a minor, but
      noisy, denial when applications attempt to read /proc/<PID>/stat.

Overview of changes in lightdm 1.9.14

    * Pass --enable-hardware-greeter to unity-system-compositor for Mir sessions
      on xlocal seats

Overview of changes in lightdm 1.9.13

    * Handle not getting an X connection when attempting to get X layouts.
    * Read config data from both XDG_DATA_DIRS and XDG_CONFIG_DIRS.

Overview of changes in lightdm 1.9.12

    * Ensure X authority is written before X server is started
    * Activate after unlocking a logind session

Overview of changes in lightdm 1.9.11

    * Don't use g_hash_table_get_keys_as_array, it's a glib 2.40 feature

Overview of changes in lightdm 1.9.10

    * Honour session type requested by greeter for guest sessions
    * Log to wtmp and btmp.
    * Implement guest-session config option

Overview of changes in lightdm 1.9.9

    * Handle signals being received in child processes instead of treating them
      like they are received in the daemon.
    * Set utmp ut_line to the display name (i.e. :0) to match what other
      programs expect (e.g. 'w').
    * Fix lightdm_greeter_ensure_shared_data_dir_sync returning the wrong value.
    * Fix shared data tests so you can run test suite without root again.
    * Be extra careful not to call any non thread safe function after a fork.
    * Fix some small memory leaks detected by valgrind.
    * Fix process shutdown code to stop generating confusing warnings
    * Fix more double removal of source IDs.
    * Test improvements.

Overview of changes in lightdm 1.9.8

    * Add support for shared user data directories between the greeter and user sessions.
    * Refactor LightDMUser and User classes to use the same code internally.

Overview of changes in lightdm 1.9.7

    * Correctly invoke PAM to change authentication token.
    * Make xdg-seat a core property of a seat and always pass it to X servers.
    * Qt bindings: properly hand over prompt and message type.
    * Add warning flags where they are missing and fix the resulting warnings.

Overview of changes in lightdm 1.9.6

    * Support Mir sessions in xlocal seats by starting a unity system compositor
      for each session.
    * Add --screen and --fullscreen options to "dm-tool add-nested-seat"
    * Don't try to compile liblightdm-qt if liblightdm-gobject will not be
      compiled.
    * Stop greeters warning if sessions directories not present or lightdm.conf
      doesn't exist - this is valid.
    * Fix log name for Mir display servers
    * Fix double removal of source IDs

Overview of changes in lightdm 1.9.5

    * In the unity seat, if we don't have proper VT support, fake VT 0 instead
      of a real VT number. This matches what logind expects.

Overview of changes in lightdm 1.9.4

    * Fix issue where VTs are double used when switching sessions.
    * Remove lightdm-set-defaults and gdmflexiserver.
    * Add new ability to specify a list of seat types to try, rather than just
      one.
    * Allow Mir sessions in the surfaceflinger seat.
    * Rename the guest session wrapper to have a simpler name.
    * Make sure sessions are associated with the display server before starting
      them.
    * Add a dm-tool man page.

Overview of changes in lightdm 1.9.3

    * Don't pass system user accounts from AccountsService to greeters.
    * Fix crash if switching to greeter and it isn't installed.

Overview of changes in lightdm 1.9.2

    * Implement missing guest-wrapper functionality and enable it for Ubuntu.
    * Update AppArmor scripts to work in Ubuntu 13.10.

Overview of changes in lightdm 1.9.1

    * Correctly set $XDG_SESSION_CLASS for greeters. This was regressed in 1.7.5
      for ConsoleKit and was never passed to logind. logind/ConsoleKit treat
      greeter sessions without this set as user sessions. This causes greeters
      to show the lightdm user able to be logged in with.
    * Set $USER when running the session-setup-script. This is a regression from
      1.7.5.
    * Fix notification of sessions being logged out. This is a regression from
      1.7.5 and caused greeters to show sessions logged in after they had been
      logged out.
    * Refactor liblightdm user scanning to be simpler and more reliable. This
      fixes bugs where some properties wouldn't be updated when they changed in
      accounts service.
    * Add support for a "display-stopped-script" field in lightdm.conf. The
      "display-stopped-script" field allows us to run a script right after
      stopping the display server.
    * Allow dm-tool to run outside of a session if it doesn't need to be.
    * Set $MIR_SERVER_NAME to assign a name to launched sessions. Also use a
      "greeter-" prefix for greeter sessions for the benefit of
      unity-system-compositor.

Overview of changes in lightdm 1.9.0

    * Fix crash when starting with existing X servers. This was introduced in
      rev 1651 (lightdm 1.7.0).
    * Fix crash where Process objects are accessed after unref

Overview of changes in lightdm 1.8.0

    * Add regression test for corrupt X authority files.

Overview of changes in lightdm 1.7.18

    * Set session environment variables for guest sessions (1.7 regression).
    * Don't fail writing X authority if reading it had an error.
    * Update environment variables that we pass to Mir.

Overview of changes in lightdm 1.7.17

    * surfaceflinger: Set XDG_VTNR=0 if VTs are not available
    * Allow compiling of liblightdm-qt without liblightdm-gobject
    * Add missing documentation for xremote seat options.

Overview of changes in lightdm 1.7.16

    * Fix ConsoleKit support broken in 1.7.5
    * Fix --test-mode
    * Add support for running Surfaceflinger sessions

Overview of changes in lightdm 1.7.15

    * Set XDG_VTNR=1 as a fallback if using SeatUnity without a functioning
      compositor or working VT switching, so that logind will recognize the VT
      as active.

Overview of changes in lightdm 1.7.14

    * Correctly set permissions on Xauthority file.

Overview of changes in lightdm 1.7.13

    * Correctly set $XDG_CURRENT_DESKTOP for non-autologin sessions
    * Fix overallocation of array for strings from greeter.
    * Fix truncation writing card32 in XDMCP server.

Overview of changes in lightdm 1.7.12

    * Add xdg-seat config setting
    * Notify Unity System Compositor of the session being authenticated

Overview of changes in lightdm 1.7.11

    * Fix crash when greeter quits due to read watch not being removed
    * Correctly setup Unity System Compositor environment
    * Improve log messages

Overview of changes in lightdm 1.7.10

    * Fix session locking broken in 1.7.5
    * Load lightdm.conf after lightdm.conf.d/*.conf
    * Also support loading config from /usr/share
    * When switching sessions show a greeter if authentication required
    * Set $XDG_CURRENT_DESKTOP if specified in the xsession file
    * Change logging prefixes to make it easier to troubleshoot multiseat setups
    * Bring Ubuntu packaging in-tree

Overview of changes in lightdm 1.7.9

    * Correctly set XDG_VTNR for unity sessions that are not autologin.

Overview of changes in lightdm 1.7.8

    * Add support for Mir sessions and greeters.
    * Set XDG_VTNR for unity sessions.
    * Fix desktop-session-start upstart signal not being emitted since 1.7.5.
    * Fix greeter log broken in 1.7.5.

Overview of changes in lightdm 1.7.7

    * Fix uninitialized pointer introduced in 1.7.3
    * Enable compile warnings and fix code generating warnings

Overview of changes in lightdm 1.7.6

    * Restore greeter hints that were regressed in 1.7.5.
    * Don't run greeters through session wrapper - regression in 1.7.5

Overview of changes in lightdm 1.7.5

    * Quit Plymouth correctly when using the unity seat type
    * Release the VT when the system compositor fails to start
    * Load sessions and greeters from /usr/share/lightdm/sessions and
      /usr/share/lightdm/greeters. The existing directories are checked
      if the sessions are not in these directories.
    * Refactor the Display class so that it merges with the Seat class
    * Support running the greeter and session in different display servers
      instead of re-using the same one during a login.
    * Add more regression tests
    * Documentation fixes

Overview of changes in lightdm 1.7.4

    * Set XDG_SEAT and XDG_VTNR environment variables.
    * Add initial support for Unity (i.e. Mir based) seats.
    * Add a greeter wrapper option.

Overview of changes in lightdm 1.7.3

    * Load configuration from /etc/lightdm/lightdm.conf.d.
    * Fix compile warnings
    * Fix tests not running from install directory inside checkout.

Overview of changes in lightdm 1.7.2

    * Fix incorrectly distributed guest-session apparmor data

Overview of changes in lightdm 1.7.1

    * Fix .pc file for liblightdm-qt5-3
    * Add a new option "autologin-in-background" which lets an autologin happen
      in a second display while still showing the greeter.
    * Stop if fail to create default seat
    * Add option to set seat type in lightdm-set-defaults
    * Stop using g_file_set_contents - it can leave intermediate files around
    * Make tests work without installing them
    * Fix distcheck

Overview of changes in lightdm 1.7.0

    * Use logind instead of ConsoleKit if it is available
    * Use Q_SLOTS and Q_SIGNALS instead of slots and signals.
    * Ignore stale X server locks
    * Pass through system locale or set locale from AccountsService/.dmrc
    * Fix bug where seat failure before D-Bus acquired would not stop daemon

Overview of changes in lightdm 1.6.0

    * Allow VNC command to be specified in lightdm.conf
    * Register enums with QObject meta type system.

Overview of changes in lightdm 1.5.3

    * Fix build with gobject-introspection 1.35.9
    * Fix authentication cancel regression caused in 1.5.2

Overview of changes in lightdm 1.5.2

    * Fix stale X server being left behind when using LockSession D-Bus API
    * Adjust AppArmor profile to also work with logind
    * Don't use GIO to access X authority files - it uses GVFS which is
      unnecessary overhead/complexity
    * Handle over/underflows when reading from greeter
    * Improve warning message when XDMCP packet has length mismatch
    * Only report test command line if it fails
    * Add more regression tests

Overview of changes in lightdm 1.5.1

    * QLightDM: Add Qt5 version of the library: liblightdm-qt5-2
    * QLightDM: Add some missing role names in UsersModel
    * QLightDM: Add a backgroundPath role to UsersModel
    * QLightDM: Fix potential crash in QLightDM::UsersModel closedown.
    * Improve guest session apparmor
    * Run each test in its own /tmp dir so they can't interfere with eachother
    * Fix script hooks no longer working with latest glib
    * Fix display clean up code

Overview of changes in lightdm 1.5.0

    * Add man page for lightdm-set-defaults
    * Use xzip for distribution, don't distribute old metadata
    * Correctly check if display is active when session quits
    * Relicense liblightdm to LGPL-2/LGPL-3 so GPL-2 code can link against it
    * Selectively lock memory rather than calling mlockall for main daemon

Overview of changes in lightdm 1.4.1

    * Fix autologin PAM configuration

Overview of changes in lightdm 1.4.0

    * Correctly implement and test autologin timeouts
    * Add greeter-show-remote-login hint
    * Correctly annotate enums in vapi file
    * QLightDM: Add default constructor to Qt power interface
    * QLightDM: Expose image path in UserModel
    * QLightDM: Add parameter to session model to show either local or remote
      sessions
    * Fix race conditions in tests

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