# ChangeLog for net-analyzer/netspeed_applet
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-analyzer/netspeed_applet/ChangeLog,v 1.30 2008/11/12 11:31:13 leio Exp $

*netspeed_applet-0.15.2 (12 Nov 2008)

  12 Nov 2008; Mart Raudsepp <leio@gentoo.org>
  +netspeed_applet-0.15.2.ebuild:
  Version bump, bug 237602

  11 Jul 2007; Gustavo Zacarias <gustavoz@gentoo.org>
  netspeed_applet-0.14.ebuild:
  Stable on sparc wrt #1873947

  10 Jul 2007; Christian Faulhammer <opfer@gentoo.org>
  netspeed_applet-0.14.ebuild:
  stable x86, bug 173947

  08 Jul 2007; Christoph Mende <angelos@gentoo.org>
  netspeed_applet-0.14.ebuild:
  Stable on amd64 wrt bug #173947

  08 Jul 2007; Lars Weiler <pylon@gentoo.org> netspeed_applet-0.14.ebuild:
  Stable on ppc; bug #173947.

*netspeed_applet-0.14 (06 Nov 2006)

  06 Nov 2006; John N. Laliberte <allanonjl@gentoo.org> metadata.xml,
  -netspeed_applet-0.9.2.ebuild, -netspeed_applet-0.10.ebuild,
  -netspeed_applet-0.11.ebuild, -netspeed_applet-0.13.ebuild,
  +netspeed_applet-0.14.ebuild:
  new version, fixes #154190 . add gnome-doc-utils dep, bump libgtop dep,
  cleanup old versions, remove myself as specific maintainer.

  13 Aug 2005; Michael Hanselmann <hansmi@gentoo.org>
  netspeed_applet-0.12.1.ebuild:
  Stable on ppc.

  01 Aug 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  netspeed_applet-0.12.1.ebuild:
  Stable on sparc

*netspeed_applet-0.13 (01 Aug 2005)

  01 Aug 2005; Marinus Schraal <foser@gentoo.org> :
  New release

*netspeed_applet-0.12.1 (02 May 2005)

  02 May 2005; John N. Laliberte <allanonjl@gentoo.org> metadata.xml,
  +netspeed_applet-0.12.1.ebuild:
  version bump, fixes bug #91087

*netspeed_applet-0.11 (11 Mar 2005)

  11 Mar 2005; foser <foser@gentoo.org> netspeed_applet-0.11.ebuild :
  New release (#82146)
  USEify gtop dep 

  25 Aug 2004; Gustavo Zacarias <gustavoz@gentoo.org>
  netspeed_applet-0.10.ebuild:
  Stable on sparc

*netspeed_applet-0.10 (10 Aug 2004)

  10 Aug 2004; foser <foser@gentoo.org> netspeed_applet-0.10.ebuild :
  New release, by request in #59630

  06 Aug 2004; Gustavo Zacarias <gustavoz@gentoo.org>
  netspeed_applet-0.9.2.ebuild:
  Stable on sparc

  11 Jul 2004; Eldad Zack <eldad@gentoo.org> netspeed_applet-0.8.ebuild:
  Tidy

  05 Jul 2004; Chris Gianelloni <wolf31o2@gentoo.org>
  netspeed_applet-0.9.2.ebuild:
  Added amd64 KEYWORD.

  21 May 2004; foser <foser@gentoo.org> netspeed_applet-0.{8,9.2}.ebuild :
  Fix libgtop deps for the new release (#50427)

*netspeed_applet-0.9.2 (06 Apr 2004)

  06 Apr 2004; foser <foser@gentoo.org> netspeed_applet-0.9.2.ebuild :
  Dep fix

  06 Apr 2004; Brad Laue <brad@gentoo.org> netspeed_applet-0.9.2.ebuild:
  Version bump, fixing SRC_URI and ensuring compatibility with GNOME 2.6.

  06 Jan 2004; Jason Wever <weeve@gentoo.org> netspeed_applet-0.8.ebuild:
  Marked stable on sparc.

*netspeed_applet-0.9 (29 Jun 2003)

  29 Jun 2003; foser <foser@gentoo.org> netspeed_applet-0.9.ebuild :
  Make use of gnome2 eclass, fix (R)DEPEND

*netspeed_applet-0.8 (30 Jan 2003)

  30 Jan 2003; foser <foser@gentoo.org> netspeed_applet-0.8.ebuild :
  New version

  06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
 
*netspeed_applet-0.7 (28 Nov 2002)

  28 Nov 2002; foser <foser@gentoo.org> netspeed_applet-0.7.ebuild :
  New version

*netspeed_applet-0.5 (24 Oct 2002)

  24 Oct 2002; foser <foser@gentoo.org> netspeed_applet-0.5.ebuild :

  New version. Fixed deps

*netspeed_applet-0.3 (28 Jul 2002)

  28 Jul 2002; Gabriele Giorgetti <stroke@gentoo.org> netspeed_applet-0.3.ebuild:

  New version

*netspeed_applet-0.2 (13 Jul 2002)

  13 Jul 2002; Gabriele Giorgetti <stroke@gentoo.org> netspeed_applet-0.2.ebuild:
  
  Initial CVS import.
