# ChangeLog for net-zope/i18ndude
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-zope/i18ndude/ChangeLog,v 1.3 2007/02/22 01:47:52 jokey Exp $

  22 Feb 2007; Markus Ullmann <jokey@gentoo.org> ChangeLog:
  Redigest for Manifest2

*i18ndude-2.0 (27 Dec 2005)

  27 Dec 2005; Radoslaw Stachowiak <radek@gentoo.org> +metadata.xml,
  +i18ndude-2.0.ebuild:
  initial release, closes #93073 thanks to Jordi Yeh

