Overview of changes from libfolks 0.9.6 to libfolks 0.9.7 ========================================================= Dependencies: Major changes: • Add a dummy backend Bugs fixed: • Bug 651672 — Individual should have a display-name property • Bug 648811 — Add a dummy backend • Bug 720707 — New strings partly not translatable • Bug 722335 — non-void function should return a value • Bug 723054 - edsf-persona.vala:1666.21-1666.79: error: Reference transfer not supported for this expression • Bug 723540 — standalone-individuals test failing with master • Bug 724339 — vala.m4: don't keep generated files in git • Bug 724809 — Fail to unset contact favorite • Bug 722892 — Linking personas on Dummy backend does not work API changes: • Add Individual.display_name • Add StructuredName.to_string_with_format() • Add libfolks-dummy.la and all its symbols • Add IndividualAggregator.backend_store Overview of changes from libfolks 0.9.5 to libfolks 0.9.6 ========================================================= Dependencies: • GLib ≥ 2.38.2 • Vala ≥ 0.22.0.28-9090 Major changes: • Add a BlueZ backend • Use Vala to generate GIR files, fixing a number of bugs • Various build system and testing improvements Bugs fixed: • Bug 706683 — fails to build with Vala 0.20 • Bug 706826 — build fails due to missing IT_PROG_INTLTOOL macro • Made docs buildable again (work around bgo#706857) • Bug 705608 — FolksTelepathy: tpf_persona_get_contact: return value: Missing (transfer) annotation • Bug 697262 — uses deprecated e-d-s functions (Xavier) • Bug 705403 — Use GLib.BytesIcon instead of Edsf.MemoryIcon • Bug 679826 — Investigate using parallel-tests to speed up testing • Bug 709674 — Ignore non-phonebook-enabled modems in ofono backend • Bug 697209 — Individual: connect to Persona::notify less enthusiastically • Bug 710178 — Skip whitespace between oFono vCards • Bug 682698 — const string[] not NULL terminated; crashes in GBoxed property getter (workaround) • Avoid useless string copies when normalizing phone numbers, and make the implementation respect the algorithm described in http://blog.barisione.org/2010-06/handling-phone-numbers • Bug 710869 — Disable some GCC warnings for generated C code • Bug 708059 — build failure: fatal error: folks/folks.h: No such file or directory • Bug 685848 — Add a folks backend for bluez phonebook access • Bug 711403 — Tidy up error handling in oFono backend • Bug 711406 — Don’t expose blocked BlueZ devices as persona stores Overview of changes from libfolks 0.9.4 to libfolks 0.9.5 ========================================================= Dependencies: Major changes: • Multiple IndividualAggregator instances are now not officially supported. Clients should use the new IndividualAggregator.dup constructor to retrieve the default aggregator singleton. The default IndividualAggregator constructor and IndividualAggregator.with_backend_store are now deprecated. Bugs fixed: • Bug 705289 — Crash when removing an individual with 2 aggregators instantiated • Bug 706532 — folks_small_set_copy() does not always return value API changes: • Add IndividualAggregator.dup constructor • Add IndividualAggregator.dup_with_backend_store constructor Overview of changes from libfolks 0.9.3 to libfolks 0.9.4 ========================================================= Dependencies: • libebook-1.2 ≥ 3.9.1 • libebook-contacts ≥ 3.9.1 Major changes: • Fatal warnings are now turned off when distchecking • EDS dependency has been bumped to ≥ 3.9.1 to fix a Vala binding issue Bugs fixed: • Bug 699865 — Folks needs to expose chat/VoIP service client types • Bug 703402 — Backend support libraries don't set the GIR version and namespace • Bug 703450 — Telepathy backend gir fails to link • Bug 703514 — Can't build FolksTelepathy-0.6.gir • Bug 703709 — can't compile folks. fails at GISCAN TpLowlevel-0.6.gir • Bug 703830 — build: distcheck fails trying to delete libfolks_telepathy_la_vala.stamp • Bug 704922 — key-file: do not use deprecated loop_run_with_non_fatal_timeout() • Bug 705196 — Linking a favorite TP contact with a EDS one unfavorite it • Bug 703516 — Build failing with EDS backend • Bug 701850 — folks-DEBUG: phone-details.vala:160: [PhoneDetails.get_normalised] unknown digit: + API changes: • Add PresenceDetails.client_types • Add new Individual property: - client_types • Add new Tpf.Persona property: - client_types Overview of changes from libfolks 0.9.2 to libfolks 0.9.3 ========================================================= Dependencies: • zeitgeist-2.0 ≥ 0.9.14 Bugs fixed: • Bug 683873 - Leak in Zeitgeist code • Bug 686715 - Telepathy init test often fails during clean-up • Bug 698890 - warning: Folks doesn't set GIR namespace or version annotation • Bug 702490 - Backend support libraries don't have their own gobject-introspection bindings Overview of changes from libfolks 0.9.1 to libfolks 0.9.2 ========================================================= Dependencies: • libebook-1.2 ≥ 3.8.1 • libebook-contacts-1.2 ≥ 3.8.1 Major changes: • folks-import and folks-inspect now look for translated strings in ${localedir}, typically /usr/share/locale, which is also where the translations are installed. They previously looked in ${pkgdatadir}/locale, which is typically /usr/share/folks/locale and does not usually exist or contain anything. Bugs fixed: • Bug 693333 - eds: creating a contact with specific groups and fix "favourite" group setting for Android • Bug 694883 - srcdir != builddir (out-of-tree) builds don't work • Bug 695628 - assigns to VALAFLAGS which is reserved for the user • Bug 695648 - Utils: add a fast-path for empty sets and multimaps • Bug 695719 - lsw dummy test intermittently segfaults • Bug 695381 - add FOLKS_BACKENDS_ALLOWED, FOLKS_BACKENDS_DISABLED environment variables (see HACKING) • Bug 696179 - folks-inspect, folks-import do not attempt to use translations • Bug 682903 (partially) - Use gee's MultiMap iterators • Bug 694385 - eds: non-blocking change processing • Bug 700253 - EDS backend initialization blocks API changes: • Add LocationDetails interface to specify a Persona or Individual's geographical location (implemented by the EDS backend) Overview of changes from libfolks 0.9.0 to libfolks 0.9.1 ========================================================= Dependencies: • libebook-1.2 ≥ 3.7.90 • libebook-contacts-1.2 ≥ 3.7.90 Bugs fixed: • Bug 694049 — Fix build with e-d-s master Overview of changes from libfolks 0.8.0 to libfolks 0.9.0 ========================================================= Dependencies: • libgee ≥ 0.8.4 Major changes: • Added an ofono backend • Ported to libgee 0.8.x Bugs fixed: • Bug 682941 — API to configure input of aggregation • Bug 685084 — Add a folks backend for ofono phonebook • Bug 686056 — Add api to create and remove address books • Bug 685250 — make .gdb deadlocks • Bug 686674 — Tracker backend doesn't implement new Backend functions • Bug 686506 — Make zeitgeist dependency optional again • Bug 686693 — writing birthday lacks conversion from UTC • Bug 685401 — linking by email • Bug 687050 — eds: expose Google system groups in the API • Bug 686673 — Build error: libsocialweb backend doesn't implement new Backend functions • Bug 688834 — getting properties creates data structures over and over again • Bug 688923 — remove URLs (blog, free/busy, video, home page) • Bug 689146 — disabling EDS address books does not remove personas • Bug 689859 — core folks does not depend on telepathy • Bug 677633 — Cannot delete favourite • Bug 685992 — empathy strips the "+" (plus) from the numbers from the gnome-contacts • Bug 690989 — "warning: copying delegates is discouraged" • Bug 690990 — Add tests/README • Bug 690876 — eds: fix various test failures • Bug 691167 — Build failure: key-file tests built before dependencies • Bug 686695 — support nickname in add_persona_from_details • Bug 691382 — Restore tests disabled by bug #668415 (which has been fixed) • Bug 691923 — Don't rebuild docs on every "make" run • Bug 692122 — build: Don't use make functions for defining TESTS • Bug 693435 — eds test: create-remove-stores fails sporadically • Bug 673918 — Port to newer libgee • Bug 692951 — Detail saving times out if the data sent is the same as the one already in EDS API changes: • Add Backend.enable_persona_store and disable_persona_store. • Add Backend.set_persona_stores. • Add IndividualAggregator.new_with_backend_store. • Add Edsf.PersonaStore.create|remove_address_book. Overview of changes from libfolks 0.7.4.1 to libfolks 0.8.0 =========================================================== Major changes: • Some translation comment and documentation improvements • Lots of updated translations Bugs fixed: • Bug 684014 — A few outstanding issues in the internationalisation • Bug 683390 — Individuals sometimes not removed when disabling their Telepathy account • Bug 672709 — Add new interaction details properties to individuals (follow-up patch) • Bug 684954 — Debug message claim that Individual are created with no personas Overview of changes from libfolks 0.7.4 to libfolks 0.7.4.1 =========================================================== Fixed so version by bumping the right numbers in configure.ac Overview of changes from libfolks 0.7.3 to libfolks 0.7.4 ========================================================= Bugs fixed: • Bug 681346 — Individual id can be inconsistent • Bug 681420 — warning (vala 0.17.x): access to static class members through an instance variable • Bug 664072 — Folks should only use assert*() for critical, program-terminating errors • Bug 682572 — Build failures due to accessing static members • Bug 682346 — build: Make telepathy backend optional • Bug 682809 — Lazy instantiation of multi-valued properties • Bug 682719 — eds test fails to compile • Bug 683319 — Crash in individual-aggregator: _personas_changed_cb • Bug 681164 — Folks-inspect linking fails • Bug 680335 — empathy crashed with SIGSEGV in _tpf_persona_contact_weak_notify_cb() • Bug 681726 — empathy crashed with SIGABRT in g_assertion_message() • Bug 683452 — gnome-contacts starts up with an empty address book • Bug 681476 — folks-inspect could use some methods to set values • Bug 683390 — Individuals sometimes not removed when disabling their Telepathy account • Bug 683267 — Warning when starting in non group mode • Bug 683093 — Crash in __tpf_persona_store_self_contact_changed_cb_g_object_notify API changes: • Add PropertyError.UNAVAILABLE Overview of changes from libfolks 0.7.2 to libfolks 0.7.3 ========================================================= Bugs fixed: • Bug 629537 — Support anti-linking • Bug 679618 — Crash when unsetting all groups • Bug 678696 — Add API for EDS Google system groups • Bug 669158 — Readonly/Offline issues • Bug 675223 — Shouldn't warn if CM does not implement any contact list • Bug 660128 — Most contacts don't have an avatar • Bug 652637 — Don't hold locks across async calls • Bug 660236 — Paging for long text in folks-inspect • Bug 679116 — Output debug message if modules are not loaded because of mime type detection • Bug 657456 — Folks test output not terribly useful • Bug 674611 — Remove gconf.path once EDS drops GConf API changes: • Add AntiLinkable interface and implement it on Kf.Persona and Edsf.Persona • Add Edsf.Persona.in_google_personal_group • Add IndividualAggregator.unprepare() Overview of changes from libfolks 0.7.1 to libfolks 0.7.2 ========================================================= Dependencies: • evolution-data-server ≥ 3.5.3.1 Bugs fixed: • Bug 677166 — Salut personas survive disconnection • Bug 678474 — potential-match should be smarter with accents • Bug 678781 — memory leak in e-d-s backend • Bug 678811 — Fix eds backend unit tests • Bug 678734 — Add profiling API • Bug 679020 — Fail to build master using vala master API changes: • Add profiling api Overview of changes from libfolks 0.7.0 to libfolks 0.7.1 ========================================================= Dependencies: • telepathy-glib ≥ 0.17.5 • libzeitgeist ≥ 0.3.14 • evolution-data-server ≥ 3.5.3 • GLib ≥ 2.26.0 • GConf dependency dropped • intltool ≥ 0.50.0 Bugs fixed: • Bug 674256 — telepathy-glib minimal version is insufficient • Bug 647909 — Port Folks to GSettings • Bug 663890 — @throws annotations missing for some functions • Bug 675292 — Assertion when joining IRC channel • Bug 676023 — Invalid read when preparing the aggregator • Bug 627403 — Move default presence messages from Empathy to libfolks • Bug 675121 — port Folks to eds api changes • Bug 672709 — Add new interaction details properties to individuals API changes: • Add PresenceDetails.get_default_message_from_type() • Add new Individual properties: - im_interaction_count - call_interaction_count - last_im_interaction_timestamp - last_call_interaction_timestamp • Add InteractionDetails interface to report interactions with Personas and Individuals Overview of changes from libfolks 0.6.9 to libfolks 0.7.0 ========================================================= Major changes: * Folks now uses the Connection.ContactList Telepathy spec. instead of the deprecated Channel.ContactList. This means legacy Connection Managers (notably telepathy-butterfly) are not supported any more . Bugs fixed: • Bug 658576 — Need API to get a FolksIndividual from his ID • Bug 671662 — Renamed alias of Facebook contact is not saved • Bug 630822 — Support Connection.Interface.ContactList API API changes: • Add IndividualAggregator.look_up_individual() Overview of changes from libfolks 0.6.8 to libfolks 0.6.9 ============================================================= Dependencies: • telepathy-glib ≥ 0.15.5 Bugs fixed: • Bug 672980 — tp_account_get_protocol: assertion `TP_IS_ACCOUNT (account)' failed Overview of changes from libfolks 0.6.7 to libfolks 0.6.8 ============================================================= Major changes: * FOLKS_DEBUG has been removed in favour of G_MESSAGES_DEBUG (and the bug where folks would set G_MESSAGES_DEBUG for any process linked to it has been fixed) * A --disable-fatal-warnings configure flag has been added for non-developers * Update favourite status of EDS contacts with membership of the ‘Starred in Android’ Google Contacts group * Improvements to linking suggestions (potential matches) * Improvements to folks-inspect to make it a good command line citizen Bugs fixed: * Bug 670191 — IndividualAggregator::is-quiescent is never set to TRUE * Bug 670523 — persona.vala:153:folks_persona_get_individual: assertion failed: (_tmp6_) * Bug 672381 — invalid uninstantiatable type `' in cast to `FolksIndividual' * Bug 670347 — Check for null birthday strings * Bug 661490 — Should mark contacts from the "Starred in Android" group as Favorites * Bug 671714 — Fail to add contact to the contact list * Bug 672373 — folks-import segfaults (Archlinux x86_64) * Bug 670348 — Handle Telepathy CMs crashing/being invalidated * Bug 671900 — Folks should not suggest linking contacts from telepathy-salut * Bug 670872 — Should be less sensitive to accentuated chars * Bug 669984 — Does not notify when contacts are added to groups * Bug 660235 — Consistent signal handlers to a terminal would be cool * Bug 671499 — Don't set G_MESSAGES_DEBUG unconditionally API changes: * Add MatchResult.NONE enum member Overview of changes from libfolks 0.6.6 to libfolks 0.6.7 ============================================================= Bugs fixed: * Bug 666310 — Crash in Tracker backend by unsetting an entry in a read-only map * Bug 666528 — Can't convert from type 'GFile' to 'gchararray' * Bug 666540 — Segfault on empty e-mail addresses with potential match * Bug 659610 — Support code coverage report generation * Bug 657063 — Allow to pass a command to folks-inspect * Bug 667410 — A second instance of the aggregator only fetch a small subset of my contacts * Bug 667535 — persona created by tpf_persona_dup_for_contact() outlives its TpContact * Bug 670196 — Disable GLib deprecation warnings * Bug 668415 — Port to Vala 0.15.x API changes: * Add PostalAddress.is_empty() and Role.is_empty() Overview of changes from libfolks 0.6.5 to libfolks 0.6.6 ============================================================= Bugs fixed: * Bug 664158 — Stale log handler can cause segfault when re-creating Aggregator in a single run * Bug 663889 — crash due to NameDetails which fail to guarantee non-null full-name/nickname * Bug 665039 — Crash in folks_backends_sw_backend_add_service * Bug 665728 — TpfPersonaStore: prepare() isn't mutually exclusive inside a single thread * Bug 665692 — Use constructors correctly * Bug 665376 — Add API to get a TpfPersona from a TpContact API changes: * Add Edsf.PersonaStore.source * Make Edsf.Persona.contact writeable on construct (previously private setter) * Make Edsf.Persona.contact_id writeable on construct (previously private setter) * Add Swf.PersonaStore.service * Make Swf.Persona.lsw_contact writeable on construct (previously private setter) * Add Trf.Persona.tracker_id * Add Trf.Persona.cursor * Make AbstractFieldDetails.value writeable on construct (previously just a normal setter) * Make AbstractFieldDetails.parameters writeable on construct (previously just a normal setter) * Add ObjectCache.type_id * Add ObjectCache.id * Add Tpf.PersonaStore.dup_for_account() and Tpf.Persona.dup_for_contact() Overview of changes from libfolks 0.6.4.1 to libfolks 0.6.5 ============================================================= Bugs fixed: * Bug 662285 — Error with email -> im_addresses when updating a contact * Bug 662433 — AbstractFieldDetails.equal() is ambiguous about checking parameters. * Bug 660908 — Add favourites support to EDS backend * Bug 662770 — ContactPhotos are ignored when mime type is null * Bug 662616 — We should set mime type when setting an EContact's photo * Bug 662274 — Failed to link personas: Can't link personas with no primary store. * Bug 662314 — Gnome-shell restarts if I change my user status to disconnected/unavailable * Bug 663798 — Add AbstractFieldDetails.value_type * Bug 659585 — GLib-GIO-CRITICAL **: g_bus_unwatch_name: assertion `watcher_id > 0' failed API changes: * Add AbstractFieldDetails.id to identify instances of details * Deprecate PostalAddress.uid in favor of AbstractFieldDetails.id * Deprecate NoteFieldDetails.uid in favor of AbstractFieldDetails.id * Deprecate Role.uid in favor of AbstractFieldDetails.id * Add AbstractFieldDetails.values_equal() to compare values (but not parameters) * Implement FavouriteDetails on Edsf.Persona * Add AbstractFieldDetails.value_type Behavior changes: * PostalAddress.equal() now ignores PostalAddress.uid * NoteFieldDetails.equal() now ignores NoteFieldDetails.uid Overview of changes from libfolks 0.6.4 to libfolks 0.6.4.1 ============================================================= Bugs fixed: * Bug 662095 — so name of libfolks v 0.6.4 is lower than of libfolks v 0.6.3.x Overview of changes from libfolks 0.6.3.2 to libfolks 0.6.4 ============================================================= Bugs fixed: * Bug 660217 — folks-0.6.3.2 requires tracker-0.12, but configure.ac calls VALA_CHECK_PACKAGES([tracker-sparql-0.12]) * Bug 657602 — Telepathy backend fails to set Personas' phone numbers from ContactInfo * Bug 660937 — [regression] build failure: No package 'gee-1.0' found * Bug 661475 — string_strip: assertion `self != NULL' failed API changes: * Implement PhoneDetails on Tpf.Persona * Implement NameDetails on Tpf.Persona * Implement EmailDetails on Tpf.Persona * Implement UrlDetails on Tpf.Persona * Implement BirthdayDetails on Tpf.Persona * Add PersonaStoreError.UNSUPPORTED_ON_NON_USER Overview of changes from libfolks 0.6.3.1 to libfolks 0.6.3.2 ============================================================= Bugs fixed: * Bug 660140 — contacts_contact_find_persona_from_store: assertion `store != NULL' failed * Bug 659041 — tpf-persona-store.vala: try to connect to a NULL object * Bug 660051 — require tracker 0.12 Overview of changes from libfolks 0.6.3 to libfolks 0.6.3.1 =========================================================== Bugs fixed: * Bug 658631 — Deprecate PersonaStore.can-[alias|group]-personas * Bug 658002 — defective typelib * Bug 659737 — tests fail due to usage of deprecated methods * Bug 659732 — Gnome fails to load and crashes when the Evolution-exchange plugin is configured API changes: * Deprecate Folks.PersonaStore.can_[alias, group]_personas. Applications should use Folks.PersonaStore#always-writeable-properties and Folks.Persona#writeable-properties to check availability of "alias" and "groups" properties. Overview of changes from libfolks 0.6.2.1 to libfolks 0.6.3 =========================================================== Major changes: * Cleanup of the definition of “writeable” which involves a couple of API deprecations and additions, and some internal re-working. * Beginnings of standardising TYPE values for AbstractFieldDetails Bugs fixed: * Bug 658631 — crash at empathy startup * Bug 658331 — Ensure read-only PersonaStores have empty writeable-properties * Bug 658874 — Typo? * Bug 658730 — ngettext (Plural forms) needed for "Imported %u buddies from '%s'." * Bug 633781 — Allow to set avatar on individuals * Bug 657142 — Automatically link e-d-s contacts with their contacts from telepathy * Bug 658002 — defective typelib * Bug 657065 — Cache keeps around contacts from disabled accounts * Bug 658323 — Deprecate FOLKS_WRITEABLE_STORE in favour of FOLKS_PRIMARY_STORE * Bug 659095 — Don't distribute typelib file * Bug 659128 — If a persona store goes away we don't remove its personas * Bug 657141 — Backend should ask eds for the default backend, not hardcode it * Bug 658531 — Sometimes avatar caching doesn't work * Bug 658328 — Return PropertyError.NOT_WRITEABLE from Persona property setters as appropriate * Bug 646847 — We should rename _update () in Trf.Persona to something more less misleading * Bug 658161 — Consistently use “contact” in translatable strings instead of “persona” * Bug 657738 — Favorite people are not always displayed * Bug 653623 — Would like a set of standard "type" parameters for UrlDetails API changes: * Individual.avatar is now settable using Individual.change_avatar() (not new API, but it no longer always returns an error) * We now use the FOLKS_PRIMARY_STORE env var instead of FOLKS_WRITEABLE_STORE to configure the primary store * Deprecate Folks.PersonaStore.is_writeable * Add Folks.PersonaStore.is_primary_store * Add Folks.IndividualAggregatorError.NO_PRIMARY_STORE * In IndividualAggregator.ensure_individual_property_writeable we now throw NO_PRIMARY_STORE instead of NO_WRITEABLE_STORE * Add Folks.PersonaStore.user_set_default * Add AbstractFieldDetails.PARAM_TYPE, .PARAM_TYPE_HOME, .PARAM_TYPE_WORK, .PARAM_TYPE_OTHER * Add UrlFieldDetails.PARAM_TYPE_HOME_PAGE, .PARAM_TYPE_BLOG, .PARAM_TYPE_PROFILE, .PARAM_TYPE_FTP Overview of changes from libfolks 0.6.2 to libfolks 0.6.2.1 =========================================================== Bugs fixed: * Bug 658580 — Assertion in gee_hash_map_node_iterator_next with folks 0.6.2 Overview of changes from libfolks 0.6.1 to libfolks 0.6.2 ========================================================= Bugs fixed: * Bug 645056 — TpLowlevel library should have only static public functions * Bug 653777 — Would be nice to have a helper function to create a writable persona * Bug 657635 — Linking personas from different (e-d-s) stores is not working * Bug 657510 — Add asynchronous property setter methods * Bug 656184 — Add is-quiescent property * Bug 657971 — Need BirthdayDetails support in eds backend * Bug 657789 — Don't claim uneditable eds fields as writable * Bug 657282 — Add an IndividualAggregator.individuals_changed_detailed signal * Bug 657969 — Support RoleDetails in eds backend * Bug 657783 — Prefer data from primary store when picking Individual values * Bug 658411 — Only emit notifications for linkable properties if they've actually changed * Bug 656689 — Re-link personas on linkable properties being changed API changes: * Add PersonaStore:always-writeable-properties property * Add IndividualAggregatorError.PROPERTY_NOT_WRITEABLE error * Add IndividualAggregator.ensure_individual_property_writeable() * Add Folks.PropertyError * Add *Details.change_*() virtual methods * Add IndividualAggregator:is-quiescent, Backend:is-quiescent and PersonaStore:is-quiescent * Add PersonaDetail.GROUPS and PersonaDetail.INVALID * Add IndividualAggregator.individuals_changed_detailed and deprecate IndividualAggregator.individuals_changed (but not remove or break it) Overview of changes from libfolks 0.6.0 to libfolks 0.6.1 ========================================================= Bugs fixed: * Bug 656659 — Use vcards for postal addresses * Bug 655374 — Un-break avatar tests * Bug 657067 — Can't build EDS backend using Vala master * Bug 657332 — Add linking link-individuals Overview of changes from libfolks 0.5.2 to libfolks 0.6.0 ========================================================= Bugs fixed: * Bug 649925 — expose SocialWebClient.Contact in Swf.Persona * Bug 646244 — Incomplete logic to handle attribute updates in Folks.Individual * Bug 652463 — Tidy up CLEANFILES * Bug 652434 — Add ability to run any tests through gdb * Bug 648071 — Add support for presence status from Telepathy * Bug 652472 — Handle failure in getting the logger service better * Bug 629716 — Migrate Folks to GDBus * Bug 652660 — Make Individual.id more stable and well-defined * Bug 652449 — Folks.Individual's property getters should be read only * Bug 653325 — Build system does not complain if trying to build docs without vala-doc installed * Bug 653746 — mismatch between hash and equals in Note * Bug 638281 — Add an EDS backend * Bug 654509 — Folks master not building * Bug 652048 — Make nickname writable * Bug 652425 — Failure codes for removing personas needed in PersonaStoreError * Bug 645549 — Add a way to get the individual from a persona * Bug 650422 — Add API for easily checking whether details are writeable * Bug 655019 — Don't notify twice for nickname changes * Bug 650414 — Need better APIs to handle image data * Bug 652643 — Add PersonaStore cache * Bug 655510 — Make truly-writeable *Details property setters public * Bug 654907 — The writable store shouldn't be set by type_id * Bug 655745 — Implement read/write support for gender property * Bug 649296 — Folks backend files shouldn't begin with "lib" * Bug 652657 — Allow writing to properties of all personas * Bug 655008 — Tidy up error handling in eds backend * Bug 653619 — Add company details * Bug 653679 — Change PostalAddressDetails.postal_addresses to support vCard-like arbitrary parameters * Bug 653680 — Change ImDetails.im_addresses to support vCard-like arbitrary parameters * Bug 655917 — Rebase EmailDetails.email_addresses upon an AbstractFieldDetails-derived class * Bug 655374 — Un-break avatar tests * Bug 655919 — Rebase NoteDetails.notes upon an AbstractFieldDetails-derived class * Bug 655920 — Rebase PhoneDetails.numbers upon an AbstractFieldDetails-derived class * Bug 653682 — Change WebServiceDetails.web_service_addresses to support vCard-like arbitrary parameters * Bug 655921 — Change RoleDetails.roles to support vCard-like arbitrary parameters * Bug 655922 — Rebase UrlDetails.urls upon an AbstractFieldDetails-derived class * Bug 648818 — Support the EDS backend being a primary * Bug 655609 — Implement setter for URLs API changes: * Swf.Persona retains and exposes its libsocialweb Contact * Add a PresenceDetails.presence_status property * Make NameDetails.nickname settable * Drop AliasDetails support from Trf.Persona * Add PersonaStoreError.PERMISSION_DENIED and PersonaStoreError.REMOVE_FAILED * Change the error domain of PersonaStore.remove_persona() from GLib.Error to Folks.PersonaStoreError * Add a Persona.individual property * Add a Persona.writeable_properties property and implement it in all the Persona subclasses * Make BirthdayDetails.calendar_event_id nullable * Make Folks.Utils public and add Gee structure equality functions * AvatarDetails.avatar is now of type LoadableIcon? * Add AvatarCache class * Add ObjectCache class * Remove leaked internal PotentialMatch.result_to_string() method * Add RoleDetails:role property * Rebase FieldDetails upon AbstractFieldDetails (requiring the use of the equivalent AbstractFieldDetails functions in place of the FieldDetails ones). * Add AbstractFieldDetails.equal() and hash() for better matching on structures which will store derived objects. * Add parameters as an optional argument for the FieldDetails constructor * Use PostalAddressFieldDetails for PostalAddressDetails.postal_addresses * Remove PostalAddress.types (obsoleted by PostalAddressFieldDetails.parameters) * Add and use ImFieldDetails for ImDetails.im_addresses * Add and use EmailFieldDetails for EmailFieldDetails.email_addresses * Add and use NoteFieldDetails for NoteFieldDetails.notes * Remove Note class (obsoleted by NoteFieldDetails) * Add and use PhoneFieldDetails for PhoneFieldDetails.phone_numbers * Remove all PhoneDetails functions (obsoleted by PhoneFieldDetails) * Add and use WebServiceFieldDetails for WebServiceFieldDetails.web_service_addresses * Use RoleFieldDetails for RoleDetails.roles * Use UrlFieldDetails for UrlDetails.urls Overview of changes from libfolks 0.5.1 to libfolks 0.5.2 ========================================================= Bugs fixed: * Bug 650067 — Tracker backend warns when setting a NULL avatar (ie, unsetting the avatar) * Bug 650268 — build failure: "--vapidir=.: command not found" Overview of changes from libfolks 0.5.0 to libfolks 0.5.1 ========================================================= Bugs fixed: * Bug 645388 — Group channels are leaked * Bug 647562 — Don't crash on duplicate group channels * Bug 647121 — Crash in individual_store_contact_sort at empathy-individual-store.c line 1387 * Bug 645684 — Implement Iterator on LinkedHashSet * Bug 640092 — Folks should minimize use of GLib.List (including its public API) * Bug 648161 — Add GObject Introspection Support * Bug 645186 — Make sure all connect() calls have appropriate disconnect() calls * Bug 648533 — Add runtime debug signalling * Bug 649790 — Vala uses the wrong includes * Bug 649088 — Combining contacts doesn't work with german Umlauts API changes: * LinkedHashSet.list_iterator() is now disallowed (causes an assertion failure) * LinkedHashSet.iterator() now returns a BidirIterator instead of just an Iterator * ImDetails.im_addresses is now of type MultiMap * WebServiceDetails.web_service_addresses is now of type MultiMap * Removed LinkedHashSet in favour of Gee.HashSet * Backend.persona_stores is now of type Map * GroupDetails.groups is now of type Set * FieldDetails.parameters is now of type MultiMap * FieldDetails.get_parameter_values() now returns type Collection * FieldDetails.extend_parameters() now takes type MultiMap * PostalAddressDetails.postal_addresses is now of type Set * EmailDetails.email_addresses is now of type Set * PhoneDetails.phone_numbers is now of type Set * UrlDetails.urls is now of type Set * BackendStore.enabled_backends now has type Map - The corresponding C function folks_backend_store_dup_enabled_backends() has been renamed folks_backend_store_get_enabled_backends(), and no longer returns an owned variable. * Individual.personas now has type Set * Individual.personas_changed now uses Set-typed parameters * PersonaStore.personas_changed now uses Set-typed parameters * IndividualAggregator.individuals_changed now uses Set-typed parameters * IndividualAggregator.link_personas() now takes a Set * IndividualAggregator.get_all_potential_matches() now returns a Map> * IndividualAggregator.get_potential_matches() now returns a Map * IndividualAggregator.individuals now has type Map * PersonaStore.personas now has type Map * LocalIdDetails.local_ids now has type Set * NoteDetails.notes now has type Set * RoleDetails.roles now has type Set * PotentialMatch.known_email_aliases now has type Set * PostalAddress.types now has type Set * Add Folks.Debug debug controller class * All pc-files now only add the $includedir to the cflags, so all includes must be of the form Overview of changes from libfolks 0.4.0 to libfolks 0.5.0 ========================================================= Major changes: * Add support to change primary (writeable) store either via GConf or an env variable (bug 645441). * Bumped Vala dependency to 0.12.0 for bug #646345 Bugs fixed: * Bug 644968 - _update_phone_numbers() needs to create copies of each List * Bug 644966 - _update_emails () needs to create copies of each List * Bug 644527 - Add a Tracker backend * Bug 645430 - folks-inspect: Use LinkedHashSet to access im-addresses * Bug 645411 - folks-import segfaults on startup * Crasher when removing Personas * Crasher when reconnecting a Telepathy account * Bug 645680 — Use random integer IDs for Kf.Personas * Bug 645475 — Linker warnings for Tracker backend tests * Bug 645570 — Fix checks for empty and equal StructuredNames * Bug 645989 — Ensure add_persona_from_details handles the basic attribute * Bug 645413 — Write support for Tracker * Bug 645441 — Mechanism to specify primary backend * Bug 638280 — Add a libsocialweb backend * Deal with duplicated phones/e-mails in Tracker * Bug 646944 — Fix libsocialweb updates and removals of contacts * Bug 644867 — add interface for linkable web service contact UIDs * Bug 647168 — print the "web-service-addresses" property correctly * Bug 646831 — Setting an existing phone number or e-mail address on a Trf.Persona fails * Bug 647298 — folks-inspect gets SIGSEGV when trying to auto-complete parameters * Bug 646948 — Support for potential matches API changes: * Add equal () to StructuredName * Add detail_key () along with an enum PersonaDetail to PersonaStore which together define the basic attributes that should be supported by add_persona_from_details (). * Add public primary_store to IndividualAggregator * Add LocalIdDetails interface for linking Personas based on local address book IDs (such as for the Tracker backend Personas) * Add WebServiceDetails interface for linking Personas based on web service accounts (such as for the libsocialweb backend Personas) * Add PotentialMatch class and IndividualAggregator.get_potential_matches() and IndividualAggregator.get_all_potential_matches() to suggest Individuals that may match the given Individual or all potential matches, respectively. Overview of changes from libfolks 0.3.6 to libfolks 0.4.0 ========================================================= Bugs fixed: * Bug 642351 — BACKEND_STORE_KEY_FILE format should support a wildcard entry * Bug 643241 — _update_urls () needs to create copies of each List * Bug 643247 — Folks needs C API documentation * Bug 643201 — folks-inspect can't handle properties which are List * Bug 642866 — tp-lowlevel leaks TpChannel * Bug 642861 — FolksLinkedHashSet still alive when exiting Empathy * Bug 642493 — Folks needs API for specifying a contact's organisation * Bug 642500 — Folks needs API for specifying a contact's birthday * Bug 642501 — Folks needs API for attaching notes to a Contact * Bug 641210 — Add interface for postal addresses * Bug 643956 — Use the correct signal name for postal addresses * Bug 643954 — Add to_string () to PostalAddress class * Bug 643955 — Add to_string () to RoleOwner class * Bug 643957 — Deal handle birthday and postal-addresses. * Bug 644457 — Handle structured names * Bug 644165 — An individual's avatar shouldn't be replaced by a null avatar API changes: * Add RoleDetails interface * Add BirthdayDetails interface * Add NoteDetails interface * Add PostalAddressDetails interface * Rename Aliasable -> AliasDetails * Rename AvatarOwner -> AvatarDetails * Rename Emailable -> EmailDetails * Rename Favouritable -> FavouriteDetails * Rename GenderOwner -> GenderDetails * Rename Groupable -> GroupDetails * Rename IMable -> ImDetails * Rename NameOwner -> NameDetails * Rename Phoneable -> PhoneDetails * Rename PresenceOwner -> PresenceDetails * Rename Urlable -> UrlDetails Overview of changes from libfolks 0.3.5 to libfolks 0.3.6 ========================================================= This is just a repackaging of libfolks 0.3.5 with some documentation comment version numbers fixed. Overview of changes from libfolks 0.3.4 to libfolks 0.3.5 ========================================================= Major changes: * Various API breaks and improvements, especially in the IndividualAggregator * Add various new interfaces: NameOwner, FieldDetails, Urlable, GenderOwner, Phoneable and Emailable API changes: * Add NameOwner interface * Add FieldDetails interface * Add Urlable interface * Add GenderOwner interface * Add Phoneable interface * Add Emailable interface * Add Tpf.Persona.is_in_contact_list * Rename the URLable interface to Urlable * Take a PersonaStore in IndividualAggregator.add_persona_from_details * Remove IndividualAggregatorError.STORE_NOT_FOUND * Rename the getter for BackendStore.enabled_backends from folks_backend_store_get_enabled_backends() to folks_backend_store_dup_enabled_backends() * Rename BackendStore.get_backend_by_name() to .dup_backend_by_name() Bugs fixed: * Bug 640901 — Allow it to be determined whether a user Tpf.Persona is in the contact list * Bug 641780 — Incorrect C function names for URLable interface * Bug 629078 — Folks needs a full API review to take advantage of our compatibility break in 0.2.x * Bug 642036 — No way to pass a message when adding a contact Overview of changes from libfolks 0.3.3 to libfolks 0.3.4 ========================================================= Major changes: * Add folks-inspect tool * The use of the new LinkedHashSet type in the API may make libgee a requirement for some clients (to take full advantage of its class lineage). API changes: * New type: LinkedHashSet, similar to Gee.HashSet, but ordered. * IMable.im_addresses is now a mapping of string to LinkedHashSet. * Rename the HasAvatar interface to AvatarOwner * Rename the HasPresence interface to PresenceOwner Bugs fixed: * Bug 637240 — libfolks-telepathy.so exports private symbols * Bug 638311 — Add a HACKING file that outlines development policies and coding style * Bug 629083 — Review coding conventions in folks * Bug 629075 — Add folks command line application * Bug 638609 — libfolks hard-codes backend names for debugging * Bug 639195 — Print stack traces for failed tests to improve remote debugging * Bug 639113 — Add static aggregation tests * Bug 639742 — Logger service unavailable in make check * Bug 640213 — Add tests for LinkedHashSet * Bug 627397 — Use better interface names Overview of changes from libfolks 0.3.2 to libfolks 0.3.3 ========================================================= Major changes: * Fix some minor leaks * Add support for building gtk-doc documentation for the C API * Fix some related documentation problems * Fix some Vala problems caused by differences between Vala 0.10 and 0.12 * Finish off renaming interfaces (this is an API break; see below) * Don't trust personas from IRC * Handle invalid IM addresses more gracefully than with an assertion failure * Fix a linking problem with the user's individual when going offline which could lead to infinite loops API changes: * Rename the Avatar interface to HasAvatar * Rename the Presence interface to HasPresence * Rename the Favourite interface to Favouritable * Add IMableError * Throw IMableError from IMable.normalise_im_address() Bugs fixed: * Bug 635178 — Leak in folks_tp_lowlevel_connection_open_contact_list_channel_async * Bug 635649 — autopoint fails to run * Bug 635703 — Leak in connection_get_requestable_channel_classes_cb * Bug 635823 — [PATCH] telepathy test not linking against GIO * Bug 636251 — Fails to add contact * Bug 629526 — Generate gtk-doc documentation * Bug 627397 — Use better interface names * Bug 636714 — Assertion failure on invalid IM address * Bug 637136 — Infinite loop when disconnecting accounts Overview of changes from libfolks 0.3.1 to libfolks 0.3.2 ========================================================== Major changes: * BackendStore.load_backends() now (un)loads backends which have been (dis|en)abled since the last call * FOLKS_BACKEND_DIR has been replaced by FOLKS_BACKEND_PATH. It accepts any number of files and directories, separated by : * Significantly clean up the build system API changes: * Added BackendStore.prepare() and BackendStore::is-prepared * Add BackendStore.enable_backend(). * Add BackendStore.disable_backend(). * Add BackendStore.unprepare(). * Remove casting convenience methods on Individual (casting isn't hard) * Change the visibility of the setters of PersonaStore.type_id, PersonaStore.display_name, PersonaStore.id, Backend.name, Backend.persona_stores and Persona.linkable_properties. This removes the corresponding C setter methods which should never have been exposed * Remove Tpf.PersonaError * Remove the exception from the Tpf.Persona constructor Bugs fixed: * Bug 629081 — Add API to allow specific backends to be disabled * Bug 629862 — Add tests for the key-file backend * Bug 628883 — Add localisation support * Bug 633718 — Make the Folks releases buildable without vala, valadoc, or g-i * Bug 633080 — Crash when disconnecting twice Overview of changes from libfolks 0.3.0 to libfolks 0.3.1 ========================================================== Major changes: * Tpf.Persona.contact is now guaranteed to have the client type feature API changes: * Add the PersonaStore:can-add-personas property * Add the PersonaStore:can-remove-personas property * Add the PersonaStore:can-alias-personas property * Add the PersonaStore:can-group-personas property * Make Individual implement the IMable interface Bugs fixed: * Bug 630431 — notify::alias is never emitted * Bug 631864 — Crash when empathy disconnects * Bug 632096 — build failure: contact-retrieval.o: undefined reference to symbol 'gee_abstract_collection_add' * Bug 632163 — Folks key-file backend needs a way to point to a specific .ini file * Bug 632564 — assertion `EMPATHY_IS_CONTACT (contact)' failed in individual_store_contact_sort Overview of changes from libfolks 0.1.17 to libfolks 0.3.0 ========================================================== Major changes: * Fixed some linking problems * Added some missing documentation * Fixed build problems introduced by switching to gobject-introspection 0.9.6 (i.e. GIR format 1.2) * Bumped telepathy-glib dependency to 0.11.16 * Bumped Vala dependency to 0.10.0 * Bumped gobject-introspection dependency to 0.9.6 * Ensured IM addresses are normalised before being compared * Made the folks-import build optional through a configure argument * Added support for a “self” individual * Added support for generating and installing Devhelp format documentation * BackendStore.load_backends and the prepare() functions are now idempotent * Tpf.Persona.contact is now guaranteed to have the avatar token and data features * Tpf.Persona.contact is now guaranteed to have the capabilities feature API changes: * Added IMable.normalise_im_address() * Renamed Groups interface to Groupable * Renamed Alias interface to Aliasable * Removed BackendStore constructor * Added BackendStore.dup() * Added BackendStore::enabled-backends * Added Individual::is-user * Added Persona::is-user * Added IndividualAggregator::user * Added PersonaStoreError.UNSUPPORTED_ON_USER * Added {IndividualAggregator, PersonaStoreError}.STORE_OFFLINE, used by the respective add_persona_from_details() functions Bugs fixed: * Bug 629452 — [Patch] Add missing gio linking for import-tool * Bug 626008 — Add @since lines to all symbols * Bug 629311 — Folks should normalize IDs written to the writable backend * Bug 629644 — Key file backend cannot be loaded because of linking problems * Bug 629666 — libfolks should not hard autodetect libxml * Bug 628970 — Folks API needs a way to determine whether a specific type of PersonaStore is available * Bug 629096 — Add a library init function * Bug 627402 — Support marking FolksPersonas as "me" * Bug 629642 — individuals-changed emitted in the wrong order * Bug 629643 — do not fall back to the id if alias is empty * Bug 629006 — PersonaStore should gracefully handle offline Persona change attempts * Bug 629331 — BackendStore.load_backends and the prepare() functions should be idempotent. * Bug 629008 — Add a test for Persona additions * Bug 630347 — Avatars are always NULL Overview of changes from libfolks 0.1.16 to libfolks 0.1.17 =========================================================== Major changes: * Added a basic test suite * Cleaned up the build system * Ensured the public libraries' VAPI files are distributed and installed * Prevented the key-file from being saved unnecessarily * Fixed multi-byte character handling in the key-file backend * Ensured account removal and invalidation is handled in the Telepathy backend * Prevented a hang when creating relationships.ini in certain situations * Added a folks-import tool to import meta-contact data from Pidgin; this adds a dependency on libxml API changes: * Added PersonaStore.flush() Bugs fixed: * Bug 628930 — folks crahses empathy on relationships.ini read * Bug 629082 — Empathy crashes when toggling "Ignore SSL certificate errors" checkbox * Bug 628853 — hangs if there's no relationships.ini file * Bug 629084 — Add a folks-import tool Overview of changes from libfolks 0.1.15 to libfolks 0.1.16 =========================================================== Major changes: * Added more debugging output * Fixed various small outputted code bugs * Fixed problem where key file groups would be overwritten in some situations * Fixed various signal emission problems * Prevented changes to Personas' properties from being propagated back up to the Individuals * Limited libgee dependency to < 0.7 due to API changes in libgee * Added a FOLKS_DISABLE_LINKING environment variable to disable linking (for debugging purposes) Bugs fixed: * Bug 628108 — Favorite contacts are not save any more * Bug 628294 — Some contacts appear to be linked together while they shouldn't * Bug 628305 — Signal removal of Individuals containing untrusted Personas * Bug 628131 — error message when trying to link ICQ with jabber * Bug 628343 — Add an environment variable to disable linking * Bug 628335 — Assertion error with master Overview of changes from libfolks 0.1.14.1 to libfolks 0.1.15 ============================================================= Major changes: * Fixed various build problems * Ensured duplicate entries don't appear in various sets * Made gobject-introspection dependency explicit * Limited libgee dependency to <= 0.5.2 due to API changes in libgee * Reworked some of the Individual internals to make notifications more efficient * Added the concept of an Individual's “trust level” * Changed alias fallbacks to fall back to a display ID instead of a UID * Added support for storing aliases in the key-file backend and use them in preference to aliases from other Personas in an Individual API changes: * Added Individual:personas-changed * Added TrustLevel enum * Added Individual::trust-level * Implemented Alias on Kf.Persona Bugs fixed: * Bug 627314 — folks cannot be install in gentoo sandbox * Bug 627506 — Require gobject-introspection * Bug 626725 — Add an Individual.personas_changed signal * Bug 627968 — Add Individual.trust_level property * Bug 626578 — Use vala's vala.m4 to check for telepathy-glib(.vapi) * Bug 626410 — contacts show up with a weird alias * Bug 627508 — Store alias and groups in the key-file backend * Bug 627898 — Fails to install with -j4 Overview of changes from libfolks 0.1.14 to libfolks 0.1.14.1 ============================================================= Major changes: * Bumped Vala dependency to 0.9.6 * Fixed some more warning spew Overview of changes from libfolks 0.1.13 to libfolks 0.1.14 =========================================================== Major changes: * Changed Vala detection code to use the correct macro * Bumped Vala dependency to 0.9.5 * Removed some more message spew * Changed tp-lowlevel Vala bindings to be generated using gobject-introspection * Added optional dependency on gobject-introspection 0.6.7 Overview of changes from libfolks 0.1.12 to libfolks 0.1.13 =========================================================== Major changes: * Added the concept of “linkable properties” * Added the IMable interface * Added the concept of persona store “trust” * Added a writeable key-file backend * Added linking support to the IndividualAggregator * Tidied up ID handling in the backends * Warn if a backend's MIME type could not be determined, notifying the user if libfolks can't load backends due to shared-mime-info not being installed * Hint to clients the Individual replacing a removed Individual (if any) * Exposed Telepathy contacts' IM addresses using the IMable interface * Fixed some build and dependency issues * Bumped telepathy-glib dependency to 0.11.11 and dropped dependency on telepathy-vala * Added the concept of “writeable” PersonaStores and use this concept to prevent properties being synchronised between PersonaStores unnecessarily (and potentially even destructively) API changes: * Added Persona::linkable-properties * Added IMable interface * Added PersonaStoreTrust enum * Added PersonaStore::trust-level * Added Persona.LinkablePropertyCallback() * Added Persona.linkable_property_to_links() * Added Persona.build_uid() * Added Persona.split_uid() * Added Persona::display-id * Added PersonaStore::display-name * Added replacement_individual parameter to Individual:removed * Implemented IMable on Tpf.Persona * Added IndividualAggregatorError.NO_WRITEABLE_STORE * Added IndividualAggregator.link_personas() * Added IndividualAggregator.unlink_individual() * Added PersonaStore::is-writeable Bugs fixed: * Bug 625830 — Adding an existing contact to the tp backend results in bogus warnings * Bug 626108 — Defining XDG_DATA_DIRS prevents backends from being loaded Overview of changes from libfolks 0.1.11 to libfolks 0.1.12 =========================================================== Major changes: * Added debug flags support using the FOLKS_DEBUG environment variable * Removed various bits of message and warning spew * Bumped Vala dependency to 0.9.4 * Ensured connections which are ready as soon as they're connected are handled correctly * Versioned the installed backends using the main library's libtool version Bugs fixed: * Bug 625815 — No contat showed in the contact list Overview of changes from libfolks 0.1.10 to libfolks 0.1.11 =========================================================== Major changes: * Moved various bits of preparation code out into async prepare() methods to avoid race conditions on startup * Reset TpfPersonaStore state when going offline * Made several methods async which could potentially require it in future * Added error throws to various functions which could potentially fail in future API changes: * Added PersonaStore.prepare() * Added Backend.prepare() * Removed error thrown from Backend constructor * Added IndividualAggregator.prepare() * Changed return type of Presence.is_online() from uint to int * Made IndividualAggregator.remove_individual() async * Made PersonaStore.remove_persona() async * Added an error throw to BackendStore.load_backends() * Added an error throw to IndividualAggregator.prepare() * Added an error throw to IndividualAggregator.remove_individual() * Added an error throw to IndividualAggregator.remove_persona() * Added an error throw to PersonaStore.remove_persona() * Made Groups.change_group() async * Made Groups:group-changed async Overview of changes from libfolks 0.1.9 to libfolks 0.1.10 ========================================================== Major changes: * Fixed various memory and reference leaks * Lots of build system improvements * Added a libtool version to the installed libraries Initial release of libfolks 0.1.9 ================================= Major changes: * Move to GNOME infrastructure