# ChangeLog for perl-core/Scalar-List-Utils
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/perl-core/Scalar-List-Utils/ChangeLog,v 1.43 2011/05/20 13:26:18 tove Exp $

*Scalar-List-Utils-1.230.0 (20 May 2011)

  20 May 2011; Torsten Veller <tove@gentoo.org> -Scalar-List-Utils-1.23.ebuild,
  +Scalar-List-Utils-1.230.0.ebuild:
  Change version scheme

  02 May 2011; Fabian Groffen <grobian@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  Marked ~x64-freebsd

  06 Mar 2011; Fabian Groffen <grobian@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  Marked ~ppc-aix, bug #357599

  22 Oct 2010; Samuli Suominen <ssuominen@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  ppc64 stable wrt #333421

  22 Oct 2010; Jeroen Roovers <jer@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  Stable for HPPA (bug #333421).

  12 Sep 2010; Raúl Porcel <armin76@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #333421

  03 Sep 2010; Christian Faulhammer <fauli@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  add ~x86-freebsd

  23 Aug 2010; Markus Meier <maekke@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  arm stable, bug #333421

  20 Aug 2010; Christian Faulhammer <fauli@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  stable x86, bug 333421

  19 Aug 2010; Markos Chandras <hwoarang@gentoo.org>
  Scalar-List-Utils-1.23.ebuild:
  Stable on amd64 wrt bug #333421

*Scalar-List-Utils-1.23 (14 Mar 2010)

  14 Mar 2010; Torsten Veller <tove@gentoo.org>
  +Scalar-List-Utils-1.23.ebuild:
  Version bump

  17 Jan 2010; Torsten Veller <tove@gentoo.org>
  -Scalar-List-Utils-1.18.ebuild, -Scalar-List-Utils-1.19.ebuild:
  Cleanup

  05 Jan 2010; nixnut <nixnut@gentoo.org> Scalar-List-Utils-1.21.ebuild:
  ppc stable #288026

  16 Dec 2009; Jonathan Callen <abcd@gentoo.org>
  Scalar-List-Utils-1.19.ebuild, Scalar-List-Utils-1.21.ebuild,
  Scalar-List-Utils-1.22.ebuild:
  QA: Transfer prefix keywords

  14 Dec 2009; Raúl Porcel <armin76@gentoo.org>
  Scalar-List-Utils-1.21.ebuild:
  alpha/ia64/m68k/s390/sh/sparc stable wrt #288026

  10 Dec 2009; Brent Baude <ranger@gentoo.org>
  Scalar-List-Utils-1.21.ebuild:
  Marking Scalar-List-Utils-1.21 ppc64 stable for bug 288026

  07 Dec 2009; Markus Meier <maekke@gentoo.org>
  Scalar-List-Utils-1.21.ebuild:
  arm stable, bug #288026

  07 Dec 2009; Jeroen Roovers <jer@gentoo.org>
  Scalar-List-Utils-1.21.ebuild:
  Stable for HPPA (bug #288026).

  04 Dec 2009; Torsten Veller <tove@gentoo.org>
  Scalar-List-Utils-1.21.ebuild:
  Stable on amd64 (#288026)

  04 Dec 2009; Christian Faulhammer <fauli@gentoo.org>
  Scalar-List-Utils-1.21.ebuild:
  x86 stable, bug 288026

*Scalar-List-Utils-1.22 (22 Nov 2009)

  22 Nov 2009; Robin H. Johnson <robbat2@gentoo.org>
  +Scalar-List-Utils-1.22.ebuild:
  Version bump via perl-bump experimental tool.

*Scalar-List-Utils-1.21 (19 May 2009)

  19 May 2009; Torsten Veller <tove@gentoo.org>
  Scalar-List-Utils-1.19.ebuild, +Scalar-List-Utils-1.21.ebuild:
  Version bump

  28 Mar 2008; Jeroen Roovers <jer@gentoo.org>
  Scalar-List-Utils-1.19.ebuild:
  Stable for HPPA too.

  12 Aug 2007; Tom Gall <tgall@gentoo.org> Scalar-List-Utils-1.19.ebuild:
  stable on ppc64

  04 Jul 2007; Raúl Porcel <armin76@gentoo.org>
  Scalar-List-Utils-1.19.ebuild:
  alpha/ia64/x86 stable

  11 May 2007; Joshua Kinard <kumba@gentoo.org>
  Scalar-List-Utils-1.19.ebuild:
  Stable on mips.

  05 May 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  Scalar-List-Utils-1.19.ebuild:
  ppc stable

  17 Apr 2007; Gustavo Zacarias <gustavoz@gentoo.org>
  Scalar-List-Utils-1.19.ebuild:
  Stable on sparc

  09 Apr 2007; Michael Cummings <mcummings@gentoo.org>
  Scalar-List-Utils-1.19.ebuild:
  Marking stable amd64

*Scalar-List-Utils-1.19 (02 Jan 2007)

  02 Jan 2007; Michael Cummings <mcummings@gentoo.org>
  +Scalar-List-Utils-1.19.ebuild:
  Version bump

  28 Nov 2006; Tiziano Müller <dev-zero@gentoo.org>
  Scalar-List-Utils-1.18.ebuild:
  ~x86-fbsd keyword added.

  25 Oct 2006; Michael Cummings <mcummings@gentoo.org>
  -Scalar-List-Utils-1.14.ebuild:
  Cleaning up ebuilds

  05 Sep 2006; Joshua Kinard <kumba@gentoo.org>
  Scalar-List-Utils-1.18.ebuild:
  Marked stable on mips.

  04 Aug 2006; Michael Cummings <mcummings@gentoo.org>
  Scalar-List-Utils-1.14.ebuild, Scalar-List-Utils-1.18.ebuild:
  Adding perl dep

  18 Jul 2006; Bryan Østergaard <kloeri@gentoo.org>
  Scalar-List-Utils-1.18.ebuild:
  Stable on alpha.

  03 Jul 2006; Michael Cummings <mcummings@gentoo.org>
  Scalar-List-Utils-1.18.ebuild:
  Marking amd64 stable

  27 Mar 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  Scalar-List-Utils-1.18.ebuild:
  Stable on hppa

  27 Mar 2006; Markus Rothe <corsair@gentoo.org>
  Scalar-List-Utils-1.18.ebuild:
  Stable on ppc64

  23 Mar 2006; Michael Hanselmann <hansmi@gentoo.org>
  Scalar-List-Utils-1.18.ebuild:
  Stable on ppc.

  22 Mar 2006; Michael Cummings <mcummings@gentoo.org>
  Scalar-List-Utils-1.18.ebuild:
  Marking stable sparc and x86

*Scalar-List-Utils-1.18 (13 Jan 2006)

  13 Jan 2006; Michael Cummings <mcummings@gentoo.org>
  +Scalar-List-Utils-1.18.ebuild:
  Version bump

*Scalar-List-Utils-1.14 (30 Dec 2005)

  30 Dec 2005; <mcumming@gentoo.org> +metadata.xml,
  +Scalar-List-Utils-1.14.ebuild:
  Migration to perl-core from dev-perl

  23 Sep 2005; Markus Rothe <corsair@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  Stable on ppc64

  05 Sep 2005; Brent Baude <ranger@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  marking Scalar-List-Utils-1.14 ~ppc64 in support of Bug 101114

  08 May 2005; Aron Griffis <agriffis@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  stable on ia64

  29 Apr 2005; Michael Cummings <mcummings@gentoo.org>
  -Scalar-List-Utils-1.08.ebuild, -Scalar-List-Utils-1.11.ebuild:
  Cleaning for mirror

  26 Apr 2005; Bryan Østergaard <kloeri@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  ~ia64 keyword.

  10 Apr 2005; Michael Hanselmann <hansmi@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  Stable on ppc.

  01 Apr 2005; Simon Stelling <blubb@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  stable on amd64

  22 Jan 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  Stable on sparc

  22 Jan 2005; Bryan Østergaard <kloeri@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  Stable on alpha.

  21 Jan 2005; Michael Cummings <mcummings@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  Unmasking for x86

  30 Dec 2004; Ciaran McCreesh <ciaranm@gentoo.org> :
  Change encoding to UTF-8 for GLEP 31 compliance

*Scalar-List-Utils-1.14 (05 Jun 2004)

  05 Jun 2004; Michael Cummings <mcummings@gentoo.org>
  Scalar-List-Utils-1.14.ebuild:
  dep update for html-fromtext

  26 May 2004; Bryan Østergaard <kloeri@gentoo.org>
  Scalar-List-Utils-1.11.ebuild:
  Stable on alpha.

  20 Jan 2004; <gustavoz@gentoo.org> Scalar-List-Utils-1.11.ebuild:
  stable on sparc

*Scalar-List-Utils-1.11 (16 Jun 2003)

  16 Jun 2003; Michael Cummings <mcummings@gentoo.org>
  Scalar-List-Utils-1.11.ebuild:
  CPAN version bump; needs testing; fixed missing dep

  06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
 
*Scalar-List-Utils-1.08 (13 Nov 2002)

  13 Nov 2002; Matthew Kennedy <mkennedy@gentoo.org>
  Scalar-List-Utils-1.08.ebuild, ChangeLog,
  files/digest-Scalar-List-Utils-1.08 :

  Initial import. Required dep by updated version of HTML::Mason.
