# ChangeLog for dev-perl/YAML-Tiny
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-perl/YAML-Tiny/ChangeLog,v 1.29 2011/07/30 10:47:48 tove Exp $

  30 Jul 2011; Torsten Veller <tove@gentoo.org> YAML-Tiny-1.41.ebuild,
  YAML-Tiny-1.500.0.ebuild:
  Drop ~sparc-fbsd KEYWORD

  29 Jul 2011; Torsten Veller <tove@gentoo.org> -YAML-Tiny-1.480.ebuild:
  Cleanup

*YAML-Tiny-1.500.0 (25 Jun 2011)

  25 Jun 2011; Torsten Veller <tove@gentoo.org> +YAML-Tiny-1.500.0.ebuild:
  Version bump

  02 Apr 2011; Torsten Veller <tove@gentoo.org> -YAML-Tiny-1.43.ebuild,
  -YAML-Tiny-1.44.ebuild, -YAML-Tiny-1.460.ebuild:
  Cleanup

*YAML-Tiny-1.480 (04 Feb 2011)

  04 Feb 2011; Torsten Veller <tove@gentoo.org> +YAML-Tiny-1.480.ebuild:
  Version bump

*YAML-Tiny-1.460 (11 Jan 2011)

  11 Jan 2011; Torsten Veller <tove@gentoo.org> +YAML-Tiny-1.460.ebuild:
  Version bump

  07 Dec 2010; Matt Turner <mattst88@gentoo.org> YAML-Tiny-1.44.ebuild:
  Added ~mips, bug 298183.

  22 Oct 2010; Samuli Suominen <ssuominen@gentoo.org> YAML-Tiny-1.41.ebuild:
  ppc64 stable wrt #333421

  18 Oct 2010; Jeroen Roovers <jer@gentoo.org> YAML-Tiny-1.41.ebuild:
  Stable for HPPA (bug #323529).

*YAML-Tiny-1.44 (09 Aug 2010)

  09 Aug 2010; Torsten Veller <tove@gentoo.org> +YAML-Tiny-1.44.ebuild:
  Version bump

*YAML-Tiny-1.43 (15 Jul 2010)

  15 Jul 2010; Torsten Veller <tove@gentoo.org> +YAML-Tiny-1.43.ebuild:
  Version bump. No functional changes

  27 Jun 2010; <nixnut@gentoo.org> YAML-Tiny-1.41.ebuild:
  ppc stable #323529

  21 Jun 2010; Raúl Porcel <armin76@gentoo.org> YAML-Tiny-1.41.ebuild:
  alpha/arm/ia64/m68k/s390/sh/sparc stable

  15 Jun 2010; Torsten Veller <tove@gentoo.org> YAML-Tiny-1.41.ebuild:
  Stable on amd64 and x86 (#323529)

  23 Feb 2010; Joseph Jezak <josejx@gentoo.org> YAML-Tiny-1.41.ebuild:
  Marked ~ppc for bug #298183.

  08 Feb 2010; Fabian Groffen <grobian@gentoo.org> YAML-Tiny-1.41.ebuild:
  Marked ~ppc-aix, bug #298183

  17 Jan 2010; Raúl Porcel <armin76@gentoo.org> YAML-Tiny-1.41.ebuild:
  Add ~alpha/~ia64/~m68k/~s390/~sh/~sparc wrt #298183

  10 Jan 2010; Markus Meier <maekke@gentoo.org> YAML-Tiny-1.41.ebuild:
  add ~arm, bug #298183

  09 Jan 2010; Fabian Groffen <grobian@gentoo.org> YAML-Tiny-1.41.ebuild:
  Add back Prefix keywords, bug #298183

  09 Jan 2010; Alexis Ballier <aballier@gentoo.org> YAML-Tiny-1.41.ebuild:
  keyword ~sparc-fbsd, bug #298183

  07 Jan 2010; Alexis Ballier <aballier@gentoo.org> YAML-Tiny-1.41.ebuild:
  keyword ~x86-fbsd, bug #298183

  06 Jan 2010; Brent Baude <ranger@gentoo.org> YAML-Tiny-1.41.ebuild:
  Marking YAML-Tiny-1.41 ~ppc64 for bug 298183

  24 Dec 2009; Torsten Veller <tove@gentoo.org> -YAML-Tiny-1.40.ebuild:
  Cleanup

  24 Dec 2009; Jeroen Roovers <jer@gentoo.org> YAML-Tiny-1.41.ebuild:
  Marked ~hppa (bug #298183).

*YAML-Tiny-1.41 (12 Dec 2009)

  12 Dec 2009; Torsten Veller <tove@gentoo.org> +YAML-Tiny-1.41.ebuild:
  Version bump

  07 Sep 2009; Torsten Veller <tove@gentoo.org> -YAML-Tiny-1.39.ebuild:
  Cleanup

*YAML-Tiny-1.40 (02 Aug 2009)

  02 Aug 2009; Torsten Veller <tove@gentoo.org> +YAML-Tiny-1.40.ebuild:
  Version bump

  23 Jun 2009; Torsten Veller <tove@gentoo.org> YAML-Tiny-1.39.ebuild:
  Add description. Run tests

*YAML-Tiny-1.39 (23 Jun 2009)

  23 Jun 2009; Robin H. Johnson <robbat2@gentoo.org> +YAML-Tiny-1.39.ebuild,
  +metadata.xml:
  Initial commit. Ebuild by Robin H. Johnson <robbat2@gentoo.org>.

