Rename GenderOwner -> GenderDetails
[platform/upstream/folks.git] / NEWS
1 Overview of changes from libfolks 0.3.6 to libfolks 0.3.7
2 =========================================================
3
4 Bugs fixed:
5 * Bug 642351 — BACKEND_STORE_KEY_FILE format should support a wildcard entry
6 * Bug 643241 — _update_urls () needs to create copies of each
7   List<FieldDetails>
8 * Bug 643247 — Folks needs C API documentation
9 * Bug 643201 — folks-inspect can't handle properties which are
10   List<FieldDetails>
11 * Bug 642866 — tp-lowlevel leaks TpChannel
12 * Bug 642861 — FolksLinkedHashSet still alive when exiting Empathy
13 * Bug 642493 — Folks needs API for specifying a contact's organisation
14 * Bug 642500 — Folks needs API for specifying a contact's birthday
15 * Bug 642501 — Folks needs API for attaching notes to a Contact
16 * Bug 641210 — Add interface for postal addresses
17 * Bug 643956 — Use the correct signal name for postal addresses
18 * Bug 643954 — Add to_string () to PostalAddress class
19 * Bug 643955 — Add to_string () to RoleOwner class
20
21 API changes:
22 * Add RoleOwner interface
23 * Add BirthdayDetails interface
24 * Add NoteOwner interface
25 * Add PostalAddressOwner interface
26 * Add PostalAddressOwner.uid as a convenience for backends
27 * Add PostalAddress.equal()
28 * Add PostalAddress.to_string()
29 * Add RoleOwner.to_string()
30 * Rename Aliasable -> AliasDetails
31 * Rename AvatarOwner -> AvatarDetails
32 * Rename Emailable -> EmailDetails
33 * Rename Favouritable -> FavouriteDetails
34 * Rename GenderOwner -> GenderDetails
35
36 Overview of changes from libfolks 0.3.5 to libfolks 0.3.6
37 =========================================================
38
39 This is just a repackaging of libfolks 0.3.5 with some documentation comment
40 version numbers fixed.
41
42 Overview of changes from libfolks 0.3.4 to libfolks 0.3.5
43 =========================================================
44
45 Major changes:
46 * Various API breaks and improvements, especially in the IndividualAggregator
47 * Add various new interfaces: NameOwner, FieldDetails, Urlable, GenderOwner,
48   Phoneable and Emailable
49
50 API changes:
51 * Add NameOwner interface
52 * Add FieldDetails interface
53 * Add Urlable interface
54 * Add GenderOwner interface
55 * Add Phoneable interface
56 * Add Emailable interface
57 * Add Tpf.Persona.is_in_contact_list
58 * Rename the URLable interface to Urlable
59 * Take a PersonaStore in IndividualAggregator.add_persona_from_details
60 * Remove IndividualAggregatorError.STORE_NOT_FOUND
61 * Rename the getter for BackendStore.enabled_backends from
62   folks_backend_store_get_enabled_backends() to
63   folks_backend_store_dup_enabled_backends()
64 * Rename BackendStore.get_backend_by_name() to .dup_backend_by_name()
65
66 Bugs fixed:
67 * Bug 640901 — Allow it to be determined whether a user Tpf.Persona is in the
68   contact list
69 * Bug 641780 — Incorrect C function names for URLable interface
70 * Bug 629078 — Folks needs a full API review to take advantage of our
71   compatibility break in 0.2.x
72 * Bug 642036 — No way to pass a message when adding a contact
73
74 Overview of changes from libfolks 0.3.3 to libfolks 0.3.4
75 =========================================================
76
77 Major changes:
78 * Add folks-inspect tool
79 * The use of the new LinkedHashSet type in the API may make libgee a requirement
80   for some clients (to take full advantage of its class lineage).
81
82 API changes:
83 * New type: LinkedHashSet, similar to Gee.HashSet, but ordered.
84 * IMable.im_addresses is now a mapping of string to LinkedHashSet.
85 * Rename the HasAvatar interface to AvatarOwner
86 * Rename the HasPresence interface to PresenceOwner
87
88 Bugs fixed:
89 * Bug 637240 — libfolks-telepathy.so exports private symbols
90 * Bug 638311 — Add a HACKING file that outlines development policies and
91   coding style
92 * Bug 629083 — Review coding conventions in folks
93 * Bug 629075 — Add folks command line application
94 * Bug 638609 — libfolks hard-codes backend names for debugging
95 * Bug 639195 — Print stack traces for failed tests to improve remote
96   debugging
97 * Bug 639113 — Add static aggregation tests
98 * Bug 639742 — Logger service unavailable in make check
99 * Bug 640213 — Add tests for LinkedHashSet
100 * Bug 627397 — Use better interface names
101
102 Overview of changes from libfolks 0.3.2 to libfolks 0.3.3
103 =========================================================
104
105 Major changes:
106 * Fix some minor leaks
107 * Add support for building gtk-doc documentation for the C API
108 * Fix some related documentation problems
109 * Fix some Vala problems caused by differences between Vala 0.10 and 0.12
110 * Finish off renaming interfaces (this is an API break; see below)
111 * Don't trust personas from IRC
112 * Handle invalid IM addresses more gracefully than with an assertion failure
113 * Fix a linking problem with the user's individual when going offline which
114   could lead to infinite loops
115
116 API changes:
117 * Rename the Avatar interface to HasAvatar
118 * Rename the Presence interface to HasPresence
119 * Rename the Favourite interface to Favouritable
120 * Add IMableError
121 * Throw IMableError from IMable.normalise_im_address()
122
123 Bugs fixed:
124 * Bug 635178 — Leak in
125   folks_tp_lowlevel_connection_open_contact_list_channel_async
126 * Bug 635649 — autopoint fails to run
127 * Bug 635703 — Leak in connection_get_requestable_channel_classes_cb
128 * Bug 635823 — [PATCH] telepathy test not linking against GIO
129 * Bug 636251 — Fails to add contact
130 * Bug 629526 — Generate gtk-doc documentation
131 * Bug 627397 — Use better interface names
132 * Bug 636714 — Assertion failure on invalid IM address
133 * Bug 637136 — Infinite loop when disconnecting accounts
134
135 Overview of changes from libfolks 0.3.1 to libfolks 0.3.2
136 ==========================================================
137
138 Major changes:
139 * BackendStore.load_backends() now (un)loads backends which have been
140   (dis|en)abled since the last call
141 * FOLKS_BACKEND_DIR has been replaced by FOLKS_BACKEND_PATH. It accepts any
142   number of files and directories, separated by :
143 * Significantly clean up the build system
144
145 API changes:
146 * Added BackendStore.prepare() and BackendStore::is-prepared
147 * Add BackendStore.enable_backend().
148 * Add BackendStore.disable_backend().
149 * Add BackendStore.unprepare().
150 * Remove casting convenience methods on Individual (casting isn't hard)
151 * Change the visibility of the setters of PersonaStore.type_id,
152   PersonaStore.display_name, PersonaStore.id, Backend.name,
153   Backend.persona_stores and Persona.linkable_properties. This removes the
154   corresponding C setter methods which should never have been exposed
155 * Remove Tpf.PersonaError
156 * Remove the exception from the Tpf.Persona constructor
157
158 Bugs fixed:
159 * Bug 629081 — Add API to allow specific backends to be disabled
160 * Bug 629862 — Add tests for the key-file backend
161 * Bug 628883 — Add localisation support
162 * Bug 633718 — Make the Folks releases buildable without vala, valadoc, or
163   g-i
164 * Bug 633080 — Crash when disconnecting twice
165
166 Overview of changes from libfolks 0.3.0 to libfolks 0.3.1
167 ==========================================================
168
169 Major changes:
170 * Tpf.Persona.contact is now guaranteed to have the client type feature
171
172 API changes:
173 * Add the PersonaStore:can-add-personas property
174 * Add the PersonaStore:can-remove-personas property
175 * Add the PersonaStore:can-alias-personas property
176 * Add the PersonaStore:can-group-personas property
177 * Make Individual implement the IMable interface
178
179 Bugs fixed:
180 * Bug 630431 — notify::alias is never emitted
181 * Bug 631864 — Crash when empathy disconnects
182 * Bug 632096 — build failure: contact-retrieval.o: undefined reference to
183   symbol 'gee_abstract_collection_add'
184 * Bug 632163 — Folks key-file backend needs a way to point to a specific
185   .ini file
186 * Bug 632564 — assertion `EMPATHY_IS_CONTACT (contact)' failed in
187   individual_store_contact_sort
188
189 Overview of changes from libfolks 0.1.17 to libfolks 0.3.0
190 ==========================================================
191
192 Major changes:
193 * Fixed some linking problems
194 * Added some missing documentation
195 * Fixed build problems introduced by switching to gobject-introspection 0.9.6
196   (i.e. GIR format 1.2)
197 * Bumped telepathy-glib dependency to 0.11.16
198 * Bumped Vala dependency to 0.10.0
199 * Bumped gobject-introspection dependency to 0.9.6
200 * Ensured IM addresses are normalised before being compared
201 * Made the folks-import build optional through a configure argument
202 * Added support for a “self” individual
203 * Added support for generating and installing Devhelp format documentation
204 * BackendStore.load_backends and the prepare() functions are now idempotent
205 * Tpf.Persona.contact is now guaranteed to have the avatar token and data
206   features
207 * Tpf.Persona.contact is now guaranteed to have the capabilities feature
208
209 API changes:
210 * Added IMable.normalise_im_address()
211 * Renamed Groups interface to Groupable
212 * Renamed Alias interface to Aliasable
213 * Removed BackendStore constructor
214 * Added BackendStore.dup()
215 * Added BackendStore::enabled-backends
216 * Added Individual::is-user
217 * Added Persona::is-user
218 * Added IndividualAggregator::user
219 * Added PersonaStoreError.UNSUPPORTED_ON_USER
220 * Added {IndividualAggregator, PersonaStoreError}.STORE_OFFLINE, used by the
221   respective add_persona_from_details() functions
222
223 Bugs fixed:
224 * Bug 629452 — [Patch] Add missing gio linking for import-tool
225 * Bug 626008 — Add @since lines to all symbols
226 * Bug 629311 — Folks should normalize IDs written to the writable backend
227 * Bug 629644 — Key file backend cannot be loaded because of linking problems
228 * Bug 629666 — libfolks should not hard autodetect libxml
229 * Bug 628970 — Folks API needs a way to determine whether a specific type of
230   PersonaStore is available
231 * Bug 629096 — Add a library init function
232 * Bug 627402 — Support marking FolksPersonas as "me"
233 * Bug 629642 — individuals-changed emitted in the wrong order
234 * Bug 629643 — do not fall back to the id if alias is empty
235 * Bug 629006 — PersonaStore should gracefully handle offline Persona change
236   attempts
237 * Bug 629331 — BackendStore.load_backends and the prepare() functions should
238   be idempotent.
239 * Bug 629008 — Add a test for Persona additions
240 * Bug 630347 — Avatars are always NULL
241
242 Overview of changes from libfolks 0.1.16 to libfolks 0.1.17
243 ===========================================================
244
245 Major changes:
246 * Added a basic test suite
247 * Cleaned up the build system
248 * Ensured the public libraries' VAPI files are distributed and installed
249 * Prevented the key-file from being saved unnecessarily
250 * Fixed multi-byte character handling in the key-file backend
251 * Ensured account removal and invalidation is handled in the Telepathy backend
252 * Prevented a hang when creating relationships.ini in certain situations
253 * Added a folks-import tool to import meta-contact data from Pidgin; this adds
254   a dependency on libxml
255
256 API changes:
257 * Added PersonaStore.flush()
258
259 Bugs fixed:
260 * Bug 628930 — folks crahses empathy on relationships.ini read
261 * Bug 629082 — Empathy crashes when toggling "Ignore SSL certificate errors"
262   checkbox
263 * Bug 628853 — hangs if there's no relationships.ini file
264 * Bug 629084 — Add a folks-import tool
265
266 Overview of changes from libfolks 0.1.15 to libfolks 0.1.16
267 ===========================================================
268
269 Major changes:
270 * Added more debugging output
271 * Fixed various small outputted code bugs
272 * Fixed problem where key file groups would be overwritten in some situations
273 * Fixed various signal emission problems
274 * Prevented changes to Personas' properties from being propagated back up to the
275   Individuals
276 * Limited libgee dependency to < 0.7 due to API changes in libgee
277 * Added a FOLKS_DISABLE_LINKING environment variable to disable linking (for
278   debugging purposes)
279
280 Bugs fixed:
281 * Bug 628108 — Favorite contacts are not save any more
282 * Bug 628294 — Some contacts appear to be linked together while they shouldn't
283 * Bug 628305 — Signal removal of Individuals containing untrusted Personas
284 * Bug 628131 — error message when trying to link ICQ with jabber
285 * Bug 628343 — Add an environment variable to disable linking
286 * Bug 628335 — Assertion error with master
287
288 Overview of changes from libfolks 0.1.14.1 to libfolks 0.1.15
289 =============================================================
290
291 Major changes:
292 * Fixed various build problems
293 * Ensured duplicate entries don't appear in various sets
294 * Made gobject-introspection dependency explicit
295 * Limited libgee dependency to <= 0.5.2 due to API changes in libgee
296 * Reworked some of the Individual internals to make notifications more efficient
297 * Added the concept of an Individual's “trust level”
298 * Changed alias fallbacks to fall back to a display ID instead of a UID
299 * Added support for storing aliases in the key-file backend and use them in
300   preference to aliases from other Personas in an Individual
301
302 API changes:
303 * Added Individual:personas-changed
304 * Added TrustLevel enum
305 * Added Individual::trust-level
306 * Implemented Alias on Kf.Persona
307
308 Bugs fixed:
309 * Bug 627314 — folks cannot be install in gentoo sandbox
310 * Bug 627506 — Require gobject-introspection
311 * Bug 626725 — Add an Individual.personas_changed signal
312 * Bug 627968 — Add Individual.trust_level property
313 * Bug 626578 — Use vala's vala.m4 to check for telepathy-glib(.vapi)
314 * Bug 626410 — contacts show up with a weird alias
315 * Bug 627508 — Store alias and groups in the key-file backend
316 * Bug 627898 — Fails to install with -j4
317
318 Overview of changes from libfolks 0.1.14 to libfolks 0.1.14.1
319 =============================================================
320
321 Major changes:
322 * Bumped Vala dependency to 0.9.6
323 * Fixed some more warning spew
324
325 Overview of changes from libfolks 0.1.13 to libfolks 0.1.14
326 ===========================================================
327
328 Major changes:
329 * Changed Vala detection code to use the correct macro
330 * Bumped Vala dependency to 0.9.5
331 * Removed some more message spew
332 * Changed tp-lowlevel Vala bindings to be generated using gobject-introspection
333 * Added optional dependency on gobject-introspection 0.6.7
334
335 Overview of changes from libfolks 0.1.12 to libfolks 0.1.13
336 ===========================================================
337
338 Major changes:
339 * Added the concept of “linkable properties”
340 * Added the IMable interface
341 * Added the concept of persona store “trust”
342 * Added a writeable key-file backend
343 * Added linking support to the IndividualAggregator
344 * Tidied up ID handling in the backends
345 * Warn if a backend's MIME type could not be determined, notifying the user if
346   libfolks can't load backends due to shared-mime-info not being installed
347 * Hint to clients the Individual replacing a removed Individual (if any)
348 * Exposed Telepathy contacts' IM addresses using the IMable interface
349 * Fixed some build and dependency issues
350 * Bumped telepathy-glib dependency to 0.11.11 and dropped dependency on
351   telepathy-vala
352 * Added the concept of “writeable” PersonaStores and use this concept to prevent
353   properties being synchronised between PersonaStores unnecessarily (and
354   potentially even destructively)
355
356 API changes:
357 * Added Persona::linkable-properties
358 * Added IMable interface
359 * Added PersonaStoreTrust enum
360 * Added PersonaStore::trust-level
361 * Added Persona.LinkablePropertyCallback()
362 * Added Persona.linkable_property_to_links()
363 * Added Persona.build_uid()
364 * Added Persona.split_uid()
365 * Added Persona::display-id
366 * Added PersonaStore::display-name
367 * Added replacement_individual parameter to Individual:removed
368 * Implemented IMable on Tpf.Persona
369 * Added IndividualAggregatorError.NO_WRITEABLE_STORE
370 * Added IndividualAggregator.link_personas()
371 * Added IndividualAggregator.unlink_individual()
372 * Added PersonaStore::is-writeable
373
374 Bugs fixed:
375 * Bug 625830 — Adding an existing contact to the tp backend results in bogus
376   warnings
377 * Bug 626108 — Defining XDG_DATA_DIRS prevents backends from being loaded
378
379 Overview of changes from libfolks 0.1.11 to libfolks 0.1.12
380 ===========================================================
381
382 Major changes:
383 * Added debug flags support using the FOLKS_DEBUG environment variable
384 * Removed various bits of message and warning spew
385 * Bumped Vala dependency to 0.9.4
386 * Ensured connections which are ready as soon as they're connected are handled
387   correctly
388 * Versioned the installed backends using the main library's libtool version
389
390 Bugs fixed:
391 * Bug 625815 — No contat showed in the contact list
392
393 Overview of changes from libfolks 0.1.10 to libfolks 0.1.11
394 ===========================================================
395
396 Major changes:
397 * Moved various bits of preparation code out into async prepare() methods to
398   avoid race conditions on startup
399 * Reset TpfPersonaStore state when going offline
400 * Made several methods async which could potentially require it in future
401 * Added error throws to various functions which could potentially fail in future
402
403 API changes:
404 * Added PersonaStore.prepare()
405 * Added Backend.prepare()
406 * Removed error thrown from Backend constructor
407 * Added IndividualAggregator.prepare()
408 * Changed return type of Presence.is_online() from uint to int
409 * Made IndividualAggregator.remove_individual() async
410 * Made PersonaStore.remove_persona() async
411 * Added an error throw to BackendStore.load_backends()
412 * Added an error throw to IndividualAggregator.prepare()
413 * Added an error throw to IndividualAggregator.remove_individual()
414 * Added an error throw to IndividualAggregator.remove_persona()
415 * Added an error throw to PersonaStore.remove_persona()
416 * Made Groups.change_group() async
417 * Made Groups:group-changed async
418
419 Overview of changes from libfolks 0.1.9 to libfolks 0.1.10
420 ==========================================================
421
422 Major changes:
423 * Fixed various memory and reference leaks
424 * Lots of build system improvements
425 * Added a libtool version to the installed libraries
426
427 Initial release of libfolks 0.1.9
428 =================================
429
430 Major changes:
431 * Move to GNOME infrastructure