# ChangeLog for dev-python/runsnakerun
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/runsnakerun/ChangeLog,v 1.6 2015/06/03 21:41:18 jlec Exp $

  03 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Add pypi to remote-id in metadata.xml

  08 Apr 2015; Michał Górny <mgorny@gentoo.org> runsnakerun-2.0.4.ebuild:
  Drop old Python implementations

  26 Jan 2015; Manuel Rüger <mrueg@gentoo.org> -runsnakerun-2.0.1.ebuild:
  Remove old.

*runsnakerun-2.0.4 (05 Mar 2014)

  05 Mar 2014; Sven Wegener <swegener@gentoo.org> +runsnakerun-2.0.4.ebuild:
  Version bump, bug #483818.

  24 Feb 2013; Sven Wegener <swegener@gentoo.org> runsnakerun-2.0.1.ebuild:
  bump EAPI

*runsnakerun-2.0.1 (24 Feb 2013)

  24 Feb 2013; Sven Wegener <swegener@gentoo.org> +runsnakerun-2.0.1.ebuild,
  +metadata.xml:
  Initial commit, thanks to Martin Mokrejš, bug #408225.
