# ChangeLog for www-apache/mod_diagnostics
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_diagnostics/ChangeLog,v 1.6 2008/01/31 18:44:16 hollow Exp $

  31 Jan 2008; Benedikt Böhm <hollow@gentoo.org>
  files/20_mod_diagnostics.conf, metadata.xml:
  update metadata; cleanup

  15 Jan 2007; Luca Longinotti <chtekk@gentoo.org>
  mod_diagnostics-0.0.1.ebuild:
  Compile fixes.

  15 Jan 2007; Luca Longinotti <chtekk@gentoo.org>
  mod_diagnostics-0.0.1.ebuild:
  Cleanup.

  16 Jan 2006; Chris White <chriswhite@gentoo.org>
  mod_diagnostics-0.0.1.ebuild:
  x86 stable for bug #106463.

  25 Feb 2005; Benedikt Boehm <hollow@gentoo.org>
  +files/20_mod_diagnostics.conf, mod_diagnostics-0.0.1.ebuild:
  added module config

*mod_diagnostics-0.0.1 (10 Jan 2005)

  10 Jan 2005; Benedikt Boehm <hollow@gentoo.org> +metadata.xml,
  +mod_diagnostics-0.0.1.ebuild:
  Apache herd package refresh (New ebuild)

