summaryrefslogtreecommitdiff
path: root/NEWS
blob: 0fd97072a4f98f4e0c843513dbef2abcaa943e38 (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
telepathy-glib 0.7.15 (UNRELEASED)
==================================

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)

Enhancements:

* 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)

* Updated to specification 0.17.11, which includes the undrafted 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).

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

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