summaryrefslogtreecommitdiff
path: root/NEWS
blob: 407d2d8287657f9953de8488302029506b4a490f (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
telepathy-qt4 0.4.5 (UNRELEASED)
=================================

The "..." release.

Enhancements:
 * ...

Fixes:
 * ...

telepathy-qt4 0.4.4 (2011-02-15)
=================================

The "nothing big" release.

Enhancements:
 * Make the debug subsystem as no-op as possible when debugging is disabled at
   runtime with Tp::enableDebug(false) and Tp::enableWarnings(false).

Fixes:
 * Possible crashes in Channel internal updateContacts function when just the
   self handle changed.

telepathy-qt4 0.4.3 (2011-01-17)
=================================

The "build everywhere" release.

Fixes:
 * Build failures on systems using GNU gold or the
   --no-add-needed/--no-copy-dt-needed-entries linker flags

telepathy-qt4 0.4.2 (2011-01-03)
=================================

The "Encore: Rocks the 80" release.

Enhancements:
 * Tests now work with tp-glib implementing immortal handles.

Fixes:
 * Do not use deprecated tp_get_bus on test cms.
 * A race condition causing proxies to be needlessly dropped from the factory
   cache and hence new proxies built for a future request.

telepathy-qt4 0.4.1 (2010-12-08)
=================================

The "contractual obligation album" release.

Fixes:
 * Crash when the an object path for an Account in an account set is quickly
  reused after it's removed
 * Emitting redundant {local,remote}SendingStateChanged signals from
   StreamedMediaChannel

telepathy-qt4 0.4.0 (2010-11-18)
=================================

The "long-term stability and well-being" release.

This is the first release in the 0.4 stable release series, which remains
API- and ABI-wise backwards compatible with the 0.3 development series.

Enhancements:
* Yet more API removed in 0.5.0 marked as deprecated
* Updated build/install instructions accordingly with the move to CMake a few
  releases ago

Fixes:
* Tp::ContactManager not relaying changes to the "stored" D-Bus level contact
  list to allKnownContacts()
* Backwards-incompatibly guessing that the non-draft Conference interface should
  be used when requesting a Conference channel from Account
* ChannelRequest failing if the Account property is empty
* ContactSearchChannel private members not being properly initialized if
  ContactSearchChannel::FeatureCore isn't ready
* Compile errors with QT_STRICT_ITERATORS
* Crash using a dangling (const!) iterator when a channel is removed from a
  conference

telepathy-qt4 0.3.14 (2010-11-05)
=================================

The "O HAI MY NAME IS CONFERENCE" release.

Enhancements:
* fd.o #30098 - Added an asynchronous property request API for generated
  low-level proxies
* Added high-level class for SimplePresence and changed Contact to use it,
  deprecating the old methods using SimplePresence directly.
* Added signals deprecation support to Contact.
* Deprecated StreamedMediaChannel methods that only make sense when used with
  Call.DRAFT channels (we're going to drop support for that particular draft in
  0.5.0)
* Deprecated all optional interface convenience methods.
  The methods inherited from OptionalInterfaceFactory should be used directly
  instead if access to low-level proxies is needed.
* Add unnamed (anonymous, TargetHandleType == None) variants for text chats and
  calls to ChannelClassSpec
* Register all non-QObject public classes with the Qt meta-object system, so
  they can e.g. be stored in QVariants.

Fixes:
* Unnamed text and StreamedMedia calls not included in the ChannelFactory
  (channel class) -> (subclass, features) mapping
* Some RequestableChannelClassSpec and ConnectionCapabilities methods having a
  notion of "text chat with a person WHO is a conference", which doesn't exist

telepathy-qt4 0.3.13 (2010-11-01)
=================================

The "sickness won't slow us down" release.

Enhancements:
* Added TP_QT4_ prefixed versions of all generated string constants marked as
  QLatin1String for less verbose usage with Q_NO_CAST_FROM_ASCII
* Added signals deprecation mechanism to warn when a deprecated signal is used.
* fd.o #29451 - Make it possible to specify subclasses to use and features to
  make ready on them in ChannelFactory
* fd.o #29484 - RequestableChannelClass should have high-level API
* fd.o #29486 - Add a ChannelClassSpec class for easily specifying Client
  channel filters (and building Channel requests and ChannelFactory filters for
  advanced usage)
* Added more deprecated methods and remove some methods that should not be
  deprecated. Now the library together with examples builds itself with
  deprecation warnings enabled, to make sure no deprecate method is used
  internally.
* Deprecated autogenerated synchronous properties accessors/setters.

Fixes:
* fd.o #30223 - telepathy-qt4's codegen doesn't deal with tp:external-type
  properly
* fd.o #30923 - Fix compilation errors in 0.3.12
  - The tp-glib version requirement in 0.3.12 was too old
  - Compile error in the tp-glib based test library
* fd.o #31087 - ChannelRequest immutable property extraction relying on
  undefined method argument evaluation order -> failing on some toolchains
* TextChannel never finishing introspection of FeatureMessageQueue with some
  older services
* Properly document ContactSearchChannel signals.
* AccountManager and AccountSet getting confused and hitting asserts with
  certain sequences of introspecting and adding/removing accounts, most
  prominently when removing and readding an account
* Useless PendingReady code having potential for crashes in corner-cases but
  serving no useful purpose (now removed)
* Code generator changes not always triggering rebuilds properly

telepathy-qt4 0.3.12 (2010-10-15)
=================================

The "break is coming" release.

New API:
* Added ContactSearch high-level class.
* Added constructors/accessors for using Channel/ContactFactory in Connection.
* Added high-level class for ContactInfoFieldList.

Enhancements:
* Updated to spec 0.21.1:
  - Added auto generated classes for Conn.ClientTypes/ContactGroups/ContactList/
    PowerSaving and Chan.ServerTLSConnection.
  - Make use of Observer.ObserverInfo.request-properties map, making
    ChannelRequest use the immutable properties defined in the map if
    available, avoiding unneeded introspection.
  - Added support for Conference interface alongside Conference.DRAFT support.
  - Added ConnectionCapabilities methods to check conference support.
* Improved Account::capabilities() to take Profile::unsupportedChannelClasses
  into account.
* Improved StreamedMediaChannel test coverage to yellow (> 80%).

Fixes:
* Properly install TelepathyQt4/Farsight/global.h.
* fd.o#30386 - Regression: StreamedMediaChannel::streamAdded is not emitted when
  one requests a new stream using a StreamedMedia channel type.
* Fixed MediaStream::requestDirection when using a Call channel type.
* Un-deprecate AccountManager methods to retrieve accounts given the account
  paths.
* Some small documentation fixes.

telepathy-qt4 0.3.11 (2010-10-04)
=================================

The "farewell hated friend" release.

Enhancements:
* fd.o #24648 - Port Telepathy-Qt4's build system from autotools to cmake,
  resulting in faster builds. All targets supported by the previous build system
  are still supported, and some new were added, notably individual targets for
  unit tests and callgrind support.
* fd.o #29672 - Support for Profiles - a way to describe different IM/VoIP
  services by data files (e.g. Google Talk for the XMPP/Jabber protocol)
* fd.o #29699 - ChannelRequest immutable data is now accessible even before it's
  fully ready - this is useful for e.g. early initialization of channel context
  in applications with the AbstractClientHandler requestNotification API
* Some performance optimizations in ReadyObject, ReadinessHelper and Channel

Fixes:
 * Race conditions uncovered by Qt 4.7 in TestAccountBasics and TestConnRoster

telepathy-qt4 0.3.10 (2010-09-16)
=================================

The {bool b; if (b == false || b == true || b == 99) { /*...*/ }} release.

Enhancements:
* fd.o #29609 - ClientRegistrar and all related classes now use Factories too,
  which means if you use the factory-enabled create() variants such as
  create(AccountManagerPtr), you can share account and connection proxies with
  the rest of your application, and/or make them be ready by the time your
  addDispatchOperation/handleChannels/observeChannels implementation is called
* fd.o #29090 - Added support to filter accounts by their capabilities (whether
  you can do room chats, voice calls, etc, using a given account)
* Added Account::capabilities(), which automatically gets the capabilities from
  a connected Connection if there's one, or the protocol object if there isn't
* Generic Filter framework, currently only used for Account filtering, but in
  the future also for filtering Contacts
* ChannelRequest is now also using the same Account/Connection etc objects than
  the rest of the application
* PendingChannelRequest now holds a reference to its Account, so you don't have
  to keep a reference to the Account in your application's scope for the channel
  request to succeed
* There are now variants of the ContactManager signals
  presencePublicationRequested, groupMembersChanged and allKnownContactsChanged
  which carry the details parameter (contains things like the message and the
  reason)

Fixes:
* Memory leak when using PendingComposite
* Memory leak in QDBus triggered by ClientHandlerRequestsAdaptor code (there's a
  workaround, and the actual bug is reported as QTBUG-13562)
* The PendingOperation returned by Connection::requestConnect() finishing even
  if the connection wasn't connected yet
* Hitting an assert in cornercases for calling setIntrospectedCalled twice in
  Account Avatar introspection
* Account::changingPresence() not being initialized correctly

telepathy-qt4 0.3.9 (2010-09-10)
================================

The "THE ORIGINAL SWEAT FACTORY^W^WSAUNA MASTER" release.

Enhancements:
* fd.o #29451 - Add Factory infrastructure, enabling:
   - sharing accounts/connections between different parts of the library better
     (this will soon enable us to eliminate duplicate objects between
     AbstractClient implementations and the AM)
   - requesting that all accounts/connections/channels/contacts are always ready
     with given features
   - automatically constructing application-defined subclasses whenever eg. an
     Account is constructed
* Add finished and usable AccountFactory and ConnectionFactory APIs, and also
  added API/ABI placeholder ChannelFactory and ContactFactory APIs which will be
  more useful soon
* fd.o #29606 - Use factories in AccountManager and Account for constructing
  Accounts and Connections -> if desired features are enabled, one no longer
  needs to make any Account::becomeReady and Connection::becomeReady calls when
  using an AccountManager
* fd.o #29409 - Use QDBusServiceWatcher if available, reducing wakeups
* fd.o #20034 - Add avatar cache implementation and featureAvatarData on
  Tp::Contact using it.
* Made Channel::groupSelfContact() always have some contact for the user as long
  as the channel is ready (if the group has none, the Connection one is used)
* (Side-effect from other work) Add fallbacks to channel requests in case the
  service doesn't provide the InitiatorHandle or the Requested property
* Made Channel debug output a bit cleaner
* Added Connection::ErrorDetails to represent additional information about error
  conditions causing Connection invalidation
* Made the Connection API guide the applications better to correct error
  handling practices (all error handling should be done in invalidated() slots)
* Add SharedPtr::qobjectCast(), an upcasting constructor and pointer to const
  support

Fixes:
* A race condition which could result in Channel ignoring a member change (only
  applicable to services with Group.MembersChangedDetailed)
* A bug where Channel::groupMembersChanged(only removed members) isn't always
  emitted if the local user is not a member of the group - probably means
  signaling contacts being removed from roster groups didn't work either
* Yet another TestConnRosterGroup race condition (freq: 6 in 20000 runs)
* fd.o#29930 - Build error with glib 2.25
* ReadyObjects incorrectly handling feature dependencies
* Account/Connection/Channel readifying themselves even if not asked to
* Handle reference management screwing up if there are multiple connections
  online on a single CM
* Lots of crash opportunities when a PendingOperation is underway when its
  parent-ish object is unreferenced in an application

telepathy-qt4 0.3.8 (2010-08-24)
================================

The "a weekend (and quite a bit of the Monday early hours) well spent" release.

Enhancements:
* fd.o#29395 - Update to spec 0.19.10
* fd.o#29461 - Update to spec 0.19.11
* fd.o#28948 - Added docs/tests/missing Qt properties to AccountSet
* fd.o#29357 - Account::iconName() and icon() now always return sensible
               non-empty values
* fd.o#28819 - {Account,ConnectionManager}::protocolInfo() has been improved
                - Recent CMs are now introspected with less D-Bus calls
                - New API capabilities(), vcardField(), englishName(),
                  iconName() on ProtocolInfo and ManagerFile
* fd.o#25126 - Some redundant debug output has been removed
* fd.o#27460 - Connection now introspects recent CMs with less D-Bus traffic
* Connection::contactManager and ::capabilities are now less of a death-trap
  - now always are non-NULL
  - operations fail with descriptive errors if the Connection isn't valid
  - they used to go NULL at an indeterminate time when eg. disconnecting
* Account::connection() object path parsing has been optimized

Fixes:
* fd.o#28947 - Account::filterAccounts doc does not properly format the example
  code
* fd.o#28651 - Cannot receive files using gabble 0.9
* fd.o#29145 - AccountSet::accountRemoved is emitted for newly-created
  non-matching accounts
* fd.o#29699 - ChannelRequest incorrectly checks immutable properties
* Broken iteration code in MediaStream which often led to busy-looping forever
* (Harmless) uninitialized memory use reported by valgrind in Account internals

Test suite improvements:
* fd.o#29702 - Unit tests now execute reliably, and 10-30x faster
* Added the script repeat-tests.sh for repeating tests to detect race conditions
* Added a conservative 10 minute per test watchdog to detect hung-up test logic
  - Should be plenty even for heavily loaded VM build bots, as the whole test
    suite now executes in 2.4-2.5 seconds on my laptop
* The StreamedMedia legacy and Future.Call tests now actually have different
  names to be able to distinguish between them in the test logs
* Test coverage reporting now works again; turns out we need to disable building
  the shared library when it is enabled
* amd64 memory use errors (pointer size != int size) calling g_object_new() in
  tests have been fixed

telepathy-qt4 0.3.7 (2010-07-12)
================================

The “not as bad as Pepsi Max” release.

Enhancements:
* fd.o#28927 - Generate code for Channel.Interface.{Anonymity,ServicePoint}
  (wjt)
* fd.o#28942 - Refresh HACKING and README (wjt)
* Update to spec version 0.19.9, adding Read and Deleted members to
  MessageSendingFlagReport, DeliveryReportingSupportFlagReceive, and
  DeliveryStatus (wjt)

Fixes:
* fd.o#28945 - AccountManager::accountsByProtocol() returns an empty set
* fd.o#28946 - AccountSet should indicate whether the filter used is valid

telepathy-qt4 0.3.6 (2010-07-01)
================================

The "I've been thinkin' a lot today" release.

New API:

* Added Qt properties to Account.
* Added filter API to AccountManager to filter accounts based on Qt properties.
  Includes a new class AccountSet that represents a set of accounts that match a
  certain filter and that updates automatically based on accounts Qt properties
  changes.
* fd.o#25035 - Add API to AccountManager to get a list of Account objects, all
  ready.
* fd.o#28825 - Bind Account.Service
* fd.o#28828 - Add Qt properties to ConnectionManager
* fd.o#28861 - Add auto generated interface and Connection accessor for
  Connection.Cellular interface

Enhancements:
* fd.o#28302 - Sync test CM with telepathy-glib
* fd.o#28827 - Add valgrind support to tests
* fd.o#28850 - Update to spec 0.19.8

Fixes:
* fd.o#28489 - manager-file.py missing in tp-qt4 0.3.4 tarball
* fd.o#28826 - KeyFile should support spaces in key names and string list params
  that don't terminate with ;
* fd.o#28829 - Contact should not fail if /capabilities attr is empty
* fd.o#28830 - Channel does not parse immutable properties correctly
* fd.o#28831 - Connection FeatureRosterGroups does not work after
  FeatureAccountBalance support was added

telepathy-qt4 0.3.5 (2010-06-21)
================================

The "Think I'll get it done yesterday" release.

New API:
* fd.o#28018: Bind Account.ChangingPresence.
* fd.o#28552: Bind Account.ConnectionError/Details.

Enhancements:
* fd.o#28536: update to spec 0.19.7 (ConnectionError, Anonymity, ServicePoint,
  ChatStates).

Fixes:
* Update with-session-bus.sh from telepathy-glib, fixing a bashism. (smcv)
* Fixed coverity issues with call example.
* Fixed AbstractClient documentation. (albanc)
* telepathy-qt4-farsight telepathy-glib dependency is now >= 0.8.1. (albanc)

telepathy-qt4 0.3.4 (2010-05-23)
================================

The "Cause time takes time, ya know" release.

New API:
* fd.o#28143: Implement Connection.Balance interface support.

Fixes:
* Fix strict QtDBus demarshalling which was causing crashes when using
  qdbus_cast from a SocketAddressIP*. (drf)

telepathy-qt4 0.3.3 (2010-05-09)
================================

The "generic fun" release.

New API:
* fd.o#27671: ContactInfo high-level API.

Enhancements:
- Added Call.Content.Remove support to StreamedMediaChannel.

Fixes:
- Fixed a leak in Connection::gotCapabilities,
- Correctly remove object path from Account::uniqueIdentifier.

telepathy-qt4 0.3.2 (2010-04-23)
================================

The "poisoned with anti-coffee" release.

New API:
* fd.o#27379: Add a new signal, allKnownContactsChanged. (drf)
* fd.o#27677: Add Observer.Recover support.
* Added support for retrieving contacts location.

Enhancements:
* Added example application to list all supported protocols.
* fd.o#27670: Updated to spec 0.19.5.

Fixes:
* Fixed compilation (more specific, moc generation). The code was
  triggering QTBUG #2151. (drf)
* Correctly handle UTF-8 in code generator. (wjt)
* Fixed text-chan test race condition. (drf)

telepathy-qt4 0.3.1 (2010-03-30)
================================

The "it's all about coffee" release.

Enhancements:

* Added/Improved documentation for various classes and some minor documentation
  style fixes.

Fixes:
* Fixed bug where StreamedMediaChannel::requestStream returned PendingOperation
  was never finishing.

telepathy-qt4 0.3.0 (2010-03-18)
================================

The "With My Own Two Hands" release.

Dependencies:

* Full regression tests now require telepathy-glib >= 0.10.0 (telepathy-glib
  is still optional)

New API:

* Channel: Added Conference/MergeableConference/Spplitabble interfaces support.
* StreamedMediaChannel: Added Call interface support.

Enhancements:

* Updated to 0.19.1 spec.
* Better tests directories organization (complete separation of glib/python
  specific code).

Fixes:

* fd.o#25422: generate code for Call draft API.
* fd.o#26117: Add Call interface support to StreamedMediaChannel.
* fd.o#26881: Remove the usage of QString::fromAscii.
* fd.o#27124: Missing docs for some classes.
* fd.o#27125: Add support to QT_NO_CAST_FROM_ASCII.
* Fixed bug when Channel was never getting ready.

telepathy-qt4 0.2.2 (2010-02-22)
================================

The "no pain, no gain" release.

New API:

* AbstractClientHandler: Added support to set Handler Capabilities property.

Fixes:

* fd.o #25659: ObserveChannels implementation might actually return immediately.

telepathy-qt4 0.2.1 (2009-12-04)
================================

The "all you want, only better" release.

Fixes:

* fd.o #25058: reduce the scope of our workaround for Qt 4.5 bug
  <http://qt.gitorious.org/qt/qt/merge_requests/1657>, fixing compilation
  against Qt versions >= 4.6 beta, where this bug has been fixed (smcv)

* Avoid the installed AccountManager (if any) being service-activated during
  distcheck under some circumstances (smcv)

* Compile with symbols hidden by default, explicitly export a few
  symbols that were mistakenly not exported, and improve the code generation
  tools to be more correct about their exports (smcv)

* Improve the code-generation tools to cope with UTF-8 in the spec (wjt, smcv)

* Enable Automake 1.11 silent building (./configure --enable-silent-rules
  to enable this) (wjt)

Code generation release notes:

* qt4-types-gen.py and qt4-client-gen.py previously forced the generated
  classes to be exported, in a way that's not actually correct for code outside
  telepathy-qt4 (the TELEPATHY_QT4_EXPORT macro).
  
  They now use a macro set by --visibility, defaulting to nothing; if you're
  building a shared library with -fvisibility=hidden, or supporting Windows,
  you may need to use --visibility=YOUR_LIB_EXPORT when running these scripts.

  See TelepathyQt4/global.h or QtDBus/qdbusmacros.h for an example of setting
  up such a macro (unfortunately, the only correct way to do this seems to be
  for each shared library to define its own).

telepathy-qt4 0.2.0 (2009-11-10)
================================

The "I Shot the Sheriff" release.

API changes:

* Connection: Changed status/statusReason/statusChanged to use enums
  Tp::Connection::Status and ConnectionStatusReason.
* Connection: Renamed getContactAttributes method to contactAttributes.

Fixes:

* fd.o#23370: Make better use of telepathy-spec 0.17.27 errors.
* fd.o#24422: Account removal should be represented by
  TELEPATHY_QT4_ERROR_OBJECT_REMOVED.

telepathy-qt4 0.1.12 (2009-11-05)
================================

The "an enzyme that breaks down tigers" release.

New API:

* TextChannel: Added ChatState interface support.

API changes:

* TextChannel: send() methods now receive a flags parameter, so we proper
  support delivery reports.

Fixes:

* pkgconfig: Added missing QtNetwork dependency.

telepathy-qt4 0.1.11 (2009-10-08)
================================

The "on more to go" release.

New API:

* FileTransferChannel: Added methods to access FileTransfer interface
  properties.
* IncomingFileTransferChannel: Added specialized class for handling incoming
  file transfers.
* OutgoingFileTransferChannel: Added specialized class for handling outgoing
  file transfers.
* CapabilitiesBase: Added base class to represent contact/connection
  capabilities.
* ContactCapabilities: Added specialized class that inherits CapabilitiesBase to
  represent contact capabilities.
* ConnectionCapabilities: Added specialized class that inherits CapabilitiesBase
  to represent connection capabilities.
* Contact: Added ContactCapabilities interface support.
* Connection: Added capabilities (RequestableChannelClasses) support.
* Account: Added ensureAudio/VideoCall methods that make use of
  InitialAudio/Video properties when creating StreamedMedia channels.
* Channel: Added streamTubeInterface/tubeInterface methods.
  (Patch from Abner Silva <abner.silva@collabora.co.uk>).
* PendingVariant: Added pending operation helper class for D-Bus methods that
  return a variant as result.

API changes:

* Renamed PendingVoidMethodCall to PendingVoid.
* Changed PendingVoid/Success/Failure constructor to receive parent as last
  parameter.

Enhancements:

* Added examples for handling incoming/outgoing file transfers,
  examples/file-transfer/
* Added C++ visibility support.
* Updated to 0.18.0 spec.

Fixes:

* fd.o #24324: Account::create/ensureXXX should receive a const QDateTime & for
  userActionTime
* Explicitly use uint for TargetHandleType.

telepathy-qt4 0.1.10 (2009-08-25)
================================

The "not yet stable" release.

New API:

* StreamedMediaChannel: Added Hold and DTMF interface support.

Enhancements:

* Moved OptionalInterfaceFactory::InterfaceSupportedChecking docs from DBusProxy
  to OptionalInterfaceFactory.
* Use struct Private instead of class Private for consistence.
* Removed cli/Client from header guards.

Fixes:

* fd.o #20269: Channel's Contact objects should initially have no features.
* fd.o #21335: Implement Group self-handle removal reasons.
* fd.o #23040: Running connection managers appear twice in
  ConnectionManager::listNames result.
* fd.o #23282: Channel should update ReadinessHelper with the supported
  interfaces.

telepathy-qt4 0.1.9 (2009-07-23)
================================

The "never too late" release.

New API:

* OptionalInterfaceFactory: Added methods interfaces and optionalInterface
  and removed duplicated code in all OptionalInterfaceFactory subclasses.
* Added ContactManager allKnownGroups, addGroup, removeGroup, groupContacts,
  addContactsToGroup and removeContactsFromGroup methods.
* Added ContactManager groupAdded, groupRemoved and groupMembersChanged signals.
* Added Contact groups, addToGroup and removeFromGroup methods.
* Added Contact addedToGroup and removedFromGroup signals.

API changes:

* Changed ProtocolParameter requiredForRegistration method to
  isRequiredForRegistration to make it consistent with other bool returning
  getters.

Enhancements:

* Changed all classes to follow coding-style.
* Moved documentation to source file for all classes.
* Standardize class definition in all classes:
  * Moved public xxxInterface methods definition to the end of the public
    methods declaration.
  * Added friend struct Private declaration.
  * Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
  * Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
    before the public keyword.
  * Reorder public, protected, SIGNALS declaration as follows:
     public
     public Q_SLOTS
     Q_SIGNALS
     protected
     protected Q_SLOTS
     private Q_SLOTS
     private
  * Moved friend class xxx definitions to be placed right below private keyword
* ChannelDispatchOperation: Emit invalidated with
  TELEPATHY_QT4_ERROR_OBJECT_REMOVED when ChannelDispatchOperation.Finished is
  received.
* Added/Improved some documentation.

Fixes:

* ClientApproverAdaptor: Use the dbus fully qualified name to get the connection
  property (Patch from George Kiagiadakis <kiagiadakis.george@gmail.com>).
* Fixed bug 20268: Connection's selfContact object should initially have no
  features.
* Fixed bug 20080: KeyFile: ";" as a list may be mis-parsed.
* Fixed bug 20082: KeyFile: double (and other types?) not correctly tested.
* Fixed bug 20353: No d-pointer in Channel::GroupMemberChangeDetails.
* Fixed bug 20033: Contact / ContactList Group integration.

telepathy-qt4 0.1.8 (2009-06-16)
================================

The "Every Good Boy Deserves Frontalot" release.

New API:

* Added PendingChannelRequest class to be used when requesting channels using
  ChannelDispatcher through Account.
* Added Account methods to request/create channels using ChannelDispatcher
  (ensureTextChat, ensureTextChatroom, ensureMediaCall, createChannel and
  ensureChannel)

Enhancements:

* Updated to telepathy-spec 0.17.26

Fixes:

* ChannelDispatchOperation: Read Channels property instead of incorrectly
  reading ChannelDetailsList (Patch from George Kiagiadakis
  <kiagiadakis.george@gmail.com>).

telepathy-qt4 0.1.7 (2009-06-02)
================================

The "approver" release.

New API:

* Added Client Approver support.
* Added ChannelDispatchOperation high-level class.

Bugfixes:

* Fixed bug 21988: Channel does not work properly if the parent
  connection object is not ready
* Fixed bug 21993: TextChannel does not become ready until first message is
  received if FeatureMessageQueue is enabled.

telepathy-qt4 0.1.6 (2009-05-28)
================================

The "So hot, I have a fever" release.

New API:

* Added Channel::immutableProperties public method.

Enhancements:

* Added ChannelFactory, internal class to create channels based on
  their types.
* PendingChannel: Use ChannelFactory to create channels.

Bugfixes:

* Proper define AbstractClientPtr.
* ClientRegistrar: Fixed Observer adaptor introspection data.
* ClientRegistrar: Use ChannelFactory to create Channels.

telepathy-qt4 0.1.5 (2009-05-19)
================================

The "do not look at the conductor" release.

New API:

* Added Client support (Handler, Observer).
  * Added ClientRegistrar, class responsible for registering clients and proper
    exporting their D-Bus interfaces.
  * Added AbstractClientObserver, AbstractClientApprover (skeleton) and
    AbstractClientHandler. Clients should inherit one or some combination of
    these, by using multiple inheritance, and register themselves using
    ClientRegistrar::registerClient() in order to become a Client.

* Added ChannelRequest high-level class.

telepathy-qt4 0.1.4 (2009-05-08)
================================

The "global military-industrial complex is subsidising your iPod" release.

Dependencies:

* Creating accounts, and possibly updating their parameters, now requires an
  AccountManager implementing telepathy-spec 0.17.24, such as
  telepathy-mission-control >= 5.0.beta70 (in particular, beta 69 won't work,
  and the KWallet-based account manager will also need updating)

API changes:

* Renamed SharedData header file to RefCounted to follow class name.

New API:

* Update to telepathy-spec 0.17.24, breaking some D-Bus APIs:
  * fd.o #21619: Account::updateParameters() returns a PendingStringList of
    the parameters that won't be changed until reconnection takes place
  * Account::reconnect() added (newer MC versions don't violate telepathy-spec
    by reconnecting automatically when parameters are changed)
  * AccountManager::supportedAccountProperties() added
  * AccountManager::createAccount() takes an optional dict of properties
    (the valid keys are in supportedAccountProperties())

* Enhance PendingStringList to have a constructor from a QDBusPendingCall

Bugfixes:

* Don't try to run Python tests unless we have the gobject module (the tests
  use it)

telepathy-qt4 0.1.3 (2009-04-22)
================================

The "what are you scared of?" release.

Dependencies:

* Full regression tests now require telepathy-glib >= 0.7.28 (telepathy-glib
  is still optional)

API changes:

* Namespace simplification: Telepathy::Client::Channel (etc.) are now
  Tp::Channel, similar to telepathy-glib's TpChannel. Auto-generated client
  classes like Telepathy::Client::ChannelInterface are now
  Tp::Client::ChannelInterface.

* AccountManager, Account, ConnectionManager, Connection, Channel and Channel
  subclasses now inherit from Tp::RefCounted and are used together with
  Tp::SharedPtr/Tp::WeakPtr, shared and weak pointer classes using ideas from
  Qt, glibmm, Boost and WebKit. The constructor is now protected (in order to
  support custom classes) and a public create method that returns a SharedPtr
  was added. This is an attempt to avoid memory leaks as much as possible, see
  http://lists.freedesktop.org/archives/telepathy/2009-March/003218.html for
  more details.

* Instead of forward-declaring Telepathy::Client::Channel and using
  a variable of type Telepathy::Client::Channel *, you should now include
  <TelepathyQt4/Types> and use either Tp::ChannelPtr, which is a
  reference-counted shared pointer, or Tp::WeakPtr<Tp::Channel>, which is the
  weak counterpart.
* Header simplification: the public headers now look like
  <TelepathyQt4/Channel>, i.e. without the Client subdirectory.

* PendingHandles now finish successfully on non fatal errors (InvalidArgument,
  InvalidHandle, NotAvailable). PendingHandles::invalidNames/invalidHandles
  should be used to check if a non-fatal error occurred and some handle could
  not be acquired.

Enhancements:

* Updated to telepathy-spec 0.17.23

* TelepathyQt4Farsight is a new mini-library with glue code to connect
  telepathy-farsight to Telepathy-Qt4. Handlers for streamed media channels
  with media signalling can #include <TelepathyQt4/Farsight/Channel> and pass
  their Tp::StreamedMediaChannel to Tp::createFarsightChannel, then hook up
  the resulting TfChannel to a GStreamer pipeline of their choice.

* StreamedMediaChannel has a new handlerStreamingRequired method so you can
  check whether the handler needs to carry out the streaming

* fd.o #21336: Channels now indicate whether a message is expected when
  doing various Group operations

* fd.o #21337: Account supports the new HasBeenOnline property

Fixes:

* fd.o #20583: Contact objects don't work without the Contacts interface.

* fd.o #20584: Contact object creation doesn't survive bad IDs or handles.

telepathy-qt4 0.1.2 (2009-03-23)
================================

The "robotic automatic hoover" release.

Dependencies:

* Full regression tests now require telepathy-glib >= 0.7.27 (telepathy-glib
  is still optional)

* telepathy-farsight >= 0.0.4 is a new optional dependency

API changes:

* AccountManager, Account, ConnectionManager, Connection, Channel
  now inherit QSharedData and are used together with
  QExplicitlySharedDataPointer.
  This is needed so we can create shared pointers based on the object itself,
  instead of doing hacks to find the shared pointer related to a given object.
  See http://lists.freedesktop.org/archives/telepathy/2009-March/003168.html for
  more details.

* Channel Features are now Feature objects, not integers

* The Feature class is now in its own header, <TelepathyQt4/Feature>

Enhancements:

* The skeletal StreamedMediaChannel class from 0.1.0 has been expanded to
  cover all the functionality of the Telepathy StreamedMedia interface

* PendingConnection, PendingAccount etc. have busName and objectPath
  methods where necessary, so that objects of custom classes can be
  constructed

* Features can now be considered critical, meaning that failure to set them up
  leads to failure of becomeReady() - this should only be used for features
  that should never fail unless the service is buggy, like Connection and
  Channel core functionality

* examples/call/ is an example of how to use StreamedMediaChannel, which can
  make and receive XMPP Jingle calls using telepathy-gabble
  (this feature requires telepathy-farsight and GStreamer)

Fixes:

* When introspection of a Feature fails, the D-Bus error is propagated as the
  failure reason of becomeReady()

* Fix a memory leak in TextChannel

telepathy-qt4 0.1.1 (2009-03-05)
================================

The "PresencePublicationAuthorizationRequestRejection" release.

API changes:

* PendingReadyAccount, PendingReadyAccountManager, PendingReadyConnection,
  PendingReadyConnectionManager have all been replaced by the PendingReady
  class

* Account, AccountManager, Connection and ConnectionManager features are now
  QSet<uint>, not bitfields

* Plural contacts are generally represented by a QSet<QSharedPointer<Contact> >
  instead of a QList<QSharedPointer<Contact> > (with a new typedef,
  Telepathy::Client::Contacts, which must be used in signal/slot connections)

Enhancements:

* Added Connection::FeatureRoster, which, when enabled, adds contact list
  (a.k.a. roster/buddy list) functionality to the ContactManager and
  Contact objects

* Improved maintainability of Account, AccountManager, Connection and
  ConnectionManager becoming ready

* A QSharedPointer<Contact> is now hashable with qHash, meaning contacts can
  be QSet or QHash members

* Added a trivial contact list user interface, examples/roster/roster

Fixes:

* The client library no longer attempts to enforce group add/remove flags:
  whatever change the user requests is passed on to the connection manager
  (which might reject it)

* PendingReady objects returned by Connection::becomeReady() have the
  Connection as parent, rather than an internal object that isn't useful
  to library users

telepathy-qt4 0.1.0 (2009-02-26)
================================

The "pending operation" release.

This first release of telepathy-qt4 features high-level API for the following:

* Manipulating accounts on a Telepathy AccountManager implementation as
  described by telepathy-spec 0.17.x, such as Mission Control 5 (beta versions
  currently available)

* Manipulating Telepathy connection managers via the ConnectionManager and
  Connection core API

* Setting your own presence on a connection manager supporting the
  SimplePresence interface

* Requesting channels from a connection manager supporting the Requests
  interface

* Reading contacts' aliases etc. on a connection manager supporting the
  Contacts interface

* Sending and receiving messages on Text channels, with or without the
  Messages interface

In addition, lower-level auto-generated accessors are provided for all the
functionality of telepathy-spec version 0.17.19.

Notable functionality that is currently missing, but will be added soon,
includes:

* Manipulating a server-stored contact list

* Controlling VoIP calls in StreamedMedia channels

/* ex: set textwidth=80: */