# ChangeLog for dev-perl/XML-LibXML
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)

*XML-LibXML-2.12.100 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
  +XML-LibXML-2.12.100.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

  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)

*XML-LibXML-2.12.400 (29 Apr 2016)

  29 Apr 2016; Andreas K. Hüttel <dilfridge@gentoo.org>
  +XML-LibXML-2.12.400.ebuild:
  Bump to version 2.12.400

  - EAPI6
  - Cleanup tests

  Upstream:
  - Improved memory tests
  - Undef warning removed.
  - XML::LibXML::Test->attributes() returns an empty list in list context

  Keywords:
  - Keywords dropped due to unsatisfied dependencies previously unnoticed:
    ~amd64-fbsd ~arm64 ~s390 ~sh

  Package-Manager: portage-2.2.28
  RepoMan-Options: --ignore-arches --include-arches="alpha amd64 amd64-fbsd
  arm arm64 hppa ia64 m68k mips nios2 ppc ppc64 riscv s390 sh sparc sparc-fbsd
  x86 x86-fbsd"

*XML-LibXML-2.12.600 (11 Jul 2016)

  11 Jul 2016; Kent Fredric <kentnl@gentoo.org> +XML-LibXML-2.12.600.ebuild:
  Bump to version 2.12.600

  Upstream:
  - Workaround broken XSD Schema support in libxml2 2.9.4

  See-Also: https://bugs.gentoo.org/show_bug.cgi?id=586886

  Package-Manager: portage-2.3.0
  RepoMan-Options: --ignore-arches --include-arches="alpha amd64 amd64-fbsd
  arm arm64 hppa ia64 m68k mips nios2 ppc ppc64 riscv s390 sh sparc sparc-fbsd
  x86 x86-fbsd"

  04 Aug 2016; Kent Fredric <kentnl@gentoo.org> XML-LibXML-2.12.100.ebuild:
  Remove POD Author Tests

  Serve no end-user relevant benefit, complicates dependencies and
  stabilization.

  This slightly unbreaks arm64, s390 and sh dependencies.

  Package-Manager: portage-2.3.0
  RepoMan-Options: --include-arches="alpha amd64 arm hppa ia64 m68k mips nios2
  ppc ppc64 riscv sparc sparc-fbsd x86 x86-fbsd"

