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