# ChangeLog for net-misc/rygel
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/rygel/ChangeLog,v 1.69 2015/07/04 12:24:15 pacho Exp $

  04 Jul 2015; Pacho Ramos <pacho@gentoo.org> -rygel-0.24.2.ebuild,
  rygel-0.26.1.ebuild:
  Needs to be rebuilt with libunistring subslot bumps, drop old

  26 Jun 2015; Agostino Sarubbo <ago@gentoo.org> rygel-0.24.4.ebuild:
  Stable for x86, wrt bug #551814

  21 Jun 2015; Mikle Kolyada <zlogene@gentoo.org> rygel-0.24.4.ebuild:
  amd64 stable wrt bug #551814

*rygel-0.26.1 (09 Jun 2015)

  09 Jun 2015; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.26.1.ebuild:
  Version bump for Gnome 3.16.

*rygel-0.24.4 (17 May 2015)

  17 May 2015; Pacho Ramos <pacho@gentoo.org> +rygel-0.24.4.ebuild,
  -rygel-0.22.3.ebuild, -rygel-0.24.3.ebuild:
  Version bump, drop old

*rygel-0.24.3 (01 May 2015)

  01 May 2015; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.24.3.ebuild:
  Version bump.

  15 Mar 2015; Pacho Ramos <pacho@gentoo.org> rygel-0.24.2.ebuild:
  x86 stable, bug 534012

  14 Mar 2015; Pacho Ramos <pacho@gentoo.org> rygel-0.24.2.ebuild:
  amd64 stable, bug 534012

  23 Dec 2014; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.22.2.ebuild,
  +rygel-0.24.2.ebuild:
  Version bump for Gnome 3.14. Clean up old revision.

*rygel-0.24.2 (23 Dec 2014)

  23 Dec 2014; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.22.2.ebuild,
  +rygel-0.24.2.ebuild:
  Version bump for Gnome 3.14. Clean up old revision.

  19 Dec 2014; Pacho Ramos <pacho@gentoo.org> rygel-0.22.3.ebuild:
  amd64 stable, bug 529964

  18 Dec 2014; Pacho Ramos <pacho@gentoo.org> rygel-0.22.3.ebuild:
  x86 stable, bug 529964

*rygel-0.22.3 (04 Sep 2014)

  04 Sep 2014; Pacho Ramos <pacho@gentoo.org> +rygel-0.22.3.ebuild,
  -rygel-0.22.1.ebuild:
  Version bump, drop old

  23 Jul 2014; Agostino Sarubbo <ago@gentoo.org> rygel-0.22.2.ebuild:
  Stable for x86, wrt bug #512012

  22 Jul 2014; Agostino Sarubbo <ago@gentoo.org> rygel-0.22.2.ebuild:
  Stable for amd64, wrt bug #512912

*rygel-0.22.2 (31 May 2014)

  31 May 2014; Pacho Ramos <pacho@gentoo.org> +rygel-0.22.2.ebuild,
  -rygel-0.20.3.ebuild:
  Version bump

  04 May 2014; Pacho Ramos <pacho@gentoo.org> rygel-0.22.1.ebuild:
  x86 stable, bug 508862

  04 May 2014; Pacho Ramos <pacho@gentoo.org> rygel-0.22.1.ebuild:
  amd64 stable, bug 508862

  27 Apr 2014; Pacho Ramos <pacho@gentoo.org> -rygel-0.22.0.ebuild:
  drop old

*rygel-0.22.1 (17 Apr 2014)

  17 Apr 2014; Pacho Ramos <pacho@gentoo.org> +rygel-0.22.1.ebuild:
  Version bump

*rygel-0.22.0 (06 Apr 2014)

  06 Apr 2014; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.18.4.ebuild,
  -rygel-0.20.0.ebuild, +rygel-0.22.0.ebuild:
  Version bump. Clean up old revisions.

  09 Mar 2014; Pacho Ramos <pacho@gentoo.org> rygel-0.20.3.ebuild:
  x86 stable, bug 499954

  09 Mar 2014; Pacho Ramos <pacho@gentoo.org> rygel-0.20.3.ebuild:
  amd64 stable, bug 499954

  22 Feb 2014; Pacho Ramos <pacho@gentoo.org> rygel-0.20.3.ebuild:
  Fix wrong commit, bug 502160

  22 Feb 2014; Pacho Ramos <pacho@gentoo.org> rygel-0.20.3.ebuild:
  arch stable, bug 888

*rygel-0.20.3 (06 Feb 2014)

  06 Feb 2014; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.20.3.ebuild:
  Version bump.

*rygel-0.20.0 (24 Dec 2013)

  24 Dec 2013; Pacho Ramos <pacho@gentoo.org> +rygel-0.20.0.ebuild,
  -rygel-0.14.3.ebuild, -rygel-0.16.4.ebuild, -rygel-0.18.3.ebuild:
  Version bump for Gnome 3.10

  08 Dec 2013; Pacho Ramos <pacho@gentoo.org> rygel-0.18.4.ebuild:
  x86 stable, bug #478252

  30 Nov 2013; Pacho Ramos <pacho@gentoo.org> rygel-0.18.4.ebuild:
  amd64 stable, bug #478252

  08 Sep 2013; Gilles Dartiguelongue <eva@gentoo.org> rygel-0.16.4.ebuild,
  rygel-0.18.3.ebuild, rygel-0.18.4.ebuild:
  Add gst-plugins-soup to dependencies per bug #482316, it was introduced in
  0.16 series.

*rygel-0.18.4 (11 Aug 2013)

  11 Aug 2013; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.18.2.ebuild,
  +rygel-0.18.4.ebuild:
  Version bump. Drop old revision.

*rygel-0.18.3 (24 Jul 2013)

  24 Jul 2013; Pacho Ramos <pacho@gentoo.org> +rygel-0.18.3.ebuild,
  -rygel-0.18.1.ebuild:
  Version bump, drop old

  14 May 2013; Gilles Dartiguelongue <eva@gentoo.org> rygel-0.18.1.ebuild,
  rygel-0.18.2.ebuild:
  Fix dependency of transcode USE flag.

*rygel-0.18.2 (13 May 2013)

  13 May 2013; Pacho Ramos <pacho@gentoo.org> +rygel-0.18.2.ebuild,
  -rygel-0.18.0.ebuild:
  Version bump, drop old

*rygel-0.18.1 (23 Apr 2013)

  23 Apr 2013; Pacho Ramos <pacho@gentoo.org> +rygel-0.18.1.ebuild:
  Version bump

  31 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> rygel-0.18.0.ebuild:
  QA fixes.

  30 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> rygel-0.14.3.ebuild,
  rygel-0.16.4.ebuild, rygel-0.18.0.ebuild:
  Set slot for gupnp-dlna.

  30 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.14.3-r1.ebuild,
  -rygel-0.16.3.ebuild:
  Clean up old revisions.

*rygel-0.18.0 (28 Mar 2013)

  28 Mar 2013; Pacho Ramos <pacho@gentoo.org> +rygel-0.18.0.ebuild:
  Version bump for Gnome 3.8

*rygel-0.16.4 (10 Jan 2013)

  10 Jan 2013; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.16.1.ebuild,
  +rygel-0.16.4.ebuild:
  Version bump.

*rygel-0.16.3 (18 Nov 2012)

  18 Nov 2012; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.16.3.ebuild:
  Version bump.

*rygel-0.16.1 (25 Oct 2012)

  25 Oct 2012; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.16.1.ebuild:
  Version bump.

  25 Oct 2012; Gilles Dartiguelongue <eva@gentoo.org> rygel-0.14.3.ebuild,
  rygel-0.14.3-r1.ebuild:
  Pin gstreamer dependencies to slot 0.10.

  04 Oct 2012; Agostino Sarubbo <ago@gentoo.org> rygel-0.14.3.ebuild:
  Stable for amd64, wrt bug #427544

  03 Oct 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> rygel-0.14.3.ebuild:
  x86 stable wrt bug #427544

*rygel-0.14.3-r1 (30 Sep 2012)

  30 Sep 2012; Pacho Ramos <pacho@gentoo.org> +rygel-0.14.3-r1.ebuild,
  -rygel-0.12.7.ebuild, -rygel-0.14.2.ebuild, rygel-0.14.3.ebuild:
  Disable tracker support for version to stabilize as it's not ready yet. Drop
  old.

*rygel-0.14.3 (24 Aug 2012)

  24 Aug 2012; Gilles Dartiguelongue <eva@gentoo.org -rygel-0.14.0.ebuild,
  +rygel-0.14.3.ebuild:
  Version bump. Drop old revision. Indexing speed up for MediaExport plugin.
  Translation updates.

*rygel-0.14.2 (22 Jul 2012)

  22 Jul 2012; Gilles Dartiguelongue <eva@gentoo.org +rygel-0.14.2.ebuild:
  Version bump. Use unistring for collation with media-export plugin.

  05 May 2012; Jeff Horelick <jdhore@gentoo.org> rygel-0.12.7.ebuild,
  rygel-0.14.0.ebuild:
  dev-util/pkgconfig -> virtual/pkgconfig

*rygel-0.14.0 (07 Apr 2012)

  07 Apr 2012; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.10.4.ebuild,
  -rygel-0.12.4.ebuild, -rygel-0.12.5.ebuild, +rygel-0.14.0.ebuild:
  Version bump. Remove old.

  25 Mar 2012; Pacho Ramos <pacho@gentoo.org> rygel-0.12.7.ebuild:
  Add missing RDEPEND on x11-misc/shared-mime-info, bug #409481 by Stefan
  Langenmaier.

*rygel-0.12.7 (12 Feb 2012)

  12 Feb 2012; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.12.7.ebuild:
  Version bump. Make sure autostart works, bug #402745, thanks to Mehmet.

*rygel-0.12.5 (08 Nov 2011)

  08 Nov 2011; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.12.0.ebuild,
  -rygel-0.12.1.ebuild, -rygel-0.12.3.ebuild, +rygel-0.12.5.ebuild:
  Version bump. Fix SSDP notifications on shutdown. Fix some crash. Clean up
  old revisions.

*rygel-0.12.4 (16 Oct 2011)

  16 Oct 2011; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.12.4.ebuild:
  Version bump.

*rygel-0.12.3 (02 Oct 2011)

  02 Oct 2011; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.12.3.ebuild:
  Version bump. Enable mediathek plugin, bug #384319.

*rygel-0.12.1 (15 Sep 2011)

  15 Sep 2011; Gilles Dartiguelongue <eva@gentoo.org> rygel-0.10.4.ebuild,
  rygel-0.12.0.ebuild, +rygel-0.12.1.ebuild:
  Version bump. Pin libgee dependency to slot 0, bug #382955.

*rygel-0.12.0 (08 Sep 2011)

  08 Sep 2011; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.12.0.ebuild:
  Version bump.

  08 Sep 2011; Gilles Dartiguelongue <eva@gentoo.org> rygel-0.10.4.ebuild:
  Add missing gssdp version restriction.

  14 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org> -rygel-0.8.3.ebuild,
  -rygel-0.10.2.ebuild, -rygel-0.10.3.ebuild:
  Remove old

  24 Jul 2011; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.10.4.ebuild:
  Version bump.

*rygel-0.10.3 (07 Jul 2011)

  07 Jul 2011; Pacho Ramos <pacho@gentoo.org> -rygel-0.10.1.ebuild,
  +rygel-0.10.3.ebuild:
  Version bump, remove old.

*rygel-0.10.2 (03 Jun 2011)

  03 Jun 2011; Pacho Ramos <pacho@gentoo.org> -rygel-0.9.6.ebuild,
  -rygel-0.9.9.ebuild, +rygel-0.10.2.ebuild:
  Version bump, remove old.

*rygel-0.10.1 (17 Apr 2011)

  17 Apr 2011; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.10.1.ebuild:
  Version bump.

*rygel-0.9.9 (22 Feb 2011)

  22 Feb 2011; Gilles Dartiguelongue <eva@gentoo.org> -rygel-0.8.2.ebuild,
  -rygel-0.9.1.ebuild, +rygel-0.9.9.ebuild:
  Version bump.

*rygel-0.9.6 (23 Jan 2011)

  23 Jan 2011; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.9.6.ebuild:
  Version bump. Port to gtk+:3.

  11 Jan 2011; Arun Raghavan <ford_prefect@gentoo.org> rygel-0.8.2.ebuild,
  rygel-0.8.3.ebuild, rygel-0.9.1.ebuild:
  Restrict gupnp-dlna dependency to <0.5 (since it breaks API).

*rygel-0.8.3 (20 Nov 2010)

  20 Nov 2010; Gilles Dartiguelongue <eva@gentoo.org> +rygel-0.8.3.ebuild:
  Version bump. Search and browse results alphabetically by default. Export
  media even if metadata extraction fails. Translation updates.

  26 Oct 2010; Gilles Dartiguelongue <eva@gentoo.org> rygel-0.8.2.ebuild,
  rygel-0.9.1.ebuild:
  Do not make tracker automagic.

*rygel-0.9.1 (26 Oct 2010)

  26 Oct 2010; Arun Raghavan <ford_prefect@gentoo.org> +rygel-0.9.1.ebuild:
  Add unstable Rygel release, 0.9.1 (masked).

*rygel-0.8.2 (26 Oct 2010)

  26 Oct 2010; Arun Raghavan <ford_prefect@gentoo.org> +rygel-0.8.2.ebuild,
  +metadata.xml:
  Add current stable Rygel release, 0.8.2. Almost identical to EvaSDK's
  original from his overlay.
