	=== Release 0.4.4 ===

2012-01-27  David King  <amigadave@amigadave.com>

	Add gnutls to Requires of libepc-1.0.pc

	* libepc-1.0.pc.in: Add gnutls to Requires.

	=== Release 0.4.3 ===

2011-10-12  Michael Biebl  <biebl@debian.org>

	Fix libepc-ui-1.0.pc.in to depend on gtk+-3.0
	Bug #664502

	=== Release 0.4.2 ===
	
2011-10-12  Murray Cumming  <murrayc@murrayc.com>

	Build: examples: Avoiding some repetition.

	* Makefile.am: Used variables to avoid copy/pasting.

2011-10-12  Murray Cumming  <murrayc@murrayc.com>

	examples: Fix linker problems.

	* Makefile.am: Some examples used GTK+ but didn't link to it.
	USe LIBEPC_UI_LIBS for these.

2011-08-31  Ionut Biru <ibiru@archlinux.org>

  Avoid use of deprecated G_CONST_RETURN
    
  * libepc/enums.c.in: Avoid use of deprecated G_CONST_RETURN.
  Bug #660558

	=== Release 0.4.1 ===
	
2011-08-31  Murray Cumming  <murrayc@murrayc.com>

	Really use GTK+ 3.

	* configure.ac: Check for gtk+-3.0 for libepc-ui.
	* examples/consumer-ui.c:
	* examples/publisher-ui.c: Port to GTK+ 3, though I just removed the 
	GtkAboutBox url hook.
	Bug #657679 (Frederic Peters)

2011-06-15  Murray Cumming  <murrayc@murrayc.com>

	Avoid use of deprecated G_CONST_RETURN.

	* libepc-ui/password-dialog.[h|cc]:
	* libepc/consumer.[h|cc]:
	* libepc/contents.[h|cc]:
	* libepc/dispatcher.[h|cc]:
	* libepc/protocol.[h|cc]:
	* libepc/publisher.[h|cc]:
	* libepc/service-info.[h|cc]:
	* libepc/service-type.[h|cc]:
	* libepc/shell.[h|cc]: Use const instead.

	=== Release 0.4.0 ===

2010-05-12  Murray Cumming  <murrayc@murrayc.com>

	Fix the build with --enable-compiler-warnings=error

	* libepc-ui/progress-window.c
	* examples/consumer-ui.c: Remove ifdefed code for older versions
	of GTK+. We use GTK+ 3 now anyway. This was causing a compiler
	warning about extra tokens after #ifdef.

2010-05-12  Christopher Dale  <chrelad@gmail.com>

	Use avahi-ui-gtk3 rather than avahi-ui-gtk.
	Bug #649404

	This breaks ABI, but this is an unstable library anyway (murrayc).

2010-03-24  David King  <davidk@openismus.com>

	Fix compilation with GSEAL_ENABLE defined

	* examples/consumer-ui.c:
	* libepc-ui/password-dialog.c:
	* libepc-ui/progress-window.c: Update for compilation with GSEAL_ENABLE
	defined.

	=== Release 0.3.10 ===

2010-03-23  David King  <davidk@openismus.com>

	Fix several compiler warnings

	* libepc/publisher.c:
	* examples/lookup-resource.c:
	* examples/consumer-ui.c: Use G_GSIZE_FORMAT for a gsize parameter in
	printf format strings.

	* libepc/tls.c: Use gsize* as third parameter to g_file_get_contents().

	* examples/publisher-ui.c: Add prototypes for GtkBuilder callbacks.

2010-03-23  David King  <davidk@openismus.com>

	Modernise autotools configuration

	* configure.ac: Require autoconf 2.63 and automake 1.10.3. Change bug
	report link to bugzilla product. Add no-define option to automake
	configuration. Do not use GNOME_COMMON_INIT. Reorder to the ‘standard
	configure.ac layout’ as per the autoconf manual. Check deprecation
	flags with GNOME_MAINTAINER_MODE_DEFINES, to avoid deprecations
	affecting tarball releases. Enable warnings with
	GNOME_COMPILE_WARNINGS. Require libtool 2.2.6 for much faster builds.
	Check for uint16 type. Reduce the duplication of CFLAGS and LDFLAGS
	by checking for the existence of gio and libsoup separately to
	pkg-config invocation. Check for existence of glib-2.0 before
	attempting to use the pkg-config variables.

	* Makefile.am: Adapt to configure.ac changes. Do not use EXTRA_DIST.
	Distribute examples/publisher.ui.

	* examples/publisher.glade: Remove unused file.

	* libepc-1.0.pc.in:
	* libepc-ui-1.0.pc.in: Use modern autoconf variable names.

	* INSTALL: Remove generated file from repository.

	* .gitignore: Add INSTALL.

	* m4/.gitignore: Placeholder file so that git creates this ‘empty
	directory’.

	* autogen.sh: Remove autoconf version check.

2010-03-23  David King  <davidk@openismus.com>

	Drop GTK+ requirement back to 2.10

	* libepc-ui/password-dialog.c: Wrap gtk_widget_get_visible() call in
	an ifdef, so that a newer version of GTK+ is not required.
	* configure.ac: Drop GTK+ requirement to 2.10.

2010-03-07  Andre Klapper  <a9016009@gmx.de>

	Replace deprecated GTK_WIDGET_VISIBLE, fixing bug #612108

	* libepc-ui/password-dialog.c: Use new gtk_widget_get_visible() rather
	than the deprecated GTK_WIDGET_VISIBLE.
	* configure.ac: Bump GTK+ requirement to 2.18.

2009-08-21  Josselin Mouette  <joss@malsain.org>

	Patch by Petr Salinger.

	* tests/framework.c (epc_test_list_ifaces):
	Use ifr_index if ifr_ifindex does not exist. Fixes build failure
	on GNU/kFreeBSD. Bug #592474.

2009-08-21  Murray Cumming  <murrayc@murrayc.com>

	* libepc/shell.c (epc_shell_progress_update_default):
	Change the Operation Proceeded string to the more correct Operation in
	Progress and added a translator comment, to fix bug #589339.
	(Luca Ferretti)

	=== Release 0.3.10 ===

2009-05-18  Murray Cumming  <murrayc@murrayc.com>

	* libepc/shell.c (epc_shell_create_service_browser): Fix a warning about
	no return value. Bug #583000 (Vincent Untz).

	=== Release 0.3.9 ===

2008-11-10  Cosimo Cecchi  <cosimoc@gnome.org>

	* libepc-ui/password-dialog.h:
	* libepc-ui/progress-window.h:
	Use single GTK+ includes.

2008-11-02  Murray Cumming  <murrayc@murrayc.com>

	* libepc/shell.c (epc_shell_create_service_browser):
	Return if epc_shell_get_avahi_client() returns a GError, instead of
	then setting the already-set GError later.

2008-10-23  Mathias Hasselmann  <mathias@taschenorakel.de>

	Get default address of system DBus from pkg-config.

	* tests/test-runner.sh: See above.

2008-10-19  Murray Cumming  <murrayc@murrayc.com>

	=== Release 0.3.8 ===

2008-10-19  Mathias Hasselmann  <mathias@taschenorakel.de>

	Provide a default value for DBUS_SYSTEM_BUS_ADDRESS.

	* tests/test-runner.sh: See above.

2008-10-19  Mathias Hasselmann  <mathias@taschenorakel.de>

	Use different service ports for dispatchers since new Avahi only
	report local collisions under that condition. Might be a bug in Avahi.

	* tests/test-dispatcher-local-collision.c (main()):
	  Use port 2008 for dispatcher2.

2008-10-19  Mathias Hasselmann  <mathias@taschenorakel.de>

	Don't expect Avahi to announce services on interfaces named "*:avahi".

	* tests/framework.c (epc_test_list_ifaces()):
	  Ignore interfaces with ":avahi" suffix.

2008-10-19  Mathias Hasselmann  <mathias@openismus.com>

	Remove redundant epc_gettext() function.

	* Makefile.am:
	* libepc/i18n.c:
	* libepc/i18n.h:
	  Remove libepc/i18n.[ch].

	* libepc/consumer.c:
	* libepc/publisher.c:
	* libepc/tls.c:
	* libepc-ui/password-dialog.c:
	* libepc-ui/progress-window.c:
	* libepc/shell.c (epc_shell_init()):
	  Include <glib/gi18n-lib.h> instead of "libepc/i18n.h".
	  Bind localedir in epc_shell_init() instead of epc_gettext().

2008-10-19  Murray Cumming  <murrayc@murrayc.com>

	=== Release 0.3.7 ===

2008-10-19  Murray Cumming  <murrayc@murrayc.com>

	* Makefile.am: Specify LIBEPC_LIBS for the examples,
	because not all (such as gthread-2.0) are implicitly provided
	by the build library.
	Bug #556689 (Götz Waschk).

2008-10-17  Murray Cumming  <murrayc@murrayc.com>

	=== Release 0.3.6 ===

2008-10-17  Murray Cumming  <murrayc@murrayc.com>

	* configure.ac: Really increase the version.

2008-09-21  Brian Pepple  <bpepple@fedoraproject.org>

	* configure.ac: add missing gthread module check to fix build.
	Bug #553181.

2008-07-29  Murray Cumming  <murrayc@murrayc.com>

	* libepc/publisher.c: epc_publisher_install_handlers(): Check for
	a NULL service_name before calling soup_auth_domain_digest_new() to
	avoid a crash. However, we need to know why it can be NULL and
	prevent that instead.
	Bug #540631.

2008-07-12  Mathias Hasselmann  <mathias@openismus.com>

	Do some small code cleanups.

	* examples/simple-publisher.c: Rename authentication_handler()
	  to authorization_handler() which is the proper name.
	* libepc-ui/password-dialog.h: Convert tabs to space.

2008-07-12  Mathias Hasselmann  <mathias@openismus.com>

	Moved localization related ChangeLog messages to po folder
	to fit translation team's needs.

	* ChangeLog: Removed localization related messages.
	* po/ChangeLog: Added localization related messages.

2008-06-22  Mathias Hasselmann  <mathias@openismus.com>

	Try to prevent crash after avahi_service_browser_free (#539630).

	* libepc/service-monitor.c (epc_service_monitor_constructed()):
	  Really never add NULL pointer to internal browser list when
	  epc_shell_create_service_browser() returns NULL, but forgets
	  to raise an exception (set the error variable).

	* libepc/shell.c (epc_shell_create_service_browser()):
	  Set error variable when avahi_service_browser_new() returns NULL.

2008-05-09  Mathias Hasselmann  <mathias@openismus.com>

	Properly express dependencies of libepc-ui-1.0.la.

	* Makefile.am:
	  Remove libepc/libepc-1.0.la from libepc_ui_libepc_ui_1_0_la_LDFLAGS
	  and properly add it to libepc_ui_libepc_ui_1_0_la_LIBADD.

2008-04-07  Mathias Hasselmann  <mathias@openismus.com>

	=== Release 0.3.5 ===

2008-04-07  Mathias Hasselmann  <mathias@openismus.com>

	Make test suite build with -Werror again.

	* tests/framework.c (_epc_test_match_any(), _epc_test_match_one(),
	  _epc_test_pass_once_per_iface()): Mark unused arguments and change
	  type of ifidx argument from gint to guint.

2008-04-07  Mathias Hasselmann  <mathias@openismus.com>

	Prepare release.

	* NEWS: Updated from ChangeLog
	* configure.ac: Bump version number.

2008-04-07  Mathias Hasselmann  <mathias@openismus.com>

	Upgrade the test suite to handle multiple active network interfaces.

	* tests/framework.c, tests/framework.h (EpcIfTestStatus,
	  epc_test_list_ifaces(), _epc_test_match_any(), _epc_test_match_one(),
	  _epc_test_pass_once_per_iface(), epc_test_pass_once_for_each_iface(),
	  epc_test_pass_once_per_iface()): Provide infrastructure for handling
	  tests, that match once for each active network interface.

	* tests/test-dispatcher-rename.c (service_browser_cb()),
	  tests/test-dispatcher-reset.c (service_browser_cb()),
	  tests/test-publisher-bookmarks.c (service_browser_cb()),
	  tests/test-publisher-change-name.c (service_browser_cb()):
	  Replace epc_test_pass_once() by epc_test_pass_once_per_iface()
	  were needed.

	* tests/test-dispatcher-unique.c (service_found_cb()),
	  tests/test-publisher-unique.c (contents_handler_cb(),
	  service_found_cb()): Replace epc_test_pass_once() by
	  epc_test_pass_once_for_each_iface() were needed.

2008-04-04  Murray Cumming  <murrayc@murrayc.com>

	Plug a small memory leak in EpcDispatcher.

	* libepc/dispatcher.c (epc_dispatcher_dispose):
	Free priv->cookie.

2008-04-02  Mathias Hasselmann  <mathias@openismus.com>

	Plug a small memory leak in EpcPublisher.

	* libepc/publisher.c (epc_publisher_dispose()):
	  Release service_cookie field.

2008-03-25  Mathias Hasselmann  <mathias@openismus.com>

	Specify charset for the publisher's TOC (#523992).

	* libepc/publisher.c: Add charset to content-type header of TOC.

2008-03-22  Mathias Hasselmann  <mathias@openismus.com>

	Make libsoup-2.4 variant build with -Werror again.

	* libepc/publisher.c: Mark some arguments as unused.

2008-01-29  Mathias Hasselmann  <mathias@openismus.com>

	=== Release 0.3.4 ===

	* NEWS: Updated for release 0.3.4

2008-01-29  Mathias Hasselmann  <mathias@openismus.com>

	Small tweaks to make distcheck happy.

	* Makefile.am: Update EXTRA_DIST and add DISTCLEANFILES.
	* po/ChangeLog: Update toplevel ChangeLog please.

2008-01-21  Mathias Hasselmann  <mathias@openismus.com>

	Avoid failed SOUP_IS_SERVER (server) assertions.

	* libepc/publisher.c: Call soup_server_remove_handler() only,
	when self->priv->server is set in epc_publisher_remove_handlers().

2008-01-21  Mathias Hasselmann  <mathias@openismus.com>

	Cleanup authentication handlers in epc_publisher_quit (#510435).

	* libepc/publisher.c: Call epc_publisher_remove_handlers() in
	epc_publisher_quit() to get rid of authentication handlers.

2008-01-21  Mathias Hasselmann  <mathias@openismus.com>

	Migrate from GNU gettext to intltool (#510465, Luca Ferretti).

	* autogen.sh: Invoke gnome-autogen.sh, instead of shipping a copy.
	* configure.ac, Makefile.am: Migrate from GNU gettext to intltool.
	* .gitignore, po/.gitignore: Update for intltool.
	* po/POTFILES.skip: Hide examples from intltool.
	* ABOUT-NLS, config.rpath, gtk-doc.make, m4/*, po/Makefile.in.in,
	po/Rules-quot, po/libepc.pot, po/*.header, po/*.sed, po/*.sin:
	Remove generated files from repository.

2008-01-18  Mathias Hasselmann  <mathias@openismus.com>

	Announce proper libsoup API in libepc-1.0.pc (#509699).

	* configure.ac: Export LIBSOUP_API variable.
	* libepc-1.0.pc.in: Use LIBSOUP_API variable.

2008-01-18  Mathias Hasselmann  <mathias@openismus.com>

	Support libsoup 2.4, which will be part of GNOME 2.22 (#509699).
	Original patch by Dan Winship.

	* configure.ac: Also check for libsoup 2.4.
	Define HAVE_LIBSOUP22, when still building for libsoup 2.2.
	* libepc/consumer.c, libepc/publisher.c: Update for libsoup 2.4.
	* examples/simple-publisher.c: Print source code position in debug
	message to reduce confusion.

2008-01-18  Mathias Hasselmann  <mathias@openismus.com>

	Support authentication credentials in lookup-resource example.

	* examples/lookup-resource.c: Add --username and --password
	command line switches for passing authentication credentials.

2008-01-16  Mathias Hasselmann  <mathias@openismus.com>

	Separate between primary and secondary message in EpcPasswordDialog to
	match appearance of GtkMessageDialog. Correct label alignment issues.

	* libepc-ui/password-dialog.c: Add separate title label for primary
	message. Left-align username and password label. Give more space to
	characters to secondary label.

2008-01-16  Mathias Hasselmann  <mathias@openismus.com>

	Provide gettext support.

	* configure.ac: Update for gettext.
	* Makefile.am: Add libepc/i18n.c. Define LOCALEDIR.
	Add po folder and other gettext related stuff.
	* libepc/consumer.c, libepc/publisher.c, libepc/shell.c, libepc/tls.c,
	libepc-ui/password-dialog.c, libepc-ui/progress-window.c:
	Include libepc/i18n.h instead of glib/gi18n-lib.h.
	* libepc/i18n.c, libepc/i18n.h: Add epc_gettext.
	* examples/simple-publisher.c: Call setlocale for localization.
	* ABOUT-NLS, config.rpath, m4/*, po/*: Various gettextize artifacts.

2008-01-16  Mathias Hasselmann  <mathias@openismus.com>

	* configure.ac, Makefile.am: Integrate GNU gettext.
	* libepc/consumer.c, libepc/shell.c:

2008-01-16  Mathias Hasselmann  <mathias@openismus.com>

	Support building with srcdir != builddir - as far as possible:
	gtk-doc seems to be totaly broken regarding that topic.

	* libepc/*.c: Prefix local includes with libepc/.
	* Makefile.am: Use $(srcdir) where needed.

2008-01-16  Mathias Hasselmann  <mathias@openismus.com>

	Include just <libsoup/soup.h> when possible.

	* libepc/consumer.c: Include just <libsoup/soup.h>.
	* libepc/publisher.c: Include <libsoup/soup.h> instead of
	<libsoup/soup-socket.h>. All the other API isn't exported by
	<libsoup/soup.h> for some reason.

2008-01-16  Mathias Hasselmann  <mathias@openismus.com>

	Update year in copyright information.

2008-01-16  Mathias Hasselmann  <mathias@openismus.com>

	Check for aui_service_dialog_set_service_type_name by feature,
	instead of checking the pkg-config version.

	* configure.ac: Use AC_CHECK_LIB instead of pkg-config to detect
	aui_service_dialog_set_service_type_name.
	* examples/consumer-ui.c: Use HAVE_SET_SERVICE_TYPE_NAME macro,
	instead of HAVE_AVAHI_UI_0_6_22. Include "config.h"".
	* Makefile.am: Drop HAVE_AVAHI_UI_0_6_22 hackery.

2008-01-15  Mathias Hasselmann  <mathias@openismus.com>

	Document LT_VERSION_INFO rules.

	* configure.ac: Bump version number. Document LT_VERSION_INFO rules.

2008-01-15  Mathias Hasselmann  <mathias@openismus.com>

	=== Release 0.3.3 ===

	* NEWS: Updated for release 0.3.3

2008-01-15  Mathias Hasselmann  <mathias@openismus.com>

	Use correct libtool version information (#509503).

	* configure.ac: Bump version number and correct LT_VERSION_INFO.

2008-01-14  Mathias Hasselmann  <mathias@openismus.com>

	=== Release 0.3.2 ===

	* NEWS: Updated for release 0.3.2

2008-01-09  Mathias Hasselmann  <mathias@openismus.com>

	Build with latest gio version (#508272, Emilio Pozuelo Monfort).

	* libepc/publisher.c: Include <gio/gio.h> instead of
	<gio/gcontenttype.h>.

2007-12-17  Mathias Hasselmann  <mathias@openismus.com>

	Explictly add copyright statements to make licensecheck happy.
	Reported by Pedro Fragoso.

	* libepc/enums.c.in, libepc/enums.h.in, Makefile.am:
	Mark libepc/enums.[ch] and libepc/marshal.[ch] as generated.
	* tests/*: Explictly add LGPL header to test-cases.
	* examples/*: Put examples into public domain.

2007-12-17  Mathias Hasselmann  <mathias@openismus.com>

	* configure.ac: Bump version number.

2007-12-17  Mathias Hasselmann  <mathias@openismus.com>

	=== Release 0.3.1 ===

	* NEWS: Updated for release 0.3.1

2007-12-12  Mathias Hasselmann  <mathias@openismus.com>

	Use proper gtk-doc syntax for linking to functions.

	* libepc/consumer.c, libepc/contents.c, libepc/dispatcher.c,
	libepc/protocol.c, libepc/publisher.c, libepc/service-info.c,
	libepc/service-monitor.c, libepc/service-type.c, libepc/shell.c,
	libepc/tls.c, libepc-ui/password-dialog.c,
	libepc-ui/progress-window.c: Use proper syntax.

2007-12-12  Mathias Hasselmann  <mathias@openismus.com>

	Document new functions and properties.

	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/dispatcher.c, libepc/publisher.c: Document "cookie"/
	"service-cookie" and "collision-handling" properties, and accessors.
	* libepc/service-monitor.c: epc_service_monitor_new_for_types_strv.

2007-12-12  Mathias Hasselmann  <mathias@openismus.com>

	Use shorter names for EpcCollisionHandling members.

	* libepc/dispatcher.h: Rename EPC_COLLISION_HANDLING_NONE,
	EPC_COLLISION_HANDLING_ALTERNATIVE_NAME and
	EPC_COLLISION_HANDLING_UNIQUE_SERVICE to EPC_COLLISIONS_IGNORE,
	EPC_COLLISIONS_CHANGE_NAME and EPC_COLLISIONS_UNIQUE_SERVICE.
	* tests/test-dispatcher-unique.c, tests/test-publisher-unique.c,
	tests/test-dispatcher-local-collision.c, libepc/dispatcher.c,
	libepc/publisher.c: Use short EpcCollisionHandling names.

2007-12-10  Mathias Hasselmann  <mathias@openismus.com>

	Implement fall back to alternative service name strategy, when the
	conflicting service has another service cookie, in unique service mode.

	* libepc/dispatcher.c, libepc/dispatcher.h: Ensure that dispatchers
	with unique service strategy have a service cookie. Rename
	epc_dispatcher_get_service_cookie to epc_dispatcher_get_cookie.
	Fall back to alternative service name strategy, when conflicting
	service has another service cookie, in unique service mode.
	* libepc/service-monitor.c, libepc/service-monitor.h: Add
	epc_service_monitor_new_for_types_strv and release local variables.
	* tests/test-dispatcher-local-collision.c:
	Verify alternative name strategy is chosen for collision handling.
	* tests/test-dispatcher-unique.c: Test collision
	handling with unique strategy, but different service cookies.
	* Makefile.am, tests/.gitignore: Add tests/test-dispatcher-unique.

2007-12-10  Mathias Hasselmann  <mathias@openismus.com>

	Improve parallel building of documentation

	* Makefile.am: Make all-local as dependend on $(lib_LTLIBRARIES)
	to make sure all libraries are built before documentation.

2007-12-08  Brian Pepple  <bpepple@fedoraproject.org>

	Fix so correct libdir is used on x86_64 (#502531).

	* libepc-1.0.pc.in, libepc-ui-1.0.pc.in:
	Use autoconf variables instead of hard-coded paths.

2007-12-06  Mathias Hasselmann  <mathias@openismus.com>

	Fix some minor glitches.

	* libepc/dispatcher.c: Ensure to init group field of EpcService.
	* libepc/publisher.c: Remove TODO comment regarding MIME type.
	* tests/test-publisher-unique.c: Show message before terminating first
	publisher. Reduce delay before terminating that first publisher.

2007-12-06  Mathias Hasselmann  <mathias@openismus.com>

	Get MIME type of files from gio when available.

	* configure.ac: Check for gio-2.0 package.
	* libepc/publisher.c: Call g_content_type_guess when possible.

2007-12-06  Mathias Hasselmann  <mathias@openismus.com>

	Put idle sockets the cleanup iterator finds into a list, instead of
	directly disconnecting them. Disconnecting them triggers the
	"disconnected" signal, which causes the currently inspected socket
	getting removed from the currently iterated hash table - very bad.

	* libepc/publisher.c: Put idle clients into a list and disconnect
	them in epc_publisher_quit, instead of disconnecting them immediatly
	in epc_publisher_disconnect_idle_cb.

2007-12-06  Mathias Hasselmann  <mathias@openismus.com>

	Provide initial implementation of unique-service collision handling.

	* libepc/dispatcher.c: Add collision-handling and service-cookie
	properties. Provide initial implementation of unique-service
	collision handling.
	* libepc/dispatcher.h: Add EpcCollisionHandling enumeration.
	Add accessors for collision-handling and service-cookie properties.
	* libepc/publisher.c, libepc/publisher.h: Add collision-handling
	and service-cookie properties, which just forward to the dispatcher.
	* tests/test-publisher-unique.c: Test the unique service feature.
	* Makefile.am, tests/.gitignore: Add tests/test-publisher-unique.

2007-12-06  Mathias Hasselmann  <mathias@openismus.com>

	Correctly interpret protocol list passed to epc_service_monitor_new.
	Release the temporary service_types array.

	* libepc/service-monitor.c: Fix the issues mentioned above.

2007-12-06  Mathias Hasselmann  <mathias@openismus.com>

	Fix test-consumer-by-info to terminate.

	* tests/test-consumer-by-info.c: Remove epc_test_run() loop.

2007-12-04  Mathias Hasselmann  <mathias@openismus.com>

	* configure.ac: Bump version number.

2007-12-03  Mathias Hasselmann  <mathias@openismus.com>

	=== Release 0.3 ===

	* NEWS: Updated for release 0.3
	* README: Update gnutls version.

2007-12-03  Mathias Hasselmann  <mathias@openismus.com>

	Track client connections and disconnect clients in epc_publisher_quit
	to avoid leaking of HTTP servers.

	* libepc/publisher.c: Add functions for client tracking.

2007-12-03  Mathias Hasselmann  <mathias@openismus.com>

	Mark the EpcAuthContext argument as constant for some functions.

	* libepc/publisher.c, libepc/publisher.h: Add some const keywords.

2007-12-03  Mathias Hasselmann  <mathias@openismus.com>

	Avoid memory management problems by properly passing authentication
	settings to libsoup: The library forgets to use the const keyword, but
	considers the context it passes the authentication callback constant.

	* libepc/publisher.c: Properly initialize server_auth field.

2007-12-03  Mathias Hasselmann  <mathias@openismus.com>

	Document the @details argument of epc_service_info_new and
	epc_service_info_new_full.

	* libepc/service-info.c: Update docs.

2007-12-02  Mathias Hasselmann  <mathias@openismus.com>

	Rebuild libraries before trying the phony docs target.

	* Makefile.am: List $(lib_LTLIBRARIES) as dependency for "docs".

2007-12-02  Mathias Hasselmann  <mathias@openismus.com>

	Allow custom service path for publishing contents and change the
	service monitor to use extensible EpcServiceInfo objects.

	* libepc/consumer.c, libepc/consumer.h: Change epc_consumer_new to use
	a single EpcServiceInfo. Update signal handlers. Add "path" property.
	Call epc_consumer_resolve_publisher before constructing URIs.
	* libepc/dispatcher.h: Remove EpcAddressFamily.
	* libepc/marshal.list: Update service monitor signals.
	* libepc/publisher.c, libepc/publisher.h: Add "contents-path"
	property. Add publisher argument to epc_publisher_get_path.
	* libepc/service-info.c, libepc/service-info.h:
	Add EpcServiceInfo and take EpcAddressFamily.
	* libepc/service-monitor.c, libepc/service-monitor.h: Change signals
	to use EpcServiceInfo, instead of a myriad of arguments.
	* docs/reference/libepc/libepc-1.0-docs.xml,
	docs/reference/libepc/libepc-1.0-sections.txt: Add EpcServiceInfo.
	* examples/consumer-ui.c: Update usage of epc_consumer_new.
	* examples/service-browser.c: Update service monitor signal handlers.
	* Makefile.am, tests/.gitignore: Add tests/test-consumer-by-info.c.
	* tests/test-consumer-by-info.c: Test epc_consumer_new function and
	custom contents paths.

2007-12-01  Mathias Hasselmann  <mathias@openismus.com>

	Demonstrate authentication in publisher-ui example.

	* examples/publisher-ui.c: Add auth_handler function.

2007-12-01  Mathias Hasselmann  <mathias@openismus.com>

	Provide an example demonstrating desktop usage of EpcPublisher.

	* examples/publisher-ui.c: Demonstrate desktop usage of EpcPublisher.
	* examples/publisher.ui: User interface for examples/publisher-ui.c.
	* examples/publisher.glade: Glade source for examples/publisher.ui.
	* Makefile.am, examples/.gitignore: Add examples/publisher-ui.c.
	* libepc/publisher.c, libepc/publisher.h: Let epc_publisher_quit
	report if the built-in server was still/already running.

2007-11-30  Mathias Hasselmann  <mathias@openismus.com>

	Add epc_publisher_lookup and epc_publisher_has_key to allow usage of
	EpcPublisher as local key/value store: This allows applications with
	dynamic key to prevent key name collisions without having to maintain
	an additional GHashTable.

	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/publisher.c, libepc/publisher.h: Add epc_publisher_lookup
	and epc_publisher_has_key.

2007-11-30  Mathias Hasselmann  <mathias@openismus.com>

	Repair epc_publisher_handle_list_path.

	* libepc/publisher.c: Always initialize file list.

2007-11-30  Mathias Hasselmann  <mathias@openismus.com>

	Don't mess around with GDK's broken threading support: This ugly
	and fat non-recursive big lock hurts more than it helps.

	* libepc/shell.c, libepc/shell.h, libepc/consumer.c,
	tests/framework.c: Remove epc_shell_leave and epc_shell_enter.
	* examples/consumer-ui.c, examples/server-credentials.c:
	Don't call gdk_threads_init.

2007-11-30  Mathias Hasselmann  <mathias@openismus.com>

	Do not pass NULL data to epc_contents_new, when passing empty strings
	to epc_contents_new_dup.

	* libepc/contents.c: Handle empty strings in epc_contents_new_dup.

2007-11-30  Mathias Hasselmann  <mathias@openismus.com>

	Show message on root page when no resources have been published yet.

	* libepc/publisher.c: Enhance epc_publisher_handle_root.

2007-11-29  Mathias Hasselmann  <mathias@openismus.com>

	Really shutdown the server in epc_publisher_quit,
	to allow for instance change of the network protocol.

	* libepc/publisher.c: Shutdown the server in epc_publisher_quit.

2007-11-29  Mathias Hasselmann  <mathias@openismus.com>

	Set G_DEBUG=fatal-warnings and EPC_DEBUG=1 on testing.

	* libepc/dispatcher.c:
	Just print a message, instead of a warning on service collisions.
	* tests/test-runner.sh: Set G_DEBUG and EPC_DEBUG, if not set yet.

2007-11-29  Mathias Hasselmann  <mathias@openismus.com>

	Sanitize the progress-hook model by using just user_data.

	* libepc/shell.c: Move epc_shell_default_progress_hooks into
	epc_shell_set_progress_hooks functions. Update signatures of
	epc_shell_progress_begin, epc_shell_progress_update and
	epc_shell_progress_end. Change default progress hooks to deal
	with the new data model. Add epc_shell_progress_end_default.
	Call epc_shell_progress_update with a progress of -1 from
	epc_shell_progress_begin to make the epc_shell_progress_begin
	hook optional.
	* libepc/shell.h: Remove return value of epc_shell_progress_begin.
	Remove context argument for epc_shell_progress_update and
	epc_shell_progress_end. Update EpcShellProgressHooks signatures
	to match those changes and remove message argument from
	EpcShellProgressHooks::begin hook.
	* libepc-ui/progress-window.c: Update progress hooks for new
	model. Add EpcProgressWindowContext, epc_progress_window_context_new
	and epc_progress_window_context_free. Allow NULL as message argument
	for epc_progress_window_new.
	* libepc/tls.c, tests/test-progress-hooks.c: Use new progress-hooks.

2007-11-29  Mathias Hasselmann  <mathias@openismus.com>

	Restore error recovery feature, which was temporarily
	lost during the single-AvahiClient-transition.

	* docs/reference/libepc/libepc-1.0-sections.txt,
	libepc/shell.c, libepc/shell.h: Add epc_shell_restart_avahi_client.
	* libepc/dispatcher.c: Call epc_shell_restart_avahi_client on
	AVAHI_ENTRY_GROUP_FAILURE, and epc_service_suspend on
	AVAHI_CLIENT_FAILURE.

2007-11-29  Mathias Hasselmann  <mathias@openismus.com>

	List libuuid as dependency and mention were to find it.

	* README: List libuuid as dependency.

2007-11-29  Mathias Hasselmann  <mathias@openismus.com>

	Remove documentation for non-existing publisher
	argument of epc_publisher_get_path.

	* libepc/publisher.c: Cleanup API docs.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Of course I've created a dead lock. Using GStaticRecMutex now.

	* libepc/publisher.c: Change type of epc_publisher_lock
	from GStaticMutex to GStaticRecMutex.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Libsoup uses threads to invoke HTTP request handlers. Therefore some
	locking has to be used to protect central data structures of the
	publisher. Let's hope that:

	  1) I protected all critical data structures
	  2) really balanced all lock/unlock calls
	  3) produced no dead locks

	Did I mention that I hate threads?

	* libepc/publisher.c: Add epc_publisher_lock and use it.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Demonstrate epc_publisher_add_bookmark in simple-publisher example.

	* examples/simple-publisher.c: Use epc_publisher_add_bookmark.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Reuse epc_publisher_list function for HTTP request handlers.

	* libepc/publisher.c: Remove epc_publisher_list_resource_item_xml and
	-epc_publisher_list_resource_item_html. Remove and buffer field of
	EpcListContext. Use epc_publisher_list in epc_publisher_handle_root
	and epc_publisher_handle_list_path.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Use lower directory hierarchy for storing certificates.

	* libepc/tls.c: Modify epc_tls_get_filename.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Use a time based UUID as serial for self-signed certificates.
	Bug #500251.

	* configure.ac: Check for uuid >= 1.36.
	* libepc/tls.c: Pass UUID to gnutls_x509_crt_set_serial.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Support dynamic ZeroConf bookmarks.

	* libepc/publisher.c, libepc/publisher.h:
	Add epc_publisher_add_bookmark and epc_publisher_get_path.
	Rename epc_publisher_get_url to epc_publisher_get_uri.
	* libepc/consumer.c: Use epc_publisher_get_path.
	* Makefile.am, tests/.gitignore: Add test-publisher-change-name.
	* tests/test-publisher-change-name.c: Test epc_publisher_add_bookmark.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Move epc_test_goto_if_fail to tests/framework.h.

	* tests/framework.h: Add epc_test_goto_if_fail.
	* tests/test-consumer-by-name.c: Remove epc_test_goto_if_fail.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Rename epc_shell_expand_name to epc_publisher_expand_name: EpcShell
	is private API, and the function is related to publishing anyway.

	* libepc/publisher.c, libepc/publisher.h:
	Add epc_publisher_expand_name and epc_utf8_strtitle.
	* libepc/shell.c, libepc/shell.h:
	Remove epc_shell_expand_name and epc_utf8_strtitle.
	* tests/test-expand-name.c: Use epc_publisher_expand_name.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.

2007-11-28  Mathias Hasselmann  <mathias@openismus.com>

	Correct the EpcProgressWindow constructor to properly assign the
	parent window by calling gtk_window_set_transient_for, instead
	of setting the "parent" property.

	* libepc-ui/progress-window.c: Properly set parent window.

2007-11-27  Mathias Hasselmann  <mathias@openismus.com>

	Add "skip-our-own" property to EpcServiceMonitor which
	allows ignoring of services announced by the current process.

	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/service-monitor.c, libepc/service-monitor.h: Add
	"skip-our-own" property.

2007-11-27  Mathias Hasselmann  <mathias@openismus.com>

	Add epc_shell_expand_name for constructing service names.

	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/shell.c, libepc/shell.h: Add epc_shell_expand_name.
	* Makefile.am, tests/.gitignore: Add tests/test-expand-name.c.
	* tests/test-expand-name.c: Test epc_shell_expand_name.

2007-11-27  Mathias Hasselmann  <mathias@openismus.com>

	Add error argument to epc_shell_get_host_name to allow usage,
	even if no Avahi clients has been created yet.

	* libepc/shell.c, libepc/shell.h:
	Add error argument to epc_shell_get_host_name.
	* libepc/publisher.c, libepc/publisher.h:
	Add error argument to epc_publisher_get_url and propagate
	errors reported by epc_shell_get_host_name.

2007-11-27  Mathias Hasselmann  <mathias@openismus.com>

	Correct XML problems in epc_consumer_lookup documentation.

	* libepc/consumer.c: Drop the angle brackets.

2007-11-27  Mathias Hasselmann  <mathias@openismus.com>

	Replace the global _epc_debug variable by epc_shell_get_debug_level.
	Also document the EPC_DEBUG environment variable.

	* docs/reference/libepc/libepc-1.0-sections.txt, libepc/shell.h:
	Add EPC_DEBUG_LEVEL and epc_shell_get_debug_level.
	* libepc/shell.c: Replace _epc_debug by epc_shell_get_debug_level.
	* libepc/consumer.c, libepc/contents.c, libepc/dispatcher.c,
	libepc/publisher.c, libepc/service-monitor.c, libepc/tls.c:
	Replace _epc_debug by EPC_DEBUG_LEVEL.

2007-11-27  Mathias Hasselmann  <mathias@openismus.com>

	Drop epc_shell_ref and epc_shell_unref and use g_atexit for cleanup.

	* docs/reference/libepc/libepc-1.0-sections.txt, libepc/shell.c,
	libepc/shell.h: Remove epc_shell_ref and epc_shell_unref.
	* libepc/consumer.c, libepc/dispatcher.c, libepc/publisher.c,
	libepc/service-monitor.c, tests/framework.c:
	Don't call epc_shell_ref and epc_shell_unref.

2007-11-27  Murray Cumming  <murrayc@murrayc.com>

	* libepc/publisher.c: epc_publisher_set_auth_handler() documentation:
	Note that this should be used _after_ adding the key.

2007-11-27  Murray Cumming  <murrayc@murrayc.com>

	* libepc/consumer.c: epc_consumer_lookup(): Mention the specific error
	code that is relevant when using authentication.
	* libepc/publisher.c:
	* libepc/publisher.h: EpcAuthHandler: mention the two different
	auth methods (and what to do) in the documentation.
	EpcAuthFlags: Some minor changes to the documention.

2007-11-27  Mathias Hasselmann  <mathias@openismus.com>

	Modify the library to share one single AvahiClient instance. This
	allows to filter-out services announced by the current process in the
	service monitor.

	TODO: Find a way to restore epc_dispatcher_reset_client.

	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/publisher.c: Use epc_shell_get_host_name.
	* libepc/service-monitor.c, tests/framework.c: Use shared AvahiClient.
	* libepc/shell.c, libepc/shell.h: Modify to use only one AvahiClient.
	* libepc/dispatcher.c, libepc/dispatcher.h: Use shared AvahiClient.
	Remove epc_dispatcher_get_host_name.

2007-11-27  Mathias Hasselmann  <mathias@openismus.com>

	Remove some debugging left-overs.

	* tests/test-dispatcher-simple-service.c: Cleanup.

2007-11-26  Mathias Hasselmann  <mathias@openismus.com>

	Change @stability of EpcDispatcher and EpcServiceMonitor to unstable.

	* libepc/dispatcher.c, libepc/service-monitor.c: Change @stability.

2007-11-26  Mathias Hasselmann  <mathias@openismus.com>

	Support Basic authentication via EPC_AUTH_PASSWORD_TEXT_NEEDED.

	* libepc/publisher.c, libepc/publisher.h: Add EpcAuthFlags,
	epc_publisher_set_auth_flags, epc_publisher_get_auth_flags.
	* libepc/enums.c.in, libepc/enums.h.in: Add generic
	_get_class and _to_string functions.
	* libepc/service-type.c: Use epc_protocol_get_class.
	* examples/simple-publisher.c: Allow Basic authentication.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.

2007-11-26  Murray Cumming  <murrayc@murrayc.com>

	* libepc/publisher.c: Documentation: Minor grammatical corrections.

2007-11-26  Murray Cumming  <murrayc@murrayc.com>

	* configure.ac: Depend on gnutls 1.4 instead of 1.6,
	because it works too. Bug #500251.

2007-11-24  Mathias Hasselmann  <mathias@openismus.com>

	Rename EpcServiceMonitor::done signal to
	EpcServiceMonitor::scanning-done.

	* libepc/service-monitor.c, libepc/service-monitor.h: Rename signal.

2007-11-23  Mathias Hasselmann  <mathias@openismus.com>

	Change type of length arguments from gsize to gssize for
	epc_contents_new and epc_contents_new_dup, as they support
	zero terminated strings now.

	* libepc/contents.c, libepc/contents.h: Change length argument type.

2007-11-23  Murray Cumming  <murrayc@murrayc.com>

	* libepc/contents.h: EpcContentsReadFunc documentation:
	Specify that the data length is in bytes (not characters).
	* libepc/contents.c: (epc_contents_new), (epc_contents_new_dup):
	Allow -1 for length if the data is null-terminated.
	* libepc/publisher.c: Change a mention to @value to @data.
	* libepc/shell.c, libepc/shell.h: Some improvement to the
	documentation, without changing meanings.

2007-11-23  Mathias Hasselmann  <mathias@openismus.com>

	Implement EpcServiceMonitor by extracting EpcConsumer code.

	* libepc/consumer.c: Use EpcServiceMonitor.
	* libepc/marshal.list: Add VOID:STRING,STRING.
	* libepc/service-monitor.c, libepc/service-monitor.h:
	Implement the EpcServiceMonitor by refactoring EpcConsumer code.
	* libepc/service-type.c, libepc/service-type.h:
	Add epc_service_type_list_supported.
	* examples/service-browser: Demonstrate usage of EpcServiceMonitor.
	* Makefile.am, examples/.gitignore: Add examples/service-browser.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols

2007-11-23  Mathias Hasselmann  <mathias@openismus.com>

	Make tests/test-progress-hooks pass.

	* tests/test-progress-hooks.c: Remove EPC_TEST_MASK_USER from result.

2007-11-23  Mathias Hasselmann  <mathias@openismus.com>

	Improve memory handling for EpcContents and improve documentation.

	* docs/reference/libepc/libepc-1.0-sections.txt: Close <SECTION> tag.
	* libepc/contents.c, libepc/contents.h: Improve memory management.
	* libepc/publisher.c: Use gconstpointer where needed.

2007-11-23  Mathias Hasselmann  <mathias@openismus.com>

	Start with EpcServiceMonitor class.

	* docs/reference/libepc/libepc-1.0-docs.xml: Re-order sections.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/marshal.list: Add VOID:STRING,STRING,STRING,UINT.
	* Makefile.am: Add libepc/service-monitor.c and
	libepc/service-monitor.h.

2007-11-22  Mathias Hasselmann  <mathias@openismus.com>

	Change some function signatures for consistency.

	* libepc/consumer.c, libepc/consumer.h: Change return
	type of epc_consumer_lookup from "gchar*" to "gpointer".
	* libepc/contents.c, libepc/contents.h: Change data argument type
	from "const gpointer" to "gconstpointer" for epc_contents_new_dup.
	Move length argument behind data for consistency.
	* libepc/publisher.c, libepc/publisher.h: Rename value argument to
	data and change its type from "const gchar*" to "gconstpointer"
	for consistency.
	* examples/simple-publisher.c: Change order of length and
	data argument when using epc_contents_new.

2007-11-22  Mathias Hasselmann  <mathias@openismus.com>

	Improve memory handling of EpcContents.

	* libepc/contents.c, libepc/contents.h: Add destroy_data argument to
	epc_contents_new. Add new epc_contents_new_dup function.
	* libepc/publisher.c, examples/simple-publisher.c: Pass g_free
	as destroy_data argument to epc_contents_new.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.

2007-11-22  Mathias Hasselmann  <mathias@openismus.com>

	Implement streaming capabilities.

	* Makefile.am: Add libepc/contents.c and libepc/contents.h.
	* libepc/contents.c, libepc/contents.h: Move EpcContents buffer
	into separate files. Add EpcContentsReadFunc, epc_contents_get_data,
	epc_contents_get_mime_type, epc_contents_stream_new,
	epc_contents_stream_read and epc_contents_is_stream.
	* libepc/publisher.c, libepc/publisher.h: Remove EpcContents.
	Implement streaming of large objects.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.

2007-11-22  Murray Cumming,  <murrayc@murrayc.com>

	* examples/consumer-ui.c: (keys_combo_changed_cb), (main):
	Initialize and free GErrors.

2007-11-22  Murray Cumming  <murrayc@murrayc.com>

	* examples/consumer-ui.c: (main): Rename the transport
	variable to service_type because that is what it is.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Implement epc_publisher_get_url and epc_publisher_list,
	as the Totem plugin needs them.

	* libepc/publisher.c, libepc/publisher.h:
	Add epc_publisher_get_url and epc_publisher_list.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/consumer.c: Reference epc_publisher_list in docs.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Don't crash on empty publishers.

	* examples/consumer-ui.c: Handle empty publishers.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Demonstrate browsing for a specific application.

	* examples/consumer-ui.c: Update the example.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Introduce epc_protocol_from_name.

	* libepc/protocol.c, libepc/protocol.h: Add epc_protocol_from_name.
	* examples/simple-publisher.c: Use epc_protocol_from_name.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Explain TLS key generation during epc_publisher_run.

	* libepc/publisher.c: Update API docs.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	There is no "reauthenticate" signal anymore in EpcConsumer.

	* libepc/consumer.h: Remove documentation for "reauthenticate".

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Move progress reporting from EpcTls to EpcSell and turn
	EpcProgressWindow into a versatile thing.

	* libepc/shell.c, libepc/shell.h: Add EpcShellProgressHooks,
	epc_shell_set_progress_hooks, epc_shell_progress_begin,
	epc_shell_progress_begin and epc_shell_progress_end.
	* libepc/tls.c, libepc/tls.h: Remove EpcTlsPrivkeyEnterHook,
	EpcTlsPrivkeyLeaveHook and epc_tls_set_private_key_hooks.
	* libepc-ui/progress-window.c, libepc-ui/progress-window.h: Add
	epc_progress_window_update. Support additional arguments for
	epc_progress_window_new and epc_progress_window_install. Use
	epc_shell_set_progress_hooks instead of epc_tls_set_private_key_hooks.
	* Makefile.am: Add tests/test-progress-hooks and declare G_LOG_DOMAIN.
	* docs/reference/libepc/libepc-1.0-docs.xml: Update symbols.
	* docs/reference/libepc/libepc-1.0-sections.txt: Include
	progress-window.xml, instead of entropy-window.xml.
	* examples/server-credentials.c:
	Pass NULL as parent window to epc_progress_window_install.
	* tests/test-progress-hooks.c: The the new progress hooks.
	* tests/.gitignore: Add test-progress-hooks.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Various improvements to the test framework.

	* tests/framework.c, tests/framework.h: Change epc_test_init to take
	number of tests, instead of test mask as argument. Change epc_test_quit
	to return test mask and to print failed tests.
	* tests/*: Adopt framework changes.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Rename EpcEntropyWindow to EpcProgressWindow.

	* Makefile.am, examples/server-credentials.c,
	libepc-ui/progress-window.c, libepc-ui/progress-window.h,
	docs/reference/libepc/libepc-1.0-sections.txt:
	Update symbols and filenames.

2007-11-21  Mathias Hasselmann  <mathias@openismus.com>

	Change version number as ABI has changed.

	* configure.ac: Bump version number and add LT_VERSION_INFO variable.
	* Makefile.am: Pass -version-info switch to libtool.

2007-11-20  Mathias Hasselmann  <mathias@openismus.com>

	Add error reporting to epc_publisher_run and epc_publisher_run_async.

	* libepc/publisher.c, libepc/publisher.h:
	Add error reporting to epc_publisher_run and epc_publisher_run_async.
	* libepc/dispatcher.c, libepc/dispatcher.h: Don't start the dispatcher
	before epc_dispatcher_run is called to support error reporting.
	* examples/simple-publisher.c, tests/test-publisher-change-name.c,
	tests/test-consumer-by-name.c, tests/test-publisher-libsoup-494128.c:
	Handle errors reported by epc_publisher_run.
	* tests/test-dispatcher-*: Call epc_dispatcher_run, which is needed
	for error handling now.
	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.

2007-11-20  Murray Cumming  <murrayc@murrayc.com>

	Improve include file handling.

	* examples/consumer-ui.c, examples/simple-publisher.c:
	Use < instead of quotes, because that is what an application
	should do. For consistency at least, though people can argue
	about it endlessely. Don't.
	* libepc/service-type.h: Include protocol.h via the libepc/
	directory path.

2007-11-19  Mathias Hasselmann  <mathias@openismus.com>

	List download locations, code repository, bugzilla.

	* README: List GNOME resources.

2007-11-19  Mathias Hasselmann  <mathias@openismus.com>

	Say "key/value store", instead of "hash table".

	* docs/reference/libepc/libepc-1.0-docs.xml, README:
	Say "key/value store", instead of "hash table".

2007-11-19  Mathias Hasselmann  <mathias@openismus.com>

	Add missing documentation and update package dependencies.

	* NEWS, README: Add missing documentation.
	* configure.ac: Update package dependencies.
	* docs/reference/libepc/libepc-1.0-docs.xml: Add hash table metapher.

2007-11-19  Mathias Hasselmann  <mathias@openismus.com>

	Remove calls to g_timeout_add_seconds convenience function of glib-2.14,
	as all other parts of the library are satisfied with glib-2.12.

	* tests/framework.c: Remove g_timeout_add_seconds.

2007-11-19  Mathias Hasselmann  <mathias@openismus.com>

	* configure.ac: Bump version.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	=== Release 0.2 ===

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Simplify authentication by using an approach similiar to the one
	Alex Larsson uses for gvfs: The consumer just emits an signal that
	authentication credentials are required, and the signal handler
	changes some consumer properties when being able to provide them.

	* docs/reference/libepc/libepc-1.0-sections.txt: Update symbols.
	* libepc/consumer.c, libepc/consumer.h: Remove reauthenticate signal.
	Modify authentication signal. Add username and password properties.
	* libepc/marshal.list: Update the authentication marshaller.
	* libepc/publisher.c: Dump debug messages during authentication.
	* libepc-ui/password-dialog.c: Use the new authentication scheme.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Remove a bogous hash sign from API documentation.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Further discussion of epc_consumer_new_for_name.

	* libepc/consumer.c: Discuss epc_consumer_new_for_name.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Add epc_publisher_remove and discuss publishing NULL values.

	* libepc/publisher.c: Add epc_publisher_remove. discuss NULL values.
	* libepc/consumer.c: Reference NULL value discussion in EcpPublisher.
	* docs/reference/libepc/libepc-1.0-sections.txt, libepc/publisher.h:
	Add epc_publisher_remove.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Add SUBSECTION tags to group function lists.

	* docs/reference/libepc/libepc-1.0-sections.txt: Add grouping.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Fix memory leak in the authenticate signal handler.

	* libepc-ui/password-dialog.c: Fix memory leak.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Add note regarding real argument types for the "authentication" and
	"reauthenticate" signals of EpcConsumer.

	* libepc/consumer.c: Update documentation.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Move EPC_CONSUMER_DEFAULT_TIMEOUT to consumer.c
	as it is some internal implementation detail.

	* docs/reference/libepc/libepc-1.0-sections.txt,
	libepc/consumer.h: Remove EPC_CONSUMER_DEFAULT_TIMEOUT.
	* libepc/consumer.c: Add EPC_CONSUMER_DEFAULT_TIMEOUT.

2007-11-15  Mathias Hasselmann  <mathias@openismus.com>

	Improve documentation and add epc_consumer_is_publisher_resolved.

	* docs/reference/libepc/libepc-1.0-sections.txt:
	Add epc_consumer_is_publisher_resolved.
	* libepc/consumer.c, libepc/consumer.h: Improve documentation.
	Add epc_consumer_is_publisher_resolved.
	* libepc/publisher.c, libepc/publisher.h: Improve documentation.

2007-11-14  Murray Cumming  <murrayc@openismus.com>

	Various documentation improvements.

	* docs/reference/libepc/libepc-1.0-docs.xml: Fix package names.
	* libepc/consumer.c, libepc/dispatcher.c, libepc/publisher.c,
	libepc/service-type.c: Fix grammer and spelling. Clarify sentences.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Update to gtk-doc trunk.

	* gtk-doc.make: Update to trunk version.
	* docs/reference/libepc/.gitignore: Add libepc-1.0-undeclared.txt.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Append "-1.0" suffix to package name.

	* libepc-1.0.pc, libepc-ui-1.0.pc: Renamed.
	* configure.ac, .gitignore: Rename *.pc files.
	* Makefile.am: Append "-1.0" suffix. Sort statements. Add comments.
	* docs/reference/libepc/Makefile.am: Change DOC_MODULE name.
	* docs/reference/libepc/.gitignore: Update file names.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Rename configure.in to configure.ac.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Add application argument to epc_publisher_new for controling DNS-SD
	service type: As the examples demonstrate, automatically using
	g_get_prgname only works in themost simplistic cases.

	* libepc/publisher.c, libepc/publisher.h: Add application argument
	and property of the same name to EpcPublisher.
	* examples/simple-publisher.c, tests/test-publisher-libsoup-494128.c
	tests/test-consumer-by-name.c, tests/test-publisher-change-name.c:
	Pass application name to epc_publisher_new.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Improve examples and give them better names.

	* examples/consumer-ui.c: Rename examples/test-consumer.c.
	Remove command line interface. Use epc_consumer_list.
	* examples/simple-publisher.c: Rename examples/test-publisher.c.
	* examples/list-resources.c: Improve comments.
	* examples/lookup-resource.c: Minimalistic value lookup example.
	* examples/.gitignore, Makefile.am: Update examples.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Remove bogous description of a return value
	for epc_password_dialog_set_anonymous_allowed.

	* libepc-ui/password-dialog.c: Remove bogous description.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Resolve authentication dead-lock.

	* libepc/shell.c: Print debug information about big-lock handlers.
	* libepc/consumer.c: Aquire GDK big-lock before emitting
	authenticate and reauthenticate signals.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Add capability for listing publisher resources.

	* libepc/publisher.c: Implement URL handler for '/list/' and '/' path.
	* libepc/consumer.c, libepc/consumer.h: Implement epc_consumer_list.
	* examples/list-resources.c: New example for listing resources.
	* Makefile.am, examples/.gitignore: Add examples/list-resources.
	* docs/reference/libepc/libepc-sections.txt: Add epc_consumer_list.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Give EpcConsumer and EpcPublisher separate sections.
	Give separete files for EpcPublisher helper structures.

	* docs/reference/libepc/libepc-docs.xml,
	docs/reference/libepc/libepc-sections.txt: Reorganize sections.
	* libepc/publisher.c: Document EpcAuthContext and EpcContents section.

2007-11-14  Mathias Hasselmann  <mathias@openismus.com>

	Rename EpcContent: "Inhalt" is "contents" with "s", not "content".

	* docs/reference/libepc/libepc-sections.txt,
	examples/test-publisher.c, libepc/publisher.c,
	libepc/publisher.h: Rename EpcContent to EpcContents.

2007-11-13  Mathias Hasselmann  <mathias@openismus.com>

	Distribute gtk-doc.make, libepc-docs.xml and libepc-sections.txt.

	* Makefile.am, docs/reference/libepc/Makefile.am: Update EXTRA_DIST.

2007-11-13  Mathias Hasselmann  <mathias@openismus.com>

	Add error handling to epc_consumer_lookup.

	* examples/test-consumer.c, tests/test-consumer-by-name.c:
	Pass error argument to epc_consumer_lookup.
	* docs/reference/libepc/libepc-sections.txt: Add EPC_HTTP_ERROR.
	* libepc/consumer.c, libepc/consumer.h: Add error handling to
	epc_consumer_lookup. Add EPC_HTTP_ERROR and epc_http_error_quark.
	* Makefile.am: Add libepc/libepc.la to LDADD variable of
	examples/test-consumer.

2007-11-13  Mathias Hasselmann  <mathias@openismus.com>

	Do more restrictive argument checks in epc_dispatcher_add_service to
	work arround Avahi race conditions.

	* libepc/dispatcher.c: Do more restrictive argument checks in
	epc_dispatcher_add_service to work arround Avahi race conditions.
	* libepc/publisher.c, tests/test-dispatcher-subtypes.c:
	Use epc_dispatcher_add_service_subtype instead of
	epc_dispatcher_add_service to publish subtypes.
	* tests/framework.c, tests/framework.h:
	Rename epc_test_pass to epc_test_pass_once. Add epc_test_pass_many.
	* tests/*: Rename epc_test_pass to epc_test_pass_once.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Fix several issues to make distcheck happy.

	* Makefile.am: Add BUILT_SOURCES and EXTRA_DIST files. Fix the
	reference manual's dist-hook. Fix some build-dir != source-dir issues.
	Properly clean up, and maybe work arround some automake bug.
	* docs/reference/libepc/Makefile.am: Correctly pass the multiple
	source dirs to gtk-doc.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Add epc_password_dialog_attach for easy EpcPasswordDialog usage.

	* libepc-ui/password-dialog.c, libepc-ui/password-dialog.h,
	examples/test-consumer.c, docs/reference/libepc/libepc-sections.txt:
	Add and use epc_password_dialog_attach.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Document libepc-ui widgets.

	* docs/reference/libepc/libepc-docs.xml: Add libepc-ui sections.
	* docs/reference/libepc/libepc-sections.txt: Add libepc-ui symbols.
	* docs/reference/libepc/Makefile.am: Add libepc-ui.
	* libepc-ui/entropy-window.c, libepc-ui/entropy-window.h:
	Add API documentation and rename EpcEntropyProgress to EpcEntropyWindow.
	* libepc-ui/password-dialog.c, libepc-ui/password-dialog.h: Add docs.
	* libepc/consumer.h, libepc/dispatcher.h, libepc/publisher.h:
	Add /*< public >*/ annotations to make gtk-doc happy.
	* libepc/protocol.c: Link to epc_service_type_new.
	* Makefile.am, examples/server-credentials.c:
	Rename EpcEntropyProgress to EpcEntropyWindow.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Finish API documentation.

	* libepc/consumer.c, libepc/dispatcher.c, libepc/dispatcher.h,
	libepc/publisher.c, libepc/shell.c: Finish API documentation.
	* docs/reference/libepc/libepc-docs.xml: Add chapters comments.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Split service-type files into service-type and protocol files
	for better documentation. Update documentation.

	* docs/reference/libepc/libepc-sections.txt: Update symbols.
	* libepc/protocol.c, libepc/protocol.h: Take over the EpcProtocol
	related functions of the service-type files. Update documentation.
	* libepc/service-type.c, libepc/service-type.h: Drop the EpcProtocol
	related functions. Update documentation.
	* Makefile.am: Add protocol.c and protocol.h

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Update documentation and add an error argument
	to epc_shell_create_avahi_client.

	* docs/reference/libepc/libepc-sections.txt: Updated symbols.
	* libepc/shell.c, libepc/shell.h: Document functions. Add error
	argument to epc_shell_create_avahi_client.
	* libepc/consumer.c, libepc/dispatcher.c, tests/framework.c:
	Pass error argument to epc_shell_create_avahi_client.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Drop the shell's artificial Avahi client by keep the publisher's
	dispatcher arround. Implement name changes for the dispatcher.

	* libepc/dispatcher.c, libepc/dispatcher.h:
	Allow changing of name property.
	* libepc/publisher.c: Keep dispatcher arround and use its
	Avahi client ot lookup the host's official hostname.
	* libepc/shell.c, libepc/shell.h: Remove epc_shell_get_host_name.
	* Makefile.am, tests/.gitignore: Add test-dispatcher-rename and
	test-dispatcher-reset.
	* tests/framework.c, tests/framework.h: Print invokation location
	for epc_test_pass. Assert tests are passed only once. Restart the
	timeout when a test passes.
	* tests/test-publisher-change-name.c: First call epc_test_pass,
	then change the name by calling epc_publisher_set_service_name.
	* tests/test-dispatcher-rename.c: Verify that epc_dispatcher_set_name
	removes the old mame.
	* tests/test-dispatcher-reset.c: Verify that epc_dispatcher_set_reset
	removes the old mame.

2007-11-12  Mathias Hasselmann  <mathias@openismus.com>

	Move protocol property from EpcDispatcher to its internal service
	class, as protocols (aka. address families) are a property of the
	service address. Entirely drop the interface property as I see no
	way to map them onto interface names (eth0, ppp0, ...). Also I
	see no masures in Avahi to keep them valid when interfaces are
	created or shutdown.

	* libepc/dispatcher.c, libepc/dispatcher.h: Add EpcAddressFamily
	enumeration. Add protocol argument to epc_dispatcher_add_service.
	Remove interface and interface property from EpcDispatcher.
	* libepc/publisher.c, tests/*: Pass address family to
	epc_dispatcher_add_service instead of epc_dispatcher_new.

2007-11-11  Mathias Hasselmann  <mathias@openismus.com>

	Create epc_service_type_get_base from existing EpcDispatcher code and
	use it in epc_service_type_get_protocol.

	* libepc/dispatcher.c: Use epc_service_type_get_base.
	* libepc/service-type.c, libepc/service-type.h: Add
	epc_service_type_get_base and use it in epc_service_type_get_protocol.
	* Makefile.am, tests/.gitignore: Add tests/test-service-type.c.
	* tests/test-service-type.c: Test epc_service_type_get_base.

2007-11-10  Mathias Hasselmann  <mathias@openismus.com>

	Update API documentation.

	* docs/reference/libepc/libepc-docs.xml,
	docs/reference/libepc/libepc-sections.txt, libepc/consumer.c,
	libepc/consumer.h, libepc/dispatcher.c, libepc/publisher.c,
	libepc/service-type.c, libepc/shell.c, libepc/tls.c, libepc/tls.h:
	Update API documentation.
	* docs/reference/libepc/Makefile.am: Improve stamp file dependencies.

2007-11-09  Mathias Hasselmann  <mathias@openismus.com>

	Use new avahi-ui API for overriding service type names (Avahi #180).

	* configure.in, Makefile.am: Test for avahi-ui 0.6.22.
	* examples/test-consumer.c: Use aui_service_dialog_set_service_type_name.

2007-11-09  Mathias Hasselmann  <mathias@openismus.com>

	Implement the HTTPS transport method.

	* libepc/consumer.c, libepc/consumer.h: Support HTTPS transport
	protocol. Add reauthenticate signal to vtable. New publisher-resolved
	signal, epc_consumer_resolve_publisher method and protocol property.
	Replace service-type property by application property.
	* libepc/publisher.c, libepc/publisher.h: Implement HTTPS transport.
	Add certificate-file, private-key-file and protocol property. Add
	epc_publisher_set_credentials method. Remove service-type property.
	* libepc/enums.c.in, libepc/enums.h.in: Templates for glib-mkenums.
	* libepc/marshal.list: Update for EpcConsumer::publisher-resolved.
	* libepc/service-type.c, libepc/service-type.h: Add EpcProtocol enum.
	Add functions for service-type and protocol handling.
	* libepc/shell.c, libepc/shell.h: Add epc_shell_get_host_name.
	Remove epc_shell_create_service_type.
	* libepc/.gitignore: Add libepc/enums.[ch] and artifacts.
	* Makefile.am: Add libepc/enums.[ch] and artifacts.
	Improve error handling when using glib-genmarshal.
	* examples/test-consumer.c: Pass choosen protocol to epc_consumer_new.
	* examples/test-publisher.c: Add --protocol command line switch.
	* tests/test-consumer-by-name.c, tests/test-publisher-change-name.c,
	tests/test-publisher-libsoup-494128.c: Create publishers in HTTP mode,
	since generating HTTPS keys takes quite some time.
	* docs/reference/libepc/libepc-sections.txt: Update symbols.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Minor TLS cleanups.

	* libepc/tls.c: Check that the variables crtfile and keyfile point
	to NULL to prevent memory leaks in in epc_tls_get_server_credentials.
	* libepc/tls.h: Add G_GNUC_CONST attribute to epc_tls_error_quark.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Set common name in generated certificates.

	* libepc/tls.c: Set common name in generated certificates.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Change epc_test_init to take initial result mask as argument.

	* tests/framework.c, tests/framework.h, tests/*.c:
	Change epc_test_init to take initial result mask as argument.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Always dump the test cases' stdout and stderr when EPC_DEBUG is set.

	* tests/test-runner.sh: Consider EPC_DEBUG variable.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Pass arguments to make when building API documentation.

	* Makefile.am: Pass arguments to make when building API documentation.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Restart the DNS-SD dispatcher when changing the publisher's name.

	* libepc/publisher.c: Restart dispatcher on server-name change.
	* Makefile.am, tests/.gitignore: Add tests/test-publisher-change-name.c
	* tests/test-dispatcher-local-collision.c: Remove some G_GNUC_UNUSED
	* tests/test-publisher-change-name.c: Verify name changes are working.
	* tests/test-publisher-libsoup-494128.c: Add description.
	* tests/framework.c: Print message when tests pass.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Try to deal with libsoup bug #494128. Seems there is no way to force
	SoupServer to close all pending HTTP connections. So it seems we have
	to accept leaking the SoupServer on shutdown, as each HTTP connection
	increases the server's reference count. Well, but at least we can try
	not to add additional leaking references. That's what this changes
	try to achive.

	* libepc/publisher.c: Try to deal with libsoup bug #494128
	* tests/test-publisher-libsoup-494128.c: Test run/quit variants
	* Makefile.am, tests/.gitignore: Add test-publisher-libsoup-494128.c

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Use more descriptive property names for EpcPublisher.

	* docs/reference/libepc/libepc-sections.txt,
	libepc/publisher.c, libepc/publisher.h,
	tests/test-consumer-by-name.c: Update property names.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Rename epc_tls_privkey_* functions to epc_tls_private_key_*,
	which results in same symbol length for private key and
	equivalent certificate functions.

	* docs/reference/libepc/libepc-sections.txt: Updating symbols.
	* libepc/tls.c, libepc/tls.h, libepc-ui/entropy-progress.c:
	Rename epc_tls_privkey_* functions to epc_tls_private_key_*.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Rename EpcPublication to EpcResource in EpcPublisher.

	* libepc/publisher.c: Rename EpcPublication to EpcResource.

2007-11-08  Mathias Hasselmann  <mathias@openismus.com>

	Show a progress window when generating new keys.

	* examples/server-credentials.c: Use EpcEntropyProgress.
	* libepc-ui/passworddialog.c, libepc-ui/passworddialog.h,
	examples/test-consumer.c: Rename files to password-dialog.
	* libepc/tls.c, libepc/tls.h: Add epc_tls_privkey_set_hooks which
	allows showing of a progress window when generating private keys.
	* libepc-ui/entropy-progress.c, libepc-ui/entropy-progress.h,
	Makefile.am: Add EpcEntropyProgress, which can be shown when
	generating keys.

2007-11-07  Mathias Hasselmann  <mathias@openismus.com>

	Create simple API for creating, storing and loading server keys.

	* configure.in: Add gnutls package.
	* libepc/tls.c, libepc/tls.h: Simple server key API.
	* examples/.gitignore: Add server-credentials
	* examples/server-credentials.c: Demonstrate how to
	retreive self-signed SSL/TLS server credentials.
	* docs/reference/libepc/libepc-docs.sgml: Add new chapters.
	* docs/reference/libepc/libepc-sections.txt: Add new symbols.
	* Makefile.am: Add libepc/tls.c, libepc/tls.h and
	examples/server-credentials.c.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Prevent that make tries to build API docs before building the library.

	* Makefile.am: Explicitly list the rules of gtk-doc.make.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Prevent that repeated calls of epc_test_quit kills the EpcShell.

	* libepc/shell.c: Trace epc_shell_ref/unref when EPC_DEBUG is set.
	* tests/framework.c: Try to call epc_shell_unref only once.
	* tests/test-dispatcher-simple-service.c: Your changes...

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Remove g_debug calls in test-consumer-by-name.

	* tests/test-consumer-by-name.c: Remove g_debug calls.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Add gdk_threads hooks to inspect #494173.

	* examples/test-consumer.c: Add gdk_threads hooks to inspect #494173.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	* libepc/consumer.c, libepc/consumer.h: Add epc_consumer_new_for_name
	and epc_consumer_new_for_name_full for connecting by service name.
	* libepc/dispatcher.c: Use external _epc_debug variable.
	* libepc/shell.c: Provide _epc_debug variable.
	* tests/test-consumer-by-name: Test epc_consumer_new_for_name.
	* Makefile.am, tests/.gitignore: Add tests/test-consumer-by-name.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Try to prevent dead-locks with GDK when entering main loops.

	* configure.in: Add gmodule-2.0 as dependency.
	* libepc/shell.c, libepc/shell.h: Add epc_shell_leave and
	epc_shell_enter which deal with GDK's big lock when needed.
	* libepc/dispatcher.c: Call epc_shell_unref in finalize, not dispose.
	* libepc/consumer.c: Unlock when calling soup_session_send_message.
	* tests/framework.c: Unlock when calling g_main_loop_run.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Also commit services when not adding any subtypes.

	* libepc/dispatcher.c: Also schedule commmit from epc_service_publish.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Rename EpcAvahiShell to EpcShell.

	* libepc/dispatcher.c, libepc/publisher.c, libepc/shell.c,
	libepc/shell.h, Makefile.am, tests/framework.c:
	Rename EpcAvahiShell to EpcShell.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Permit access when no authentication handler is installed.

	* libepc/publisher.c: Let epc_publisher_server_auth_cb return TRUE,
	when no authentication handler is found to permit access in that case.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Announce program name based service type.

	* libepc/publisher.c: Announce program name based service type.
	* libepc/dispatcher.c: Move commit step into idle function.
	* libepc/avahi-shell.c, libepc/avahi-shell.h:
	Provide epc_avahi_shell_create_service_type for creating
	program name based service types.

2007-11-06  Mathias Hasselmann  <mathias@openismus.com>

	Introduce common API for managing basic, shareable Avahi infrastructure.

	* libepc/avahi-shell.c, libepc/avahi-shell.h: Introduce EpcAvahiShell.
	* libepc/dispatcher.c, tests/framework.c: Use EpcAvahiShell.
	* Makefile.am: Add libepc/avahi-shell.c and libepc/avahi-shell.h.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Merge password dialog from the libank experiment.

	* libepc-ui/passworddialog.c, libepc-ui/passworddialog.h:
	Merge password dialog from the libank experiment.
	* examples/test-consumer.c: Use EpcPasswordDialog.
	* configure.in, Makefile.am, libepc-ui.pc.in, libepc-ui/.gitignore:
	Add shared libepc-ui library containing libepc specific widgets.
	* libepc.pc.in: Correct the cflags property.
	* tests/.gitignore: Add *.loT

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Document authentication mechanism and add "reauthenticate" signal.

	* docs/reference/libepc/libepc-sections.txt, libepc/publisher.c,
	libepc/publisher.h: Document authentication mechanism.
	* libepc/consumer.c: Document authentication mechanism
	and add "reauthenticate" signal.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Implement authentication for EpcPublisher and EpcConsumer.

	* examples/test-consumer.c: Demonstrate authentication callback.
	* examples/test-publisher.c: Demonstrate publishing of sensitive data.
	* libepc/consumer.c, libepc/consumer.h: Add "authenticate" signal.
	* libepc/marshal.list: Add marshaller for "authenticate" signal.
	* libepc/.gitignore: Add generated files marshal.c and marshal.h.
	* Makefile.am: Add marshal.c, marshal.h and code to generate them.
	* libepc/publisher.c, libepc/publisher.h: Implement authentication
	by adding epc_publisher_set_auth_handler and EpcAuthContext.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Demonstrate epc_publisher_add_handler.

	* examples/test-publisher.c: Demonstrate epc_publisher_add_handler.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Move examples into separate folder.

	* examples/.gitignore, Makefile.am, tests/.gitignore:
	Moved test-consumer and test-publisher from tests to examples.
	* tests/test-consumer.c, tests/test-publisher.c: Moved to examples.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Document epc_publisher_add_handler and related API.

	* docs/reference/libepc/libepc-sections.txt:
	Rename EpcPublisherHandler to EpcContentHandler.
	* libepc/publisher.c: Document epc_publisher_add_handler
	and EpcContent with its methods.
	* libepc/publisher.h: Document EpcContentHandler.

2007-11-05  Mathias Hasselmann  <mathias@openismus.com>

	Implement epc_publisher_add_handler.
	Rewrite epc_publisher_add and epc_publisher_add_file to use it.

	* docs/reference/libepc/libepc-sections.txt, libepc/publisher.c,
	libepc/publisher.h: Add epc_publisher_add_handler and EpcContent.
	* tests/test-publisher.c: Remove obsolete error variable.

2007-11-04  Mathias Hasselmann  <mathias@openismus.com>

	Document the property accessors of EpcDispatcher.

	* docs/reference/libepc/libepc-sections.txt,
	libepc/dispatcher.c: Document the property accessors.

2007-11-04  Mathias Hasselmann  <mathias@openismus.com>

	Implement regression tests for the EpcDispatcher.

	* Makefile.am, tests/.gitignore: Add regression tests.
	* tests/framework.c, tests/framework.h: Common test code.
	* tests/test-runner.sh: Redirect output of regression tests.
	* tests/test-dispatcher-simple-service.c: Test a single service.
	* tests/test-dispatcher-multiple-services.c: Test registering
	of multiple services on a single dispatcher.
	* tests/test-dispatcher-subtypes.c: Test service subtypes.
	* tests/test-dispatcher-local-collision.c: Test automatic handling
	of local service name collisions.
	* libepc/dispatcher.c, libepc/dispatcher.h:
	Add getter methods for properties of the EpcDispatcher.

2007-11-03  Mathias Hasselmann  <mathias@openismus.com>

	Implement regression testing for EpcDispatcher.

	* Makefile.am, tests/.gitignore: Add tests/test-dispatcher-001.c.
	* tests/test-dispatcher-001.c: Regression test for EpcDispatcher.

2007-11-03  Mathias Hasselmann  <mathias@openismus.com>

	Handle local collisions.

	* libepc/dispatcher.c: Handle local collisions.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Fix property assertions in EpcPublisher.

	* libepc/publisher.c: Fix property assertions

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Guard g_debug statements by epc_debug flag, which can by enabled
	by setting the EPC_DEBUG environment variable.

	* libepc/dispatcher.c: Guard g_debug statements.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Adjust indenting for consumer.h

	* libepc/consumer.h: Adjust indenting.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Improve API documentation and examples.

	* libepc/consumer.c, libepc/dispatcher.c, libepc/publisher.c:
	Improve API documentation.
	* tests/test-consumer.c, tests/test-publisher.c: Insert code comments
	as those files serve as examples and document command line arguments.
	* docs/reference/libepc/libepc-sections.txt:
	Remove EPC_PUBLISHER_SERVICE_NAME.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Split EPC_PUBLISHER_SERVICE_NAME into EPC_SERVICE_NAME,
	EPC_SERVICE_NAME_HTTP and EPC_SERVICE_NAME_HTTPS.

	* libepc/publisher.h: Remove EPC_PUBLISHER_SERVICE_NAME.
	* libepc/service-names.h, docs/reference/libepc/libepc-docs.sgml,
	docs/reference/libepc/libepc-sections.txt: Introduce
	EPC_SERVICE_NAME, EPC_SERVICE_NAME_HTTP and EPC_SERVICE_NAME_HTTPS.
	* libepc/publisher.c: Use EPC_SERVICE_NAME_HTTP
	instead of EPC_PUBLISHER_SERVICE_NAME.
	* tests/test-consumer.c: Use EPC_SERVICE_NAME
	instead of EPC_PUBLISHER_SERVICE_NAME.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Change library name to libepc.

	* docs/reference/libepc/Makefile.am, libepc.pc.in,
	Makefile.am: Change library name to libepc.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Tell automake to install developer files.

	* Makefile.am: Install header files and pkg-config information.
	* configure.in, libepc.pc.in: Provide pkg-config information.
	* .gitignore: Ignore libepc.pc.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Add copyright headers.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Document EpcDispatcher and provide examples.

	* docs/reference/libepc/.gitignore: Remove libepc-sections.txt.
	* docs/reference/libepc/libepc-sections.txt: Add *Class
	structures as requested by the gtk-doc tool.
	* libepc/consumer.c, libepc/consumer.h, libepc/publisher.c,
	libepc/publisher.h: Add examples and document *Class structures.
	* libepc/dispatcher.c, libepc/dispatcher.h: Document EpcDispatcher.

2007-11-02  Mathias Hasselmann  <mathias@openismus.com>

	Provide some initial API documentation.

	* docs/reference/libepc/Makefile.am: Force rebuilding
	of documentation when the code changes.
	* docs/reference/libepc/.gitignore: Ignore *.bak files.
	* libepc/consumer.c, libepc/consumer.h: Some initial documentation.
	* libepc/publisher.c, libepc/publisher.h: Some initial documentation.
	Rename EPC_PUBLISHER_SERVICE_TYPE to EPC_PUBLISHER_SERVICE_NAME.
	* tests/test-consumer.c: Rename EPC_PUBLISHER_SERVICE_TYPE to
	EPC_PUBLISHER_SERVICE_NAME.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Integrate gtk-doc for API documentation.

	* configure.in, Makefile.am: Integrate gtk-doc for API documentation.
	* gtk-doc.make, docs/reference/libepc/*: Setup gtk-doc infrastructure.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Handle construct-only properties more stricly.

	* libepc/dispatcher.c, libepc/publisher.c: Assert fields are NULL
	instead of releasing their data, when setting construct-only
	properties.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Implement the consumer.

	* libepc/consumer.c, libepc/consumer.h: Really implement the consumer.
	* tests/test-consumer.c: Use the consumer API.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Start the consumer by merging the document-server's client test.

	* tests/test-consumer.c: Just copy the document-server's client test.

2007-11-01  Mathias Hasselmann  <mathias@openismus.com>

	Implement EpcDispatcher, an easy to use ZeroConf dispatcher.

	* configure.in, Makefile.am: Separatly checking for
	avahi-ui which is used by tests/test-consumer only.
	* libepc/dispatcher.c, libepc/dispatcher.h: Implement an
	easy to use ZeroConf service dispatcher on top of Avahi.
	* libepc/publisher.c, libepc/publisher.h: Use the new dispatcher.
	* tests/test-publisher.c: Use the new dispatcher.
	Change key-name for the source-code record.

2007-10-31  Mathias Hasselmann  <mathias@openismus.com>

	Initial commit of the Easy Publish and Consume library.
