# ChangeLog for app-vim/easytags
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-vim/easytags/ChangeLog,v 1.27 2015/06/19 06:21:32 radhermit Exp $

*easytags-3.10.1 (19 Jun 2015)

  19 Jun 2015; Tim Harder <radhermit@gentoo.org> +easytags-3.10.1.ebuild:
  Version bump.

  19 Jun 2015; Tim Harder <radhermit@gentoo.org> -easytags-3.4.3.ebuild,
  -easytags-3.8.2.ebuild, -easytags-3.8.3.ebuild:
  Remove old.

  19 Jun 2015; Tim Harder <radhermit@gentoo.org> easytags-3.9.1.ebuild:
  Stabilize for amd64/x86.

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

  08 Apr 2015; Michał Górny <mgorny@gentoo.org> easytags-3.4.3.ebuild:
  Remove old Python implementations

*easytags-3.9.1 (25 Nov 2014)

  25 Nov 2014; Tim Harder <radhermit@gentoo.org> +easytags-3.9.1.ebuild:
  Version bump.

  06 Nov 2014; Tim Harder <radhermit@gentoo.org> -easytags-3.4.4.ebuild,
  -easytags-3.7.ebuild:
  Remove old.

*easytags-3.8.3 (06 Nov 2014)

  06 Nov 2014; Tim Harder <radhermit@gentoo.org> +easytags-3.8.3.ebuild:
  Version bump.

*easytags-3.8.2 (25 Oct 2014)

  25 Oct 2014; Tim Harder <radhermit@gentoo.org> +easytags-3.8.2.ebuild:
  Version bump.

*easytags-3.7 (18 Oct 2014)

  18 Oct 2014; Tim Harder <radhermit@gentoo.org> +easytags-3.7.ebuild:
  Version bump.

  26 Jun 2014; Tim Harder <radhermit@gentoo.org> -easytags-2.7.2.ebuild,
  -easytags-2.8.1.ebuild:
  Remove old.

*easytags-3.4.4 (26 Jun 2014)

  26 Jun 2014; Tim Harder <radhermit@gentoo.org> +easytags-3.4.4.ebuild:
  Version bump.

  02 Mar 2014; Agostino Sarubbo <ago@gentoo.org> easytags-3.4.3.ebuild:
  Stable for x86, wrt bug #481866

  02 Mar 2014; Pacho Ramos <pacho@gentoo.org> easytags-3.4.3.ebuild:
  amd64 stable, bug #481866

*easytags-3.4.3 (01 Sep 2013)

  01 Sep 2013; Tim Harder <radhermit@gentoo.org> +easytags-3.4.3.ebuild:
  Version bump.

  03 Aug 2012; Tim Harder <radhermit@gentoo.org> -easytags-2.5.8.ebuild:
  Remove old.

*easytags-2.8.1 (03 Aug 2012)

  03 Aug 2012; Tim Harder <radhermit@gentoo.org> +easytags-2.8.1.ebuild:
  Version bump.

*easytags-2.7.2 (13 Nov 2011)

  13 Nov 2011; Tim Harder <radhermit@gentoo.org> -easytags-2.5.4.ebuild,
  -easytags-2.5.7.ebuild, +easytags-2.7.2.ebuild:
  Version bump and remove old.

*easytags-2.5.8 (19 Sep 2011)

  19 Sep 2011; Tim Harder <radhermit@gentoo.org> +easytags-2.5.8.ebuild:
  Version bump.

  14 Sep 2011; Tim Harder <radhermit@gentoo.org> -easytags-2.4.12.ebuild,
  -easytags-2.5.ebuild:
  Remove old.

*easytags-2.5.7 (14 Sep 2011)

  14 Sep 2011; Tim Harder <radhermit@gentoo.org> +easytags-2.5.7.ebuild:
  Version bump.

*easytags-2.5.4 (05 Sep 2011)

  05 Sep 2011; Tim Harder <radhermit@gentoo.org> +easytags-2.5.4.ebuild:
  Version bump.

*easytags-2.5 (02 Sep 2011)

  02 Sep 2011; Tim Harder <radhermit@gentoo.org> +easytags-2.5.ebuild:
  Version bump.

  31 Aug 2011; Tim Harder <radhermit@gentoo.org> -easytags-2.4.9.ebuild,
  -easytags-2.4.11.ebuild:
  Remove old.

*easytags-2.4.12 (31 Aug 2011)

  31 Aug 2011; Tim Harder <radhermit@gentoo.org> +easytags-2.4.12.ebuild:
  Version bump. Add dependency on external xolox-misc scripts.

*easytags-2.4.11 (12 Jul 2011)

  12 Jul 2011; Tim Harder <radhermit@gentoo.org> +easytags-2.4.11.ebuild:
  Version bump.

*easytags-2.4.9 (29 Jun 2011)

  29 Jun 2011; Tim Harder <radhermit@gentoo.org> +easytags-2.4.9.ebuild,
  +metadata.xml:
  Initial import.
