changes: update to 0.9.5 + vala compatibility patch
[platform/upstream/folks.git] / NEWS
1 Overview of changes from libfolks 0.9.4 to libfolks 0.9.5
2 =========================================================
3
4 Dependencies:
5
6 Major changes:
7 • Multiple IndividualAggregator instances are now not officially supported.
8 Clients should use the new IndividualAggregator.dup constructor to retrieve
9 the default aggregator singleton. The default IndividualAggregator constructor
10 and IndividualAggregator.with_backend_store are now deprecated.
11
12 Bugs fixed:
13 • Bug 705289 — Crash when removing an individual with 2 aggregators instantiated
14 • Bug 706532 — folks_small_set_copy() does not always return value
15
16 API changes:
17 • Add IndividualAggregator.dup constructor
18 • Add IndividualAggregator.dup_with_backend_store constructor
19
20 Overview of changes from libfolks 0.9.3 to libfolks 0.9.4
21 =========================================================
22
23 Dependencies:
24 • libebook-1.2 ≥ 3.9.1
25 • libebook-contacts ≥ 3.9.1
26
27 Major changes:
28 • Fatal warnings are now turned off when distchecking
29 • EDS dependency has been bumped to ≥ 3.9.1 to fix a Vala binding issue
30
31 Bugs fixed:
32 • Bug 699865 — Folks needs to expose chat/VoIP service client types
33 • Bug 703402 — Backend support libraries don't set the GIR version and namespace
34 • Bug 703450 — Telepathy backend gir fails to link
35 • Bug 703514 — Can't build FolksTelepathy-0.6.gir
36 • Bug 703709 — can't compile folks. fails at GISCAN TpLowlevel-0.6.gir
37 • Bug 703830 — build: distcheck fails trying to delete
38   libfolks_telepathy_la_vala.stamp
39 • Bug 704922 — key-file: do not use deprecated loop_run_with_non_fatal_timeout()
40 • Bug 705196 — Linking a favorite TP contact with a EDS one unfavorite it
41 • Bug 703516 — Build failing with EDS backend
42 • Bug 701850 — folks-DEBUG: phone-details.vala:160:
43   [PhoneDetails.get_normalised] unknown digit: +
44
45 API changes:
46 • Add PresenceDetails.client_types
47 • Add new Individual property:
48     - client_types
49 • Add new Tpf.Persona property:
50     - client_types
51
52 Overview of changes from libfolks 0.9.2 to libfolks 0.9.3
53 =========================================================
54
55 Dependencies:
56 • zeitgeist-2.0 ≥ 0.9.14
57
58 Bugs fixed:
59 • Bug 683873 - Leak in Zeitgeist code
60 • Bug 686715 - Telepathy init test often fails during clean-up
61 • Bug 698890 - warning: Folks doesn't set GIR namespace or version annotation
62 • Bug 702490 - Backend support libraries don't have their own
63   gobject-introspection bindings
64
65 Overview of changes from libfolks 0.9.1 to libfolks 0.9.2
66 =========================================================
67
68 Dependencies:
69 • libebook-1.2 ≥ 3.8.1
70 • libebook-contacts-1.2 ≥ 3.8.1
71
72 Major changes:
73 • folks-import and folks-inspect now look for translated strings in
74   ${localedir}, typically /usr/share/locale, which is also where the
75   translations are installed. They previously looked in ${pkgdatadir}/locale,
76   which is typically /usr/share/folks/locale and does not usually exist or
77   contain anything.
78
79 Bugs fixed:
80 • Bug 693333 - eds: creating a contact with specific groups and
81   fix "favourite" group setting for Android
82 • Bug 694883 - srcdir != builddir (out-of-tree) builds don't work
83 • Bug 695628 - assigns to VALAFLAGS which is reserved for the user
84 • Bug 695648 - Utils: add a fast-path for empty sets and multimaps
85 • Bug 695719 - lsw dummy test intermittently segfaults
86 • Bug 695381 - add FOLKS_BACKENDS_ALLOWED, FOLKS_BACKENDS_DISABLED environment
87   variables (see HACKING)
88 • Bug 696179 - folks-inspect, folks-import do not attempt to use translations
89 • Bug 682903 (partially) - Use gee's MultiMap iterators
90 • Bug 694385 - eds: non-blocking change processing
91 • Bug 700253 - EDS backend initialization blocks
92
93 API changes:
94 • Add LocationDetails interface to specify a Persona or Individual's
95   geographical location (implemented by the EDS backend)
96
97 Overview of changes from libfolks 0.9.0 to libfolks 0.9.1
98 =========================================================
99
100 Dependencies:
101 • libebook-1.2 ≥ 3.7.90
102 • libebook-contacts-1.2 ≥ 3.7.90
103
104 Bugs fixed:
105 • Bug 694049 — Fix build with e-d-s master
106
107 Overview of changes from libfolks 0.8.0 to libfolks 0.9.0
108 =========================================================
109
110 Dependencies:
111 • libgee ≥ 0.8.4
112
113 Major changes:
114 • Added an ofono backend
115 • Ported to libgee 0.8.x
116
117 Bugs fixed:
118 • Bug 682941 — API to configure input of aggregation
119 • Bug 685084 — Add a folks backend for ofono phonebook
120 • Bug 686056 — Add api to create and remove address books
121 • Bug 685250 — make <test>.gdb deadlocks
122 • Bug 686674 — Tracker backend doesn't implement new Backend functions
123 • Bug 686506 — Make zeitgeist dependency optional again
124 • Bug 686693 — writing birthday lacks conversion from UTC
125 • Bug 685401 — linking by email
126 • Bug 687050 — eds: expose Google system groups in the API
127 • Bug 686673 — Build error: libsocialweb backend doesn't implement new Backend
128   functions
129 • Bug 688834 — getting properties creates data structures over and over again
130 • Bug 688923 — remove URLs (blog, free/busy, video, home page)
131 • Bug 689146 — disabling EDS address books does not remove personas
132 • Bug 689859 — core folks does not depend on telepathy
133 • Bug 677633 — Cannot delete favourite
134 • Bug 685992 — empathy strips the "+" (plus) from the numbers from the
135   gnome-contacts
136 • Bug 690989 — "warning: copying delegates is discouraged"
137 • Bug 690990 — Add tests/README
138 • Bug 690876 — eds: fix various test failures
139 • Bug 691167 — Build failure: key-file tests built before dependencies
140 • Bug 686695 — support nickname in add_persona_from_details
141 • Bug 691382 — Restore tests disabled by bug #668415 (which has been fixed)
142 • Bug 691923 — Don't rebuild docs on every "make" run
143 • Bug 692122 — build: Don't use make functions for defining TESTS
144 • Bug 693435 — eds test: create-remove-stores fails sporadically
145 • Bug 673918 — Port to newer libgee
146 • Bug 692951 — Detail saving times out if the data sent is the same as the one
147   already in EDS
148
149 API changes:
150 • Add Backend.enable_persona_store and disable_persona_store.
151 • Add Backend.set_persona_stores.
152 • Add IndividualAggregator.new_with_backend_store.
153 • Add Edsf.PersonaStore.create|remove_address_book.
154
155 Overview of changes from libfolks 0.7.4.1 to libfolks 0.8.0
156 ===========================================================
157
158 Major changes:
159 • Some translation comment and documentation improvements
160 • Lots of updated translations
161
162 Bugs fixed:
163 • Bug 684014 — A few outstanding issues in the internationalisation
164 • Bug 683390 — Individuals sometimes not removed when disabling their
165   Telepathy account
166 • Bug 672709 — Add new interaction details properties to individuals
167   (follow-up patch)
168 • Bug 684954 — Debug message claim that Individual are created with no personas
169
170 Overview of changes from libfolks 0.7.4 to libfolks 0.7.4.1
171 ===========================================================
172
173 Fixed so version by bumping the right numbers in configure.ac
174
175 Overview of changes from libfolks 0.7.3 to libfolks 0.7.4
176 =========================================================
177
178 Bugs fixed:
179 • Bug 681346 — Individual id can be inconsistent
180 • Bug 681420 — warning (vala 0.17.x): access to static class members through an
181   instance variable
182 • Bug 664072 — Folks should only use assert*() for critical, program-terminating
183   errors
184 • Bug 682572 — Build failures due to accessing static members
185 • Bug 682346 — build: Make telepathy backend optional
186 • Bug 682809 — Lazy instantiation of multi-valued properties
187 • Bug 682719 — eds test fails to compile
188 • Bug 683319 — Crash in individual-aggregator: _personas_changed_cb
189 • Bug 681164 — Folks-inspect linking fails
190 • Bug 680335 — empathy crashed with SIGSEGV in
191   _tpf_persona_contact_weak_notify_cb()
192 • Bug 681726 — empathy crashed with SIGABRT in g_assertion_message()
193 • Bug 683452 — gnome-contacts starts up with an empty address book
194 • Bug 681476 — folks-inspect could use some methods to set values
195 • Bug 683390 — Individuals sometimes not removed when disabling their Telepathy account
196 • Bug 683267 — Warning when starting in non group mode
197 • Bug 683093 — Crash in
198   __tpf_persona_store_self_contact_changed_cb_g_object_notify
199
200 API changes:
201 • Add PropertyError.UNAVAILABLE
202
203 Overview of changes from libfolks 0.7.2 to libfolks 0.7.3
204 =========================================================
205
206 Bugs fixed:
207 • Bug 629537 — Support anti-linking
208 • Bug 679618 — Crash when unsetting all groups
209 • Bug 678696 — Add API for EDS Google system groups
210 • Bug 669158 — Readonly/Offline issues
211 • Bug 675223 — Shouldn't warn if CM does not implement any contact list
212 • Bug 660128 — Most contacts don't have an avatar
213 • Bug 652637 — Don't hold locks across async calls
214 • Bug 660236 — Paging for long text in folks-inspect
215 • Bug 679116 — Output debug message if modules are not loaded because of mime
216   type detection
217 • Bug 657456 — Folks test output not terribly useful
218 • Bug 674611 — Remove gconf.path once EDS drops GConf
219
220 API changes:
221 • Add AntiLinkable interface and implement it on Kf.Persona and Edsf.Persona
222 • Add Edsf.Persona.in_google_personal_group
223 • Add IndividualAggregator.unprepare()
224
225 Overview of changes from libfolks 0.7.1 to libfolks 0.7.2
226 =========================================================
227
228 Dependencies:
229 • evolution-data-server ≥ 3.5.3.1
230
231 Bugs fixed:
232 • Bug 677166 — Salut personas survive disconnection
233 • Bug 678474 — potential-match should be smarter with accents
234 • Bug 678781 — memory leak in e-d-s backend
235 • Bug 678811 — Fix eds backend unit tests
236 • Bug 678734 — Add profiling API
237 • Bug 679020 — Fail to build master using vala master
238
239 API changes:
240 • Add profiling api
241
242 Overview of changes from libfolks 0.7.0 to libfolks 0.7.1
243 =========================================================
244
245 Dependencies:
246 • telepathy-glib ≥ 0.17.5
247 • libzeitgeist ≥ 0.3.14
248 • evolution-data-server ≥ 3.5.3
249 • GLib ≥ 2.26.0
250 • GConf dependency dropped
251 • intltool ≥ 0.50.0
252
253 Bugs fixed:
254 • Bug 674256 — telepathy-glib minimal version is insufficient
255 • Bug 647909 — Port Folks to GSettings
256 • Bug 663890 — @throws annotations missing for some functions
257 • Bug 675292 — Assertion when joining IRC channel
258 • Bug 676023 — Invalid read when preparing the aggregator
259 • Bug 627403 — Move default presence messages from Empathy to libfolks
260 • Bug 675121 — port Folks to eds api changes
261 • Bug 672709 — Add new interaction details properties to individuals
262
263 API changes:
264 • Add PresenceDetails.get_default_message_from_type()
265 • Add new Individual properties:
266     - im_interaction_count
267     - call_interaction_count
268     - last_im_interaction_timestamp
269     - last_call_interaction_timestamp
270 • Add InteractionDetails interface to report interactions with Personas and
271   Individuals
272
273 Overview of changes from libfolks 0.6.9 to libfolks 0.7.0
274 =========================================================
275
276 Major changes:
277 * Folks now uses the Connection.ContactList Telepathy spec. instead of the
278   deprecated Channel.ContactList. This means legacy Connection Managers
279   (notably telepathy-butterfly) are not supported any more .
280
281 Bugs fixed:
282 • Bug 658576 — Need API to get a FolksIndividual from his ID
283 • Bug 671662 — Renamed alias of Facebook contact is not saved
284 • Bug 630822 — Support Connection.Interface.ContactList API
285
286 API changes:
287 • Add IndividualAggregator.look_up_individual()
288
289 Overview of changes from libfolks 0.6.8 to libfolks 0.6.9
290 =============================================================
291
292 Dependencies:
293 • telepathy-glib ≥ 0.15.5
294
295 Bugs fixed:
296 • Bug 672980 — tp_account_get_protocol: assertion `TP_IS_ACCOUNT (account)' failed
297
298 Overview of changes from libfolks 0.6.7 to libfolks 0.6.8
299 =============================================================
300
301 Major changes:
302 * FOLKS_DEBUG has been removed in favour of G_MESSAGES_DEBUG (and the bug where
303   folks would set G_MESSAGES_DEBUG for any process linked to it has been fixed)
304 * A --disable-fatal-warnings configure flag has been added for non-developers
305 * Update favourite status of EDS contacts with membership of the ‘Starred in
306   Android’ Google Contacts group
307 * Improvements to linking suggestions (potential matches)
308 * Improvements to folks-inspect to make it a good command line citizen
309
310 Bugs fixed:
311 * Bug 670191 — IndividualAggregator::is-quiescent is never set to TRUE
312 * Bug 670523 — persona.vala:153:folks_persona_get_individual:
313   assertion failed: (_tmp6_)
314 * Bug 672381 — invalid uninstantiatable type `<invalid>' in cast to
315   `FolksIndividual'
316 * Bug 670347 — Check for null birthday strings
317 * Bug 661490 — Should mark contacts from the "Starred in Android" group as
318   Favorites
319 * Bug 671714 — Fail to add contact to the contact list
320 * Bug 672373 — folks-import segfaults (Archlinux x86_64)
321 * Bug 670348 — Handle Telepathy CMs crashing/being invalidated
322 * Bug 671900 — Folks should not suggest linking contacts from telepathy-salut
323 * Bug 670872 — Should be less sensitive to accentuated chars
324 * Bug 669984 — Does not notify when contacts are added to groups
325 * Bug 660235 — Consistent signal handlers to a terminal would be cool
326 * Bug 671499 — Don't set G_MESSAGES_DEBUG unconditionally
327
328 API changes:
329 * Add MatchResult.NONE enum member
330
331 Overview of changes from libfolks 0.6.6 to libfolks 0.6.7
332 =============================================================
333 Bugs fixed:
334 * Bug 666310 — Crash in Tracker backend by unsetting an entry in a read-only map
335 * Bug 666528 — Can't convert from type 'GFile' to 'gchararray'
336 * Bug 666540 — Segfault on empty e-mail addresses with potential match
337 * Bug 659610 — Support code coverage report generation
338 * Bug 657063 — Allow to pass a command to folks-inspect
339 * Bug 667410 — A second instance of the aggregator only fetch a small subset of
340   my contacts
341 * Bug 667535 — persona created by tpf_persona_dup_for_contact() outlives its
342   TpContact
343 * Bug 670196 — Disable GLib deprecation warnings
344 * Bug 668415 — Port to Vala 0.15.x
345
346 API changes:
347 * Add PostalAddress.is_empty() and Role.is_empty()
348
349 Overview of changes from libfolks 0.6.5 to libfolks 0.6.6
350 =============================================================
351 Bugs fixed:
352 * Bug 664158 — Stale log handler can cause segfault when re-creating Aggregator
353   in a single run
354 * Bug 663889 — crash due to NameDetails which fail to guarantee
355   non-null full-name/nickname
356 * Bug 665039 — Crash in folks_backends_sw_backend_add_service
357 * Bug 665728 — TpfPersonaStore: prepare() isn't mutually exclusive inside a
358   single thread
359 * Bug 665692 — Use constructors correctly
360 * Bug 665376 — Add API to get a TpfPersona from a TpContact
361
362 API changes:
363 * Add Edsf.PersonaStore.source
364 * Make Edsf.Persona.contact writeable on construct (previously private setter)
365 * Make Edsf.Persona.contact_id writeable on construct (previously private
366   setter)
367 * Add Swf.PersonaStore.service
368 * Make Swf.Persona.lsw_contact writeable on construct (previously private
369   setter)
370 * Add Trf.Persona.tracker_id
371 * Add Trf.Persona.cursor
372 * Make AbstractFieldDetails.value writeable on construct (previously just a
373   normal setter)
374 * Make AbstractFieldDetails.parameters writeable on construct (previously just a
375   normal setter)
376 * Add ObjectCache.type_id
377 * Add ObjectCache.id
378 * Add Tpf.PersonaStore.dup_for_account() and Tpf.Persona.dup_for_contact()
379
380 Overview of changes from libfolks 0.6.4.1 to libfolks 0.6.5
381 =============================================================
382 Bugs fixed:
383 * Bug 662285 — Error with email -> im_addresses when updating a contact
384 * Bug 662433 — AbstractFieldDetails.equal() is ambiguous about checking
385   parameters.
386 * Bug 660908 — Add favourites support to EDS backend
387 * Bug 662770 — ContactPhotos are ignored when mime type is null
388 * Bug 662616 — We should set mime type when setting an EContact's photo
389 * Bug 662274 — Failed to link personas: Can't link personas with no primary
390   store.
391 * Bug 662314 — Gnome-shell restarts if I change my user status to
392   disconnected/unavailable
393 * Bug 663798 — Add AbstractFieldDetails.value_type
394 * Bug 659585 — GLib-GIO-CRITICAL **: g_bus_unwatch_name: assertion
395   `watcher_id > 0' failed
396
397 API changes:
398 * Add AbstractFieldDetails.id to identify instances of details
399 * Deprecate PostalAddress.uid in favor of AbstractFieldDetails.id
400 * Deprecate NoteFieldDetails.uid in favor of AbstractFieldDetails.id
401 * Deprecate Role.uid in favor of AbstractFieldDetails.id
402 * Add AbstractFieldDetails.values_equal() to compare values (but not parameters)
403 * Implement FavouriteDetails on Edsf.Persona
404 * Add AbstractFieldDetails.value_type
405
406 Behavior changes:
407 * PostalAddress.equal() now ignores PostalAddress.uid
408 * NoteFieldDetails.equal() now ignores NoteFieldDetails.uid
409
410 Overview of changes from libfolks 0.6.4 to libfolks 0.6.4.1
411 =============================================================
412 Bugs fixed:
413 * Bug 662095 — so name of libfolks v 0.6.4 is lower than of libfolks v 0.6.3.x
414
415 Overview of changes from libfolks 0.6.3.2 to libfolks 0.6.4
416 =============================================================
417 Bugs fixed:
418 * Bug 660217 — folks-0.6.3.2 requires tracker-0.12, but configure.ac calls
419   VALA_CHECK_PACKAGES([tracker-sparql-0.12])
420 * Bug 657602 — Telepathy backend fails to set Personas' phone numbers from
421   ContactInfo
422 * Bug 660937 — [regression] build failure: No package 'gee-1.0' found
423 * Bug 661475 — string_strip: assertion `self != NULL' failed
424
425 API changes:
426 * Implement PhoneDetails on Tpf.Persona
427 * Implement NameDetails on Tpf.Persona
428 * Implement EmailDetails on Tpf.Persona
429 * Implement UrlDetails on Tpf.Persona
430 * Implement BirthdayDetails on Tpf.Persona
431 * Add PersonaStoreError.UNSUPPORTED_ON_NON_USER
432
433 Overview of changes from libfolks 0.6.3.1 to libfolks 0.6.3.2
434 =============================================================
435 Bugs fixed:
436 * Bug 660140 — contacts_contact_find_persona_from_store: assertion `store !=
437   NULL' failed
438 * Bug 659041 — tpf-persona-store.vala: try to connect to a NULL object
439 * Bug 660051 — require tracker 0.12
440
441 Overview of changes from libfolks 0.6.3 to libfolks 0.6.3.1
442 ===========================================================
443 Bugs fixed:
444 * Bug 658631 — Deprecate PersonaStore.can-[alias|group]-personas
445 * Bug 658002 — defective typelib
446 * Bug 659737 — tests fail due to usage of deprecated methods
447 * Bug 659732 — Gnome fails to load and crashes when the Evolution-exchange
448   plugin is configured
449
450 API changes:
451 * Deprecate Folks.PersonaStore.can_[alias, group]_personas.
452   Applications should use Folks.PersonaStore#always-writeable-properties
453   and Folks.Persona#writeable-properties to check availability of "alias"
454   and "groups" properties.
455
456 Overview of changes from libfolks 0.6.2.1 to libfolks 0.6.3
457 ===========================================================
458
459 Major changes:
460 * Cleanup of the definition of “writeable” which involves a couple of API
461   deprecations and additions, and some internal re-working.
462 * Beginnings of standardising TYPE values for AbstractFieldDetails
463
464 Bugs fixed:
465 * Bug 658631 — crash at empathy startup
466 * Bug 658331 — Ensure read-only PersonaStores have empty writeable-properties
467 * Bug 658874 — Typo?
468 * Bug 658730 — ngettext (Plural forms) needed for
469   "Imported %u buddies from '%s'."
470 * Bug 633781 — Allow to set avatar on individuals
471 * Bug 657142 — Automatically link e-d-s contacts with their contacts from
472   telepathy
473 * Bug 658002 — defective typelib
474 * Bug 657065 — Cache keeps around contacts from disabled accounts
475 * Bug 658323 — Deprecate FOLKS_WRITEABLE_STORE in favour of FOLKS_PRIMARY_STORE
476 * Bug 659095 — Don't distribute typelib file
477 * Bug 659128 — If a persona store goes away we don't remove its personas
478 * Bug 657141 — Backend should ask eds for the default backend, not hardcode it
479 * Bug 658531 — Sometimes avatar caching doesn't work
480 * Bug 658328 — Return PropertyError.NOT_WRITEABLE from Persona property setters
481   as appropriate
482 * Bug 646847 — We should rename _update () in Trf.Persona to something more less
483   misleading
484 * Bug 658161 — Consistently use “contact” in translatable strings instead of
485   “persona”
486 * Bug 657738 — Favorite people are not always displayed
487 * Bug 653623 — Would like a set of standard "type" parameters for UrlDetails
488
489 API changes:
490 * Individual.avatar is now settable using Individual.change_avatar() (not new
491   API, but it no longer always returns an error)
492 * We now use the FOLKS_PRIMARY_STORE env var instead of FOLKS_WRITEABLE_STORE
493   to configure the primary store
494 * Deprecate Folks.PersonaStore.is_writeable
495 * Add Folks.PersonaStore.is_primary_store
496 * Add Folks.IndividualAggregatorError.NO_PRIMARY_STORE
497 * In IndividualAggregator.ensure_individual_property_writeable we now throw
498   NO_PRIMARY_STORE instead of NO_WRITEABLE_STORE
499 * Add Folks.PersonaStore.user_set_default
500 * Add AbstractFieldDetails.PARAM_TYPE, .PARAM_TYPE_HOME, .PARAM_TYPE_WORK,
501   .PARAM_TYPE_OTHER
502 * Add UrlFieldDetails.PARAM_TYPE_HOME_PAGE, .PARAM_TYPE_BLOG,
503   .PARAM_TYPE_PROFILE, .PARAM_TYPE_FTP
504
505 Overview of changes from libfolks 0.6.2 to libfolks 0.6.2.1
506 ===========================================================
507
508 Bugs fixed:
509 * Bug 658580 — Assertion in gee_hash_map_node_iterator_next with folks 0.6.2
510
511 Overview of changes from libfolks 0.6.1 to libfolks 0.6.2
512 =========================================================
513
514 Bugs fixed:
515 * Bug 645056 — TpLowlevel library should have only static public functions
516 * Bug 653777 — Would be nice to have a helper function to create a writable
517   persona
518 * Bug 657635 — Linking personas from different (e-d-s) stores is not working
519 * Bug 657510 — Add asynchronous property setter methods
520 * Bug 656184 — Add is-quiescent property
521 * Bug 657971 — Need BirthdayDetails support in eds backend
522 * Bug 657789 — Don't claim uneditable eds fields as writable
523 * Bug 657282 — Add an IndividualAggregator.individuals_changed_detailed signal
524 * Bug 657969 — Support RoleDetails in eds backend
525 * Bug 657783 — Prefer data from primary store when picking Individual values
526 * Bug 658411 — Only emit notifications for linkable properties if they've
527   actually changed
528 * Bug 656689 — Re-link personas on linkable properties being changed
529
530 API changes:
531 * Add PersonaStore:always-writeable-properties property
532 * Add IndividualAggregatorError.PROPERTY_NOT_WRITEABLE error
533 * Add IndividualAggregator.ensure_individual_property_writeable()
534 * Add Folks.PropertyError
535 * Add *Details.change_*() virtual methods
536 * Add IndividualAggregator:is-quiescent, Backend:is-quiescent and
537   PersonaStore:is-quiescent
538 * Add PersonaDetail.GROUPS and PersonaDetail.INVALID
539 * Add IndividualAggregator.individuals_changed_detailed and deprecate
540   IndividualAggregator.individuals_changed (but not remove or break it)
541
542 Overview of changes from libfolks 0.6.0 to libfolks 0.6.1
543 =========================================================
544
545 Bugs fixed:
546 * Bug 656659 — Use vcards for postal addresses
547 * Bug 655374 — Un-break avatar tests
548 * Bug 657067 — Can't build EDS backend using Vala master
549 * Bug 657332 — Add linking link-individuals
550
551 Overview of changes from libfolks 0.5.2 to libfolks 0.6.0
552 =========================================================
553
554 Bugs fixed:
555 * Bug 649925 — expose SocialWebClient.Contact in Swf.Persona
556 * Bug 646244 — Incomplete logic to handle attribute updates in Folks.Individual
557 * Bug 652463 — Tidy up CLEANFILES
558 * Bug 652434 — Add ability to run any tests through gdb
559 * Bug 648071 — Add support for presence status from Telepathy
560 * Bug 652472 — Handle failure in getting the logger service better
561 * Bug 629716 — Migrate Folks to GDBus
562 * Bug 652660 — Make Individual.id more stable and well-defined
563 * Bug 652449 — Folks.Individual's property getters should be read only
564 * Bug 653325 — Build system does not complain if trying to build docs without
565   vala-doc installed
566 * Bug 653746 — mismatch between hash and equals in Note
567 * Bug 638281 — Add an EDS backend
568 * Bug 654509 — Folks master not building
569 * Bug 652048 — Make nickname writable
570 * Bug 652425 — Failure codes for removing personas needed in PersonaStoreError
571 * Bug 645549 — Add a way to get the individual from a persona
572 * Bug 650422 — Add API for easily checking whether details are writeable
573 * Bug 655019 — Don't notify twice for nickname changes
574 * Bug 650414 — Need better APIs to handle image data
575 * Bug 652643 — Add PersonaStore cache
576 * Bug 655510 — Make truly-writeable *Details property setters public
577 * Bug 654907 — The writable store shouldn't be set by type_id
578 * Bug 655745 — Implement read/write support for gender property
579 * Bug 649296 — Folks backend files shouldn't begin with "lib"
580 * Bug 652657 — Allow writing to properties of all personas
581 * Bug 655008 — Tidy up error handling in eds backend
582 * Bug 653619 — Add company details
583 * Bug 653679 — Change PostalAddressDetails.postal_addresses to support
584   vCard-like arbitrary parameters
585 * Bug 653680 — Change ImDetails.im_addresses to support vCard-like arbitrary
586   parameters
587 * Bug 655917 — Rebase EmailDetails.email_addresses upon an
588   AbstractFieldDetails-derived class
589 * Bug 655374 — Un-break avatar tests
590 * Bug 655919 — Rebase NoteDetails.notes upon an AbstractFieldDetails-derived
591   class
592 * Bug 655920 — Rebase PhoneDetails.numbers upon an AbstractFieldDetails-derived
593   class
594 * Bug 653682 — Change WebServiceDetails.web_service_addresses to support
595   vCard-like arbitrary parameters
596 * Bug 655921 — Change RoleDetails.roles to support vCard-like arbitrary
597   parameters
598 * Bug 655922 — Rebase UrlDetails.urls upon an AbstractFieldDetails-derived class
599 * Bug 648818 — Support the EDS backend being a primary
600 * Bug 655609 — Implement setter for URLs
601
602 API changes:
603 * Swf.Persona retains and exposes its libsocialweb Contact
604 * Add a PresenceDetails.presence_status property
605 * Make NameDetails.nickname settable
606 * Drop AliasDetails support from Trf.Persona
607 * Add PersonaStoreError.PERMISSION_DENIED and PersonaStoreError.REMOVE_FAILED
608 * Change the error domain of PersonaStore.remove_persona() from GLib.Error to
609   Folks.PersonaStoreError
610 * Add a Persona.individual property
611 * Add a Persona.writeable_properties property and implement it in all the
612   Persona subclasses
613 * Make BirthdayDetails.calendar_event_id nullable
614 * Make Folks.Utils public and add Gee structure equality functions
615 * AvatarDetails.avatar is now of type LoadableIcon?
616 * Add AvatarCache class
617 * Add ObjectCache class
618 * Remove leaked internal PotentialMatch.result_to_string() method
619 * Add RoleDetails:role property
620 * Rebase FieldDetails upon AbstractFieldDetails (requiring the use of the
621   equivalent AbstractFieldDetails functions in place of the FieldDetails ones).
622 * Add AbstractFieldDetails.equal() and hash() for better matching on structures
623   which will store derived objects.
624 * Add parameters as an optional argument for the FieldDetails constructor
625 * Use PostalAddressFieldDetails for PostalAddressDetails.postal_addresses
626 * Remove PostalAddress.types (obsoleted by PostalAddressFieldDetails.parameters)
627 * Add and use ImFieldDetails for ImDetails.im_addresses
628 * Add and use EmailFieldDetails for EmailFieldDetails.email_addresses
629 * Add and use NoteFieldDetails for NoteFieldDetails.notes
630 * Remove Note class (obsoleted by NoteFieldDetails)
631 * Add and use PhoneFieldDetails for PhoneFieldDetails.phone_numbers
632 * Remove all PhoneDetails functions (obsoleted by PhoneFieldDetails)
633 * Add and use WebServiceFieldDetails for
634   WebServiceFieldDetails.web_service_addresses
635 * Use RoleFieldDetails for RoleDetails.roles
636 * Use UrlFieldDetails for UrlDetails.urls
637
638 Overview of changes from libfolks 0.5.1 to libfolks 0.5.2
639 =========================================================
640
641 Bugs fixed:
642 * Bug 650067 — Tracker backend warns when setting a NULL avatar (ie, unsetting
643   the avatar)
644 * Bug 650268 — build failure: "--vapidir=.: command not found"
645
646 Overview of changes from libfolks 0.5.0 to libfolks 0.5.1
647 =========================================================
648
649 Bugs fixed:
650 * Bug 645388 — Group channels are leaked
651 * Bug 647562 — Don't crash on duplicate group channels
652 * Bug 647121 — Crash in individual_store_contact_sort at
653   empathy-individual-store.c line 1387
654 * Bug 645684 — Implement Iterator on LinkedHashSet
655 * Bug 640092 — Folks should minimize use of GLib.List (including its public API)
656 * Bug 648161 — Add GObject Introspection Support
657 * Bug 645186 — Make sure all connect() calls have appropriate disconnect() calls
658 * Bug 648533 — Add runtime debug signalling
659 * Bug 649790 — Vala uses the wrong includes
660 * Bug 649088 — Combining contacts doesn't work with german Umlauts
661
662 API changes:
663 * LinkedHashSet.list_iterator() is now disallowed (causes an assertion failure)
664 * LinkedHashSet.iterator() now returns a BidirIterator instead of just an
665   Iterator
666 * ImDetails.im_addresses is now of type MultiMap<string, string>
667 * WebServiceDetails.web_service_addresses is now of type
668   MultiMap<string, string>
669 * Removed LinkedHashSet in favour of Gee.HashSet
670 * Backend.persona_stores is now of type Map<string, PersonaStore>
671 * GroupDetails.groups is now of type Set<string>
672 * FieldDetails.parameters is now of type MultiMap<string, string>
673 * FieldDetails.get_parameter_values() now returns type Collection<string>
674 * FieldDetails.extend_parameters() now takes type MultiMap<string, string>
675 * PostalAddressDetails.postal_addresses is now of type Set<PostalAddress>
676 * EmailDetails.email_addresses is now of type Set<FieldDetails>
677 * PhoneDetails.phone_numbers is now of type Set<FieldDetails>
678 * UrlDetails.urls is now of type Set<FieldDetails>
679 * BackendStore.enabled_backends now has type Map<string, Backend>
680   - The corresponding C function folks_backend_store_dup_enabled_backends()
681     has been renamed folks_backend_store_get_enabled_backends(), and no longer
682     returns an owned variable.
683 * Individual.personas now has type Set<Persona>
684 * Individual.personas_changed now uses Set<Persona>-typed parameters
685 * PersonaStore.personas_changed now uses Set<Persona>-typed parameters
686 * IndividualAggregator.individuals_changed now uses
687   Set<Individual>-typed parameters
688 * IndividualAggregator.link_personas() now takes a Set<Persona>
689 * IndividualAggregator.get_all_potential_matches() now returns a
690   Map<Individual, Map<Individual, MatchResult>>
691 * IndividualAggregator.get_potential_matches() now returns a
692   Map<Individual, MatchResult>
693 * IndividualAggregator.individuals now has type Map<string, Individual>
694 * PersonaStore.personas now has type Map<string, Persona>
695 * LocalIdDetails.local_ids now has type Set<string>
696 * NoteDetails.notes now has type Set<Note>
697 * RoleDetails.roles now has type Set<Role>
698 * PotentialMatch.known_email_aliases now has type Set<string>
699 * PostalAddress.types now has type Set<string>
700 * Add Folks.Debug debug controller class
701 * All pc-files now only add the $includedir to the cflags, so all includes
702   must be of the form <folks/*.h>
703
704 Overview of changes from libfolks 0.4.0 to libfolks 0.5.0
705 =========================================================
706
707 Major changes:
708 * Add support to change primary (writeable) store either via
709   GConf or an env variable (bug 645441).
710 * Bumped Vala dependency to 0.12.0 for bug #646345
711
712 Bugs fixed:
713 * Bug 644968 - _update_phone_numbers() needs to create copies
714   of each List<FieldDetails>
715 * Bug 644966 - _update_emails () needs to create copies of each
716   List<FieldDetails>
717 * Bug 644527 - Add a Tracker backend
718 * Bug 645430 - folks-inspect: Use LinkedHashSet to access im-addresses
719 * Bug 645411 - folks-import segfaults on startup
720 * Crasher when removing Personas
721 * Crasher when reconnecting a Telepathy account
722 * Bug 645680 — Use random integer IDs for Kf.Personas
723 * Bug 645475 — Linker warnings for Tracker backend tests
724 * Bug 645570 — Fix checks for empty and equal StructuredNames
725 * Bug 645989 — Ensure add_persona_from_details handles the basic attribute
726 * Bug 645413 — Write support for Tracker
727 * Bug 645441 — Mechanism to specify primary backend
728 * Bug 638280 — Add a libsocialweb backend
729 * Deal with duplicated phones/e-mails in Tracker
730 * Bug 646944 — Fix libsocialweb updates and removals of contacts
731 * Bug 644867 — add interface for linkable web service contact UIDs
732 * Bug 647168 — print the "web-service-addresses" property correctly
733 * Bug 646831 — Setting an existing phone number or e-mail address on a
734   Trf.Persona fails
735 * Bug 647298 — folks-inspect gets SIGSEGV when trying to auto-complete
736   parameters
737 * Bug 646948 — Support for potential matches
738
739 API changes:
740 * Add equal () to StructuredName
741 * Add detail_key () along with an enum PersonaDetail to PersonaStore
742   which together define the basic attributes that should be supported
743   by add_persona_from_details ().
744 * Add public primary_store to IndividualAggregator
745 * Add LocalIdDetails interface for linking Personas based on local address book
746   IDs (such as for the Tracker backend Personas)
747 * Add WebServiceDetails interface for linking Personas based on web service
748   accounts (such as for the libsocialweb backend Personas)
749 * Add PotentialMatch class and IndividualAggregator.get_potential_matches() and
750   IndividualAggregator.get_all_potential_matches() to suggest Individuals that
751   may match the given Individual or all potential matches, respectively.
752
753 Overview of changes from libfolks 0.3.6 to libfolks 0.4.0
754 =========================================================
755
756 Bugs fixed:
757 * Bug 642351 — BACKEND_STORE_KEY_FILE format should support a wildcard entry
758 * Bug 643241 — _update_urls () needs to create copies of each
759   List<FieldDetails>
760 * Bug 643247 — Folks needs C API documentation
761 * Bug 643201 — folks-inspect can't handle properties which are
762   List<FieldDetails>
763 * Bug 642866 — tp-lowlevel leaks TpChannel
764 * Bug 642861 — FolksLinkedHashSet still alive when exiting Empathy
765 * Bug 642493 — Folks needs API for specifying a contact's organisation
766 * Bug 642500 — Folks needs API for specifying a contact's birthday
767 * Bug 642501 — Folks needs API for attaching notes to a Contact
768 * Bug 641210 — Add interface for postal addresses
769 * Bug 643956 — Use the correct signal name for postal addresses
770 * Bug 643954 — Add to_string () to PostalAddress class
771 * Bug 643955 — Add to_string () to RoleOwner class
772 * Bug 643957 — Deal handle birthday and postal-addresses.
773 * Bug 644457 — Handle structured names
774 * Bug 644165 — An individual's avatar shouldn't be replaced by a null avatar
775
776 API changes:
777 * Add RoleDetails interface
778 * Add BirthdayDetails interface
779 * Add NoteDetails interface
780 * Add PostalAddressDetails interface
781 * Rename Aliasable -> AliasDetails
782 * Rename AvatarOwner -> AvatarDetails
783 * Rename Emailable -> EmailDetails
784 * Rename Favouritable -> FavouriteDetails
785 * Rename GenderOwner -> GenderDetails
786 * Rename Groupable -> GroupDetails
787 * Rename IMable -> ImDetails
788 * Rename NameOwner -> NameDetails
789 * Rename Phoneable -> PhoneDetails
790 * Rename PresenceOwner -> PresenceDetails
791 * Rename Urlable -> UrlDetails
792
793 Overview of changes from libfolks 0.3.5 to libfolks 0.3.6
794 =========================================================
795
796 This is just a repackaging of libfolks 0.3.5 with some documentation comment
797 version numbers fixed.
798
799 Overview of changes from libfolks 0.3.4 to libfolks 0.3.5
800 =========================================================
801
802 Major changes:
803 * Various API breaks and improvements, especially in the IndividualAggregator
804 * Add various new interfaces: NameOwner, FieldDetails, Urlable, GenderOwner,
805   Phoneable and Emailable
806
807 API changes:
808 * Add NameOwner interface
809 * Add FieldDetails interface
810 * Add Urlable interface
811 * Add GenderOwner interface
812 * Add Phoneable interface
813 * Add Emailable interface
814 * Add Tpf.Persona.is_in_contact_list
815 * Rename the URLable interface to Urlable
816 * Take a PersonaStore in IndividualAggregator.add_persona_from_details
817 * Remove IndividualAggregatorError.STORE_NOT_FOUND
818 * Rename the getter for BackendStore.enabled_backends from
819   folks_backend_store_get_enabled_backends() to
820   folks_backend_store_dup_enabled_backends()
821 * Rename BackendStore.get_backend_by_name() to .dup_backend_by_name()
822
823 Bugs fixed:
824 * Bug 640901 — Allow it to be determined whether a user Tpf.Persona is in the
825   contact list
826 * Bug 641780 — Incorrect C function names for URLable interface
827 * Bug 629078 — Folks needs a full API review to take advantage of our
828   compatibility break in 0.2.x
829 * Bug 642036 — No way to pass a message when adding a contact
830
831 Overview of changes from libfolks 0.3.3 to libfolks 0.3.4
832 =========================================================
833
834 Major changes:
835 * Add folks-inspect tool
836 * The use of the new LinkedHashSet type in the API may make libgee a requirement
837   for some clients (to take full advantage of its class lineage).
838
839 API changes:
840 * New type: LinkedHashSet, similar to Gee.HashSet, but ordered.
841 * IMable.im_addresses is now a mapping of string to LinkedHashSet.
842 * Rename the HasAvatar interface to AvatarOwner
843 * Rename the HasPresence interface to PresenceOwner
844
845 Bugs fixed:
846 * Bug 637240 — libfolks-telepathy.so exports private symbols
847 * Bug 638311 — Add a HACKING file that outlines development policies and
848   coding style
849 * Bug 629083 — Review coding conventions in folks
850 * Bug 629075 — Add folks command line application
851 * Bug 638609 — libfolks hard-codes backend names for debugging
852 * Bug 639195 — Print stack traces for failed tests to improve remote
853   debugging
854 * Bug 639113 — Add static aggregation tests
855 * Bug 639742 — Logger service unavailable in make check
856 * Bug 640213 — Add tests for LinkedHashSet
857 * Bug 627397 — Use better interface names
858
859 Overview of changes from libfolks 0.3.2 to libfolks 0.3.3
860 =========================================================
861
862 Major changes:
863 * Fix some minor leaks
864 * Add support for building gtk-doc documentation for the C API
865 * Fix some related documentation problems
866 * Fix some Vala problems caused by differences between Vala 0.10 and 0.12
867 * Finish off renaming interfaces (this is an API break; see below)
868 * Don't trust personas from IRC
869 * Handle invalid IM addresses more gracefully than with an assertion failure
870 * Fix a linking problem with the user's individual when going offline which
871   could lead to infinite loops
872
873 API changes:
874 * Rename the Avatar interface to HasAvatar
875 * Rename the Presence interface to HasPresence
876 * Rename the Favourite interface to Favouritable
877 * Add IMableError
878 * Throw IMableError from IMable.normalise_im_address()
879
880 Bugs fixed:
881 * Bug 635178 — Leak in
882   folks_tp_lowlevel_connection_open_contact_list_channel_async
883 * Bug 635649 — autopoint fails to run
884 * Bug 635703 — Leak in connection_get_requestable_channel_classes_cb
885 * Bug 635823 — [PATCH] telepathy test not linking against GIO
886 * Bug 636251 — Fails to add contact
887 * Bug 629526 — Generate gtk-doc documentation
888 * Bug 627397 — Use better interface names
889 * Bug 636714 — Assertion failure on invalid IM address
890 * Bug 637136 — Infinite loop when disconnecting accounts
891
892 Overview of changes from libfolks 0.3.1 to libfolks 0.3.2
893 ==========================================================
894
895 Major changes:
896 * BackendStore.load_backends() now (un)loads backends which have been
897   (dis|en)abled since the last call
898 * FOLKS_BACKEND_DIR has been replaced by FOLKS_BACKEND_PATH. It accepts any
899   number of files and directories, separated by :
900 * Significantly clean up the build system
901
902 API changes:
903 * Added BackendStore.prepare() and BackendStore::is-prepared
904 * Add BackendStore.enable_backend().
905 * Add BackendStore.disable_backend().
906 * Add BackendStore.unprepare().
907 * Remove casting convenience methods on Individual (casting isn't hard)
908 * Change the visibility of the setters of PersonaStore.type_id,
909   PersonaStore.display_name, PersonaStore.id, Backend.name,
910   Backend.persona_stores and Persona.linkable_properties. This removes the
911   corresponding C setter methods which should never have been exposed
912 * Remove Tpf.PersonaError
913 * Remove the exception from the Tpf.Persona constructor
914
915 Bugs fixed:
916 * Bug 629081 — Add API to allow specific backends to be disabled
917 * Bug 629862 — Add tests for the key-file backend
918 * Bug 628883 — Add localisation support
919 * Bug 633718 — Make the Folks releases buildable without vala, valadoc, or
920   g-i
921 * Bug 633080 — Crash when disconnecting twice
922
923 Overview of changes from libfolks 0.3.0 to libfolks 0.3.1
924 ==========================================================
925
926 Major changes:
927 * Tpf.Persona.contact is now guaranteed to have the client type feature
928
929 API changes:
930 * Add the PersonaStore:can-add-personas property
931 * Add the PersonaStore:can-remove-personas property
932 * Add the PersonaStore:can-alias-personas property
933 * Add the PersonaStore:can-group-personas property
934 * Make Individual implement the IMable interface
935
936 Bugs fixed:
937 * Bug 630431 — notify::alias is never emitted
938 * Bug 631864 — Crash when empathy disconnects
939 * Bug 632096 — build failure: contact-retrieval.o: undefined reference to
940   symbol 'gee_abstract_collection_add'
941 * Bug 632163 — Folks key-file backend needs a way to point to a specific
942   .ini file
943 * Bug 632564 — assertion `EMPATHY_IS_CONTACT (contact)' failed in
944   individual_store_contact_sort
945
946 Overview of changes from libfolks 0.1.17 to libfolks 0.3.0
947 ==========================================================
948
949 Major changes:
950 * Fixed some linking problems
951 * Added some missing documentation
952 * Fixed build problems introduced by switching to gobject-introspection 0.9.6
953   (i.e. GIR format 1.2)
954 * Bumped telepathy-glib dependency to 0.11.16
955 * Bumped Vala dependency to 0.10.0
956 * Bumped gobject-introspection dependency to 0.9.6
957 * Ensured IM addresses are normalised before being compared
958 * Made the folks-import build optional through a configure argument
959 * Added support for a “self” individual
960 * Added support for generating and installing Devhelp format documentation
961 * BackendStore.load_backends and the prepare() functions are now idempotent
962 * Tpf.Persona.contact is now guaranteed to have the avatar token and data
963   features
964 * Tpf.Persona.contact is now guaranteed to have the capabilities feature
965
966 API changes:
967 * Added IMable.normalise_im_address()
968 * Renamed Groups interface to Groupable
969 * Renamed Alias interface to Aliasable
970 * Removed BackendStore constructor
971 * Added BackendStore.dup()
972 * Added BackendStore::enabled-backends
973 * Added Individual::is-user
974 * Added Persona::is-user
975 * Added IndividualAggregator::user
976 * Added PersonaStoreError.UNSUPPORTED_ON_USER
977 * Added {IndividualAggregator, PersonaStoreError}.STORE_OFFLINE, used by the
978   respective add_persona_from_details() functions
979
980 Bugs fixed:
981 * Bug 629452 — [Patch] Add missing gio linking for import-tool
982 * Bug 626008 — Add @since lines to all symbols
983 * Bug 629311 — Folks should normalize IDs written to the writable backend
984 * Bug 629644 — Key file backend cannot be loaded because of linking problems
985 * Bug 629666 — libfolks should not hard autodetect libxml
986 * Bug 628970 — Folks API needs a way to determine whether a specific type of
987   PersonaStore is available
988 * Bug 629096 — Add a library init function
989 * Bug 627402 — Support marking FolksPersonas as "me"
990 * Bug 629642 — individuals-changed emitted in the wrong order
991 * Bug 629643 — do not fall back to the id if alias is empty
992 * Bug 629006 — PersonaStore should gracefully handle offline Persona change
993   attempts
994 * Bug 629331 — BackendStore.load_backends and the prepare() functions should
995   be idempotent.
996 * Bug 629008 — Add a test for Persona additions
997 * Bug 630347 — Avatars are always NULL
998
999 Overview of changes from libfolks 0.1.16 to libfolks 0.1.17
1000 ===========================================================
1001
1002 Major changes:
1003 * Added a basic test suite
1004 * Cleaned up the build system
1005 * Ensured the public libraries' VAPI files are distributed and installed
1006 * Prevented the key-file from being saved unnecessarily
1007 * Fixed multi-byte character handling in the key-file backend
1008 * Ensured account removal and invalidation is handled in the Telepathy backend
1009 * Prevented a hang when creating relationships.ini in certain situations
1010 * Added a folks-import tool to import meta-contact data from Pidgin; this adds
1011   a dependency on libxml
1012
1013 API changes:
1014 * Added PersonaStore.flush()
1015
1016 Bugs fixed:
1017 * Bug 628930 — folks crahses empathy on relationships.ini read
1018 * Bug 629082 — Empathy crashes when toggling "Ignore SSL certificate errors"
1019   checkbox
1020 * Bug 628853 — hangs if there's no relationships.ini file
1021 * Bug 629084 — Add a folks-import tool
1022
1023 Overview of changes from libfolks 0.1.15 to libfolks 0.1.16
1024 ===========================================================
1025
1026 Major changes:
1027 * Added more debugging output
1028 * Fixed various small outputted code bugs
1029 * Fixed problem where key file groups would be overwritten in some situations
1030 * Fixed various signal emission problems
1031 * Prevented changes to Personas' properties from being propagated back up to the
1032   Individuals
1033 * Limited libgee dependency to < 0.7 due to API changes in libgee
1034 * Added a FOLKS_DISABLE_LINKING environment variable to disable linking (for
1035   debugging purposes)
1036
1037 Bugs fixed:
1038 * Bug 628108 — Favorite contacts are not save any more
1039 * Bug 628294 — Some contacts appear to be linked together while they shouldn't
1040 * Bug 628305 — Signal removal of Individuals containing untrusted Personas
1041 * Bug 628131 — error message when trying to link ICQ with jabber
1042 * Bug 628343 — Add an environment variable to disable linking
1043 * Bug 628335 — Assertion error with master
1044
1045 Overview of changes from libfolks 0.1.14.1 to libfolks 0.1.15
1046 =============================================================
1047
1048 Major changes:
1049 * Fixed various build problems
1050 * Ensured duplicate entries don't appear in various sets
1051 * Made gobject-introspection dependency explicit
1052 * Limited libgee dependency to <= 0.5.2 due to API changes in libgee
1053 * Reworked some of the Individual internals to make notifications more efficient
1054 * Added the concept of an Individual's “trust level”
1055 * Changed alias fallbacks to fall back to a display ID instead of a UID
1056 * Added support for storing aliases in the key-file backend and use them in
1057   preference to aliases from other Personas in an Individual
1058
1059 API changes:
1060 * Added Individual:personas-changed
1061 * Added TrustLevel enum
1062 * Added Individual::trust-level
1063 * Implemented Alias on Kf.Persona
1064
1065 Bugs fixed:
1066 * Bug 627314 — folks cannot be install in gentoo sandbox
1067 * Bug 627506 — Require gobject-introspection
1068 * Bug 626725 — Add an Individual.personas_changed signal
1069 * Bug 627968 — Add Individual.trust_level property
1070 * Bug 626578 — Use vala's vala.m4 to check for telepathy-glib(.vapi)
1071 * Bug 626410 — contacts show up with a weird alias
1072 * Bug 627508 — Store alias and groups in the key-file backend
1073 * Bug 627898 — Fails to install with -j4
1074
1075 Overview of changes from libfolks 0.1.14 to libfolks 0.1.14.1
1076 =============================================================
1077
1078 Major changes:
1079 * Bumped Vala dependency to 0.9.6
1080 * Fixed some more warning spew
1081
1082 Overview of changes from libfolks 0.1.13 to libfolks 0.1.14
1083 ===========================================================
1084
1085 Major changes:
1086 * Changed Vala detection code to use the correct macro
1087 * Bumped Vala dependency to 0.9.5
1088 * Removed some more message spew
1089 * Changed tp-lowlevel Vala bindings to be generated using gobject-introspection
1090 * Added optional dependency on gobject-introspection 0.6.7
1091
1092 Overview of changes from libfolks 0.1.12 to libfolks 0.1.13
1093 ===========================================================
1094
1095 Major changes:
1096 * Added the concept of “linkable properties”
1097 * Added the IMable interface
1098 * Added the concept of persona store “trust”
1099 * Added a writeable key-file backend
1100 * Added linking support to the IndividualAggregator
1101 * Tidied up ID handling in the backends
1102 * Warn if a backend's MIME type could not be determined, notifying the user if
1103   libfolks can't load backends due to shared-mime-info not being installed
1104 * Hint to clients the Individual replacing a removed Individual (if any)
1105 * Exposed Telepathy contacts' IM addresses using the IMable interface
1106 * Fixed some build and dependency issues
1107 * Bumped telepathy-glib dependency to 0.11.11 and dropped dependency on
1108   telepathy-vala
1109 * Added the concept of “writeable” PersonaStores and use this concept to prevent
1110   properties being synchronised between PersonaStores unnecessarily (and
1111   potentially even destructively)
1112
1113 API changes:
1114 * Added Persona::linkable-properties
1115 * Added IMable interface
1116 * Added PersonaStoreTrust enum
1117 * Added PersonaStore::trust-level
1118 * Added Persona.LinkablePropertyCallback()
1119 * Added Persona.linkable_property_to_links()
1120 * Added Persona.build_uid()
1121 * Added Persona.split_uid()
1122 * Added Persona::display-id
1123 * Added PersonaStore::display-name
1124 * Added replacement_individual parameter to Individual:removed
1125 * Implemented IMable on Tpf.Persona
1126 * Added IndividualAggregatorError.NO_WRITEABLE_STORE
1127 * Added IndividualAggregator.link_personas()
1128 * Added IndividualAggregator.unlink_individual()
1129 * Added PersonaStore::is-writeable
1130
1131 Bugs fixed:
1132 * Bug 625830 — Adding an existing contact to the tp backend results in bogus
1133   warnings
1134 * Bug 626108 — Defining XDG_DATA_DIRS prevents backends from being loaded
1135
1136 Overview of changes from libfolks 0.1.11 to libfolks 0.1.12
1137 ===========================================================
1138
1139 Major changes:
1140 * Added debug flags support using the FOLKS_DEBUG environment variable
1141 * Removed various bits of message and warning spew
1142 * Bumped Vala dependency to 0.9.4
1143 * Ensured connections which are ready as soon as they're connected are handled
1144   correctly
1145 * Versioned the installed backends using the main library's libtool version
1146
1147 Bugs fixed:
1148 * Bug 625815 — No contat showed in the contact list
1149
1150 Overview of changes from libfolks 0.1.10 to libfolks 0.1.11
1151 ===========================================================
1152
1153 Major changes:
1154 * Moved various bits of preparation code out into async prepare() methods to
1155   avoid race conditions on startup
1156 * Reset TpfPersonaStore state when going offline
1157 * Made several methods async which could potentially require it in future
1158 * Added error throws to various functions which could potentially fail in future
1159
1160 API changes:
1161 * Added PersonaStore.prepare()
1162 * Added Backend.prepare()
1163 * Removed error thrown from Backend constructor
1164 * Added IndividualAggregator.prepare()
1165 * Changed return type of Presence.is_online() from uint to int
1166 * Made IndividualAggregator.remove_individual() async
1167 * Made PersonaStore.remove_persona() async
1168 * Added an error throw to BackendStore.load_backends()
1169 * Added an error throw to IndividualAggregator.prepare()
1170 * Added an error throw to IndividualAggregator.remove_individual()
1171 * Added an error throw to IndividualAggregator.remove_persona()
1172 * Added an error throw to PersonaStore.remove_persona()
1173 * Made Groups.change_group() async
1174 * Made Groups:group-changed async
1175
1176 Overview of changes from libfolks 0.1.9 to libfolks 0.1.10
1177 ==========================================================
1178
1179 Major changes:
1180 * Fixed various memory and reference leaks
1181 * Lots of build system improvements
1182 * Added a libtool version to the installed libraries
1183
1184 Initial release of libfolks 0.1.9
1185 =================================
1186
1187 Major changes:
1188 * Move to GNOME infrastructure