# ChangeLog for gnustep-apps/simpleagenda
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/gnustep-apps/simpleagenda/ChangeLog,v 1.13 2010/03/07 22:25:54 voyageur Exp $

*simpleagenda-0.40 (07 Mar 2010)

  07 Mar 2010; Bernard Cafarelli <voyageur@gentoo.org>
  +simpleagenda-0.40.ebuild:
  Version bump, UI improvements, bug fixes and code churn

*simpleagenda-0.39 (21 Sep 2009)

  21 Sep 2009; Bernard Cafarelli <voyageur@gentoo.org>
  simpleagenda-0.36.ebuild, -simpleagenda-0.37.ebuild,
  simpleagenda-0.38.ebuild, +simpleagenda-0.39.ebuild, metadata.xml:
  Version bump, fix description typo

*simpleagenda-0.38 (27 Mar 2009)

  27 Mar 2009; Bernard Cafarelli <voyageur@gentoo.org>
  +simpleagenda-0.38.ebuild:
  Version bump, bug fixes, simple week view, calendar ui changes and easier
  dates navigation

*simpleagenda-0.37 (03 Nov 2008)

  03 Nov 2008; Bernard Cafarelli <voyageur@gentoo.org>
  -simpleagenda-0.27.ebuild, +simpleagenda-0.37.ebuild:
  Version bump, bugfixes. Also remove old version

  21 Sep 2008; nixnut <nixnut@gentoo.org> simpleagenda-0.36.ebuild:
  Stable on ppc wrt bug 235922

  17 Sep 2008; Markus Meier <maekke@gentoo.org> simpleagenda-0.36.ebuild:
  amd64/x86 stable, bug #235922

  08 Mar 2008; Santiago M. Mola <coldwind@gentoo.org>
  simpleagenda-0.27.ebuild:
  amd64 stable wrt bug #207381

  30 Jan 2008; Brent Baude <ranger@gentoo.org> simpleagenda-0.27.ebuild:
  Marking simpleagenda-0.27 ppc for bug 207381

  25 Jan 2008; Christian Faulhammer <opfer@gentoo.org>
  simpleagenda-0.27.ebuild:
  stable x86, bug 207381

*simpleagenda-0.36 (20 Jan 2008)

  20 Jan 2008; Bernard Cafarelli <voyageur@gentoo.org>
  -simpleagenda-0.35.ebuild, +simpleagenda-0.36.ebuild:
  Version bump

*simpleagenda-0.35 (09 Jan 2008)

  09 Jan 2008; Bernard Cafarelli <voyageur@gentoo.org>
  +simpleagenda-0.35.ebuild:
  Version bump (needs unstable gnustep)

*simpleagenda-0.27 (18 Sep 2007)

  18 Sep 2007; Bernard Cafarelli <voyageur@gentoo.org>
  -simpleagenda-0.26.ebuild, +simpleagenda-0.27.ebuild:
  Version bump (mostly fixes)

*simpleagenda-0.26 (10 Sep 2007)

  10 Sep 2007; Bernard Cafarelli <voyageur@gentoo.org> +metadata.xml,
  +simpleagenda-0.26.ebuild:
  Initial import from the GNUstep overlay

