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
1289
1290
1291
1292
|
telepathy-glib 0.7.37 (2009-09-14)
==================================
The "Lego Batman" release.
Enhancements:
* Update to telepathy-spec 0.17.28
* add ContactCapabilities interface
* add InitialVideo, InitialAudio, ImmutableStreams properties to
StreamedMedia
* add TP_CHANNEL_CALL_STATE_FLAG_IN_PROGRESS
* Set the debug domain for telepathy-glib to tp-glib/$category, e.g.
tp-glib/connection for TpConnection and TpBaseConnection (jonny)
Fixes:
* fd.o #23843: make tp_debug_sender_log_handler with exclude=NULL include
everything, rather than nothing (smcv)
telepathy-glib 0.7.36 (2009-09-03)
==================================
The "yes, it's a phone" release.
Enhancements:
* Add TpDebugSender, along with the lower-level TpSvcDebug interface that it
uses (jonny)
* Clarify when tp_proxy_signal_connection_disconnect is safe to call (smcv)
* Add support for simulating DTMF and Hold support in the 'callable' example
connection manager (andrunko)
* fd.o #21327: truncate the ChangeLog at version 0.6 to stop it being so huge,
and force ISO date format (wjt)
Fixes:
* If the bus name for a Connection would be too long, hash the unique name
provided by the CM, instead of crashing (daf)
* fd.o #23524: don't introspect a TpConnectionManager twice in parallel,
avoiding an assertion failure (wjt)
* TpChannel: don't disconnect from a TpProxySignalConnection that's already
gone, fixing a crash (smcv)
* tp_connection_manager_idle_read_manager_file: avoid using the
TpConnectionManager after it may have been disposed (sjoerd)
* TpBaseConnection: Allow GetInterfaces() to succeed before CONNECTED (smcv)
telepathy-glib 0.7.35 (2009-08-18)
==================================
The "dance to the sound of sirens" release.
API changes:
* fd.o #17751: TpBaseConnection no longer guarantees that the self-handle is
set to 0 when the state changes to DISCONNECTED; instead, the self-handle
remains valid until the connection is disposed, so that connection managers
can use it during teardown. (cassidy)
- This change will cause assertion failures on disconnection in
telepathy-sofiasip older than 0.5.17, and in telepathy-gabble older than
0.7.9.
Enhancements:
* Add tp_dbus_daemon_list_names() and tp_dbus_daemon_list_activatable_names(),
which are more efficient (and more const-correct) versions of the
corresponding autogenerated tp_cli_dbus_daemon methods (smcv)
* Support the Hold interface in the "callable" example CM (andrunko)
Fixes:
* Finally make tp_dbus_daemon_watch_name_owner bind to NameOwnerChanged
selectively, for reduced wakeups. To take advantage of this, you should
avoid using all functions that start with tp_cli_dbus_daemon_; file bugs
to request more replacement functions in the tp_dbus_daemon namespace. (smcv)
* Fix a memory leak in tp_dbus_daemon_watch_name_owner (smcv)
* fd.o #9812: TpDynamicHandleRepo: use tp_dbus_daemon_watch_name_owner for
reduced wakeups (smcv)
* In TpDynamicHandleRepo, if a client holds handles then immediately crashes,
release those handles as soon as we find out that it's gone (smcv)
* fd.o #22957: fix compilation in some non-gcc compilers
(based on a patch from Elaine Xiong)
* As per telepathy-spec 0.17.27, represent connection status reason NAME_IN_USE
as TP_ERROR_CONNECTION_REPLACED or TP_ERROR_ALREADY_CONNECTED (as
appropriate), not as TP_ERROR_NOT_YOURS, so that NotYours can safely be given
special handling (smcv)
telepathy-glib 0.7.34 (2009-08-16)
==================================
The "secret lack of example detected" release.
Enhancements:
* Updated to telepathy-spec 0.17.27 (smcv)
- generate code for Connection.Interface.Location
- omit Debug interface from code-generation for now: it will be enabled in a
future release when we have reference client- and service-side
implementations (possibly called TpDebugReceiver and TpDebugSender)
- add more errors
- generate code for Handler.Capabilities property
* Add macros for static assertions (tp_verify, tp_verify_true,
tp_verify_statement) to util.h (smcv, adapted from gnulib)
* Make the allocation model for tp_dbus_properties_mixin_make_properties_hash
part of our ABI guarantee (smcv)
* Add a GType macro TP_ARRAY_TYPE_OBJECT_PATH_LIST (wjt)
Fixes:
* fd.o #23164: don't unref a NULL DBusMessage (wjt)
* Get tp_intset_iter_init and tp_intset_iter_reset into the documentation (smcv)
* Make omitted CM parameters that have a default indistinguishable from
explicitly-passed parameters with that value, removing the need to specify
the default in the Connection as well (sjoerd)
* fd.o #22889: reduce introspection round-trips (wjt)
* Fix header guard in debug.h (dilinger)
* fd.o #18091: for interfaces with D-Bus methods, document how to write a
complete interface init function (smcv)
* Fix a rare crash when a TpProxyPendingCall is cancelled before the
DBusGProxyCall is provided (smcv)
telepathy-glib 0.7.33 (2009-06-26)
==================================
The "please be careful when handling the sun" release.
Fixes:
* Fixed a test failure in test-params-cm on certain architectures, including
powerpc and sparc (smcv)
* Fixed an assertion failure in TpConnection if StatusChanged to CONNECTED is
followed immdiately by GetStatus returning CONNECTED (smcv)
telepathy-glib 0.7.32 (2009-06-12)
==================================
The "cake wars" release.
Enhancements:
* fd.o #22208: Updated to telepathy-spec 0.17.26 (smcv)
* Added generated service-side bindings for AccountManager, Account,
ChannelDispatcher, ChannelDispatchOperation, ChannelRequest and Client (smcv)
* Added minimal versions of TpAccountManager, TpAccount,
TpChannelDispatcher, TpChannelDispatchOperation, TpChannelRequest and
TpClient (smcv)
* fd.o #22205: Added support for deprecating or removing _run_ methods in code
generation (smcv)
* Added flymake support (jonnylamb)
* fd.o #22230: Added support for byte ('y') parameters to CMs (smcv)
Fixes:
* Made sure _gen/error-str.h and .c end with a newline, fixing compilation with
certain compilers (smcv)
* fd.o #19741: Documented client-side handle reference counting (wjt)
* fd.o #21977: Removed duplicate mention of media-interfaces.h in Makefile.am
(Patryk Zawadzki)
* fd.o #22121: made tp_channel_dispose properly idempotent (wjt)
* Removed dead code for introspecting alias flags (smcv)
* fd.o #22182: Fixed a potential use-after-free in the callable example CM
(smcv)
Release notes for projects using code generation:
* After updating to this version of glib-client-gen.py, _run_ methods will no
longer be generated by default. To get the behaviour of older versions, run
it with the new --generate-reentrant option; to get the methods present
but deprecated, use an option like
--deprecate-reentrant=FOO_DISABLE_DEPRECATED (which means the _run_ methods
are marked with G_GNUC_DEPRECATED, and will not be available at all if
FOO_DISABLE_DEPRECATED is defined).
telepathy-glib 0.7.31 (2009-05-27)
==================================
The "this beer tastes of Stilton!" release.
Enhancements:
* Added TP_ERROR_STR_* constants corresponding to the members of the
TpError enum, and tp_error_get_dbus_name() mapping the latter to the
former (cassidy/wjt)
* Updated to telepathy-spec 0.17.25, adding ConnectionRefused, ConnectionFailed
and ConnectionLost errors, and the new-style StreamTube and DBusTube channel
types (cassidy)
* Made tp_g_key_file_get_int64 and _uint64 into public API for Mission
Control's benefit (smcv)
Fixes:
* Changed the dbus_daemon member of TpProxy to be removed in dispose, rather
than just after the invalidated signal (smcv)
* Fixed a null pointer dereference if a TpConnectionManager is resurrected
during dispose (smcv)
* Fixed a use-after-free when the user-supplied object in
tp_connection_manager_call_when_ready is destroyed after the CM becomes
ready (smcv)
* Fixed tp_dbus_daemon_request_name, tp_dbus_daemon_release_name and
_tp_dbus_daemon_get_name_owner to fail gracefully if the TpDBusDaemon has
been invalidated (smcv)
telepathy-glib 0.7.30 (2009-05-18)
==================================
The "slowing down but with a sense of speeding up" release.
API changes:
* tp_proxy_add_interface_by_id() may not be called on an invalidated proxy. (It
never made sense to do this, but now telepathy-glib will complain if you do.)
Enhancements:
* Added tp_dbus_daemon_request_name() and tp_dbus_daemon_release_name(). (Fixes
fd.o#21771.)
* Update to telepathy-spec 0.17.23, adding the Terminated error.
* Added optional support for Shave, to give kernel-style pretty make output.
(This is disabled by default; to enable it, pass --enable-shave to configure.)
(Jonny Lamb)
* Channel introspection will now fail more quickly when the channel is
invalidated.
Fixes:
* Generated GInterfaces now install type information sooner, fixing a bug where
object construction could make dbus-glib assert. (Ross Burton)
* fd.o#21792: tp_presence_mixin_simple_presence_fill_contact_attributes asserts
if get_contact_statuses returns NULL.
telepathy-glib 0.7.29 (2009-04-03)
==================================
The "sense of adventure working perfectly and sensing no adventures" release.
Enhancements:
* TpBaseConnectionManager, tp_cm_param_setter_offset: support parameters of
various extra types - object path, double, 64-bit signed and unsigned
integer, array of strings, array of bytes - and add regression tests
* TpContact: enhance documentation to spell out that change notification is
via GObject::notify::alias etc.
* tp_asv_new(), a shorthand for creating hash tables from strings to
slice-allocated GValues, along with tp_asv_set_* and tp_asv_take_* helpers to
add entries to such hash tables. (Fixes fd.o#20942)
telepathy-glib 0.7.28 (2009-03-24)
==================================
The "a surprisingly meaty courgette" release.
API changes:
* Use the prefix for D-Bus errors specified by telepathy-spec, not something
telepathy-glib made up (changing .Errors to the correct .Error). This was
a regression in telepathy-glib 0.7.1.
Expected impact of this change:
* Connection managers will emit the correct errors as soon as the
telepathy-glib shared library is upgraded
* Clients that use TpConnection, TpChannel etc. will expect the correct
errors as soon as the shared library is upgraded
* Clients that match errors by string value using TP_ERROR_PREFIX will have
to be recompiled against the new telepathy-glib, but should have sane
fallback behaviour to treat the correct error strings as an unknown error
Enhancements:
* Update to telepathy-spec 0.17.22, adding
TP_ARRAY_TYPE_SOCKET_ADDRESS_IP_LIST, TP_ARRAY_TYPE_STRING_STRING_MAP_LIST,
TP_STRUCT_TYPE_SOCKET_ADDRESS_IP
* Extend the 'callable' example connection manager to support simulated
incoming calls, support simulated contacts who never answer, are busy or
terminate the call, and comply with telepathy-spec 0.17.22
Fixes:
* fd.o #20729: csh (chatroom) example connection manager: comply with
telepathy-spec 0.17.21 by always allowing the user to leave the Group
* Cancel GetParameters call if the CM crashes, fixing an assertion failure
in tp_connection_manager_continue_introspection
telepathy-glib 0.7.27 (2009-03-17)
==================================
The "sliced woot" release.
Enhancements:
* fd.o #18220: make it much less verbose to construct string/variant maps
(a{sv}) by adding functions like tp_g_value_slice_new_uint(), which are a
shortcut for a sequence like tp_g_value_slice_new (G_TYPE_UINT) followed by
g_value_set_uint
* Make example connection managers installable (they might be useful for
testing UIs - use ./configure --enable-installed-examples if you want them)
* Add an example connection manager that has dummy StreamedMedia channels
* Add an example connection manager that has dummy ContactList channels
vaguely resembling the XMPP roster
* Update to telepathy-spec 0.17.21 (adding
TP_CHANNEL_GROUP_FLAG_MESSAGE_DEPART and
TP_CHANNEL_MEDIA_CAPABILITY_NAT_TRAVERSAL_ICE_UDP)
Fixes:
* fd.o #20646: in TpChannel, when adding contacts to one of the Group sets,
remove them from both of the others
* Use AM_PATH_PYTHON to detect the Python version
* In TpGroupMixin, let implementations allow the self-handle to be removed
regardless of whether the CAN_REMOVE flag is set. This is meant to be how
you remove yourself gracefully from a chatroom or streamed media call.
* fd.o #20165: fix a use-after-free in tp_base_connection_register() that
causes connection managers to assert if they have not already called
tp_dbus_daemon_dup() or tp_run_connection_manager() (regression in 0.7.26
which broke the telepathy-qt4 regression tests)
* Fix some memory leaks when making TpContact objects, when holding handles in
TpContactsMixin, when filling contact attributes in TpPresenceMixin,
when setting simple presence, and in the regression tests
* Update the valgrind suppressions file to cope with new telepathy-glib code,
GTest, and glibc 2.9
* Fix compilation with gtkdoc 1.11, which is stricter about the contents of
Since: annotations, and parses more comments
telepathy-glib 0.7.26 (2009-02-16)
==================================
The "Leffe Radieuse" release.
Enhancements:
* Add tp_connection_manager_call_when_ready()
* When constructing TpConnectionManager, if the .manager file is missing
or can't be read, always try to activate the connection manager (in
practice, this is what's wanted)
* fd.o #18291: when listing connection managers, wait for them to all be ready
* fd.o #18056: add method-based accessors for TpConnectionManager members
* fd.o #17519: track the Connection's SelfHandle property in TpConnection
* Add tp_dbus_daemon_dup(), convenient API to share a starter-bus connection
* Generate GTypes for arrays of mappings, and improve use of the
type-generation functions
* fd.o #19907: Add tp_intset_new_containing(), a convenient factory for sets
with exactly one member
Deprecations:
* Deprecate tp_get_bus_proxy()
Fixes:
* Reduce our reliance on making a DBusGProxy for the dbus-daemon (working
towards avoiding overly-broad NameOwnerChanged matches)
* fd.o #18832 (partially addressed): document that tp_get_bus() can call
exit() and why, and discourage it in processes that aren't totally reliant
on D-Bus
* fd.o #18207: reliably emit TpConnectionManager::got-info signal (although
tp_connection_manager_call_when_ready() should be used instead)
* Fix some assertion failures in TpConnectionManager when .manager files
contain surprising types
* fd.o #19054: Parse all currently supported types in .manager files
* fd.o #20096: don't consider InvalidHandle to be fatal for
tp_connection_get_contacts_by_id (spec 0.17.18 compliance)
Miscellaneous:
* Add regression test coverage for TpConnectionManager
telepathy-glib 0.7.25 (2009-01-30)
==================================
The "Paradise Lost" release.
Fixes:
* fd.o #17588: don't break ABI if errors are re-ordered in a future spec
version
* fd.o #19688: don't assert when getting contacts by ID if none of the
identifiers supplied are valid
* TpPresenceMixin: don't allow setting statuses that are flagged as not
settable on the user themselves
* TpPresenceMixin: never allow statuses of type OFFLINE, UNKNOWN or ERROR to
be set on the user themselves, and warn if the connection manager got this
wrong
* Fix a memory leak in tp_presence_mixin_get_statuses() (sorry Jonathon,
your patch got lost during the release process...)
telepathy-glib 0.7.24 (2009-01-28)
==================================
The "Divide By Cucumber Error" release.
API changes:
* When a TpConnection is invalidated due to disconnection, the error will now
be chosen from the TP_ERRORS domain in most cases. Previously, the
TP_ERROR_DISCONNECTED domain was used. This change is necessary to support
the extensible error reporting introduced in spec 0.17.19.
Enhancements:
* Update to telepathy-spec 0.17.19
- Many new errors in the TP_ERRORS domain
- Connection.ConnectionError signal for extensible error reporting
* Add a client binding for the extensible error reporting provided
by the ConnectionError signal
* Use a simple Python implementation of XInclude, rather than xsltproc, for
easier Windows porting
Fixes:
* Add File Transfer to the documentation
telepathy-glib 0.7.23 (2009-01-20)
==================================
The "new in version 0.7.1, and allegedly also in 0.7.21" release.
Enhancements:
* Updated to spec version 0.17.18
- Added the File Transfer channel type
- Added TpRichPresenceAccessControlType and
TP_STRUCT_TYPE_RICH_PRESENCE_ACCESS_CONTROL
- RequestHandles raises NotImplemented for bad handle types or InvalidHandle
for bad identifiers (fd.o #19609)
- MediaStreamHandler has a CodecsUpdated method
- Methods automatically generated by telepathy-glib now have names
for all "out" arguments, which should make the documentation easier to use
* Use tp:name-for-bindings to construct the C name for D-Bus methods etc.,
which will result in better C function naming for future D-Bus interfaces
like DBusTube
Fixes:
* Remove symbols from 0.7.21.abi that were already in 0.7.1.abi (GNU ld
seems to respond by giving them the older version, so no harm was done
to the ABI, but it broke the Debian packages)
* Make make-version-script.py fail if that ever happens again
* Annotate things added in 0.7.21 with the correct "Since:" indicator
* Correct the documentation for tp_list_connection_names()
telepathy-glib 0.7.22 (2009-01-13)
==================================
The "TP_STRUCT_TYPE_BROWN_PAPER_BAG" release.
Fixes:
* Accept message=NULL in tp_group_mixin_change_members, as documented and true
in the past, rather than crashing.
telepathy-glib 0.7.21 (2009-01-12)
==================================
The "TP_HASH_TYPE_PINT_HOBGOBLIN_MOUTH_MAP" release.
Enhancements:
* Updated to spec version 0.17.17
- Added TP_HASH_TYPE_HANDLE_IDENTIFIER_MAP and
TP_HASH_TYPE_MESSAGE_PART_CONTENT_MAP
* (Finally) merged TpMessageMixin, which can be used in place of TpTextMixin to
implement the Messages interface on Text channels.
* The examples have been made more exemplary, using TpChannelManager in place
of TpChannelFactoryIface, implementing Destroyable and respawning 1-1 text
channels which are closed with pending messages.
(fd.o #17632)
* Added a TP_COMPILER_WARNINGS macro to simplify choosing compiler warnings in
configure.ac, and forked a version of AS_COMPILER_FLAG that supports C++ so
that TP_COMPILER_WARNINGS can be used for C++ projects (such as
telepathy-qt4). Other projects using telepathy-glib's warnings might want to
copy m4/tp-compiler-*.m4 and use TP_COMPILER_WARNINGS.
* Added support to TpGroupMixin for emitting the MembersChangedDetailed signal
(fd.o #19050 and #19052), and to TpChannel for listening to it when possible
(fd.o #19051).
* Added tp_channel_get_identifier
* Added support for parsing the dbus-property CM parameter flag (introduced in
spec 0.17.16) from .manager files (fd.o #19053).
Fixes:
* Various Win32 portability fixes (from Sunil Mohan Adapa on fd.o #19461).
* fd.o #19101: tp_connection_get_contacts_by_id() crashes
telepathy-glib 0.7.20 (2008-12-14)
==================================
The "xfs_freeze stole the night" release.
Enhancements:
* Updated to spec version 0.17.16
- Generate code for the Messages interface, which is now undrafted.
Fixes:
* fd.o #18845: don't throw a critical error from TpConnection if the
corresponding CM falls off the bus.
* fd.o #18926: avoid using a non-top-level GLib header
telepathy-glib 0.7.19 (2008-12-01)
==================================
The "fast path" release.
Enhancements:
* TpContact now has a fast path using the Contacts interface to reduce
D-Bus round-trips, if supported
* tp_connection_get_contact_attributes integrates the Contacts interface
with TpConnection's handle reference tracking at a lower level
* TpChannel now tracks its immutable properties (as provided by
Requests.NewChannels, Requests.CreateChannel and Requests.EnsureChannel),
can be constructed from a dictionary of immutable properties
(tp_channel_new_from_properties), and has a fast path using GetAll to reduce
round trips (if supported); when constructed from a dictionary of immutable
properties, non-Group channels should become 'ready' in a single round-trip
(fd.o #17427)
* Only use the Properties mixin in there are properties defined
Fixes:
* fd.o #15092: mixins in a superclass should now work correctly in subclasses
* fd.o #18151: tp_base_connection_dispose asserts if there are two connections to the same account
telepathy-glib 0.7.18 (2008-11-03)
==================================
The "320 GB" release.
Enhancements:
* Update to spec 0.17.14
* test, and generate code for, the Destroyable interface
* add support for the SCROLLBACK and RESCUED message flags in Text
* add tp_text_mixin_set_rescued(), for CMs to call when respawning a channel,
and tp_text_mixin_receive_with_flags(), for CMs to call when receiving
scrollback messages
* update echo example CM's Text support to spec 0.17.14
* CreateChannel etc. return before NewChannels, which is emitted before
NewChannel
* Add TpContact, an object representing a contact, with inspection of various
attributes (e.g. alias, avatar token and SimplePresence)
Fixes:
* In TpContactsMixin, always return info from interface TP_IFACE_CONNECTION
even if the client didn't ask for it, since the spec says we should
* Add a simple regression test for TpContactsMixin
* Use unsigned int (rather than gboolean, which is signed!) for bitfields
* Fix a memory leak when a TpChannel with the Group interface is freed
* Fix a memory leak in tp_connection_unref_handles when no handles are released
* Fix some memory leaks in the regression tests
* Re-enable the coding style check and fix various things it complained about
telepathy-glib 0.7.17 (2008-10-14)
==================================
The "inexplicable bonus pizza" release.
Enhancements:
* Updated to spec 0.17.13, which adds Requested, InitiatorHandle and
InitiatorID properties to Channel
* Updated two example CMs (echo and channelspecific) to spec 0.17.13 too
* Added handle reference-counting helpers, which should be used instead
of using the HoldHandles, RequestHandles and ReleaseHandles D-Bus API
directly
* Added C accessors for TpProxy's read-only properties, and for
TpConnection's connection-ready property
* Added some infrastructure for test coverage analysis using lcov
* Moved some of the release/checking machinery to tools/telepathy.am
for easy pasting into other Telepathy projects
* The first time TP_ERRORS is used, the error domain is now automatically
registered with dbus-glib
* Added sanity checks (g_return_if_fail/g_critical) to TpConnection,
TpProxy, TpDBusDaemon and tp_dbus_check_* public API
Fixes:
* tp_handle_is_valid and tp_handles_are_valid raise InvalidHandle on failure,
not InvalidArgument (numerous methods in telepathy-spec require
InvalidHandle to be raised, so this should make most CMs more
spec-compliant)
* The test and example CMs raise NotAvailable on syntactically incorrect
strings, rather than InvalidArgument (which is not spec-compliant)
* The example valgrind suppressions file now works if libdbus was not
installed in /usr, or if glibc is version 2.7
* fd.o #17502: fixed documentation of the #include for TpDBusPropertiesMixin
* Fixed a memory leak in TpContactsMixin
telepathy-glib 0.7.16 (2008-09-26)
==================================
The "could you say that again? I was looking at that bee" release.
Dependencies:
* To use --enable-gtk-doc you must now have at least gtkdoc 1.10
Enhancements:
* Updated to spec 0.17.12, mainly featuring EnsureChannel
* We now support EnsureChannel on the Requests interface - to implement this,
put a suitable function pointer in TpChannelManagerIface::ensure_channel
* Channel factories' RequestChannel implementations no longer need to
validate handles - TpBaseConnection now does this automatically
* Added a function to compare presence types in order of "availability"
Fixes:
* The gtkdoc now documents GInterfaces' signals and properties (fd.o #16995,
fd.o #17308)
* TpBaseConnection::self_handle is unreffed and cleared slightly later,
for the benefit of channel managers that want to use it in their
status-changed(Disconnected) callback
* Fixed a compiler warning on platforms with daemon(3) in their libc
* TpChannelManager can no longer be crashed by asking for unsupported
handle types
telepathy-glib 0.7.15 (2008-09-18)
==================================
The "plumbing" release.
Dependencies:
* GLib and GObject must be at least version 2.16 (this was accidentally the
case in 0.7.14 too, but the dependency is now official). (fd.o #17213)
Deprecations:
* TpBaseConnection implementations should use the new method
tp_base_connection_set_self_handle instead of setting the self_handle member
directly. To comply with spec 0.17.10, if the self-handle changes after the
status becomes CONNECTED, tp_base_connection_set_self_handle *must* be used.
Enhancements:
* Updated to specification 0.17.10, which includes the SelfHandleChanged signal
and SelfHandle property...
* ... and then to specification 0.17.11, which includes the stable Requests
interface with the CreateChannel method (but not EnsureChannel, which is
planned for a future spec.).
* Added support for the Requests interface to TpBaseConnection, using the new
interfaces TpChannelManager and TpExportableChannel (which are intended to
replace TpChannelFactoryIface and TpChannelIface).
* Added some utility functions: tp_dbus_properties_mixin_make_properties_hash,
tp_strv_contains
* with-session-bus.sh (used for the tests) optionally records dbus-monitor
output
* telepathy-glib-uninstalled.pc is generated in source builds. It's now
easier to compile dependent projects against an uninstalled copy of
telepathy-glib >= 0.7.15, like this:
PKG_CONFIG_PATH=$HOME/src/telepathy-glib/telepathy-glib ./autogen.sh
(if $HOME/src/telepathy-glib is the directory containing this file)
Fixes:
* TP_BASE_CONNECTION_ERROR_IF_NOT_CONNECTED no longer causes compiler warnings
when used from a C++ source file
* glib-client-gen.py generates correct code for 64-bit unsigned integers
Release notes for projects using code generation:
* If you generate client-side code, update glib-client-gen.py to avoid wrong
code generation for unsigned 64-bit integer arguments. This will cause your
project to require telepathy-glib >= 0.7.3
* If you use a copy of with-session-bus.sh for regression tests, consider
updating it to add support for logging dbus-monitor
telepathy-glib 0.7.14 (2008-08-19)
==================================
The "M'era Luna" release.
Enhancements:
* Updated to specification 0.17.9
- Connection.Interface.Contacts interface ("the inspectotron"), which allows
mass contact-handle holding and inspection in a single round-trip
- Channel.TargetID property, for further round-trip reduction
* Added TpContactsMixin, a generic implementation of the Contacts interface
* Moved source code control from darcs to git (see README for details)
* Added tp_connection_get_status() convenience accessor for status and
status-reason properties
* Altered tp_debug_divert_messages() to support a "+" prefix to filenames,
which changes the mode from truncate to append: you can now set something
like GABBLE_LOGFILE="+gabble.log" to append to an existing log
* Updated AUTHORS
telepathy-glib 0.7.13 (2008-07-29)
==================================
The "presence made easy" release.
Enhancements:
* TpPresenceMixin implements the new SimplePresence interface
* The spec text and doc-generator.xsl have been updated
* The coding-style checks have been removed
* A couple of supporting functions for Requests API development have
been added (tp_text_mixin_has_pending_messages and
tp_dbus_properties_mixin_get)
Release notes for projects using code generation:
* We now ship the more pedantic doc-generator.xsl from telepathy-spec 0.17.8:
- you'll probably need to clean up your spec markup!
- set the allow-undefined-interfaces XSLT parameter to a true value (e.g.
run xsltproc with --param allow-undefined-interfaces "true()") if you are
compiling documentation for interfaces that are not self-contained
(e.g. Telepathy extensions that reference the main Telepathy spec)
* If you're trying to use Telepathy coding style, upgrading the coding-style
checks is recommended, but might require you to make code changes
telepathy-glib 0.7.12 (2008-07-21)
==================================
The "Channel.Interface.Useful" release.
Enhancements:
* TpChannel and TpConnection can be subclassed (fd.o #14828, #14829)
* TpChannel has various convenience methods like tp_channel_get_channel_type(),
which can be used as an alternative to its GObject properties
* Internally, TpChannel tries to use D-Bus core Properties (the GetAll
method) to reduce round-trips; if that fails, it will automatically fall
back to a series of normal method calls
* TpChannel tracks the Group interface automatically (fd.o #14180)
* tp_asv_size() has been added to the a{sv} convenience API, which now has
its own file in the documentation
Fixes:
* For the moment, TpDBusPropertiesMixin raises Telepathy errors rather than
D-Bus core errors on failure, due to fd.o #16776 in dbus-glib causing an
assertion when DBUS_GERROR errors are raised
* TpConnectionManager no longer causes a crash if destroyed before it has
read the .manager file (fd.o #16774, thanks to Sunil Mohan Adapa for the
patch)
Dependencies:
* We no longer support automake 1.8.x, since even Maemo has had 1.9 for a
while. We don't yet use any automake 1.9 features, but we will no longer
test with 1.8 unless someone explains to me why a 4 year old version is
still relevant :-)
telepathy-glib 0.7.11 (2008-07-02)
==================================
The "design is hard" release.
This is mainly a bugfix release.
Fixes:
* fd.o #16307: in TpConnection, don't assert when a connection goes CONNECTED
while a GetStatus call is pending
* In TpDBusPropertiesMixin: return properly if Get, Set or GetAll are called
on nonexistent interfaces or properties; if the wrong type is passed to Set,
coerce it to the right type (if possible) and actually use the right type;
and if the coercion fails, don't leak memory
* In libglibcodegen (code generation), use the right GType for arrays of
object-path
Enhancements:
* Use Python rather than XSLT for code generation, for improved maintainability
Release notes for projects using code generation:
* All the XSLT (except doc-generator.xsl and identity.xsl) has been rewritten
in Python. It should produce identical results, but be careful when updating!
* You must update libglibcodegen to this version if there are arrays of
object-path in your API, otherwise it just won't work
telepathy-glib 0.7.10 (2008-06-06)
==================================
The "properties everywhere" release.
Again, this version mainly contains infrastructure to support future APIs,
like the planned Requests API.
Enhancements:
* Update to telepathy-spec 0.17.7
- Channel gained immutable/read-only ChannelType, TargetHandleType,
TargetHandle and Interfaces properties
* TpGroupMixin now supports the Group properties introduced in the previous
version
* Added an example connection manager with channel-specific handles in
chatrooms
telepathy-glib 0.7.9 (2008-05-30)
=================================
The "scaffolding" release.
This version mostly contains infrastructure to support APIs that are coming
soon, but haven't got through the review process yet.
Enhancements:
* Update to telepathy-spec 0.17.5
- RoomList gained a read-only Server property
- Text gained TP_CHANNEL_TEXT_MESSAGE_FLAG_NON_TEXT_CONTENT,
TP_CHANNEL_TEXT_MESSAGE_TYPE_DELIVERY_REPORT to support the future
Messages and DeliveryReporting interfaces
* Update to telepathy-spec 0.17.6
- Group properties (but the group mixin does not yet implement them)
- Group HandleOwnersChanged, SelfHandleChanged
- TP_HASH_TYPE_CHANNEL_OWNER_MAP
* New functions tp_asv_get_uint32() etc. to make it easier to use a{sv}
hash tables (implemented in dbus-glib as a GHashTable of gchar * => GValue *)
* Enhance TpDBusPropertiesMixin so that mixins can provide properties more
easily
* Start porting the remaining XSLT to Python for better maintainability
Fixes:
* TpProxy: Avoid a misleading debug message every time a pending call
completes, and probably fix detection of crashing services
* tp_dbus_check_valid_interface_name: correctly detect that a name with a
dot followed by a digit is invalid
* Add a Valgrind suppression for SELinux-related ld.so initialization (not our
problem)
Release notes for projects using code-generation:
* When you update tools copied from telepathy-glib, be aware that
libglibcodegen.py now depends on libtpcodegen.py, and that some of the
formerly-XSLT tools have been replaced by Python versions
telepathy-glib 0.7.8 (2008-05-09)
=================================
The "Hold, unheld" release
Enhancements:
* Update to telepathy-spec 0.17.4
- add Hold API to code-generation
Fixes:
* Make coding-style check less fragile
Recommended updates for projects using check-coding-style.mk:
* Update check-coding-style.mk
* In every Makefile where check-coding-style.mk is used, make check-local
depend on check-coding-style (this is no longer done automatically)
telepathy-glib 0.7.7 (2008-05-02)
=================================
The "Old Trip" release.
API changes:
* It is an error to pass non-NULL user_data, weak_object or destroy arguments
when making an asynchronous method call with callback == NULL (i.e.
ignoring the reply) - doing this would make no sense
Enhancements:
* Implement tp_connection_call_when_ready, tp_channel_call_when_ready -
fully async variants of the existing run_when_ready API (fd.o #15300)
* Documentation: divide up the service-side Channel interfaces by topic,
in the same way the client-side ones were already divided up
* TpTextMixin: drop the futile attempt to limit memory consumption. We were
doing it wrong, and a typical connection manager has so many ways it can
be induced to consume memory that trying to guard against this particular
case by truncating or dropping messages seems likely to cause more problems
than it fixes.
* TpTextMixin: save a malloc/free cycle in GetMessageTypes
* TpGroupMixin: don't emit GroupFlagsChanged(0, 0)
* Log a message when disconnected from the D-Bus session bus
* Improve ABI-checking functionality so symbols only have to be whitelisted
just before a release
Fixes:
* TpBaseConnection: don't return from Disconnect() until disconnection has
fully completed (fd.o #15796)
* libglibcodegen.py: generate correct bindings for arrays of object-path (ao)
* glib-client-gen.py: cope correctly with Unicode in the spec
* doc-generator.xsl: update from telepathy-spec to cope with arrays of mappings
* When a channel's connection becomes invalidated, don't warn if the
resulting invalidation causes the channel to be freed (fd.o #15644)
* In tp_handle_lookup() on a dynamic handle repository, if the ID is valid
but there is no handle, raise the error NotAvailable, instead of returning
0 with no error set (fd.o #15387)
* When asynchronous method calls are made on an unsupported interface, call
the user-supplied destroy() callback on the user_data (fd.o #15530)
* TpTextMixin: fix a memory leak in ListPendingMessages
* Use automake 1.8 if available, to verify that we can still build on such
an old version
* When running under valgrind with the recommended suppressions, don't
complain about libc dlopen initialization caused by the handle-leak debug
code
Recommended updates for projects using code-generation:
* Update libglibcodegen.py to avoid a crash if arrays of object-path appear
in your API in future
* Update glib-client-gen.py to avoid fd.o #15530; this will cause your project
to require telepathy-glib >= 0.7.3
telepathy-glib 0.7.6 (2008-04-03)
=================================
The "hold the assertions" release.
API changes:
* API was added to fix fd.o #15325. Projects that add extension interfaces
to TpChannel or TpConnection might suffer from assertion failures if those
interfaces are later added to telepathy-glib, unless they follow the
recommendations below. Projects that do not use the telepathy-glib code
generation tools are unaffected.
* Related to the above, extending TpDBusDaemon, TpMediaStreamHandler,
TpMediaSessionHandler and TpConnectionManager is officially not supported
at this time.
Enhancements:
* Updated to specification 0.17.3
- supports the CallState interface, for receiving notifications of a
remote contact or device's state (currently supported states are: ringing,
queued, placed us on hold)
- MediaStreamHandler supports some new Hold-related API
- the Hold interface is *not* yet supported, use private code-generation
(as seen in telepathy-sofiasip) for now
Fixes:
* Doesn't assert in client code when a connection's GetInterfaces method fails
(fd.o #15306)
* The build process works on platforms without -Wl,-O1 and
-Wl,--version-script, such as Mac OS X (fd.o #15026)
* test-handle-set now runs under a temporary session bus, so the tests can work
in platforms without working D-Bus autolaunch
* Code generation uses G_GNUC_UNUSED where necessary, so you can use the
generated code in projects with stricter warning flags than telepathy-glib
itself
* A couple of unterminated argument lists when initializing the allowed
message types for the text mixin have been fixed
* glib-client-gen.py optionally inserts a guard against assertion failures
caused by a local extension overriding an interface that is also now provided
by telepathy-glib (fd.o #15325)
* glib-client-gen.py has a mechanism to allow its output to be made
backwards-compatible: specify --tp-proxy-api=x.y.z where x.y.z is the oldest
version of telepathy-glib you check for in configure.ac (it must be at
least 0.7.6)
Recommended updates for projects using telepathy-glib code generation:
* Update glib-client-gen.py from telepathy-glib, and invoke it with
the extra argument "--tp-proxy-api=0.7.6", to fix #15325 (this will make
the generated code require telepathy-glib 0.7.6)
* Before calling tp_proxy_or_subclass_hook_on_interface_add for an existing
class, call tp_proxy_init_known_interfaces,
tp_connection_init_known_interfaces or tp_channel_init_known_interfaces.
telepathy-glib 0.7.5 (2008-03-07)
=================================
Enhancements:
* Updated to specification 0.17.2
- GType-generating functions for Media_Session_Handler_Info
- Added TP_CONN_MGR_PARAM_FLAG_SECRET
Fixes:
* No longer crashes if a proxy is invalidated while still invoking signal
callbacks (fd.o #14854)
* Compilation now works on architectures with function descriptors, like ppc64
(fd.o #14852, thanks Brian Pepple)
* TpChannel no longer crashes if GetInterfaces() returns an error or an
empty list (fd.o #14855)
* Linking examples no longer fails in environments where .la files exist for
system libraries
telepathy-glib 0.7.4 (2008-03-04)
=================================
Fixes:
* Refactoring and life-cycle fixes in TpProxy, including some assertions
during method-call and signal-connection cancellation (fd.o #14750; fixes a
crash in development versions of Mission Control)
* Maps "_" back to "-" in protocol names seen in bus names (fd.o #14667;
fixes telepathy-inspector 0.5.1 not displaying Salut connections)
* Does not leak the GError when connecting to signals on an unsupported
interface (fd.o #14746)
* Builds with more warnings by default, for additional strictness
* Improvements to example client code:
- make example_cli_init() safe to call multiple times
- generate signals-marshal.list in a way that avoids more gcc warnings
Recommended updates for projects using telepathy-glib code generation:
* Update glib-client-gen.py from telepathy-glib to fix #14746 (this will make
the generated code require telepathy-glib 0.7.3)
* Consider updating *_cli_init() and extensions/Makefile.am to resemble the
examples
telepathy-glib 0.7.3 (2008-02-20)
=================================
Requirements:
* pkg-config 0.21 is now required
* gtkdoc 1.8 is recommended
Enhancements:
* Supports org.freedesktop.DBus.Properties with a mixin for services, and
extensions to auto-generated code
Fixes:
* Fixed a crash that could occur when pending calls on otherwise unreferenced
proxies are cancelled, e.g. during teardown in telepathy-stream-engine
(fd.o #14576)
* Correct client-side bindings are generated for methods that return a variant
(e.g. o.fd.DBus.Properties.Get) fixing potential crashes in clients
* tp_dbus_check_valid_object_path allows "/" and disallows "//", not the
reverse
* Partially works around some gtkdoc 1.7 bugs (if your gtkdoc is 1.7 you'll
still lose the "Telepathy protocol enumerations" section)
* Uses pkg-config's Requires.private feature to reduce shared library
interdependencies
telepathy-glib 0.7.2 (2008-02-11)
=================================
* Fixed incorrect GValue code that caused Empathy to assert on
Room -> Join New...
* Added support for the D-Bus core Properties, Introspect and Peer interfaces
telepathy-glib 0.7.1 (2008-01-04)
=================================
This is a major feature release, adding client-side code which continues the
process of making libtelepathy obsolete.
* Implements specification 0.17.1
- it is a fatal error for TpBaseConnectionManagerClass::cm_dbus_name not to
conform to the specification (briefly: it must match
/[A-Za-z_][A-Za-z0-9_]+/)
- connections cannot be opened for protocols not matching
/[A-Za-z-][A-Za-z0-9-]+/
* Initial client-side code added:
- TpProxy, a much more capable version of DBusGProxy (it more closely
resembles a dbus-python ProxyObject, with one object per connection,
channel etc. rather than one per interface)
- auto-generation machinery for client call wrappers (namespaced tp_cli_*)
- TpDBusDaemon, a TpProxy subclass to talk to the bus daemon
- TpChannel, a channel (replaces libtelepathy's TpChan)
- TpConnection, a connection (replaces libtelepathy's TpConn)
- TpConnectionManager, a connection manager (replaces libtelepathy's
TpConnMgr)
- TpMediaStreamHandler and TpMediaSessionHandler, media signalling helpers
- Correct algorithms for listing connection managers, listing connections,
and reading .manager files (as documented in the 0.17.1 spec)
* Examples extended:
- various simple client examples
- an "echo" connection manager
- an extended connection manager and client (implementing a hypothetical
Hats interface), to illustrate how to support experimental or extension
interfaces in services and clients
* Miscellaneous:
- tp_debug_divert_messages (adapted from Gabble)
- tp_debug_timestamped_log_handler (adapted from Gabble)
- tp_cm_param_setter_offset now supports byte-array params
* Versioned symbols
- versions are of the form TELEPATHY_GLIB_x.y.z
- unreleased development builds use versions containing _UNRELEASED
to force relinking against a proper version
telepathy-glib 0.7.0 (2007-11-22)
=================================
This is the first release from the 0.7.0 development branch, and
prepares the way for the client-side code I'm going to be merging soon.
* Enums etc. updated to specification 0.17.0
* Improved support for connection managers whose parameters aren't known
at compile time (*coughhazecough* :-)
* Build system refactoring to make it less weird
* GType-generating functions and macros in gtypes.h cache the results of calls
to dbus-glib type lookup functions, and give data types convenient names
* Functions and macros to generate GQuarks for interface names (which will
be used extensively by client code in future)
* The beginning of an examples/ directory, containing the simplest possible
example connection manager (it doesn't support any protocols)
* Dependencies increased to libdbus 0.93, dbus-glib 0.73, glib 2.10
|