1 -*-text-*- 2 3 A terse (and incomplete) list of API changes between 0.5.2 and 0.6: 4 5 * Most browsing and registration functions and their callbacks gained 6 new "flags" parameters. Passing 0 results in similar behaviour as 7 in 0.5.2 8 9 * avahi-client/client.h has been split into client.h, publish.h and lookup.h 10 11 * avahi-core/core.h has been split into core.h publish.h lookup.h 12 13 * avahi_client_is_service_local() has been removed. Use instead the special 14 flags AVAHI_LOOKUP_RESULT_LOCAL and AVAHI_LOOKUP_RESULT_OUR_OWN which are 15 set when resolving or browsing for services. AVAHI_LOOKUP_RESULT_OUR_OWN is 16 what most people should use. 17 18 * AVAHI_RESOLVER_TIMEOUT and AVAHI_RESOLVER_NOT_FOUND have been 19 removed. Instead AVAHI_RESOLVER_FAILURE is used and the exact error 20 code is available from avahi_client_errno()/avahi_server_errno() 21 22 * The events AVAHI_BROWSER_CACHE_EXHAUSTED, AVAHI_BROWSER_ALL_FOR_NOW 23 have been introduced. Failures during browsing are now passed as 24 AVAHI_BROWSER_FAILURE and the error code is made available through 25 avahi_client_errno()/avahi_server_errno(). 26 27 * The server gained a new state AVAHI_SERVER_FAILURE if some fatal 28 error happens. The reason can be found in 29 avahi_server_errno(). Clients can safely ignore this state. 30 31 * You can now update existing records by setting the 32 AVAHI_PUBLISH_UPDATE flags for add_service() and friends. Consider 33 using avahi_server_update_service_txt_strlst() if you need to 34 update only the TXT record for a service. 35 36 * Proper support for service subtypes is now available. Use 37 avahi_server_add_service_subtype() for that. 38 39 * Entry groups gained the new state AVAHI_ENTRY_GROUP_FAILURE. The 40 reason is available using 41 avahi_server_errno()/avahi_client_errno(). 42 43 * Many superfluous functions have been removed from the public API or 44 entirely. 45 46 * avahi_simple_poll_iterate() has been split up into three 47 functions. avahi_simple_poll_loop() has been introduced. 48 49 * Some new limits have been introduced: AVAHI_ADDRESS_STR_MAX, 50 AVAHI_DOMAIN_NAME_MAX, AVAHI_LABEL_MAX 51 52 * The functions avahi_service_name_join() and 53 avahi_service_name_split() have been introduced. 54 55 * AVAHI_ERR_LOCAL_COLLISION has been renamed to AVAHI_ERR_COLLSION 56 57 * The values of AVAHI_PROTO_xxx have changed, they are no longer 58 identical to the BSD AF_xxx constants 59 60 * avahi_client_new() now takes an additional flags parameter. Most 61 interesting flag here is AVAHI_CLIENT_NO_FAIL, which can be used to 62 create an AvahiClient object even when the daemon is not 63 running. This is useful to deal with daemon restarts. 64 65 * AvahiClient gained a new state AVAHI_CLIENT_FAILURE. (superseding 66 AVAHI_CLIENT_DISCONNECTED). If this event happens, 67 avahi_client_errno() will return the reason. If the error returned 68 is AVAHI_ERR_DISCONNECTED, the situation where 69 AVAHI_CLIENT_DISCONNECTED was previously thrown is entered. You may 70 choose to reconnect in that case by freeing your AvahiClient new 71 and create a new one with passing AVAHI_CLIENT_NO_FAIL. 72 73 * There's now a client side AvahiRecordBrowser, and 74 avahi_entry_group_add_record(). 75