Fix comment syntax to unbreak documentation generation.
[platform/upstream/folks.git] / NEWS
1 Overview of changes from libfolks 0.6.4.1 to libfolks 0.6.5
2 =============================================================
3 Bugs fixed:
4 * Bug 662285 — Error with email -> im_addresses when updating a contact
5 * Bug 662433 — AbstractFieldDetails.equal() is ambiguous about checking
6   parameters.
7 * Bug 660908 — Add favourites support to EDS backend
8 * Bug 662770 — ContactPhotos are ignored when mime type is null
9 * Bug 662616 — We should set mime type when setting an EContact's photo
10 * Bug 662274 — Failed to link personas: Can't link personas with no primary
11   store.
12 * Bug 662314 — Gnome-shell restarts if I change my user status to
13   disconnected/unavailable
14 * Bug 663798 — Add AbstractFieldDetails.value_type
15 * Bug 659585 — GLib-GIO-CRITICAL **: g_bus_unwatch_name: assertion
16   `watcher_id > 0' failed
17
18 API changes:
19 * Add AbstractFieldDetails.id to identify instances of details
20 * Deprecate PostalAddress.uid in favor of AbstractFieldDetails.id
21 * Deprecate NoteFieldDetails.uid in favor of AbstractFieldDetails.id
22 * Deprecate Role.uid in favor of AbstractFieldDetails.id
23 * Add AbstractFieldDetails.values_equal() to compare values (but not parameters)
24 * Implement FavouriteDetails on Edsf.Persona
25 * Add AbstractFieldDetails.value_type
26
27 Behavior changes:
28 * PostalAddress.equal() now ignores PostalAddress.uid
29 * NoteFieldDetails.equal() now ignores NoteFieldDetails.uid
30
31 Overview of changes from libfolks 0.6.4 to libfolks 0.6.4.1
32 =============================================================
33 Bugs fixed:
34 * Bug 662095 — so name of libfolks v 0.6.4 is lower than of libfolks v 0.6.3.x
35
36 Overview of changes from libfolks 0.6.3.2 to libfolks 0.6.4
37 =============================================================
38 Bugs fixed:
39 * Bug 660217 — folks-0.6.3.2 requires tracker-0.12, but configure.ac calls
40   VALA_CHECK_PACKAGES([tracker-sparql-0.12])
41 * Bug 657602 — Telepathy backend fails to set Personas' phone numbers from
42   ContactInfo
43 * Bug 660937 — [regression] build failure: No package 'gee-1.0' found
44 * Bug 661475 — string_strip: assertion `self != NULL' failed
45
46 API changes:
47 * Implement PhoneDetails on Tpf.Persona
48 * Implement NameDetails on Tpf.Persona
49 * Implement EmailDetails on Tpf.Persona
50 * Implement UrlDetails on Tpf.Persona
51 * Implement BirthdayDetails on Tpf.Persona
52 * Add PersonaStoreError.UNSUPPORTED_ON_NON_USER
53
54 Overview of changes from libfolks 0.6.3.1 to libfolks 0.6.3.2
55 =============================================================
56 Bugs fixed:
57 * Bug 660140 — contacts_contact_find_persona_from_store: assertion `store !=
58   NULL' failed
59 * Bug 659041 — tpf-persona-store.vala: try to connect to a NULL object
60 * Bug 660051 — require tracker 0.12
61
62 Overview of changes from libfolks 0.6.3 to libfolks 0.6.3.1
63 ===========================================================
64 Bugs fixed:
65 * Bug 658631 — Deprecate PersonaStore.can-[alias|group]-personas
66 * Bug 658002 — defective typelib
67 * Bug 659737 — tests fail due to usage of deprecated methods
68 * Bug 659732 — Gnome fails to load and crashes when the Evolution-exchange
69   plugin is configured
70
71 API changes:
72 * Deprecate Folks.PersonaStore.can_[alias, group]_personas.
73   Applications should use Folks.PersonaStore#always-writeable-properties
74   and Folks.Persona#writeable-properties to check availability of "alias"
75   and "groups" properties.
76
77 Overview of changes from libfolks 0.6.2.1 to libfolks 0.6.3
78 ===========================================================
79
80 Major changes:
81 * Cleanup of the definition of “writeable” which involves a couple of API
82   deprecations and additions, and some internal re-working.
83 * Beginnings of standardising TYPE values for AbstractFieldDetails
84
85 Bugs fixed:
86 * Bug 658631 — crash at empathy startup
87 * Bug 658331 — Ensure read-only PersonaStores have empty writeable-properties
88 * Bug 658874 — Typo?
89 * Bug 658730 — ngettext (Plural forms) needed for
90   "Imported %u buddies from '%s'."
91 * Bug 633781 — Allow to set avatar on individuals
92 * Bug 657142 — Automatically link e-d-s contacts with their contacts from
93   telepathy
94 * Bug 658002 — defective typelib
95 * Bug 657065 — Cache keeps around contacts from disabled accounts
96 * Bug 658323 — Deprecate FOLKS_WRITEABLE_STORE in favour of FOLKS_PRIMARY_STORE
97 * Bug 659095 — Don't distribute typelib file
98 * Bug 659128 — If a persona store goes away we don't remove its personas
99 * Bug 657141 — Backend should ask eds for the default backend, not hardcode it
100 * Bug 658531 — Sometimes avatar caching doesn't work
101 * Bug 658328 — Return PropertyError.NOT_WRITEABLE from Persona property setters
102   as appropriate
103 * Bug 646847 — We should rename _update () in Trf.Persona to something more less
104   misleading
105 * Bug 658161 — Consistently use “contact” in translatable strings instead of
106   “persona”
107 * Bug 657738 — Favorite people are not always displayed
108 * Bug 653623 — Would like a set of standard "type" parameters for UrlDetails
109
110 API changes:
111 * Individual.avatar is now settable using Individual.change_avatar() (not new
112   API, but it no longer always returns an error)
113 * We now use the FOLKS_PRIMARY_STORE env var instead of FOLKS_WRITEABLE_STORE
114   to configure the primary store
115 * Deprecate Folks.PersonaStore.is_writeable
116 * Add Folks.PersonaStore.is_primary_store
117 * Add Folks.IndividualAggregatorError.NO_PRIMARY_STORE
118 * In IndividualAggregator.ensure_individual_property_writeable we now throw
119   NO_PRIMARY_STORE instead of NO_WRITEABLE_STORE
120 * Add Folks.PersonaStore.user_set_default
121 * Add AbstractFieldDetails.PARAM_TYPE, .PARAM_TYPE_HOME, .PARAM_TYPE_WORK,
122   .PARAM_TYPE_OTHER
123 * Add UrlFieldDetails.PARAM_TYPE_HOME_PAGE, .PARAM_TYPE_BLOG,
124   .PARAM_TYPE_PROFILE, .PARAM_TYPE_FTP
125
126 Overview of changes from libfolks 0.6.2 to libfolks 0.6.2.1
127 ===========================================================
128
129 Bugs fixed:
130 * Bug 658580 — Assertion in gee_hash_map_node_iterator_next with folks 0.6.2
131
132 Overview of changes from libfolks 0.6.1 to libfolks 0.6.2
133 =========================================================
134
135 Bugs fixed:
136 * Bug 645056 — TpLowlevel library should have only static public functions
137 * Bug 653777 — Would be nice to have a helper function to create a writable
138   persona
139 * Bug 657635 — Linking personas from different (e-d-s) stores is not working
140 * Bug 657510 — Add asynchronous property setter methods
141 * Bug 656184 — Add is-quiescent property
142 * Bug 657971 — Need BirthdayDetails support in eds backend
143 * Bug 657789 — Don't claim uneditable eds fields as writable
144 * Bug 657282 — Add an IndividualAggregator.individuals_changed_detailed signal
145 * Bug 657969 — Support RoleDetails in eds backend
146 * Bug 657783 — Prefer data from primary store when picking Individual values
147 * Bug 658411 — Only emit notifications for linkable properties if they've
148   actually changed
149 * Bug 656689 — Re-link personas on linkable properties being changed
150
151 API changes:
152 * Add PersonaStore:always-writeable-properties property
153 * Add IndividualAggregatorError.PROPERTY_NOT_WRITEABLE error
154 * Add IndividualAggregator.ensure_individual_property_writeable()
155 * Add Folks.PropertyError
156 * Add *Details.change_*() virtual methods
157 * Add IndividualAggregator:is-quiescent, Backend:is-quiescent and
158   PersonaStore:is-quiescent
159 * Add PersonaDetail.GROUPS and PersonaDetail.INVALID
160 * Add IndividualAggregator.individuals_changed_detailed and deprecate
161   IndividualAggregator.individuals_changed (but not remove or break it)
162
163 Overview of changes from libfolks 0.6.0 to libfolks 0.6.1
164 =========================================================
165
166 Bugs fixed:
167 * Bug 656659 — Use vcards for postal addresses
168 * Bug 655374 — Un-break avatar tests
169 * Bug 657067 — Can't build EDS backend using Vala master
170 * Bug 657332 — Add linking link-individuals
171
172 Overview of changes from libfolks 0.5.2 to libfolks 0.6.0
173 =========================================================
174
175 Bugs fixed:
176 * Bug 649925 — expose SocialWebClient.Contact in Swf.Persona
177 * Bug 646244 — Incomplete logic to handle attribute updates in Folks.Individual
178 * Bug 652463 — Tidy up CLEANFILES
179 * Bug 652434 — Add ability to run any tests through gdb
180 * Bug 648071 — Add support for presence status from Telepathy
181 * Bug 652472 — Handle failure in getting the logger service better
182 * Bug 629716 — Migrate Folks to GDBus
183 * Bug 652660 — Make Individual.id more stable and well-defined
184 * Bug 652449 — Folks.Individual's property getters should be read only
185 * Bug 653325 — Build system does not complain if trying to build docs without
186   vala-doc installed
187 * Bug 653746 — mismatch between hash and equals in Note
188 * Bug 638281 — Add an EDS backend
189 * Bug 654509 — Folks master not building
190 * Bug 652048 — Make nickname writable
191 * Bug 652425 — Failure codes for removing personas needed in PersonaStoreError
192 * Bug 645549 — Add a way to get the individual from a persona
193 * Bug 650422 — Add API for easily checking whether details are writeable
194 * Bug 655019 — Don't notify twice for nickname changes
195 * Bug 650414 — Need better APIs to handle image data
196 * Bug 652643 — Add PersonaStore cache
197 * Bug 655510 — Make truly-writeable *Details property setters public
198 * Bug 654907 — The writable store shouldn't be set by type_id
199 * Bug 655745 — Implement read/write support for gender property
200 * Bug 649296 — Folks backend files shouldn't begin with "lib"
201 * Bug 652657 — Allow writing to properties of all personas
202 * Bug 655008 — Tidy up error handling in eds backend
203 * Bug 653619 — Add company details
204 * Bug 653679 — Change PostalAddressDetails.postal_addresses to support
205   vCard-like arbitrary parameters
206 * Bug 653680 — Change ImDetails.im_addresses to support vCard-like arbitrary
207   parameters
208 * Bug 655917 — Rebase EmailDetails.email_addresses upon an
209   AbstractFieldDetails-derived class
210 * Bug 655374 — Un-break avatar tests
211 * Bug 655919 — Rebase NoteDetails.notes upon an AbstractFieldDetails-derived
212   class
213 * Bug 655920 — Rebase PhoneDetails.numbers upon an AbstractFieldDetails-derived
214   class
215 * Bug 653682 — Change WebServiceDetails.web_service_addresses to support
216   vCard-like arbitrary parameters
217 * Bug 655921 — Change RoleDetails.roles to support vCard-like arbitrary
218   parameters
219 * Bug 655922 — Rebase UrlDetails.urls upon an AbstractFieldDetails-derived class
220 * Bug 648818 — Support the EDS backend being a primary
221 * Bug 655609 — Implement setter for URLs
222
223 API changes:
224 * Swf.Persona retains and exposes its libsocialweb Contact
225 * Add a PresenceDetails.presence_status property
226 * Make NameDetails.nickname settable
227 * Drop AliasDetails support from Trf.Persona
228 * Add PersonaStoreError.PERMISSION_DENIED and PersonaStoreError.REMOVE_FAILED
229 * Change the error domain of PersonaStore.remove_persona() from GLib.Error to
230   Folks.PersonaStoreError
231 * Add a Persona.individual property
232 * Add a Persona.writeable_properties property and implement it in all the
233   Persona subclasses
234 * Make BirthdayDetails.calendar_event_id nullable
235 * Make Folks.Utils public and add Gee structure equality functions
236 * AvatarDetails.avatar is now of type LoadableIcon?
237 * Add AvatarCache class
238 * Add ObjectCache class
239 * Remove leaked internal PotentialMatch.result_to_string() method
240 * Add RoleDetails:role property
241 * Rebase FieldDetails upon AbstractFieldDetails (requiring the use of the
242   equivalent AbstractFieldDetails functions in place of the FieldDetails ones).
243 * Add AbstractFieldDetails.equal() and hash() for better matching on structures
244   which will store derived objects.
245 * Add parameters as an optional argument for the FieldDetails constructor
246 * Use PostalAddressFieldDetails for PostalAddressDetails.postal_addresses
247 * Remove PostalAddress.types (obsoleted by PostalAddressFieldDetails.parameters)
248 * Add and use ImFieldDetails for ImDetails.im_addresses
249 * Add and use EmailFieldDetails for EmailFieldDetails.email_addresses
250 * Add and use NoteFieldDetails for NoteFieldDetails.notes
251 * Remove Note class (obsoleted by NoteFieldDetails)
252 * Add and use PhoneFieldDetails for PhoneFieldDetails.phone_numbers
253 * Remove all PhoneDetails functions (obsoleted by PhoneFieldDetails)
254 * Add and use WebServiceFieldDetails for
255   WebServiceFieldDetails.web_service_addresses
256 * Use RoleFieldDetails for RoleDetails.roles
257 * Use UrlFieldDetails for UrlDetails.urls
258
259 Overview of changes from libfolks 0.5.1 to libfolks 0.5.2
260 =========================================================
261
262 Bugs fixed:
263 * Bug 650067 — Tracker backend warns when setting a NULL avatar (ie, unsetting
264   the avatar)
265 * Bug 650268 — build failure: "--vapidir=.: command not found"
266
267 Overview of changes from libfolks 0.5.0 to libfolks 0.5.1
268 =========================================================
269
270 Bugs fixed:
271 * Bug 645388 — Group channels are leaked
272 * Bug 647562 — Don't crash on duplicate group channels
273 * Bug 647121 — Crash in individual_store_contact_sort at
274   empathy-individual-store.c line 1387
275 * Bug 645684 — Implement Iterator on LinkedHashSet
276 * Bug 640092 — Folks should minimize use of GLib.List (including its public API)
277 * Bug 648161 — Add GObject Introspection Support
278 * Bug 645186 — Make sure all connect() calls have appropriate disconnect() calls
279 * Bug 648533 — Add runtime debug signalling
280 * Bug 649790 — Vala uses the wrong includes
281 * Bug 649088 — Combining contacts doesn't work with german Umlauts
282
283 API changes:
284 * LinkedHashSet.list_iterator() is now disallowed (causes an assertion failure)
285 * LinkedHashSet.iterator() now returns a BidirIterator instead of just an
286   Iterator
287 * ImDetails.im_addresses is now of type MultiMap<string, string>
288 * WebServiceDetails.web_service_addresses is now of type
289   MultiMap<string, string>
290 * Removed LinkedHashSet in favour of Gee.HashSet
291 * Backend.persona_stores is now of type Map<string, PersonaStore>
292 * GroupDetails.groups is now of type Set<string>
293 * FieldDetails.parameters is now of type MultiMap<string, string>
294 * FieldDetails.get_parameter_values() now returns type Collection<string>
295 * FieldDetails.extend_parameters() now takes type MultiMap<string, string>
296 * PostalAddressDetails.postal_addresses is now of type Set<PostalAddress>
297 * EmailDetails.email_addresses is now of type Set<FieldDetails>
298 * PhoneDetails.phone_numbers is now of type Set<FieldDetails>
299 * UrlDetails.urls is now of type Set<FieldDetails>
300 * BackendStore.enabled_backends now has type Map<string, Backend>
301   - The corresponding C function folks_backend_store_dup_enabled_backends()
302     has been renamed folks_backend_store_get_enabled_backends(), and no longer
303     returns an owned variable.
304 * Individual.personas now has type Set<Persona>
305 * Individual.personas_changed now uses Set<Persona>-typed parameters
306 * PersonaStore.personas_changed now uses Set<Persona>-typed parameters
307 * IndividualAggregator.individuals_changed now uses
308   Set<Individual>-typed parameters
309 * IndividualAggregator.link_personas() now takes a Set<Persona>
310 * IndividualAggregator.get_all_potential_matches() now returns a
311   Map<Individual, Map<Individual, MatchResult>>
312 * IndividualAggregator.get_potential_matches() now returns a
313   Map<Individual, MatchResult>
314 * IndividualAggregator.individuals now has type Map<string, Individual>
315 * PersonaStore.personas now has type Map<string, Persona>
316 * LocalIdDetails.local_ids now has type Set<string>
317 * NoteDetails.notes now has type Set<Note>
318 * RoleDetails.roles now has type Set<Role>
319 * PotentialMatch.known_email_aliases now has type Set<string>
320 * PostalAddress.types now has type Set<string>
321 * Add Folks.Debug debug controller class
322 * All pc-files now only add the $includedir to the cflags, so all includes
323   must be of the form <folks/*.h>
324
325 Overview of changes from libfolks 0.4.0 to libfolks 0.5.0
326 =========================================================
327
328 Major changes:
329 * Add support to change primary (writeable) store either via
330   GConf or an env variable (bug 645441).
331 * Bumped Vala dependency to 0.12.0 for bug #646345
332
333 Bugs fixed:
334 * Bug 644968 - _update_phone_numbers() needs to create copies
335   of each List<FieldDetails>
336 * Bug 644966 - _update_emails () needs to create copies of each
337   List<FieldDetails>
338 * Bug 644527 - Add a Tracker backend
339 * Bug 645430 - folks-inspect: Use LinkedHashSet to access im-addresses
340 * Bug 645411 - folks-import segfaults on startup
341 * Crasher when removing Personas
342 * Crasher when reconnecting a Telepathy account
343 * Bug 645680 — Use random integer IDs for Kf.Personas
344 * Bug 645475 — Linker warnings for Tracker backend tests
345 * Bug 645570 — Fix checks for empty and equal StructuredNames
346 * Bug 645989 — Ensure add_persona_from_details handles the basic attribute
347 * Bug 645413 — Write support for Tracker
348 * Bug 645441 — Mechanism to specify primary backend
349 * Bug 638280 — Add a libsocialweb backend
350 * Deal with duplicated phones/e-mails in Tracker
351 * Bug 646944 — Fix libsocialweb updates and removals of contacts
352 * Bug 644867 — add interface for linkable web service contact UIDs
353 * Bug 647168 — print the "web-service-addresses" property correctly
354 * Bug 646831 — Setting an existing phone number or e-mail address on a
355   Trf.Persona fails
356 * Bug 647298 — folks-inspect gets SIGSEGV when trying to auto-complete
357   parameters
358 * Bug 646948 — Support for potential matches
359
360 API changes:
361 * Add equal () to StructuredName
362 * Add detail_key () along with an enum PersonaDetail to PersonaStore
363   which together define the basic attributes that should be supported
364   by add_persona_from_details ().
365 * Add public primary_store to IndividualAggregator
366 * Add LocalIdDetails interface for linking Personas based on local address book
367   IDs (such as for the Tracker backend Personas)
368 * Add WebServiceDetails interface for linking Personas based on web service
369   accounts (such as for the libsocialweb backend Personas)
370 * Add PotentialMatch class and IndividualAggregator.get_potential_matches() and
371   IndividualAggregator.get_all_potential_matches() to suggest Individuals that
372   may match the given Individual or all potential matches, respectively.
373
374 Overview of changes from libfolks 0.3.6 to libfolks 0.4.0
375 =========================================================
376
377 Bugs fixed:
378 * Bug 642351 — BACKEND_STORE_KEY_FILE format should support a wildcard entry
379 * Bug 643241 — _update_urls () needs to create copies of each
380   List<FieldDetails>
381 * Bug 643247 — Folks needs C API documentation
382 * Bug 643201 — folks-inspect can't handle properties which are
383   List<FieldDetails>
384 * Bug 642866 — tp-lowlevel leaks TpChannel
385 * Bug 642861 — FolksLinkedHashSet still alive when exiting Empathy
386 * Bug 642493 — Folks needs API for specifying a contact's organisation
387 * Bug 642500 — Folks needs API for specifying a contact's birthday
388 * Bug 642501 — Folks needs API for attaching notes to a Contact
389 * Bug 641210 — Add interface for postal addresses
390 * Bug 643956 — Use the correct signal name for postal addresses
391 * Bug 643954 — Add to_string () to PostalAddress class
392 * Bug 643955 — Add to_string () to RoleOwner class
393 * Bug 643957 — Deal handle birthday and postal-addresses.
394 * Bug 644457 — Handle structured names
395 * Bug 644165 — An individual's avatar shouldn't be replaced by a null avatar
396
397 API changes:
398 * Add RoleDetails interface
399 * Add BirthdayDetails interface
400 * Add NoteDetails interface
401 * Add PostalAddressDetails interface
402 * Rename Aliasable -> AliasDetails
403 * Rename AvatarOwner -> AvatarDetails
404 * Rename Emailable -> EmailDetails
405 * Rename Favouritable -> FavouriteDetails
406 * Rename GenderOwner -> GenderDetails
407 * Rename Groupable -> GroupDetails
408 * Rename IMable -> ImDetails
409 * Rename NameOwner -> NameDetails
410 * Rename Phoneable -> PhoneDetails
411 * Rename PresenceOwner -> PresenceDetails
412 * Rename Urlable -> UrlDetails
413
414 Overview of changes from libfolks 0.3.5 to libfolks 0.3.6
415 =========================================================
416
417 This is just a repackaging of libfolks 0.3.5 with some documentation comment
418 version numbers fixed.
419
420 Overview of changes from libfolks 0.3.4 to libfolks 0.3.5
421 =========================================================
422
423 Major changes:
424 * Various API breaks and improvements, especially in the IndividualAggregator
425 * Add various new interfaces: NameOwner, FieldDetails, Urlable, GenderOwner,
426   Phoneable and Emailable
427
428 API changes:
429 * Add NameOwner interface
430 * Add FieldDetails interface
431 * Add Urlable interface
432 * Add GenderOwner interface
433 * Add Phoneable interface
434 * Add Emailable interface
435 * Add Tpf.Persona.is_in_contact_list
436 * Rename the URLable interface to Urlable
437 * Take a PersonaStore in IndividualAggregator.add_persona_from_details
438 * Remove IndividualAggregatorError.STORE_NOT_FOUND
439 * Rename the getter for BackendStore.enabled_backends from
440   folks_backend_store_get_enabled_backends() to
441   folks_backend_store_dup_enabled_backends()
442 * Rename BackendStore.get_backend_by_name() to .dup_backend_by_name()
443
444 Bugs fixed:
445 * Bug 640901 — Allow it to be determined whether a user Tpf.Persona is in the
446   contact list
447 * Bug 641780 — Incorrect C function names for URLable interface
448 * Bug 629078 — Folks needs a full API review to take advantage of our
449   compatibility break in 0.2.x
450 * Bug 642036 — No way to pass a message when adding a contact
451
452 Overview of changes from libfolks 0.3.3 to libfolks 0.3.4
453 =========================================================
454
455 Major changes:
456 * Add folks-inspect tool
457 * The use of the new LinkedHashSet type in the API may make libgee a requirement
458   for some clients (to take full advantage of its class lineage).
459
460 API changes:
461 * New type: LinkedHashSet, similar to Gee.HashSet, but ordered.
462 * IMable.im_addresses is now a mapping of string to LinkedHashSet.
463 * Rename the HasAvatar interface to AvatarOwner
464 * Rename the HasPresence interface to PresenceOwner
465
466 Bugs fixed:
467 * Bug 637240 — libfolks-telepathy.so exports private symbols
468 * Bug 638311 — Add a HACKING file that outlines development policies and
469   coding style
470 * Bug 629083 — Review coding conventions in folks
471 * Bug 629075 — Add folks command line application
472 * Bug 638609 — libfolks hard-codes backend names for debugging
473 * Bug 639195 — Print stack traces for failed tests to improve remote
474   debugging
475 * Bug 639113 — Add static aggregation tests
476 * Bug 639742 — Logger service unavailable in make check
477 * Bug 640213 — Add tests for LinkedHashSet
478 * Bug 627397 — Use better interface names
479
480 Overview of changes from libfolks 0.3.2 to libfolks 0.3.3
481 =========================================================
482
483 Major changes:
484 * Fix some minor leaks
485 * Add support for building gtk-doc documentation for the C API
486 * Fix some related documentation problems
487 * Fix some Vala problems caused by differences between Vala 0.10 and 0.12
488 * Finish off renaming interfaces (this is an API break; see below)
489 * Don't trust personas from IRC
490 * Handle invalid IM addresses more gracefully than with an assertion failure
491 * Fix a linking problem with the user's individual when going offline which
492   could lead to infinite loops
493
494 API changes:
495 * Rename the Avatar interface to HasAvatar
496 * Rename the Presence interface to HasPresence
497 * Rename the Favourite interface to Favouritable
498 * Add IMableError
499 * Throw IMableError from IMable.normalise_im_address()
500
501 Bugs fixed:
502 * Bug 635178 — Leak in
503   folks_tp_lowlevel_connection_open_contact_list_channel_async
504 * Bug 635649 — autopoint fails to run
505 * Bug 635703 — Leak in connection_get_requestable_channel_classes_cb
506 * Bug 635823 — [PATCH] telepathy test not linking against GIO
507 * Bug 636251 — Fails to add contact
508 * Bug 629526 — Generate gtk-doc documentation
509 * Bug 627397 — Use better interface names
510 * Bug 636714 — Assertion failure on invalid IM address
511 * Bug 637136 — Infinite loop when disconnecting accounts
512
513 Overview of changes from libfolks 0.3.1 to libfolks 0.3.2
514 ==========================================================
515
516 Major changes:
517 * BackendStore.load_backends() now (un)loads backends which have been
518   (dis|en)abled since the last call
519 * FOLKS_BACKEND_DIR has been replaced by FOLKS_BACKEND_PATH. It accepts any
520   number of files and directories, separated by :
521 * Significantly clean up the build system
522
523 API changes:
524 * Added BackendStore.prepare() and BackendStore::is-prepared
525 * Add BackendStore.enable_backend().
526 * Add BackendStore.disable_backend().
527 * Add BackendStore.unprepare().
528 * Remove casting convenience methods on Individual (casting isn't hard)
529 * Change the visibility of the setters of PersonaStore.type_id,
530   PersonaStore.display_name, PersonaStore.id, Backend.name,
531   Backend.persona_stores and Persona.linkable_properties. This removes the
532   corresponding C setter methods which should never have been exposed
533 * Remove Tpf.PersonaError
534 * Remove the exception from the Tpf.Persona constructor
535
536 Bugs fixed:
537 * Bug 629081 — Add API to allow specific backends to be disabled
538 * Bug 629862 — Add tests for the key-file backend
539 * Bug 628883 — Add localisation support
540 * Bug 633718 — Make the Folks releases buildable without vala, valadoc, or
541   g-i
542 * Bug 633080 — Crash when disconnecting twice
543
544 Overview of changes from libfolks 0.3.0 to libfolks 0.3.1
545 ==========================================================
546
547 Major changes:
548 * Tpf.Persona.contact is now guaranteed to have the client type feature
549
550 API changes:
551 * Add the PersonaStore:can-add-personas property
552 * Add the PersonaStore:can-remove-personas property
553 * Add the PersonaStore:can-alias-personas property
554 * Add the PersonaStore:can-group-personas property
555 * Make Individual implement the IMable interface
556
557 Bugs fixed:
558 * Bug 630431 — notify::alias is never emitted
559 * Bug 631864 — Crash when empathy disconnects
560 * Bug 632096 — build failure: contact-retrieval.o: undefined reference to
561   symbol 'gee_abstract_collection_add'
562 * Bug 632163 — Folks key-file backend needs a way to point to a specific
563   .ini file
564 * Bug 632564 — assertion `EMPATHY_IS_CONTACT (contact)' failed in
565   individual_store_contact_sort
566
567 Overview of changes from libfolks 0.1.17 to libfolks 0.3.0
568 ==========================================================
569
570 Major changes:
571 * Fixed some linking problems
572 * Added some missing documentation
573 * Fixed build problems introduced by switching to gobject-introspection 0.9.6
574   (i.e. GIR format 1.2)
575 * Bumped telepathy-glib dependency to 0.11.16
576 * Bumped Vala dependency to 0.10.0
577 * Bumped gobject-introspection dependency to 0.9.6
578 * Ensured IM addresses are normalised before being compared
579 * Made the folks-import build optional through a configure argument
580 * Added support for a “self” individual
581 * Added support for generating and installing Devhelp format documentation
582 * BackendStore.load_backends and the prepare() functions are now idempotent
583 * Tpf.Persona.contact is now guaranteed to have the avatar token and data
584   features
585 * Tpf.Persona.contact is now guaranteed to have the capabilities feature
586
587 API changes:
588 * Added IMable.normalise_im_address()
589 * Renamed Groups interface to Groupable
590 * Renamed Alias interface to Aliasable
591 * Removed BackendStore constructor
592 * Added BackendStore.dup()
593 * Added BackendStore::enabled-backends
594 * Added Individual::is-user
595 * Added Persona::is-user
596 * Added IndividualAggregator::user
597 * Added PersonaStoreError.UNSUPPORTED_ON_USER
598 * Added {IndividualAggregator, PersonaStoreError}.STORE_OFFLINE, used by the
599   respective add_persona_from_details() functions
600
601 Bugs fixed:
602 * Bug 629452 — [Patch] Add missing gio linking for import-tool
603 * Bug 626008 — Add @since lines to all symbols
604 * Bug 629311 — Folks should normalize IDs written to the writable backend
605 * Bug 629644 — Key file backend cannot be loaded because of linking problems
606 * Bug 629666 — libfolks should not hard autodetect libxml
607 * Bug 628970 — Folks API needs a way to determine whether a specific type of
608   PersonaStore is available
609 * Bug 629096 — Add a library init function
610 * Bug 627402 — Support marking FolksPersonas as "me"
611 * Bug 629642 — individuals-changed emitted in the wrong order
612 * Bug 629643 — do not fall back to the id if alias is empty
613 * Bug 629006 — PersonaStore should gracefully handle offline Persona change
614   attempts
615 * Bug 629331 — BackendStore.load_backends and the prepare() functions should
616   be idempotent.
617 * Bug 629008 — Add a test for Persona additions
618 * Bug 630347 — Avatars are always NULL
619
620 Overview of changes from libfolks 0.1.16 to libfolks 0.1.17
621 ===========================================================
622
623 Major changes:
624 * Added a basic test suite
625 * Cleaned up the build system
626 * Ensured the public libraries' VAPI files are distributed and installed
627 * Prevented the key-file from being saved unnecessarily
628 * Fixed multi-byte character handling in the key-file backend
629 * Ensured account removal and invalidation is handled in the Telepathy backend
630 * Prevented a hang when creating relationships.ini in certain situations
631 * Added a folks-import tool to import meta-contact data from Pidgin; this adds
632   a dependency on libxml
633
634 API changes:
635 * Added PersonaStore.flush()
636
637 Bugs fixed:
638 * Bug 628930 — folks crahses empathy on relationships.ini read
639 * Bug 629082 — Empathy crashes when toggling "Ignore SSL certificate errors"
640   checkbox
641 * Bug 628853 — hangs if there's no relationships.ini file
642 * Bug 629084 — Add a folks-import tool
643
644 Overview of changes from libfolks 0.1.15 to libfolks 0.1.16
645 ===========================================================
646
647 Major changes:
648 * Added more debugging output
649 * Fixed various small outputted code bugs
650 * Fixed problem where key file groups would be overwritten in some situations
651 * Fixed various signal emission problems
652 * Prevented changes to Personas' properties from being propagated back up to the
653   Individuals
654 * Limited libgee dependency to < 0.7 due to API changes in libgee
655 * Added a FOLKS_DISABLE_LINKING environment variable to disable linking (for
656   debugging purposes)
657
658 Bugs fixed:
659 * Bug 628108 — Favorite contacts are not save any more
660 * Bug 628294 — Some contacts appear to be linked together while they shouldn't
661 * Bug 628305 — Signal removal of Individuals containing untrusted Personas
662 * Bug 628131 — error message when trying to link ICQ with jabber
663 * Bug 628343 — Add an environment variable to disable linking
664 * Bug 628335 — Assertion error with master
665
666 Overview of changes from libfolks 0.1.14.1 to libfolks 0.1.15
667 =============================================================
668
669 Major changes:
670 * Fixed various build problems
671 * Ensured duplicate entries don't appear in various sets
672 * Made gobject-introspection dependency explicit
673 * Limited libgee dependency to <= 0.5.2 due to API changes in libgee
674 * Reworked some of the Individual internals to make notifications more efficient
675 * Added the concept of an Individual's “trust level”
676 * Changed alias fallbacks to fall back to a display ID instead of a UID
677 * Added support for storing aliases in the key-file backend and use them in
678   preference to aliases from other Personas in an Individual
679
680 API changes:
681 * Added Individual:personas-changed
682 * Added TrustLevel enum
683 * Added Individual::trust-level
684 * Implemented Alias on Kf.Persona
685
686 Bugs fixed:
687 * Bug 627314 — folks cannot be install in gentoo sandbox
688 * Bug 627506 — Require gobject-introspection
689 * Bug 626725 — Add an Individual.personas_changed signal
690 * Bug 627968 — Add Individual.trust_level property
691 * Bug 626578 — Use vala's vala.m4 to check for telepathy-glib(.vapi)
692 * Bug 626410 — contacts show up with a weird alias
693 * Bug 627508 — Store alias and groups in the key-file backend
694 * Bug 627898 — Fails to install with -j4
695
696 Overview of changes from libfolks 0.1.14 to libfolks 0.1.14.1
697 =============================================================
698
699 Major changes:
700 * Bumped Vala dependency to 0.9.6
701 * Fixed some more warning spew
702
703 Overview of changes from libfolks 0.1.13 to libfolks 0.1.14
704 ===========================================================
705
706 Major changes:
707 * Changed Vala detection code to use the correct macro
708 * Bumped Vala dependency to 0.9.5
709 * Removed some more message spew
710 * Changed tp-lowlevel Vala bindings to be generated using gobject-introspection
711 * Added optional dependency on gobject-introspection 0.6.7
712
713 Overview of changes from libfolks 0.1.12 to libfolks 0.1.13
714 ===========================================================
715
716 Major changes:
717 * Added the concept of “linkable properties”
718 * Added the IMable interface
719 * Added the concept of persona store “trust”
720 * Added a writeable key-file backend
721 * Added linking support to the IndividualAggregator
722 * Tidied up ID handling in the backends
723 * Warn if a backend's MIME type could not be determined, notifying the user if
724   libfolks can't load backends due to shared-mime-info not being installed
725 * Hint to clients the Individual replacing a removed Individual (if any)
726 * Exposed Telepathy contacts' IM addresses using the IMable interface
727 * Fixed some build and dependency issues
728 * Bumped telepathy-glib dependency to 0.11.11 and dropped dependency on
729   telepathy-vala
730 * Added the concept of “writeable” PersonaStores and use this concept to prevent
731   properties being synchronised between PersonaStores unnecessarily (and
732   potentially even destructively)
733
734 API changes:
735 * Added Persona::linkable-properties
736 * Added IMable interface
737 * Added PersonaStoreTrust enum
738 * Added PersonaStore::trust-level
739 * Added Persona.LinkablePropertyCallback()
740 * Added Persona.linkable_property_to_links()
741 * Added Persona.build_uid()
742 * Added Persona.split_uid()
743 * Added Persona::display-id
744 * Added PersonaStore::display-name
745 * Added replacement_individual parameter to Individual:removed
746 * Implemented IMable on Tpf.Persona
747 * Added IndividualAggregatorError.NO_WRITEABLE_STORE
748 * Added IndividualAggregator.link_personas()
749 * Added IndividualAggregator.unlink_individual()
750 * Added PersonaStore::is-writeable
751
752 Bugs fixed:
753 * Bug 625830 — Adding an existing contact to the tp backend results in bogus
754   warnings
755 * Bug 626108 — Defining XDG_DATA_DIRS prevents backends from being loaded
756
757 Overview of changes from libfolks 0.1.11 to libfolks 0.1.12
758 ===========================================================
759
760 Major changes:
761 * Added debug flags support using the FOLKS_DEBUG environment variable
762 * Removed various bits of message and warning spew
763 * Bumped Vala dependency to 0.9.4
764 * Ensured connections which are ready as soon as they're connected are handled
765   correctly
766 * Versioned the installed backends using the main library's libtool version
767
768 Bugs fixed:
769 * Bug 625815 — No contat showed in the contact list
770
771 Overview of changes from libfolks 0.1.10 to libfolks 0.1.11
772 ===========================================================
773
774 Major changes:
775 * Moved various bits of preparation code out into async prepare() methods to
776   avoid race conditions on startup
777 * Reset TpfPersonaStore state when going offline
778 * Made several methods async which could potentially require it in future
779 * Added error throws to various functions which could potentially fail in future
780
781 API changes:
782 * Added PersonaStore.prepare()
783 * Added Backend.prepare()
784 * Removed error thrown from Backend constructor
785 * Added IndividualAggregator.prepare()
786 * Changed return type of Presence.is_online() from uint to int
787 * Made IndividualAggregator.remove_individual() async
788 * Made PersonaStore.remove_persona() async
789 * Added an error throw to BackendStore.load_backends()
790 * Added an error throw to IndividualAggregator.prepare()
791 * Added an error throw to IndividualAggregator.remove_individual()
792 * Added an error throw to IndividualAggregator.remove_persona()
793 * Added an error throw to PersonaStore.remove_persona()
794 * Made Groups.change_group() async
795 * Made Groups:group-changed async
796
797 Overview of changes from libfolks 0.1.9 to libfolks 0.1.10
798 ==========================================================
799
800 Major changes:
801 * Fixed various memory and reference leaks
802 * Lots of build system improvements
803 * Added a libtool version to the installed libraries
804
805 Initial release of libfolks 0.1.9
806 =================================
807
808 Major changes:
809 * Move to GNOME infrastructure