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

*libinput-0.21.0 (09 Aug 2015)
*libinput-0.20.0 (09 Aug 2015)
*libinput-0.19.0 (09 Aug 2015)
*libinput-0.18.0 (09 Aug 2015)
*libinput-0.13.0-r1 (09 Aug 2015)
*libinput-0.9.0 (09 Aug 2015)
*libinput-0.7.0 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
  +files/libinput-0.18.0-includes.patch, +libinput-0.7.0.ebuild,
  +libinput-0.9.0.ebuild, +libinput-0.13.0-r1.ebuild, +libinput-0.18.0.ebuild,
  +libinput-0.19.0.ebuild, +libinput-0.20.0.ebuild, +libinput-0.21.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; 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

*libinput-1.0.0 (26 Aug 2015)

  26 Aug 2015; Manuel Rüger <mrueg@gentoo.org> +libinput-1.0.0.ebuild:
  Version bump

  Package-Manager: portage-2.2.20.1

*libinput-1.0.1 (05 Sep 2015)

  05 Sep 2015; Pacho Ramos <pacho@gentoo.org> +libinput-1.0.1.ebuild:
  Version bump

  Package-Manager: portage-2.2.20.1

  05 Sep 2015; Pacho Ramos <pacho@gentoo.org>
  -files/libinput-0.18.0-includes.patch, -libinput-0.7.0.ebuild,
  -libinput-0.13.0-r1.ebuild, -libinput-0.18.0.ebuild,
  -libinput-0.19.0.ebuild, -libinput-0.20.0.ebuild, -libinput-0.21.0.ebuild:
  Drop old

  Package-Manager: portage-2.2.20.1

*libinput-0.7.0 (06 Sep 2015)

  06 Sep 2015; Pacho Ramos <pacho@gentoo.org> +libinput-0.7.0.ebuild:
  Readd old version still needed by older clutter version

  Package-Manager: portage-2.2.20.1
  RepoMan-Options: --force

  07 Sep 2015; Mikle Kolyada <zlogene@gentoo.org> libinput-1.0.1.ebuild:
  amd64 stable wrt bug #551826

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

  12 Sep 2015; Agostino Sarubbo <ago@gentoo.org> libinput-1.0.1.ebuild:
  x86 stable wrt bug #551826

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

  16 Sep 2015; Tobias Klausmann <klausman@gentoo.org> libinput-1.0.1.ebuild:
  add alpha keyword

  Gentoo-Bug: 551826

  Package-Manager: portage-2.2.20.1

  20 Sep 2015; Jeroen Roovers <jer@gentoo.org> libinput-1.0.1.ebuild:
  Stable for HPPA (bug #551826).

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

  28 Sep 2015; Jeroen Roovers <jer@gentoo.org> libinput-1.0.1.ebuild:
  Stable for PPC64 (bug #551826).

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

  03 Oct 2015; Markus Meier <maekke@gentoo.org> libinput-1.0.1.ebuild:
  arm stable, bug #551826

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

*libinput-1.1.0 (26 Oct 2015)

  26 Oct 2015; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  +libinput-1.1.0.ebuild:
  Version bump

  Package-Manager: portage-2.2.20.1

*libinput-1.1.1 (17 Nov 2015)

  17 Nov 2015; Pacho Ramos <pacho@gentoo.org> +libinput-1.1.1.ebuild:
  Version bump

  Package-Manager: portage-2.2.24

  17 Nov 2015; Pacho Ramos <pacho@gentoo.org> -libinput-0.7.0.ebuild,
  -libinput-1.0.0.ebuild:
  Drop old

  Package-Manager: portage-2.2.24

  30 Nov 2015; Agostino Sarubbo <ago@gentoo.org> libinput-1.1.0.ebuild:
  amd64 stable wrt bug #559062

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

  01 Dec 2015; Agostino Sarubbo <ago@gentoo.org> libinput-1.1.0.ebuild:
  x86 stable wrt bug #559062

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

  02 Dec 2015; Agostino Sarubbo <ago@gentoo.org> libinput-1.1.0.ebuild:
  ppc stable wrt bug #559062

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

*libinput-1.1.2 (13 Dec 2015)

  13 Dec 2015; Manuel Rüger <mrueg@gentoo.org> +libinput-1.1.2.ebuild:
  Version bump to 1.1.2

  Package-Manager: portage-2.2.26

  19 Dec 2015; Markus Meier <maekke@gentoo.org> libinput-1.1.0.ebuild:
  arm stable, bug #559062

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

*libinput-1.1.3 (22 Dec 2015)

  22 Dec 2015; Manuel Rüger <mrueg@gentoo.org> +libinput-1.1.3.ebuild:
  Version bump

  Package-Manager: portage-2.2.26

*libinput-1.1.4 (24 Dec 2015)

  24 Dec 2015; Manuel Rüger <mrueg@gentoo.org> +libinput-1.1.4.ebuild:
  Version bump

  Package-Manager: portage-2.2.26

  24 Dec 2015; Manuel Rüger <mrueg@gentoo.org> -libinput-1.1.1.ebuild,
  -libinput-1.1.2.ebuild:
  Remove old

  Package-Manager: portage-2.2.26

  24 Dec 2015; Mike Frysinger <vapier@gentoo.org> libinput-1.1.0.ebuild:
  mark 1.1.0 alpha/hppa/ia64 stable

  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)

*libinput-1.1.5 (26 Jan 2016)

  26 Jan 2016; Manuel Rüger <mrueg@gentoo.org> +libinput-1.1.5.ebuild:
  Version bump

  Package-Manager: portage-2.2.27

  21 Feb 2016; Pacho Ramos <pacho@gentoo.org> libinput-1.1.5.ebuild:
  amd64 stable, bug 566378

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

  23 Feb 2016; Manuel Rüger <mrueg@gentoo.org> -libinput-1.1.3.ebuild,
  -libinput-1.1.4.ebuild:
  Remove old

  Package-Manager: portage-2.2.27

*libinput-1.2.0 (23 Feb 2016)

  23 Feb 2016; Manuel Rüger <mrueg@gentoo.org> +libinput-1.2.0.ebuild:
  Version bump

  Package-Manager: portage-2.2.27

  03 Mar 2016; Ole Reifschneider <tranquility@gentoo.org>
  libinput-1.2.0.ebuild:
  Fix typo in libwacom dependency

  Package-Manager: portage-2.2.27

*libinput-1.2.1 (05 Mar 2016)

  05 Mar 2016; Manuel Rüger <mrueg@gentoo.org> +libinput-1.2.1.ebuild:
  Version bump

  Package-Manager: portage-2.2.27

  06 Mar 2016; Mikle Kolyada <zlogene@gentoo.org> libinput-1.1.5.ebuild:
  x86 stable wrt bug #427546

  Package-Manager: portage-2.2.26

*libinput-1.2.2 (19 Mar 2016)

  19 Mar 2016; Manuel Rüger <mrueg@gentoo.org> +libinput-1.2.2.ebuild:
  Version bump to 1.2.2

  Package-Manager: portage-2.2.28

  07 Apr 2016; Jeroen Roovers <jer@gentoo.org> libinput-1.1.5.ebuild:
  Stable for HPPA PPC64 (bug #566378).

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

*libinput-1.2.3 (19 Apr 2016)

  19 Apr 2016; Manuel Rüger <mrueg@gentoo.org> +libinput-1.2.3.ebuild:
  Version bump to 1.2.3

  Package-Manager: portage-2.2.28

  19 Apr 2016; Manuel Rüger <mrueg@gentoo.org> -libinput-1.0.1.ebuild,
  -libinput-1.2.0.ebuild, -libinput-1.2.1.ebuild:
  Remove old

  Package-Manager: portage-2.2.28

  20 Apr 2016; Anthony Ryan <anthonyryan1@gmail.com> libinput-0.9.0.ebuild,
  libinput-1.1.0.ebuild, libinput-1.1.5.ebuild, libinput-1.2.2.ebuild,
  libinput-1.2.3.ebuild:
  HTTPS for *.freedesktop.org

  * Excluding xorg.freedesktop.org
  * Excluding tango.freedesktop.org

  The following modified ebuilds were found to have problems after
  modification
  but the problems were determined to not be a regression.

  Upstream tarball has a new hash:
  * app-misc/evtest-1.29
  * app-misc/evtest-1.30
  * dev-embedded/scratchbox2-2.0-r1
  * dev-ml/cairo-ocaml-1.2.0
  * net-libs/libqmi-1.0.0
  * sys-auth/libfprint-0.4.0
  * sys-auth/libfprint-0.5.0
  * sys-auth/libfprint-0.5.1

  Upstream tarball has been deleted:
  * dev-libs/liblazy-0.2
  * dev-util/pkgconfig-openbsd-20130507-r1
  * x11-libs/xvba-video-0.8.0-r3
  * x11-misc/driconf-0.9.1-r1
  * x11-misc/xdg-utils-1.1.0_rc2-r1

  03 May 2016; Markus Meier <maekke@gentoo.org> libinput-1.1.5.ebuild:
  arm stable, bug #566378

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

*libinput-1.3.0 (13 May 2016)

  13 May 2016; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  +libinput-1.3.0.ebuild:
  Version bump

  Package-Manager: portage-2.2.28

*libinput-1.3.1 (04 Jun 2016)

  04 Jun 2016; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  +libinput-1.3.1.ebuild:
  Version bump

  Package-Manager: portage-2.2.28

  07 Jun 2016; Tobias Klausmann <klausman@gentoo.org> libinput-1.3.0.ebuild:
  1.3.0-r0: add alpha keyword

  Gentoo-Bug: 584468

  Package-Manager: portage-2.3.0_rc1

  08 Jun 2016; Markus Meier <maekke@gentoo.org> libinput-1.3.0.ebuild:
  arm stable, bug #584468

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

  11 Jun 2016; Pacho Ramos <pacho@gentoo.org> libinput-1.3.0.ebuild:
  amd64 stable, bug 584468

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

  11 Jun 2016; Pacho Ramos <pacho@gentoo.org> libinput-1.3.0.ebuild:
  x86 stable, bug 584468

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

*libinput-1.3.3 (29 Jun 2016)

  29 Jun 2016; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  +libinput-1.3.3.ebuild:
  bump to 1.3.3

  Package-Manager: portage-2.2.28

  29 Jun 2016; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  -libinput-0.9.0.ebuild, -libinput-1.2.2.ebuild, -libinput-1.2.3.ebuild:
  remove old

  Package-Manager: portage-2.2.28

  09 Jul 2016; Pacho Ramos <pacho@gentoo.org> libinput-1.3.0.ebuild:
  ppc stable, bug 584468

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

*libinput-1.4.0 (24 Jul 2016)

  24 Jul 2016; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  +libinput-1.4.0.ebuild:
  bump to 1.4.0

  Package-Manager: portage-2.2.28

  30 Jul 2016; Jeroen Roovers <jer@gentoo.org> libinput-1.3.0.ebuild:
  Stable for HPPA PPC64 (bug #584468).

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

  03 Aug 2016; Jeroen Roovers <jer@gentoo.org> libinput-1.3.3.ebuild:
  Stable for HPPA (bug #579266).

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

  05 Aug 2016; Markus Meier <maekke@gentoo.org> libinput-1.3.3.ebuild:
  arm stable, bug #579266

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

*libinput-1.4.2 (31 Aug 2016)

  31 Aug 2016; Manuel Rüger <mrueg@gentoo.org> +libinput-1.4.2.ebuild:
  Version bump to 1.4.2

  Package-Manager: portage-2.3.0

  17 Sep 2016; Pacho Ramos <pacho@gentoo.org> libinput-1.3.3.ebuild:
  x86 stable, bug 579266

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

  17 Sep 2016; Pacho Ramos <pacho@gentoo.org> libinput-1.3.3.ebuild:
  amd64 stable, bug 579266

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

*libinput-1.5.0 (19 Sep 2016)

  19 Sep 2016; Manuel Rüger <mrueg@gentoo.org> +libinput-1.5.0.ebuild:
  Version bump to 1.5.0

  Package-Manager: portage-2.3.0

  22 Sep 2016; Tobias Klausmann <klausman@gentoo.org> libinput-1.3.3.ebuild:
  1.3.3-r0: add alpha keyword

  Gentoo-Bug: 579266

  23 Sep 2016; Tobias Klausmann <klausman@gentoo.org> libinput-1.4.2.ebuild:
  1.4.2-r0: add alpha keyword

  Gentoo-Bug: 587010

