# ChangeLog for dev-python/jellyfish
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/jellyfish/ChangeLog,v 1.1 2015/08/02 10:35:02 yngwin Exp $

*jellyfish-0.5.1 (02 Aug 2015)

  02 Aug 2015; Ben de Groot <yngwin@gentoo.org> +jellyfish-0.5.1.ebuild,
  +metadata.xml:
  Initial import from sdfg-overlay (bug #510988). New dependency for media-
  sound/beets.
