# ChangeLog for media-libs/gd
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)

*gd-2.1.1-r1 (09 Aug 2015)
*gd-2.1.1 (09 Aug 2015)
*gd-2.0.35-r4 (09 Aug 2015)
*gd-2.0.35-r3 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
  +files/gd-2.0.35-fontconfig.patch, +files/gd-2.0.35-libpng-pkg-config.patch,
  +files/gd-2.0.35-libpng14.patch, +files/gd-2.0.35-maxcolors.patch,
  +files/gd-2.1.1-headers.patch, +files/gd-2.1.1-webp-pre.patch,
  +files/gd-2.1.1-webp.patch, +gd-2.0.35-r3.ebuild, +gd-2.0.35-r4.ebuild,
  +gd-2.1.1.ebuild, +gd-2.1.1-r1.ebuild, +metadata.xml:
  proj/gentoo: Initial commit

  This commit represents a new era for Gentoo:
  Storing the gentoo-x86 tree in Git, as converted from CVS.

  This commit is the start of the NEW history.
  Any historical data is intended to be grafted onto this point.

  Creation process:
  1. Take final CVS checkout snapshot
  2. Remove ALL ChangeLog* files
  3. Transform all Manifests to thin
  4. Remove empty Manifests
  5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
  5.1. Do not touch files with -kb/-ko keyword flags.

  Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
  X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
  tests
  X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
  project
  X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
  developer, wrote Git features for the migration
  X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
  cvs2svn
  X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
  X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
  work in migration
  X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
  X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
  the bikeshed

  24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Use https by default

  Convert all URLs for sites supporting encrypted connections from http to
  https

  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
  Revert DOCTYPE SYSTEM https changes in metadata.xml

  repoman does not yet accept the https version.
  This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.

  Bug: https://bugs.gentoo.org/552720

  03 Dec 2015; Michał Górny <mgorny@gentoo.org> gd-2.1.1.ebuild,
  gd-2.1.1-r1.ebuild:
  Replace mirror://bitbucket with inline URL

  Replace mirror://bitbucket that has been removed in July 2014 with
  correct inline URL.

  16 Dec 2015; Agostino Sarubbo <ago@gentoo.org> gd-2.1.1.ebuild:
  amd64 stable wrt bug #538686

  Package-Manager: portage-2.2.24
  RepoMan-Options: --include-arches="amd64"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  16 Dec 2015; Agostino Sarubbo <ago@gentoo.org> gd-2.1.1.ebuild:
  x86 stable wrt bug #538686

  Package-Manager: portage-2.2.24
  RepoMan-Options: --include-arches="x86"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  17 Dec 2015; Jeroen Roovers <jer@gentoo.org> gd-2.1.1.ebuild:
  Stable for HPPA PPC64 (bug #538686).

  Package-Manager: portage-2.2.26
  RepoMan-Options: --ignore-arches

  26 Dec 2015; Agostino Sarubbo <ago@gentoo.org> gd-2.1.1.ebuild:
  ppc stable wrt bug #538686

  Package-Manager: portage-2.2.24
  RepoMan-Options: --include-arches="ppc"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  27 Dec 2015; Mikle Kolyada <zlogene@gentoo.org> gd-2.1.1.ebuild:
  sparc stable wrt bug #538686

  Package-Manager: portage-2.2.24

  07 Jan 2016; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Update remote-ids in metadata.xml

  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  07 Jan 2016; Markus Meier <maekke@gentoo.org> gd-2.1.1-r1.ebuild:
  arm stable, bug #538686

  Package-Manager: portage-2.2.26
  RepoMan-Options: --include-arches="arm"

  10 Jan 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.1.1.ebuild:
  alpha stable wrt bug #538686

  Package-Manager: portage-2.2.26
  RepoMan-Options: --include-arches="alpha"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  11 Jan 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.1.1.ebuild:
  ia64 stable wrt bug #538686

  Package-Manager: portage-2.2.26
  RepoMan-Options: --include-arches="ia64"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  15 Jan 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.1.1-r1.ebuild:
  amd64 stable wrt bug #571690

  Package-Manager: portage-2.2.26
  RepoMan-Options: --include-arches="amd64"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  17 Jan 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.1.1-r1.ebuild:
  ppc stable wrt bug #571690

  Package-Manager: portage-2.2.26
  RepoMan-Options: --include-arches="ppc"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  20 Jan 2016; Mike Frysinger <vapier@gentoo.org> gd-2.1.1-r1.ebuild:
  add USE=tiff support #572450

  20 Jan 2016; Mike Frysinger <vapier@gentoo.org> gd-2.1.1-r1.ebuild:
  amark arm64/ia64/m68k/s390/sh stable #571690

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Unify quoting in metadata.xml files for machine processing

  Force unified quoting in all metadata.xml files since lxml does not
  preserve original use of single and double quotes. Ensuring unified
  quoting before the process allows distinguishing the GLEP 67-related
  metadata.xml changes from unrelated quoting changes.

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Replace all herds with appropriate projects (GLEP 67)

  Replace all uses of herd with appropriate project maintainers, or no
  maintainers in case of herds requested to be disbanded.

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Set appropriate maintainer types in metadata.xml (GLEP 67)

  02 Feb 2016; Tobias Klausmann <klausman@gentoo.org> gd-2.1.1-r1.ebuild:
  add alpha keyword

  Gentoo-Bug: 571690

  Package-Manager: portage-2.2.27

  06 Feb 2016; Jeroen Roovers <jer@gentoo.org> gd-2.1.1-r1.ebuild:
  Stable for HPPA PPC64 (bug #571690).

  Package-Manager: portage-2.2.27
  RepoMan-Options: --ignore-arches

  14 Feb 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.1.1-r1.ebuild:
  x86 stable wrt bug #571690

  Package-Manager: portage-2.2.26
  RepoMan-Options: --include-arches="x86"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  12 Mar 2016; Markus Meier <maekke@gentoo.org>
  -files/gd-2.0.35-fontconfig.patch, -files/gd-2.0.35-libpng-pkg-config.patch,
  -files/gd-2.0.35-libpng14.patch, -files/gd-2.0.35-maxcolors.patch,
  -gd-2.0.35-r3.ebuild, -gd-2.0.35-r4.ebuild, -gd-2.1.1.ebuild:
  remove old for bug #538686

  Package-Manager: portage-2.2.27

  12 Mar 2016; Markus Meier <maekke@gentoo.org> gd-2.1.1-r1.ebuild:
  sparc stable, bug #538686

  Package-Manager: portage-2.2.27

*gd-2.2.0 (20 May 2016)

  20 May 2016; Mike Frysinger <vapier@gentoo.org> +gd-2.2.0.ebuild:
  version bump to 2.2.0

  20 May 2016; Lars Wendler <polynomial-c@gentoo.org> gd-2.2.0.ebuild:
  Fixed SRC_URI (bug #583548) and EAPI-6 bump.

  Package-Manager: portage-2.2.28
  Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>

*gd-2.2.1 (20 May 2016)

  20 May 2016; Mike Frysinger <vapier@gentoo.org> -gd-2.2.0.ebuild,
  +gd-2.2.1.ebuild:
  version bump to 2.2.1

*gd-2.2.2 (24 Jun 2016)

  24 Jun 2016; Mike Frysinger <vapier@gentoo.org> +gd-2.2.2.ebuild:
  version bump to 2.2.2

  24 Jun 2016; Mike Frysinger <vapier@gentoo.org>
  +files/gd-2.2.2-osx-libtool.patch, gd-2.2.2.ebuild:
  add upstream fix for building under OS X #583584

  30 Jun 2016; Tobias Klausmann <klausman@gentoo.org> gd-2.2.2.ebuild:
  2.2.2-r0: add alpha keyword

  Gentoo-Bug: 581942

  Package-Manager: portage-2.3.0

  01 Jul 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.2.2.ebuild:
  amd64 stable wrt bug #581942

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="amd64"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  01 Jul 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.2.2.ebuild:
  x86 stable wrt bug #581942

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="x86"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  02 Jul 2016; Jeroen Roovers <jer@gentoo.org> gd-2.2.2.ebuild:
  Stable for HPPA PPC64 (bug #581942).

  Package-Manager: portage-2.3.0
  RepoMan-Options: --ignore-arches

  05 Jul 2016; Markus Meier <maekke@gentoo.org> gd-2.2.2.ebuild:
  arm stable, bug #581942

  Package-Manager: portage-2.3.0
  RepoMan-Options: --include-arches="arm"

  08 Jul 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.2.2.ebuild:
  ppc stable wrt bug #581942

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="ppc"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  08 Jul 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.2.2.ebuild:
  sparc stable wrt bug #581942

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="sparc"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  08 Jul 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.2.2.ebuild:
  ia64 stable wrt bug #581942

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="ia64"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  22 Jul 2016; Mike Frysinger <vapier@gentoo.org> gd-2.2.2.ebuild:
  mark 2.2.2 arm64/m68k/s390/sh stable

  22 Jul 2016; Mike Frysinger <vapier@gentoo.org>
  -files/gd-2.1.1-headers.patch, -files/gd-2.1.1-webp-pre.patch,
  -files/gd-2.1.1-webp.patch, -gd-2.1.1-r1.ebuild, -gd-2.2.1.ebuild:
  drop old <2.2.2 versions

*gd-2.2.3 (22 Jul 2016)

  22 Jul 2016; Mike Frysinger <vapier@gentoo.org> +gd-2.2.3.ebuild:
  version bump to 2.2.3

  02 Sep 2016; Tobias Klausmann <klausman@gentoo.org> gd-2.2.3.ebuild:
  2.2.3-r0: add alpha keyword

  Gentoo-Bug: 587662

  03 Sep 2016; Jeroen Roovers <jer@gentoo.org> gd-2.2.3.ebuild:
  Stable for HPPA PPC64 (bug #587662).

  Package-Manager: portage-2.3.0
  RepoMan-Options: --ignore-arches

  10 Sep 2016; Agostino Sarubbo <ago@gentoo.org> gd-2.2.3.ebuild:
  amd64 stable wrt bug #587662

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="amd64"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

  24 Sep 2016; Markus Meier <maekke@gentoo.org> gd-2.2.3.ebuild:
  arm stable, bug #587662

  Package-Manager: portage-2.3.0
  RepoMan-Options: --include-arches="arm"

