# ChangeLog for media-gfx/exif
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/exif/ChangeLog,v 1.41 2010/01/18 08:49:07 maekke Exp $

  18 Jan 2010; Markus Meier <maekke@gentoo.org> -exif-0.6.17.ebuild:
  old

  17 Jan 2010; Raúl Porcel <armin76@gentoo.org> exif-0.6.19.ebuild:
  alpha/ia64/sparc stable wrt #297023

  07 Jan 2010; Christian Faulhammer <fauli@gentoo.org> exif-0.6.19.ebuild:
  Transfer Prefix keywords

  07 Jan 2010; Joseph Jezak <josejx@gentoo.org> exif-0.6.19.ebuild:
  Marked ppc stable for bug #297023.

  31 Dec 2009; Brent Baude <ranger@gentoo.org> exif-0.6.19.ebuild:
  Marking exif-0.6.19 ppc64 for bug 297023

  29 Dec 2009; Christian Faulhammer <fauli@gentoo.org> exif-0.6.19.ebuild:
  stable x86, bug 297023

  16 Dec 2009; Jeroen Roovers <jer@gentoo.org> exif-0.6.19.ebuild:
  Stable for HPPA (bug #297023).

  15 Dec 2009; Samuli Suominen <ssuominen@gentoo.org> exif-0.6.19.ebuild:
  amd64 stable wrt #297023

*exif-0.6.19 (14 Nov 2009)

  14 Nov 2009; Markus Meier <maekke@gentoo.org> -exif-0.6.18.ebuild,
  +exif-0.6.19.ebuild:
  version bump wrt bug #293190 and bug #293194

*exif-0.6.18 (11 Oct 2009)

  11 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> +exif-0.6.18.ebuild:
  Version bump wrt #288585, thanks to Arfrever Frehtes Taifersar Arahesis
  for reporting.

  07 Feb 2009; Markus Meier <maekke@gentoo.org> -exif-0.6.15.ebuild:
  old

  06 Feb 2009; Jeroen Roovers <jer@gentoo.org> exif-0.6.17.ebuild:
  Stable for HPPA (bug #256174).

  05 Feb 2009; Raúl Porcel <armin76@gentoo.org> exif-0.6.17.ebuild:
  ia64/sparc stable wrt #256174

  26 Jan 2009; Tobias Klausmann <klausman@gentoo.org> exif-0.6.17.ebuild:
  Stable on alpha, bug #256174

  26 Jan 2009; Brent Baude <ranger@gentoo.org> exif-0.6.17.ebuild:
  stable ppc64, bug 256174

  25 Jan 2009; Markus Meier <maekke@gentoo.org> exif-0.6.17.ebuild:
  amd64/x86 stable, bug #256174

  24 Jan 2009; nixnut <nixnut@gentoo.org> exif-0.6.17.ebuild:
  ppc stable #256174

*exif-0.6.17 (21 Dec 2008)

  21 Dec 2008; Markus Meier <maekke@gentoo.org> +exif-0.6.17.ebuild:
  bump to 0.6.17, bug #248249

  31 Oct 2008; Jeroen Roovers <jer@gentoo.org> exif-0.6.15.ebuild:
  Stable for HPPA too.

  10 Sep 2008; Jeroen Roovers <jer@gentoo.org> exif-0.6.15.ebuild:
  Marked ~hppa too.

  12 Aug 2008; Raúl Porcel <armin76@gentoo.org> exif-0.6.15.ebuild:
  alpha/ia64 stable

  22 Apr 2008; Raúl Porcel <armin76@gentoo.org> exif-0.6.15.ebuild:
  Add ~ia64

  20 Apr 2008; Markus Meier <maekke@gentoo.org> -exif-0.6.9.ebuild:
  old

  26 Jan 2008; Fabian Groffen <grobian@gentoo.org> exif-0.6.9.ebuild,
  exif-0.6.15.ebuild:
  Dropped ppc-macos keyword, see you in prefix

  20 Jan 2008; Christoph Mende <angelos@gentoo.org> exif-0.6.15.ebuild:
  Stable on amd64 wrt bug #206195

  19 Jan 2008; nixnut <nixnut@gentoo.org> exif-0.6.15.ebuild:
  Stable on ppc wrt bug 206195

  17 Jan 2008; Ferris McCormick <fmccor@gentoo.org> exif-0.6.15.ebuild:
  Sparc stable, Bug #206195.

  16 Jan 2008; Markus Meier <maekke@gentoo.org> exif-0.6.15.ebuild:
  x86 stable, bug #206195

  29 Dec 2007; <welp@gentoo.org> exif-0.6.15.ebuild:
  Keyworded ~x86-fbsd wrt bug 203149

  26 Nov 2007; Markus Rothe <corsair@gentoo.org> exif-0.6.15.ebuild:
  Stable on ppc64; bug #199740

  24 Nov 2007; Brent Baude <ranger@gentoo.org> exif-0.6.9.ebuild:
  Marking exif-0.6.9 ppc stable for a dep to 199740

  24 Nov 2007; Markus Rothe <corsair@gentoo.org> exif-0.6.15.ebuild:
  Added ~ppc64

*exif-0.6.15 (05 Jun 2007)

  05 Jun 2007; Jeremy Huddleston <eradicator@gentoo.org>
  +exif-0.6.15.ebuild:
  Version bump.

  16 May 2007; Steve Dibb <beandog@gentoo.org> exif-0.6.9.ebuild:
  amd64 stable

  20 Apr 2007; Gustavo Zacarias <gustavoz@gentoo.org> exif-0.6.9.ebuild:
  Stable on sparc

  08 Feb 2007; Marcelo Goes <vanquirius@gentoo.org> exif-0.6.9.ebuild:
  Mark 0.6.9 x86 stable.

  25 Nov 2005; Marcus D. Hanwell <cryos@gentoo.org> exif-0.6.9.ebuild:
  Marked ~amd64.

  30 Oct 2005; Fabian Groffen <grobian@gentoo.org> exif-0.6.9.ebuild:
  Marked ~ppc-macos (bug #110820)

*exif-0.6.9 (01 Apr 2005)

  01 Apr 2005; <dams@gentoo.org> +metadata.xml, +exif-0.6.9.ebuild:
  first ebuild, from bug 13463

