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