summaryrefslogtreecommitdiffstats
path: root/docs/NEWS
blob: 212d157c03e7226aaaaf6639947ef02b7aac9061 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
Avahi 0.6.14
============

This release fixes some bugs and includes a new component.

Changes:

  * Add new daemon "avahi-autoipd" which is an implementation of
    IPv4LL as defined in RFC3927, a technology for assigning link-local IP
    addresses without DHCP server. The same functionality has been available on
    Windows under the name APIPA. While it is not the first implemenatation of
    this technology for Free operating systems it is clearly the most powerful
    and hopefully even the most secure. (Because it chroot()s and drops
    priviliges and suchlike) For more information, especially about packaging
    this new tool for distributions, please make sure to read:
    http://avahi.org/wiki/AvahiAutoipd 
    and of course the man page included in the tarball.  For the rationale for
    adding this program to the Avahi toolset please read this mailing list
    thread:
    http://lists.freedesktop.org/archives/avahi/2006-September/000863.html
  * Fix a segfault in the code handling static host name registrations
  * Add a few new entries to the service type database
  * s/D-?BUS/D-Bus/g
  * Documentation updates
  * Fix service type database building on Solaris
  * Make use of newer D-Bus APIs
  * Fix random seed initialization
  * Install SFTP static service file by default
  * Other minor code cleanups

This release is backwards compatible with Avahi 0.6.x with x < 14.

Please note that this version doesn't compile on NetBSD, patches
welcome.

Please note that avahi-autoipd is available on Linux only for
now. Patches welcome. It is recommended to pass --disable-autoipd to
"configure" on non-Linux operating systems, otherwise the build will
fail.

Avahi 0.6.13
============

This release fixes some bugs and includes minor enhancements.

Changes:
  * Add a new D-Bus method for changing the mDNS host name during
    runtime. This functionality is only available to members of the
    UNIX group "netdev", which is the same access group that is
    enforced by GNOME's NetworkManager daemon. Since NM will probably
    be the most prominent user of this new method, we decided to limit
    access to the same group. The access group can be set by passing
    --with-avahi-priv-access-group= to "configure". If you need more
    sophisticated access control you can freely edit
    /etc/dbus/system.d/avahi-dbus.conf.
  * Add a new utility "avahi-set-host-name" which is a command line
    wrapper around the aforementioned SetHostName() method.
  * Bonjour API compatibility library:
        * Implement DNSServiceUpdateRecord() 
        * Allow passing NULL as callback function for
          DNSServiceRegister()
        * Implement subtype registration in DNSServiceRegister() in a
          way that is compatible with Bonjour.
	* Update to newer copy of dns_sd.h
  * If the host name changes update names of static services wich
    contain wildcards.
  * Don't build documentation about embedding the Avahi mDNS stack into
    other programs by default. This is a feature used only by embedded
    developers. Pass --enable-core-docs to "configure" to enable
    building these docs, like in Avahi <= 0.6.12.
  * Build Qt documentation only when Qt support is enabled in
    the configuration. Same for GLib.
  * Change algorithm used to find a new host name on conflict. In
    Avahi <= 0.6.12 a conflicting host name of "foobar" would be
    changed to the new name "foobar2". With 0.6.13 "foobar-2" will be
    picked instead. This follows Bonjour's behaviour and has the
    advantage not confusing people with regular host names ending in
    digits.
  * Don't disable all static services when SIGHUP is recieved.
  * Fix build when Avahi is configured without Gtk+ but with Python
    support
  * Fix build on MacOS X
  * Support using Solaris DBM instead of gdbm for the service type
    database. The latter is still recommended
  * Minor other fixes and documentation updates

This release is backwards compatible with Avahi 0.6.x with x < 13.

Avahi 0.6.12
============

This is a bugfix and general cleanups release.

Changes:
  * Compatibility with newer D-Bus releases (0.9x)
  * Compatibility with DBUS builds with --disable-checks
  * Fix an error in the DBUS event loop wrapping which
    caused the avahi client libraries to dispatch some events
    too late when used with D-BUS 0.62 and newer.
  * avahi-daemon: fix a minor memory leak in the DBUS code.
  * avahi-glib: some GLIB adapter cleanups
  * avahi-dnsconfd: fix segfault when passing an invalid command 
    line option
  * avahi-test: portability patches for Solaris
  * avahi-browse: flush STDOUT after each line, making it useful 
    in shell scripts.
  * update service type database

This release is backwards compatible with Avahi 0.6.x with x < 12.

Avahi 0.6.11
============

This is a bugfix and portability release.

Changes:
  * Ported to Solaris
  * avahi-sharp: fix a fatal error in object disposal code
  * add a few new entries to the servivce type database
  * fix potential crash when the daemon shuts down
  * compatibility with newer autoconf versions

This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.9 and 0.6.10.

Avahi 0.6.10
============

This is mostly a bugfix release. Two of the bugs fixed are security
sensitive: a remote denial-of-service vulnerability and a buffer
overflow that can allow local users to become the 'avahi' user. We do
not consider either of them major security threats. 

The DoS vulnerability can be exploited from a local network only. It
is not worth much, though, since mDNS can easily be flooded with
nonsense anyway. It is easy to kick remote mDNS/DNS-SD services by
provoking a name conflict in perfect accordance with the specs. 

The buffer overflow is hard to exploit remotely, only local users can
become the 'avahi' user. In addition the user is trapped inside a
chroot() environment (at least on Linux). 

Anyhow, our security assessments are possibly as buggy as our
code. Hence:

     *** PLEASE UPDATE YOUR INSTALLATION ASAP! ***

Changes:
 * Fix a buffer overflow in avahi-core
 * Refuse to process invalid UTF8 data
 * Automatically reconnect to the DBUS if we're kicked. (Works only if
   chroot() is disabled)
 * Don't hit an assert() in the client libs when the Avahi daemon is
   terminated
 * Enumerate all service types in the database in the Service
   Discovery Applet for Gnome
 * Improve the Bonjour compatibility layer to make it survive
   GnomeMeeting's broken usage
 * Deal properly with local non-ASCII hostnames
 * AMD64 and FreeBSD portability fixes
 * Filter double DNS server entries in avahi-dnsconfd
 * Fix a locking bug in avahi-sharp's EntryGroup.AddService()
 * Ported to Solaris (incomplete)
 * Add _airport._tcp to our service type database

This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8 and 0.6.9.

Avahi 0.6.9
===========

This release fixes some bugs and includes minor enhancements.

 * Don't allow registration of address records with invalid host names
 * Clean up argument validity checking for AvahiHostNameResolver and 
   AvahiAddressResolver
 * Fix Avahi builds without DBUS

This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7 and 0.6.8.

Avahi 0.6.8
===========

This release fixes some bugs and adds a few new features. Users of 0.6.7,
please update ASAP!

 * Fix broken parsing of static hosts file 
 * Improve out-of-the-box Debian support
 * Add configuration option to allow mDNS over POINTOPOINT links.
   This is a potential security hole and YMMV. See man page for details.
 * Create $(localstatedir)/run on installation

This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
0.6.3, 0.6.4, 0.6.5, 0.6.6 and 0.6.7.

Avahi 0.6.7
===========

This release fixes some bugs and adds a few new features

 * Add static hosts name mappings
 * Work around kernel bugs regarding multicast group membership
 * ia64 portability fixes
 * Don't require X11 to run avahi-bookmarks
 * API: Return AVAHI_ERR_IS_EMPTY when the user tries to commit an
   empty entry group.
 * Improved Slackware and Fedora suppport

This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
0.6.3, 0.6.4, 0.6.5 and 0.6.6.

Avahi 0.6.6
===========

This release fixes some bugs and includes some documentation updates

 * Add a bunch of new types to the service type database
 * Return errors of avahi_entry_group_commit() properly
 * Many doxygen documentation improvements
 * Fix destruction of AvahiEntryGroup objects using 
   avahi_entry_group_free().
 * Don't allow commiting of empty entry groups
 * Use a little less memory in avahi-qt
 * Don't accept empty TXT strings
 * Update example "client-publish-service.c" to show how to modify an
   existing service

This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
0.6.3, 0.6.4 and 0.6.5.

Avahi 0.6.5
===========

This release fixes some bugs and adds a new API function.
 
 * avahi-browse: properly show services that are removed from the 
   network
 * fix build on bi-arch platforms, on GNU/kFreeBSD, on MIPS and 
   for non-DBUS builds
 * add new API function avahi_nss_support() and DBUS function
   IsNSSSupportAvailable() which may be used to detect whether
   libc's gethostbyname() supports mDNS domain names.
 * patch avahi-bookmarks to make use of
   IsNSSSupportAvailable(). avahi-bookmarks will now generate links
   with real hostnames instead of numeric IP addresses if mDNS support
   is detected for gethostbyname().
 * add init script for Mandriva Linux
 * speed up avahi_client_free()
 * man page updates
 * install missing header thread-watch.h
 * fix avahi-bookmarks to work with certain twisted versions
 * fix record updating
 * Use pkg-config's Requires.private directive where it makes sense

This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
0.6.3 and 0.6.4.

Avahi 0.6.4
===========

This is a bugfix release and adds a new event loop implementation to
avahi-common's public interface.
 
 * avahi-common: add new AvahiThreadedPool event loop implementation
 * avahi-sharp: compatibility with newer mono versions
 * avahi-publish-service: don't ignore the port number specified
 * avahi-sharp: correct some flags definitions

This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2 and
0.6.3.

A quick introduction how to use the new AvahiThreadedPool interface is
available in our Wiki:

          http://avahi.org/wiki/RunningAvahiClientAsThread

Avahi 0.6.3
===========

This is a bugfix release. Everyone should update ASAP!

 * avahi-sharp: make sure to append a trailing NUL byte to all C strings
 * avahi-core: fix a double free() which occurs when wide area lookups timeout

This release is fully compatible with Avahi 0.6, 0.6.1 and 0.6.2.

Avahi 0.6.2
===========

This is mostly a bugfix release.

 * Compatibility with DBUS 0.60 (Full compatibility with DBUS 0.3x and 
   0.5 is retained)
 * Fix introspection for some auxiliary DBUS objects
 * Miscellaneous documentation updates
 * Improve Autoconf support for detecting PTHREADS library
 * Fix avahi-publish --help
 * Workaround a DBUS limitation which might cause Avahi to die when a
   user sends an empty TXT entry over DBUS
 * Increase number of resolver/browser objects a DBUS client may create
 * Remove fprintf() call in avahi_client_new()
 * Other minor fixes

This release is both up and downwards compatible with Avahi 0.6 and 0.6.1.

Avahi now has its own Domain (http://avahi.org) and a new Website!

And, most importantly, we now have a Logo:
      http://avahi.org/chrome/site/avahi-trac.png

Avahi 0.6.1
===========
        
This is mostly a bugfix release.

 * Fix a segfault when shutting down the daemon. Please note that this
   issue was not security sensitive in any way but had the ugly side
   effect that the daemon's PID file was not removed properly.
 * Added init scripts for ArchLinux and FreeBSD
 * Add DBUS API versioning through the new method GetAPIVersion()
 * Build the HOWL compatibility library as "libhowl.so", instead of
   "libavahi-compat-howl.so". This will help distributors to ensure
   full API/ABI compatibility with HOWL out-of-the-box.
 * Same for the Bonjour compatibility library
 * Other fixes

We encourage Linux users to update to libdaemon 0.10 since logging
does not work from a chroot() environment with older versions.

This release is fully API and ABI compatible with Avahi 0.6. This is
true for both the C libraries and the DBUS interface.

Packagers should read the new documentation file doc/COMPAT-LAYERS
which contains some information about maintaining full build system
compatibility in addition to ABI/API compatibility.

Avahi 0.6, the "Goddag" release
===============================

 * Support for (read-only) wide area support. (i.e. DNS-SD over unicast DNS)
 * Ported to FreeBSD, NetBSD, Darwin/MacOSX and to some extent OpenBSD
 * Portability fixes for ARM CPUs
 * Compatibility layers for the HOWL and Bonjour APIs
 * Support for registering/browsing arbitrary records
 * Proper support for DNS-SD service subtypes
 * Native C implementations of the client utilities
 * Now passes the Bonjour conformance test suite without any exceptions
 * "Passive observation of failures"
 * chroot() support
 * Many traffic reduction improvements
 * Bugfixes, cleanups

This release is not API/ABI compatible with Avahi 0.5. Please see
docs/API-CHANGES-0.6 for a rough overview over the changes. 

Avahi 0.5.2
===========

 * Bug fix release.
 * Fix browing in QT applications (was totally broken)
 * Minor documentation update.

Avahi 0.5.1
===========

 * This is a bug fix release, before the big changes coming in 0.6
 * Fix reporting of the NO_DAEMON error
 * Fix commit throttling algorithm for entry groups
 * Fix counting of the number of resources in an entry group 

Avahi 0.5, the 'Bom Dia' release
================================

 * New Mono bindings, allowing you to use Avahi from
   any CLI language such as C#
 * Attempt auto-detection of the D-BUS system bus address
 * Include a 'cookie' in all published records which allows us
   to reliably determine if a service is the same as another.
 * Add API to determine if services are local
 * Better support for threading with AvahiSimplePoll
 * Add some new StringList functions to help binding to it in
   other languages
 * Various build and run-time bug fixes

Avahi 0.4, the 'Hyvää päivää' release
=====================================

 * Renamed the include dirs for the Qt bindings to include the
   version number, as they may diverge in future.
 * Fix a critical bug in avahi-daemon triggered by configuring an interface
   with various DHCP clients when you have no other active addresses which
   caused avahi-daemon to abort.
 * Move to using python-gdbm exclusivly for the service type database.
 * Add support for SUSE
 * Various fixes to the build system

Avahi 0.3, the 'Buenos Días' release
====================================

 * New integration library for QT main-loop applications.
 * Fix a crash in avahi-dnsconfd
 * Documentation Updates
 * Fix building when you don't want Python DBUS or GTK
 * avahi-bookmarks
   - Add new help option
   - Fix handling of paths not starting with a /
   - You can now specify the port and IP to bind to
   - Add option to generate links with hostnames instead of IPs

Avahi 0.2, the 'Dzień Dobry' release
====================================

 * Unfortunately this release broke the API/ABI of libavahi-client
   with the following function removals

   Removal of these functions may affect users of the 0.1 API
    - avahi_service_resolver_block()

   The following functions were simply for debugging information
   and their removal should not affect anyone
    - avahi_entry_group_get_dbus_path()
    - avahi_domain_browser_get_dbus_path()
    - avahi_service_type_browser_get_dbus_path()
    - avahi_service_browser_get_dbus_path()

   Note that while the libavahi-client API changed slightly, the DBUS
   API itself has only had additions and no existing definitions
   have changed.
 
 * avahi-daemon will now ignore local IP addresses with the "link" scope
   unless it is the only IP address on the interface.
 * avahi-daemon will no longer fail to start if D-BUS is not
   available (if configured with enable-dbus=warn)
 * Fixed a potential crasher when resolving things in libavahi-core.
 * New example demonstrating integration into glib applications
 * Addtion of a set of convenience functions for AvahiStringList
   avahi_string_list_find()
   avahi_string_list_get_pair()
   avahi_string_list_add_pair()
   avahi_string_list_add_pair_arbitrary()
 * Fixed a typo in avahi-glib.pc that stopped programs using
   the GLIB api from compiling correctly
 * A critical bug in the reflector was fixed where it may go into a
   state of constantly flooding queries out to the network.
 * Introduced new asynchronous resolver API
 * libavahi-client gained an API for resolving HostNames and Addresses
   in addition to the ServiceResolver provided in 0.1
 * Added support for Arch and Gentoo linux distributions.
 * Allowed configuration on non-supported distributions
 * Fixed a critical bug where you cannot use more than one AvahiClient 
   or use it in an application already using D-BUS
 * Fixed assembly of empty string lists to RFC compliant TXT records
 * Added a new service type description database with human
   understandable descriptions of services with translations.
 * Fixed various minor memory corruption bugs
 * Fixed an issue where Avahi might think it encountered a conflict
   if the process or machine has been suspended
 * Fixed compilation and runtime issues on 64-bit distributions
 * ...
 * PROFIT!!!

Avahi 0.1, the "Guten Tag" release
==================================

The Avahi team would like to announce the immediate availability of
Avahi 0.1 "Guten Tag".

Avahi is a fully LGPL framework for Multicast DNS Service Discovery.
It allows programs to publish and discover services and hosts
running on a local network with no specific configuration.  For
example you can plug into a network and instantly find printers to
print to, files to look at and people to talk to.

Avahi is designed to be compatible with the mDNS/DNS-SD specification
and boasts the following features

 * Fully open source and freely available under the LGPL
 * Full IPv4 and IPv6 support
 * An embeddable mDNS stack
 * Dynamic adjustment to network reconfiguration
 * Daemon with DBUS API for desktop applications
 * C library to interface with the DBUS API
 * Compatible with other mDNS/DNS-SD implementations such as
   Howl and Apple Bonjour (previously Rendezvous)
 * Ability to correctly "reflect" mDNS between two or more LAN segments
 * Ability to configure DNS servers based on mDNS/DNS-SD published
   information, a feature that is very usefull on IPv6
   which has no other mechanism for this.
 * Combined with nss-mdns, allows hostname lookup such as
   'laptop.local' without the configuration of a DNS server.
   http://0pointer.de/lennart/projects/nss-mdns/
 * Easy integration into GLIB, GTK other mainloop applications.
 * Documentation and examples of both developer APIs and utilities.

mDNS/DNS-SD is part of a larger set of specifications for easy
configuration of networking known as "ZeroConf"
(http://www.zeroconf.org/), with the aim of allowing you to plug into
a network and instantly be able to interact with it's services.

Avahi was designed to be a fully free implementation, and is
available under the LGPL.  Many other implementations of the mDNS/DNS-SD
specification were previously non-free, restricting their use in many
platforms such as the GNOME desktop and many distributions.

While Avahi is a 0.1 release, we feel it is feature complete and
available for immediate use, developers can make use of the Avahi
client library to provide above mentioned functionality in their
programs.

We unfortunately do not have a logo yet! We would love if someone
could suggest ideas for a logo or even design us one.  If you think
you can help us out, you can contact us on our mailing list or by
emailing Trent Lloyd on lathiat@bur.st.

If you would like more information or help, you can subscribe
to our mailinglist, goto
    http://lists.freedesktop.org/mailman/listinfo/avahi

You can download Avahi 0.1 here
    http://www.freedesktop.org/~lennart/avahi-0.1.tar.gz

You can also find out more information from our homepage
    http://www.freedesktop.org/Software/Avahi

We would like to thank the following people for their
contribution to Avahi 0.1.
    Lennart Poeterring
    Trent Lloyd
    Sebastien Estienne
    Ross Burton
    Tommi Vainikainen
    Joe Shaw
    Ikke
    Steev

Cheers,
The Avahi Team

$Id$