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