# ChangeLog for dev-ruby/eventmachine
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/eventmachine/ChangeLog,v 1.9 2009/12/27 19:49:50 a3li Exp $

*eventmachine-0.12.10-r1 (27 Dec 2009)

  27 Dec 2009; Alex Legler <a3li@gentoo.org>
  +eventmachine-0.12.10-r1.ebuild:
  Revision bump, migration to -fakegem, license update, description update

  09 Dec 2009; Hans de Graaff <graaff@gentoo.org>
  -eventmachine-0.12.8.ebuild:
  Remove old version.

*eventmachine-0.12.10 (19 Nov 2009)

  19 Nov 2009; Hans de Graaff <graaff@gentoo.org>
  +eventmachine-0.12.10.ebuild:
  Version bump.

  22 Aug 2009; Hans de Graaff <graaff@gentoo.org>
  -eventmachine-0.12.6.ebuild:
  Remove old version.

*eventmachine-0.12.8 (10 Jun 2009)

  10 Jun 2009; Hans de Graaff <graaff@gentoo.org>
  +eventmachine-0.12.8.ebuild:
  Version bump.

  14 Apr 2009; Hans de Graaff <graaff@gentoo.org>
  -eventmachine-0.12.0.ebuild, -eventmachine-0.12.2.ebuild:
  Remove old versions.

*eventmachine-0.12.6 (13 Mar 2009)

  13 Mar 2009; Hans de Graaff <graaff@gentoo.org>
  +eventmachine-0.12.6.ebuild:
  Version bump

*eventmachine-0.12.2 (30 Nov 2008)

  30 Nov 2008; Hans de Graaff <graaff@gentoo.org>
  +eventmachine-0.12.2.ebuild:
  Version bump. Thanks to Jochen Schalanda and Sergio D. Rodríguez Inclan for
  providing initial versions and feedback in bug 198501.

*eventmachine-0.12.0 (16 Jun 2008)

  16 Jun 2008; Robin H. Johnson <robbat2@gentoo.org> +metadata.xml,
  +eventmachine-0.12.0.ebuild:
  Initial commit. Ebuild by Robin H. Johnson <robbat2@gentoo.org>.
  Dependancy of www-servers/thin.

