# ChangeLog for kde-frameworks/kfilemetadata
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)

*kfilemetadata-5.13.0 (12 Aug 2015)

  12 Aug 2015; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.13.0.ebuild, +metadata.xml:
  kde-frameworks: add 5.13.0

  Package-Manager: portage-2.2.20.1

  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

*kfilemetadata-5.14.0 (12 Sep 2015)

  12 Sep 2015; Manuel Rüger <mrueg@gentoo.org> +kfilemetadata-5.14.0.ebuild:
  kde-frameworks: Version bump

  Package-Manager: portage-2.2.20.1

  27 Sep 2015; Manuel Rüger <mrueg@gentoo.org> -kfilemetadata-5.13.0.ebuild:
  kde-frameworks: Remove KDE Frameworks 5.13.0

  Package-Manager: portage-2.2.22

*kfilemetadata-5.15.0 (11 Oct 2015)

  11 Oct 2015; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.15.0.ebuild:
  kde-frameworks: version bump 5.15.0

  Package-Manager: portage-2.2.20.1

*kfilemetadata-5.16.0 (13 Nov 2015)

  13 Nov 2015; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.16.0.ebuild:
  kde-frameworks: version bump 5.16.0

  Package-Manager: portage-2.2.24

  16 Nov 2015; Michael Palimaka <kensington@gentoo.org>
  -kfilemetadata-5.14.0.ebuild:
  kde-frameworks: remove 5.14.0

  Package-Manager: portage-2.2.24

*kfilemetadata-5.17.0 (14 Dec 2015)

  14 Dec 2015; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.17.0.ebuild:
  kde-frameworks: version bump 5.17.0

  Package-Manager: portage-2.2.26

  06 Jan 2016; Michael Palimaka <kensington@gentoo.org>
  -kfilemetadata-5.15.0.ebuild:
  kde-frameworks: remove 5.15.0

  Package-Manager: portage-2.2.26

  08 Jan 2016; Alexey Shvetsov <alexxy@gentoo.org>
  kfilemetadata-5.17.0.ebuild:
  kde-frameworks: Add ~arm keywords

  Package-Manager: portage-2.2.26

*kfilemetadata-5.18.0 (12 Jan 2016)

  12 Jan 2016; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.18.0.ebuild:
  kde-frameworks: version bump 5.18.0

  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)

  09 Feb 2016; Michael Palimaka <kensington@gentoo.org>
  -kfilemetadata-5.16.0.ebuild:
  kde-frameworks: Drop Frameworks 5.16.0

  Package-Manager: portage-2.2.27

*kfilemetadata-5.19.0 (14 Feb 2016)

  14 Feb 2016; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.19.0.ebuild:
  kde-frameworks: version bump 5.19.0

  Package-Manager: portage-2.2.27

  08 Mar 2016; Johannes Huber <johu@gentoo.org> -kfilemetadata-5.17.0.ebuild:
  kde-frameworks: Remove KDE Frameworks 5.17.0

  Package-Manager: portage-2.2.27

*kfilemetadata-5.20.0 (20 Mar 2016)

  20 Mar 2016; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.20.0.ebuild:
  kde-frameworks: version bump 5.20

  Package-Manager: portage-2.2.28

  27 Mar 2016; Johannes Huber <johu@gentoo.org> kfilemetadata-5.18.0.ebuild:
  KDE Frameworks 5.18.0 stable amd64

  Gentoo-bug: 558460
  Acked-by: Agostino Sarubbo <ago@gentoo.org>

  Package-Manager: portage-2.2.28

  04 Apr 2016; Johannes Huber <johu@gentoo.org> -kfilemetadata-5.19.0.ebuild:
  kde-frameworks: Remove KDE Frameworks 5.19.0

  Package-Manager: portage-2.2.28

*kfilemetadata-5.21.0 (10 Apr 2016)

  10 Apr 2016; Johannes Huber <johu@gentoo.org> +kfilemetadata-5.21.0.ebuild:
  kde-frameworks: Version bump KDE Frameworks 5.21.0

  Package-Manager: portage-2.2.28

  15 Apr 2016; Johannes Huber <johu@gentoo.org> -kfilemetadata-5.20.0.ebuild:
  kde-frameworks: Remove KDE Frameworks 5.20.0

  Package-Manager: portage-2.2.28

*kfilemetadata-5.22.0 (15 May 2016)

  15 May 2016; Johannes Huber <johu@gentoo.org> +kfilemetadata-5.22.0.ebuild:
  kde-frameworks: Version bump KDE Frameworks 5.22.0

  Package-Manager: portage-2.2.28

  19 May 2016; Mikle Kolyada <zlogene@gentoo.org> kfilemetadata-5.21.0.ebuild:
  kde-frameworks: amd64 stable wrt bug #580248 (5.21 series)

  Package-Manager: portage-2.2.28

  19 May 2016; Johannes Huber <johu@gentoo.org> -kfilemetadata-5.18.0.ebuild:
  kde-frameworks: Remove KDE Frameworks 5.18.0

  Package-Manager: portage-2.3.0_rc1

  01 Jun 2016; Michael Palimaka <kensington@gentoo.org>
  kfilemetadata-5.21.0.ebuild:
  kde-frameworks: stabilise 5.21.0 on x86

  Package-Manager: portage-2.3.0_rc1

*kfilemetadata-5.23.0 (16 Jun 2016)

  16 Jun 2016; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.23.0.ebuild:
  kde-frameworks: version bump 5.23.0

  Package-Manager: portage-2.3.0_rc1

  21 Jun 2016; Johannes Huber <johu@gentoo.org> -kfilemetadata-5.22.0.ebuild:
  kde-frameworks: Remove KDE Frameworks 5.22.0

  Package-Manager: portage-2.3.0_rc1

*kfilemetadata-5.24.0 (09 Jul 2016)

  09 Jul 2016; Johannes Huber <johu@gentoo.org> +kfilemetadata-5.24.0.ebuild:
  kde-frameworks: Version bump KDE Frameworks 5.24.0

  Package-Manager: portage-2.3.0

  25 Jul 2016; Michael Palimaka <kensington@gentoo.org>
  kfilemetadata-5.23.0.ebuild:
  kde-frameworks: stabilise 5.23.0 for amd64/x86

  Gentoo-bug: 586112

  Package-Manager: portage-2.3.0

  25 Jul 2016; Johannes Huber <johu@gentoo.org> -kfilemetadata-5.21.0.ebuild:
  kde-frameworks: Remove KDE Frameworks 5.21

  Package-Manager: portage-2.3.0

*kfilemetadata-5.25.0 (13 Aug 2016)

  13 Aug 2016; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.25.0.ebuild:
  kde-frameworks: version bump 5.25.0

  Package-Manager: portage-2.3.0

  21 Aug 2016; Michael Palimaka <kensington@gentoo.org>
  -kfilemetadata-5.24.0.ebuild:
  kde-frameworks: remove 5.24.0

  Package-Manager: portage-2.3.0

*kfilemetadata-5.26.0-r1 (14 Sep 2016)

  14 Sep 2016; Michael Palimaka <kensington@gentoo.org>
  +files/kfilemetadata-5.26.0-epubextractor-segfault.patch,
  +files/kfilemetadata-5.26.0-odfextractor-segfault.patch,
  +kfilemetadata-5.26.0-r1.ebuild:
  kde-frameworks: version bump 5.26.0

  Package-Manager: portage-2.3.0

  28 Sep 2016; Michael Palimaka <kensington@gentoo.org>
  -kfilemetadata-5.25.0.ebuild:
  kde-frameworks: remove 5.25.0

  Package-Manager: portage-2.3.1

  07 Oct 2016; Michael Palimaka <kensington@gentoo.org>
  kfilemetadata-5.26.0-r1.ebuild:
  kde-frameworks: stabilise 5.26.0 for amd64/x86

  Gentoo-bug: 596282

  Package-Manager: portage-2.3.1

*kfilemetadata-5.27.0 (08 Oct 2016)

  08 Oct 2016; Michael Palimaka <kensington@gentoo.org>
  +kfilemetadata-5.27.0.ebuild:
  kde-frameworks: version bump 5.27.0

  Package-Manager: portage-2.3.1

  12 Oct 2016; Michael Palimaka <kensington@gentoo.org>
  -kfilemetadata-5.23.0.ebuild:
  kde-frameworks: remove 5.23.0

  Package-Manager: portage-2.3.2

