# ChangeLog for dev-haskell/basic-prelude
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-haskell/basic-prelude/ChangeLog,v 1.9 2015/08/01 16:24:50 slyfox Exp $

*basic-prelude-0.4.1 (01 Aug 2015)

  01 Aug 2015; Sergei Trofimovich <slyfox@gentoo.org>
  +basic-prelude-0.4.1.ebuild:
  Version bump.

  06 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Add github to remote-id in metadata.xml

*basic-prelude-0.3.11 (25 Jan 2015)

  25 Jan 2015; Alexander Vershilov <qnikst@gentoo.org>
  +basic-prelude-0.3.11.ebuild, -basic-prelude-0.3.5.0.ebuild,
  -basic-prelude-0.3.6.0.ebuild, -basic-prelude-0.3.8.ebuild:
  dev-haskell/basic-prelude: add new, drop old

*basic-prelude-0.3.10 (14 Dec 2014)

  14 Dec 2014; Mark Wright <gienah@gentoo.org> +basic-prelude-0.3.10.ebuild:
  Bump basic-prelude to 0.3.10

  25 Jul 2014; Sergei Trofimovich <slyfox@gentoo.org>
  basic-prelude-0.3.5.0.ebuild, basic-prelude-0.3.6.0.ebuild,
  basic-prelude-0.3.8.ebuild:
  Drop trailing '.' from description.

  25 Jul 2014; Sergei Trofimovich <slyfox@gentoo.org> metadata.xml:
  Drop redundant '<maintainer>' field, leave only '<herd>'.

*basic-prelude-0.3.8 (02 Jul 2014)

  02 Jul 2014; Mark Wright <gienah@gentoo.org> +basic-prelude-0.3.8.ebuild:
  Bump basic-prelude to 0.3.8

*basic-prelude-0.3.6.0 (13 Sep 2013)

  13 Sep 2013; Mark Wright <gienah@gentoo.org> +basic-prelude-0.3.6.0.ebuild:
  Bump basic-prelude to 0.3.6.0

*basic-prelude-0.3.5.0 (26 Aug 2013)

  26 Aug 2013; Alexander Vershilov <qnikst@gentoo.org>
  +basic-prelude-0.3.5.0.ebuild, +metadata.xml:
  dev-haskell/basic-prelude: initial layout
