4 This release fixes some bugs and includes a new component.
8 * Add new daemon "avahi-autoipd" which is an implementation of
9 IPv4LL as defined in RFC3927. While it is not the first
10 implemenatation of this technology for Free operating systems it
11 is clearly the most powerful and hopefully even the most
12 secure. (Because it chroot()s and drops priviliges and suchlike)
13 For more information, especially about packaging this new tool for
14 distributions, please make sure to read:
15 http://avahi.org/wiki/AvahiAutoipd
16 For the rationale for adding this program to the Avahi toolset
17 please read this mailing list thread:
18 http://lists.freedesktop.org/archives/avahi/2006-September/000863.html
19 * Fix a segfault in the code handling static host name registrations
20 * Add a few new entries to the service type database
22 * Documentation updates
23 * Fix service type database building on Solaris
24 * Make use of newer D-Bus APIs
25 * Fix random seed initialization
26 * Install SFTP static service file by default
27 * Other minor code cleanups
29 This release is backwards compatible with Avahi 0.6.x with x < 14.
31 Please note that this version doesn't compile on NetBSD, patches
34 Please note that avahi-autoipd is available on Linux only for
35 now. Patches welcome. It is recommended to pass --disable-autoipd to
36 "configure" on non-Linux operating systems, otherwise the build will
42 This release fixes some bugs and includes minor enhancements.
45 * Add a new D-Bus method for changing the mDNS host name during
46 runtime. This functionality is only available to members of the
47 UNIX group "netdev", which is the same access group that is
48 enforced by GNOME's NetworkManager daemon. Since NM will probably
49 be the most prominent user of this new method, we decided to limit
50 access to the same group. The access group can be set by passing
51 --with-avahi-priv-access-group= to "configure". If you need more
52 sophisticated access control you can freely edit
53 /etc/dbus/system.d/avahi-dbus.conf.
54 * Add a new utility "avahi-set-host-name" which is a command line
55 wrapper around the aforementioned SetHostName() method.
56 * Bonjour API compatibility library:
57 * Implement DNSServiceUpdateRecord()
58 * Allow passing NULL as callback function for
60 * Implement subtype registration in DNSServiceRegister() in a
61 way that is compatible with Bonjour.
62 * Update to newer copy of dns_sd.h
63 * If the host name changes update names of static services wich
65 * Don't build documentation about embedding the Avahi mDNS stack into
66 other programs by default. This is a feature used only by embedded
67 developers. Pass --enable-core-docs to "configure" to enable
68 building these docs, like in Avahi <= 0.6.12.
69 * Build Qt documentation only when Qt support is enabled in
70 the configuration. Same for GLib.
71 * Change algorithm used to find a new host name on conflict. In
72 Avahi <= 0.6.12 a conflicting host name of "foobar" would be
73 changed to the new name "foobar2". With 0.6.13 "foobar-2" will be
74 picked instead. This follows Bonjour's behaviour and has the
75 advantage not confusing people with regular host names ending in
77 * Don't disable all static services when SIGHUP is recieved.
78 * Fix build when Avahi is configured without Gtk+ but with Python
80 * Fix build on MacOS X
81 * Support using Solaris DBM instead of gdbm for the service type
82 database. The latter is still recommended
83 * Minor other fixes and documentation updates
85 This release is backwards compatible with Avahi 0.6.x with x < 13.
90 This is a bugfix and general cleanups release.
93 * Compatibility with newer D-Bus releases (0.9x)
94 * Compatibility with DBUS builds with --disable-checks
95 * Fix an error in the DBUS event loop wrapping which
96 caused the avahi client libraries to dispatch some events
97 too late when used with D-BUS 0.62 and newer.
98 * avahi-daemon: fix a minor memory leak in the DBUS code.
99 * avahi-glib: some GLIB adapter cleanups
100 * avahi-dnsconfd: fix segfault when passing an invalid command
102 * avahi-test: portability patches for Solaris
103 * avahi-browse: flush STDOUT after each line, making it useful
105 * update service type database
107 This release is backwards compatible with Avahi 0.6.x with x < 12.
112 This is a bugfix and portability release.
116 * avahi-sharp: fix a fatal error in object disposal code
117 * add a few new entries to the servivce type database
118 * fix potential crash when the daemon shuts down
119 * compatibility with newer autoconf versions
121 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
122 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.9 and 0.6.10.
127 This is mostly a bugfix release. Two of the bugs fixed are security
128 sensitive: a remote denial-of-service vulnerability and a buffer
129 overflow that can allow local users to become the 'avahi' user. We do
130 not consider either of them major security threats.
132 The DoS vulnerability can be exploited from a local network only. It
133 is not worth much, though, since mDNS can easily be flooded with
134 nonsense anyway. It is easy to kick remote mDNS/DNS-SD services by
135 provoking a name conflict in perfect accordance with the specs.
137 The buffer overflow is hard to exploit remotely, only local users can
138 become the 'avahi' user. In addition the user is trapped inside a
139 chroot() environment (at least on Linux).
141 Anyhow, our security assessments are possibly as buggy as our
144 *** PLEASE UPDATE YOUR INSTALLATION ASAP! ***
147 * Fix a buffer overflow in avahi-core
148 * Refuse to process invalid UTF8 data
149 * Automatically reconnect to the DBUS if we're kicked. (Works only if
150 chroot() is disabled)
151 * Don't hit an assert() in the client libs when the Avahi daemon is
153 * Enumerate all service types in the database in the Service
154 Discovery Applet for Gnome
155 * Improve the Bonjour compatibility layer to make it survive
156 GnomeMeeting's broken usage
157 * Deal properly with local non-ASCII hostnames
158 * AMD64 and FreeBSD portability fixes
159 * Filter double DNS server entries in avahi-dnsconfd
160 * Fix a locking bug in avahi-sharp's EntryGroup.AddService()
161 * Ported to Solaris (incomplete)
162 * Add _airport._tcp to our service type database
164 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
165 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8 and 0.6.9.
170 This release fixes some bugs and includes minor enhancements.
172 * Don't allow registration of address records with invalid host names
173 * Clean up argument validity checking for AvahiHostNameResolver and
175 * Fix Avahi builds without DBUS
177 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
178 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7 and 0.6.8.
183 This release fixes some bugs and adds a few new features. Users of 0.6.7,
186 * Fix broken parsing of static hosts file
187 * Improve out-of-the-box Debian support
188 * Add configuration option to allow mDNS over POINTOPOINT links.
189 This is a potential security hole and YMMV. See man page for details.
190 * Create $(localstatedir)/run on installation
192 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
193 0.6.3, 0.6.4, 0.6.5, 0.6.6 and 0.6.7.
198 This release fixes some bugs and adds a few new features
200 * Add static hosts name mappings
201 * Work around kernel bugs regarding multicast group membership
202 * ia64 portability fixes
203 * Don't require X11 to run avahi-bookmarks
204 * API: Return AVAHI_ERR_IS_EMPTY when the user tries to commit an
206 * Improved Slackware and Fedora suppport
208 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
209 0.6.3, 0.6.4, 0.6.5 and 0.6.6.
214 This release fixes some bugs and includes some documentation updates
216 * Add a bunch of new types to the service type database
217 * Return errors of avahi_entry_group_commit() properly
218 * Many doxygen documentation improvements
219 * Fix destruction of AvahiEntryGroup objects using
220 avahi_entry_group_free().
221 * Don't allow commiting of empty entry groups
222 * Use a little less memory in avahi-qt
223 * Don't accept empty TXT strings
224 * Update example "client-publish-service.c" to show how to modify an
227 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
228 0.6.3, 0.6.4 and 0.6.5.
233 This release fixes some bugs and adds a new API function.
235 * avahi-browse: properly show services that are removed from the
237 * fix build on bi-arch platforms, on GNU/kFreeBSD, on MIPS and
239 * add new API function avahi_nss_support() and DBUS function
240 IsNSSSupportAvailable() which may be used to detect whether
241 libc's gethostbyname() supports mDNS domain names.
242 * patch avahi-bookmarks to make use of
243 IsNSSSupportAvailable(). avahi-bookmarks will now generate links
244 with real hostnames instead of numeric IP addresses if mDNS support
245 is detected for gethostbyname().
246 * add init script for Mandriva Linux
247 * speed up avahi_client_free()
249 * install missing header thread-watch.h
250 * fix avahi-bookmarks to work with certain twisted versions
251 * fix record updating
252 * Use pkg-config's Requires.private directive where it makes sense
254 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
260 This is a bugfix release and adds a new event loop implementation to
261 avahi-common's public interface.
263 * avahi-common: add new AvahiThreadedPool event loop implementation
264 * avahi-sharp: compatibility with newer mono versions
265 * avahi-publish-service: don't ignore the port number specified
266 * avahi-sharp: correct some flags definitions
268 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2 and
271 A quick introduction how to use the new AvahiThreadedPool interface is
272 available in our Wiki:
274 http://avahi.org/wiki/RunningAvahiClientAsThread
279 This is a bugfix release. Everyone should update ASAP!
281 * avahi-sharp: make sure to append a trailing NUL byte to all C strings
282 * avahi-core: fix a double free() which occurs when wide area lookups timeout
284 This release is fully compatible with Avahi 0.6, 0.6.1 and 0.6.2.
289 This is mostly a bugfix release.
291 * Compatibility with DBUS 0.60 (Full compatibility with DBUS 0.3x and
293 * Fix introspection for some auxiliary DBUS objects
294 * Miscellaneous documentation updates
295 * Improve Autoconf support for detecting PTHREADS library
296 * Fix avahi-publish --help
297 * Workaround a DBUS limitation which might cause Avahi to die when a
298 user sends an empty TXT entry over DBUS
299 * Increase number of resolver/browser objects a DBUS client may create
300 * Remove fprintf() call in avahi_client_new()
303 This release is both up and downwards compatible with Avahi 0.6 and 0.6.1.
305 Avahi now has its own Domain (http://avahi.org) and a new Website!
307 And, most importantly, we now have a Logo:
308 http://avahi.org/chrome/site/avahi-trac.png
313 This is mostly a bugfix release.
315 * Fix a segfault when shutting down the daemon. Please note that this
316 issue was not security sensitive in any way but had the ugly side
317 effect that the daemon's PID file was not removed properly.
318 * Added init scripts for ArchLinux and FreeBSD
319 * Add DBUS API versioning through the new method GetAPIVersion()
320 * Build the HOWL compatibility library as "libhowl.so", instead of
321 "libavahi-compat-howl.so". This will help distributors to ensure
322 full API/ABI compatibility with HOWL out-of-the-box.
323 * Same for the Bonjour compatibility library
326 We encourage Linux users to update to libdaemon 0.10 since logging
327 does not work from a chroot() environment with older versions.
329 This release is fully API and ABI compatible with Avahi 0.6. This is
330 true for both the C libraries and the DBUS interface.
332 Packagers should read the new documentation file doc/COMPAT-LAYERS
333 which contains some information about maintaining full build system
334 compatibility in addition to ABI/API compatibility.
336 Avahi 0.6, the "Goddag" release
337 ===============================
339 * Support for (read-only) wide area support. (i.e. DNS-SD over unicast DNS)
340 * Ported to FreeBSD, NetBSD, Darwin/MacOSX and to some extent OpenBSD
341 * Portability fixes for ARM CPUs
342 * Compatibility layers for the HOWL and Bonjour APIs
343 * Support for registering/browsing arbitrary records
344 * Proper support for DNS-SD service subtypes
345 * Native C implementations of the client utilities
346 * Now passes the Bonjour conformance test suite without any exceptions
347 * "Passive observation of failures"
349 * Many traffic reduction improvements
352 This release is not API/ABI compatible with Avahi 0.5. Please see
353 docs/API-CHANGES-0.6 for a rough overview over the changes.
359 * Fix browing in QT applications (was totally broken)
360 * Minor documentation update.
365 * This is a bug fix release, before the big changes coming in 0.6
366 * Fix reporting of the NO_DAEMON error
367 * Fix commit throttling algorithm for entry groups
368 * Fix counting of the number of resources in an entry group
370 Avahi 0.5, the 'Bom Dia' release
371 ================================
373 * New Mono bindings, allowing you to use Avahi from
374 any CLI language such as C#
375 * Attempt auto-detection of the D-BUS system bus address
376 * Include a 'cookie' in all published records which allows us
377 to reliably determine if a service is the same as another.
378 * Add API to determine if services are local
379 * Better support for threading with AvahiSimplePoll
380 * Add some new StringList functions to help binding to it in
382 * Various build and run-time bug fixes
384 Avahi 0.4, the 'Hyvää päivää' release
385 =====================================
387 * Renamed the include dirs for the Qt bindings to include the
388 version number, as they may diverge in future.
389 * Fix a critical bug in avahi-daemon triggered by configuring an interface
390 with various DHCP clients when you have no other active addresses which
391 caused avahi-daemon to abort.
392 * Move to using python-gdbm exclusivly for the service type database.
393 * Add support for SUSE
394 * Various fixes to the build system
396 Avahi 0.3, the 'Buenos Días' release
397 ====================================
399 * New integration library for QT main-loop applications.
400 * Fix a crash in avahi-dnsconfd
401 * Documentation Updates
402 * Fix building when you don't want Python DBUS or GTK
404 - Add new help option
405 - Fix handling of paths not starting with a /
406 - You can now specify the port and IP to bind to
407 - Add option to generate links with hostnames instead of IPs
409 Avahi 0.2, the 'Dzień Dobry' release
410 ====================================
412 * Unfortunately this release broke the API/ABI of libavahi-client
413 with the following function removals
415 Removal of these functions may affect users of the 0.1 API
416 - avahi_service_resolver_block()
418 The following functions were simply for debugging information
419 and their removal should not affect anyone
420 - avahi_entry_group_get_dbus_path()
421 - avahi_domain_browser_get_dbus_path()
422 - avahi_service_type_browser_get_dbus_path()
423 - avahi_service_browser_get_dbus_path()
425 Note that while the libavahi-client API changed slightly, the DBUS
426 API itself has only had additions and no existing definitions
429 * avahi-daemon will now ignore local IP addresses with the "link" scope
430 unless it is the only IP address on the interface.
431 * avahi-daemon will no longer fail to start if D-BUS is not
432 available (if configured with enable-dbus=warn)
433 * Fixed a potential crasher when resolving things in libavahi-core.
434 * New example demonstrating integration into glib applications
435 * Addtion of a set of convenience functions for AvahiStringList
436 avahi_string_list_find()
437 avahi_string_list_get_pair()
438 avahi_string_list_add_pair()
439 avahi_string_list_add_pair_arbitrary()
440 * Fixed a typo in avahi-glib.pc that stopped programs using
441 the GLIB api from compiling correctly
442 * A critical bug in the reflector was fixed where it may go into a
443 state of constantly flooding queries out to the network.
444 * Introduced new asynchronous resolver API
445 * libavahi-client gained an API for resolving HostNames and Addresses
446 in addition to the ServiceResolver provided in 0.1
447 * Added support for Arch and Gentoo linux distributions.
448 * Allowed configuration on non-supported distributions
449 * Fixed a critical bug where you cannot use more than one AvahiClient
450 or use it in an application already using D-BUS
451 * Fixed assembly of empty string lists to RFC compliant TXT records
452 * Added a new service type description database with human
453 understandable descriptions of services with translations.
454 * Fixed various minor memory corruption bugs
455 * Fixed an issue where Avahi might think it encountered a conflict
456 if the process or machine has been suspended
457 * Fixed compilation and runtime issues on 64-bit distributions
461 Avahi 0.1, the "Guten Tag" release
462 ==================================
464 The Avahi team would like to announce the immediate availability of
465 Avahi 0.1 "Guten Tag".
467 Avahi is a fully LGPL framework for Multicast DNS Service Discovery.
468 It allows programs to publish and discover services and hosts
469 running on a local network with no specific configuration. For
470 example you can plug into a network and instantly find printers to
471 print to, files to look at and people to talk to.
473 Avahi is designed to be compatible with the mDNS/DNS-SD specification
474 and boasts the following features
476 * Fully open source and freely available under the LGPL
477 * Full IPv4 and IPv6 support
478 * An embeddable mDNS stack
479 * Dynamic adjustment to network reconfiguration
480 * Daemon with DBUS API for desktop applications
481 * C library to interface with the DBUS API
482 * Compatible with other mDNS/DNS-SD implementations such as
483 Howl and Apple Bonjour (previously Rendezvous)
484 * Ability to correctly "reflect" mDNS between two or more LAN segments
485 * Ability to configure DNS servers based on mDNS/DNS-SD published
486 information, a feature that is very usefull on IPv6
487 which has no other mechanism for this.
488 * Combined with nss-mdns, allows hostname lookup such as
489 'laptop.local' without the configuration of a DNS server.
490 http://0pointer.de/lennart/projects/nss-mdns/
491 * Easy integration into GLIB, GTK other mainloop applications.
492 * Documentation and examples of both developer APIs and utilities.
494 mDNS/DNS-SD is part of a larger set of specifications for easy
495 configuration of networking known as "ZeroConf"
496 (http://www.zeroconf.org/), with the aim of allowing you to plug into
497 a network and instantly be able to interact with it's services.
499 Avahi was designed to be a fully free implementation, and is
500 available under the LGPL. Many other implementations of the mDNS/DNS-SD
501 specification were previously non-free, restricting their use in many
502 platforms such as the GNOME desktop and many distributions.
504 While Avahi is a 0.1 release, we feel it is feature complete and
505 available for immediate use, developers can make use of the Avahi
506 client library to provide above mentioned functionality in their
509 We unfortunately do not have a logo yet! We would love if someone
510 could suggest ideas for a logo or even design us one. If you think
511 you can help us out, you can contact us on our mailing list or by
512 emailing Trent Lloyd on lathiat@bur.st.
514 If you would like more information or help, you can subscribe
515 to our mailinglist, goto
516 http://lists.freedesktop.org/mailman/listinfo/avahi
518 You can download Avahi 0.1 here
519 http://www.freedesktop.org/~lennart/avahi-0.1.tar.gz
521 You can also find out more information from our homepage
522 http://www.freedesktop.org/Software/Avahi
524 We would like to thank the following people for their
525 contribution to Avahi 0.1.