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

*icu-55.1 (09 Aug 2015)
*icu-54.1-r1 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
  +files/icu-54.1-CVE-2014-9654.patch,
  +files/icu-fix-tests-depending-on-date.patch,
  +files/icu-remove-bashisms.patch, +icu-54.1-r1.ebuild, +icu-55.1.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

  27 Sep 2015; Andreas K. Huettel (dilfridge) <dilfridge@gentoo.org>
  metadata.xml:
  Rename openoffice herd to office herd in metadata

  28 Sep 2015; Mike Gilbert <floppym@gentoo.org> icu-54.1-r1.ebuild,
  icu-55.1.ebuild:
  Depend on virtual/pkgconfig

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

  Package-Manager: portage-2.2.22_p3

  02 Nov 2015; Andreas K. Huettel (dilfridge) <dilfridge@gentoo.org>
  -files/icu-54.1-CVE-2014-9654.patch, -icu-54.1-r1.ebuild:
  Remove old

  Package-Manager: portage-2.2.23

*icu-56.1 (23 Jan 2016)

  23 Jan 2016; Andreas K. Hüttel <dilfridge@gentoo.org> +icu-56.1.ebuild:
  Version bump

  Package-Manager: portage-2.2.26

  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)

*icu-56.1-r1 (29 Feb 2016)

  29 Feb 2016; Andreas K. Hüttel <dilfridge@gentoo.org> +icu-56.1-r1.ebuild:
  Add experimental, untested revbump using C++11. No keywords. Bug 575198

  Package-Manager: portage-2.2.27

  29 Feb 2016; Andreas K. Hüttel <dilfridge@gentoo.org> icu-56.1-r1.ebuild:
  Restore keywords after build testing

  Package-Manager: portage-2.2.27

  03 Mar 2016; Andreas K. Hüttel <dilfridge@gentoo.org>
  +files/icu-flagparser.patch, icu-56.1-r1.ebuild:
  Backport fix for bug 573294

  Package-Manager: portage-2.2.27

*icu-57.1 (25 Mar 2016)

  25 Mar 2016; Andreas K. Hüttel <dilfridge@gentoo.org>
  +files/icu-57.1-remove-bashisms.patch,
  -files/icu-fix-tests-depending-on-date.patch, +icu-57.1.ebuild:
  Version bump

  Package-Manager: portage-2.2.28

  20 Apr 2016; Andreas K. Hüttel <dilfridge@gentoo.org> -icu-56.1.ebuild,
  -icu-56.1-r1.ebuild:
  Remove old

  Package-Manager: portage-2.2.28

  07 May 2016; Pacho Ramos <pacho@gentoo.org> icu-57.1.ebuild:
  amd64 stable, bug #580672

  Package-Manager: portage-2.2.28

  12 May 2016; Markus Meier <maekke@gentoo.org> icu-57.1.ebuild:
  arm stable, bug #580674

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

  25 May 2016; Matt Turner <mattst88@gentoo.org> icu-57.1.ebuild:
  alpha stable, bug 580674.

  18 Jul 2016; Jeroen Roovers <jer@gentoo.org> icu-57.1.ebuild:
  Stable for HPPA PPC64 (bug #580674).

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

  28 Jul 2016; Agostino Sarubbo <ago@gentoo.org> icu-57.1.ebuild:
  x86 stable wrt bug #589284

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

  10 Sep 2016; Michael Palimaka <kensington@gentoo.org>
  -files/icu-flagparser.patch:
  remove unused patch

