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

*hypothesis-1.9.0 (09 Aug 2015)
*hypothesis-1.7.1 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org> +hypothesis-1.7.1.ebuild,
  +hypothesis-1.9.0.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; Mikle Kolyada <zlogene@gentoo.org> hypothesis-1.7.1.ebuild,
  hypothesis-1.9.0.ebuild:
  Add ~ia64 keyword wrt bug #553414

  Package-Manager: portage-2.2.20.1

  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

  23 Oct 2015; Justin Lecher <jlec@gentoo.org> hypothesis-1.9.0.ebuild:
  Add python3.5 support

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  23 Oct 2015; Justin Lecher <jlec@gentoo.org> hypothesis-1.9.0.ebuild:
  Keyword under ALLARCHES policy

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  23 Oct 2015; Justin Lecher <jlec@gentoo.org> hypothesis-1.9.0.ebuild:
  Add pypy3 support

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*hypothesis-1.12.0 (26 Oct 2015)

  26 Oct 2015; Justin Lecher <jlec@gentoo.org> +hypothesis-1.12.0.ebuild:
  Version Bump

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  02 Nov 2015; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.12.0.ebuild:
  amd64 stable wrt bug #564588

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

  02 Nov 2015; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.12.0.ebuild:
  x86 stable wrt bug #564588

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

  03 Nov 2015; Justin Lecher <jlec@gentoo.org> -hypothesis-1.7.1.ebuild,
  -hypothesis-1.9.0.ebuild:
  Drop old

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*hypothesis-1.14.0 (03 Nov 2015)

  03 Nov 2015; Justin Lecher <jlec@gentoo.org> +hypothesis-1.14.0.ebuild:
  Version Bump

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  04 Nov 2015; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.12.0.ebuild:
  ppc stable wrt bug #564588

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

  04 Nov 2015; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.12.0.ebuild:
  ppc64 stable wrt bug #564588

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

  05 Nov 2015; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.12.0.ebuild:
  sparc stable wrt bug #564588

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

  11 Nov 2015; Justin Lecher <jlec@gentoo.org> hypothesis-1.12.0.ebuild,
  hypothesis-1.14.0.ebuild:
  Depend on threading support in python

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  16 Nov 2015; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.12.0.ebuild:
  ia64 stable wrt bug #564588

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

  19 Nov 2015; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.12.0.ebuild:
  alpha stable wrt bug #564588

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

  22 Nov 2015; Markus Meier <maekke@gentoo.org> hypothesis-1.12.0.ebuild:
  arm stable, bug #564588

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

  23 Nov 2015; Jeroen Roovers <jer@gentoo.org> hypothesis-1.12.0.ebuild:
  Stable for HPPA (bug #564588).

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

*hypothesis-1.15.0 (28 Nov 2015)

  28 Nov 2015; Justin Lecher <jlec@gentoo.org> +hypothesis-1.15.0.ebuild:
  Version Bump

  Package-Manager: portage-2.2.25
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*hypothesis-1.18.1 (07 Jan 2016)

  07 Jan 2016; Justin Lecher <jlec@gentoo.org> +hypothesis-1.18.1.ebuild:
  Version Bump

  Package-Manager: portage-2.2.26
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*hypothesis-1.19.0 (10 Jan 2016)

  10 Jan 2016; Justin Lecher <jlec@gentoo.org> +hypothesis-1.19.0.ebuild:
  Version Bump

  Package-Manager: portage-2.2.26
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  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)

  27 Jan 2016; Justin Lecher <jlec@gentoo.org> -hypothesis-1.14.0.ebuild,
  -hypothesis-1.15.0.ebuild, -hypothesis-1.18.1.ebuild:
  Clean old

  Package-Manager: portage-2.2.27
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*hypothesis-2.0.0 (27 Jan 2016)

  27 Jan 2016; Justin Lecher <jlec@gentoo.org> +hypothesis-2.0.0.ebuild:
  Version Bump

  Package-Manager: portage-2.2.27
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  01 Feb 2016; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.19.0.ebuild:
  amd64 stable wrt bug #573084

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

  04 Feb 2016; Tobias Klausmann <klausman@gentoo.org>
  hypothesis-1.19.0.ebuild:
  add alpha keyword

  Gentoo-Bug: 573084

  Package-Manager: portage-2.2.27

  10 Feb 2016; Markus Meier <maekke@gentoo.org> hypothesis-1.19.0.ebuild:
  arm stable, bug #573084

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

  14 Feb 2016; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.19.0.ebuild:
  x86 stable wrt bug #573084

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

  17 Feb 2016; Jeroen Roovers <jer@gentoo.org> hypothesis-1.19.0.ebuild:
  Stable for HPPA PPC64 (bug #573084).

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

*hypothesis-3.0.0 (18 Feb 2016)

  18 Feb 2016; Patrick Lauer <patrick@gentoo.org> +hypothesis-3.0.0.ebuild:
  Bump

  Package-Manager: portage-2.2.27

*hypothesis-3.1.0 (13 Mar 2016)

  13 Mar 2016; Patrick Lauer <patrick@gentoo.org> +hypothesis-3.1.0.ebuild:
  Bump

  Package-Manager: portage-2.2.28

  16 Mar 2016; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.19.0.ebuild:
  ppc stable wrt bug #573084

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

  19 Mar 2016; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.19.0.ebuild:
  sparc stable wrt bug #573084

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

  20 Mar 2016; Agostino Sarubbo <ago@gentoo.org> hypothesis-1.19.0.ebuild:
  ia64 stable wrt bug #573084

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

*hypothesis-3.4.0 (12 Jun 2016)

  12 Jun 2016; Patrick Lauer <patrick@gentoo.org> +hypothesis-3.4.0.ebuild:
  Bump

  Package-Manager: portage-2.3.0_rc1

*hypothesis-3.4.2 (18 Jul 2016)

  18 Jul 2016; Patrick Lauer <patrick@gentoo.org> +hypothesis-3.4.2.ebuild:
  Bump

  Package-Manager: portage-2.3.0

  14 Sep 2016; Tim Harder <radhermit@gentoo.org> -hypothesis-1.12.0.ebuild,
  -hypothesis-2.0.0.ebuild, -hypothesis-3.0.0.ebuild,
  -hypothesis-3.1.0.ebuild, -hypothesis-3.4.0.ebuild:
  remove old

