thrift (0.18.1) stable; urgency=low

  * update to 0.18.1

 -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 15 Feb 2023 22:15:00 +0100

thrift (0.18.0) stable; urgency=low

  * update to 0.18.0

 -- Apache Thrift Developers <dev@thrift.apache.org>  Mon, 06 Feb 2023 23:30:00 +0100

thrift (0.17.0) stable; urgency=low

  * update to 0.17.0

 -- Apache Thrift Developers <dev@thrift.apache.org>  Tue, 30 Aug 2022 23:00:00 +0200

thrift (0.16.0) stable; urgency=low

  * update to 0.16.0

 -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 20 Jan 2022 21:00:00 +0100

thrift (0.15.0) stable; urgency=low

  * update to 0.15.0

 -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 03 Aug 2021 23:00:00 +0100

thrift (0.14.2) stable; urgency=low

  * update to 0.14.2

 -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 11 Jun 2021 01:00:00 +0100

thrift (0.14.1) stable; urgency=low

  * update to 0.14.1

 -- Apache Thrift Developers <dev@thrift.apache.org>  Tue, 02 Mar 2021 21:00:00 +0100

thrift (0.14.0) stable; urgency=low

  * update to 0.14.0

 -- Apache Thrift Developers <dev@thrift.apache.org>  Thu, 04 Feb 2021 17:00:00 -0500

thrift (0.13.0) stable; urgency=low

  * update to 0.13.0

 -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 11 Nov 2019 12:00:00 -0500

thrift (0.12.0) stable; urgency=low

  * update to 0.12.0

 -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 28 Dec 2018 12:00:00 -0500

thrift (0.11.0) stable; urgency=low

  * update to 0.11.0

 -- Jake Farrell <jfarrell@apache.org>  Wed, 07 Dec 2017 20:07:00 -0500

thrift (0.10.0) stable; urgency=low

  * update to 0.10.0

 -- Jake Farrell <jfarrell@apache.org>  Wed, 03 Jan 2017 16:52:00 -0500

thrift (0.9.3) stable; urgency=low

  * update to 0.9.3

 -- Jake Farrell <jfarrell@apache.org>  Wed, 11 Oct 2015 17:22:00 -0500

thrift (0.9.0) stable; urgency=low

  * update to 0.9.0

 -- Jake Farrell <jfarrell@apache.org>  Wed, 10 Oct 2012 12:00:00 -0500

thrift (0.7.0) stable; urgency=low

  * update to 0.7.0

 -- Jake Farrell <jfarrell@apache.org>  Tue, 10 Aug 2011 17:01:53 -0500

thrift (0.7.0-dev1) stable; urgency=low
  * added glib
  * fix location of libthrift.jar

 -- Roger Meier <roger@apache.org>  Tue, 12 Apr 2011 21:41:18 +0200

thrift (0.6.0-dev1) stable; urgency=low

  * update version field
  * added debian folder to thrift/contrib
  * changed a few details in control file
  * update copyright file

 -- Roger Meier <roger@apache.org>  Tue, 14 Dec 2010 12:12:33 -0800

thrift (0.5.0+nmu2) stable; urgency=low

  * Non-maintainer upload.
  * Merged THRIFT-71_v9.patch to skip ./bootstrap.sh if not exists.
    https://issues.apache.org/jira/secure/attachment/12465360/THRIFT-71_v9.patch

 -- Yamashita Yuu <yamashita@geishatokyo.com>  Tue, 07 Dec 2010 15:00:55 +0900

thrift (0.5.0+nmu1) stable; urgency=low

  * Non-maintainer upload.
  * Imported package information for php5-thrift from https://github.com/simplegeo/thrift.

 -- Yamashita Yuu <yamashita@geishatokyo.com>  Tue, 07 Dec 2010 01:00:17 +0900

thrift (0.5.0) stable; urgency=low

  * update to 0.5.0

 -- Roger Meier <roger@apache.org>  Fri, 08 Oct 2010 11:23:53 +0200

thrift (0.4.0) stable; urgency=low

  * update to 0.4.0

 -- Roger Meier <roger@bufferoverflow.ch>  Sun, 22 Aug 2010 21:26:00 +0100

thrift (0.2008.12.30~8.04) hardy; urgency=low

  * Initial release.

 -- Esteve Fernandez <esteve@fluidinfo.com>  Thu, 15 Jan 2009 11:34:24 +0100
