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

*doc8-0.6.0 (15 Oct 2015)

  15 Oct 2015; Matthew Thode <prometheanfire@gentoo.org> +doc8-0.6.0.ebuild,
  +metadata.xml:
  adding for openstack liberty

  Package-Manager: portage-2.2.20.1

  16 Oct 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Update remote-ids

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

  16 Nov 2015; Agostino Sarubbo <ago@gentoo.org> doc8-0.6.0.ebuild:
  amd64 stable wrt bug #565742

  Package-Manager: portage-2.2.20.1
  RepoMan-Options: --include-arches="amd64"

  16 Nov 2015; Agostino Sarubbo <ago@gentoo.org> doc8-0.6.0.ebuild:
  x86 stable wrt bug #565742

  Package-Manager: portage-2.2.20.1
  RepoMan-Options: --include-arches="x86"

  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:
  Set appropriate maintainer types in metadata.xml (GLEP 67)

  25 Mar 2016; Matthew Thode <prometheanfire@gentoo.org> doc8-0.6.0.ebuild:
  more pythons

  Package-Manager: portage-2.2.26

