# ChangeLog for app-misc/gnote
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/gnote/ChangeLog,v 1.6 2010/02/23 19:37:22 eva Exp $

  23 Feb 2010; Gilles Dartiguelongue <eva@gentoo.org> -gnote-0.6.2.ebuild,
  gnote-0.6.3.ebuild, gnote-0.7.1.ebuild:
  gnome-panel dependency is optional, bug #298932, thanks to Olaf for
  noticing.

*gnote-0.7.1 (11 Jan 2010)

  11 Jan 2010; Gilles Dartiguelongue <eva@gentoo.org> +gnote-0.7.1.ebuild:
  Version bump. Bug fixes, translation updates.

*gnote-0.6.3 (13 Dec 2009)

  13 Dec 2009; Gilles Dartiguelongue <eva@gentoo.org> -gnote-0.6.1.ebuild,
  +gnote-0.6.3.ebuild:
  Version bump. Bug fixes and translation updates.

  26 Aug 2009; Gilles Dartiguelongue <eva@gentoo.org> gnote-0.6.2.ebuild:
  Removing useless inherits.

*gnote-0.6.2 (26 Aug 2009)

  26 Aug 2009; Gilles Dartiguelongue <eva@gentoo.org> +gnote-0.6.2.ebuild:
  Version bump. Use mnemonics for toolbar. Update spanish translation.

*gnote-0.6.1 (02 Aug 2009)

  02 Aug 2009; Gilles Dartiguelongue <eva@gentoo.org> +gnote-0.6.1.ebuild,
  +files/gnote-0.6.1-dbus-switch.patch, +metadata.xml:
  Initial ebuild by Gilles Dartiguelongue <eva@gentoo.org>, copied and bumped
  from gnome overlay, closes bug #268015.

