cassandra (3.11.7) unstable; urgency=medium

  * New release

 -- Mick Semb Wever <mck@apache.org>  Tue, 14 Jul 2020 22:58:55 +0200

cassandra (3.11.6) unstable; urgency=medium

  * New release

 -- Mick Semb Wever <mck@apache.org>  Mon, 10 Feb 2020 23:54:00 +0100

cassandra (3.11.5) unstable; urgency=medium

  * New release

 -- Michael Shuler <mshuler@apache.org>  Thu, 24 Oct 2019 08:59:29 -0500

cassandra (3.11.4) unstable; urgency=medium

  * New release

 -- Michael Shuler <mshuler@apache.org>  Fri, 01 Feb 2019 12:39:21 -0600

cassandra (3.11.3) unstable; urgency=medium

  * New release

 -- Michael Shuler <michael@pbandjelly.org>  Mon, 02 Jul 2018 13:36:16 -0500

cassandra (3.11.2) unstable; urgency=medium

  * New release

 -- Michael Shuler <michael@pbandjelly.org>  Tue, 10 Oct 2017 17:18:26 -0500

cassandra (3.11.1) unstable; urgency=medium

  * New release

 -- Michael Shuler <michael@pbandjelly.org>  Mon, 26 Jun 2017 18:51:37 -0500

cassandra (3.11.0) unstable; urgency=medium

  * New release

 -- Michael Shuler <michael@pbandjelly.org>  Mon, 19 Jun 2017 17:42:32 -0500

cassandra (3.10) unstable; urgency=medium

  * New release

 -- Michael Shuler <michael@pbandjelly.org>  Mon, 31 Oct 2016 08:54:45 -0500

cassandra (3.8) unstable; urgency=medium

  * New release

 -- Michael Shuler <mshuler@apache.org>  Mon, 26 Sep 2016 08:51:39 -0500

cassandra (3.6) unstable; urgency=medium

  * New release

 -- Jake Luciani <jake@apache.org>  Tue, 03 May 2016 09:12:18 -0400

cassandra (3.4) unstable; urgency=medium

  * New release

 -- Jake Luciani <jake@apache.org>  Mon, 29 Feb 2016 10:39:33 -0500

cassandra (3.2) unstable; urgency=medium

  * New release

 -- Jake Luciani <jake@apache.org>  Tue, 05 Jan 2016 10:24:04 -0500

cassandra (3.1) unstable; urgency=medium

  * New release

 -- Jake Luciani <jake@apache.org>  Fri, 04 Dec 2015 16:00:04 -0500

cassandra (3.0.0) unstable; urgency=medium

  * New release 

 -- Jake Luciani <jake@apache.org>  Fri, 06 Nov 2015 14:37:07 -0500

cassandra (3.0.0~rc2) unstable; urgency=medium

  * New release candidate 

 -- Jake Luciani <jake@apache.org>  Fri, 16 Oct 2015 16:02:24 -0400

cassandra (3.0.0~rc1) unstable; urgency=medium

  * New release candidate

 -- Jake Luciani <jake@apache.org>  Sat, 19 Sep 2015 16:01:59 -0400

cassandra (3.0.0~beta2) unstable; urgency=medium

  * New beta release

 -- Jake Luciani <jake@apache.org>  Fri, 04 Sep 2015 19:06:25 -0400

cassandra (3.0.0~beta1) unstable; urgency=medium

  * New beta release

 -- Jake Luciani <jake@apache.org>  Fri, 21 Aug 2015 22:33:04 -0400

cassandra (3.0.0~alpha1) unstable; urgency=medium

  * New alpha release

 -- Jake Luciani <jake@apache.org>  Thu, 30 Jul 2015 09:21:15 -0400

cassandra (2.2.0~rc1) unstable; urgency=medium

  * New RC release 

 -- Jake Luciani <jake@apache.org>  Fri, 05 Jun 2015 11:11:50 -0400

cassandra (2.2.0~beta1) unstable; urgency=medium

  * New Beta Release 

 -- Jake Luciani <jake@apache.org>  Sun, 17 May 2015 21:33:49 -0400

cassandra (2.1.4) unstable; urgency=medium

  * New release

 -- Jake Luciani <jake@apache.org>  Fri, 27 Mar 2015 13:48:25 -0400

cassandra (2.1.3) unstable; urgency=medium

  * New release 

 -- Jake Luciani <jake@apache.org>  Mon, 09 Feb 2015 10:31:35 -0500

cassandra (2.1.2) unstable; urgency=medium

  * New release 

 -- Jake Luciani <jake@apache.org>  Wed, 05 Nov 2014 15:51:26 -0500 

cassandra (2.1.1) unstable; urgency=medium

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 17 Oct 2014 13:43:46 +0200

cassandra (2.1.0) unstable; urgency=medium

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Sun, 07 Sep 2014 15:21:41 +0200

cassandra (2.1.0~rc7) unstable; urgency=medium

  * New RC release

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 28 Aug 2014 16:32:12 +0200

cassandra (2.1.0~rc6) unstable; urgency=medium

  * New RC release

 -- Sylvain Lebresne <slebresne@apache.org>  Sat, 09 Aug 2014 13:46:39 +0200

cassandra (2.1.0~rc5) unstable; urgency=medium

  * New RC release

 -- Sylvain Lebresne <slebresne@apache.org>  Sat, 02 Aug 2014 13:45:54 +0200

cassandra (2.1.0~rc4) unstable; urgency=medium

  * New RC release

 -- Eric Evans <eevans@apache.org>  Fri, 18 Jul 2014 13:40:48 -0500

cassandra (2.1.0~rc3) unstable; urgency=medium

  * New RC release

 -- Sylvain Lebresne <slebresne@apache.org>  Tue, 08 Jul 2014 14:04:10 +0200

cassandra (2.1.0~rc2) unstable; urgency=medium

  * New RC release

 -- Sylvain Lebresne <slebresne@apache.org>  Mon, 23 Jun 2014 18:14:29 +0200

cassandra (2.1.0~rc1) unstable; urgency=medium

  * New RC release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 30 May 2014 17:25:14 +0200

cassandra (2.1.0~beta2) unstable; urgency=medium

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 01 May 2014 16:39:21 +0200

cassandra (2.1.0~beta1) unstable; urgency=low

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Mon, 17 Feb 2014 16:50:33 +0100

cassandra (2.0.6) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 07 Mar 2014 13:18:42 +0100

cassandra (2.0.5) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 31 Jan 2014 16:05:20 +0100

cassandra (2.0.4) unstable; urgency=medium

  * New release

 -- Eric Evans <eevans@apache.org>  Fri, 27 Dec 2013 12:38:37 -0600

cassandra (2.0.3) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 21 Nov 2013 10:04:45 +0100

cassandra (2.0.2) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 24 Oct 2013 09:15:30 +0200

cassandra (2.0.1) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 19 Sep 2013 13:47:16 +0200

cassandra (2.0.0) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Wed, 28 Aug 2013 13:33:25 +0200

cassandra (2.0.0~rc2) unstable; urgency=low

  * New release candidate

 -- Sylvain Lebresne <slebresne@apache.org>  Mon, 19 Aug 2013 16:58:03 +0200

cassandra (2.0.0~rc1) unstable; urgency=low

  * New release candidate

 -- Eric Evans <eevans@apache.org>  Mon, 05 Aug 2013 10:11:43 -0500

cassandra (2.0.0~beta2) unstable; urgency=low

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Mon, 22 Jul 2013 16:53:37 +0200

cassandra (2.0.0~beta1) unstable; urgency=low

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Tue, 09 Jul 2013 10:12:24 +0200

cassandra (1.2.6) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 21 Jun 2013 18:58:24 +0200

cassandra (1.2.5) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Wed, 15 May 2013 15:20:01 +0200

cassandra (1.2.4) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Mon, 08 Apr 2013 18:52:23 +0200

cassandra (1.2.3) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <selebresne@apache.org>  Thu, 14 Mar 2013 09:52:16 +0100

cassandra (1.2.2) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Wed, 20 Feb 2013 23:28:10 +0100

cassandra (1.2.1) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 24 Jan 2013 18:41:21 +0100

cassandra (1.2.0) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Sat, 29 Dec 2012 13:06:03 +0100

cassandra (1.2.0~rc2) unstable; urgency=low

  * New RC release

 -- Sylvain Lebresne <slebresne@apache.org>  Wed, 19 Dec 2012 18:06:21 +0100

cassandra (1.2.0~rc1) unstable; urgency=low

  * New RC release

 -- Sylvain Lebresne <slebresne@apache.org>  Tue, 11 Dec 2012 09:09:08 +0100

cassandra (1.2.0~beta3) unstable; urgency=low

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 03 Dec 2012 10:13:11 +0100

cassandra (1.2.0~beta2) unstable; urgency=low

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Mon, 05 Nov 2012 18:17:03 +0100

cassandra (1.2.0~beta1) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Tue, 18 Sep 2012 17:28:46 +0200

cassandra (1.1.5) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 06 Sep 2012 08:53:50 +0200

cassandra (1.1.4) unstable; urgency=low

  * New release

 -- Eric Evans <eevans@apache.org>  Mon, 13 Aug 2012 15:13:20 -0500

cassandra (1.1.3) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Mon, 30 Jul 2012 18:33:25 +0200

cassandra (1.1.2) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 29 Jun 2012 16:56:29 +0200

cassandra (1.1.1) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 01 Jun 2012 18:15:11 +0200

cassandra (1.1.0) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 20 Apr 2012 17:51:39 +0200

cassandra (1.1.0~rc1) unstable; urgency=low

  * New Release Candidate

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 12 Apr 2012 09:59:27 +0200

cassandra (1.1.0~beta2) unstable; urgency=low

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 23 Mar 2012 10:31:45 +0100

cassandra (1.1.0~beta1) unstable; urgency=low

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Wed, 15 Feb 2012 16:49:11 +0100

cassandra (1.0.8) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Wed, 22 Feb 2012 15:09:54 +0100

cassandra (1.0.7) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Wed, 11 Jan 2012 09:53:43 +0100

cassandra (1.0.6) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Sat, 10 Dec 2011 18:21:50 -0600

cassandra (1.0.5) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Tue, 29 Nov 2011 19:36:09 +0100

cassandra (1.0.4) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 25 Nov 2011 11:04:06 +0100

cassandra (1.0.3) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 11 Nov 2011 19:35:44 +0100

cassandra (1.0.2) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 04 Nov 2011 10:00:12 +0100

cassandra (1.0.1) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 28 Oct 2011 10:09:34 +0200

cassandra (1.0.0) unstable; urgency=low

  * New release

 -- Sylvain Lebresne <slebresne@apache.org>  Sat, 08 Oct 2011 12:35:41 +0200

cassandra (1.0.0~rc2) unstable; urgency=low

  * New release candidate

 -- Sylvain Lebresne <slebresne@apache.org>  Fri, 30 Sep 2011 18:29:44 +0200

cassandra (1.0.0~rc1) unstable; urgency=low

  * New release candidate

 -- Sylvain Lebresne <slebresne@apache.org>  Mon, 26 Sep 2011 12:10:32 +0200

cassandra (1.0.0~beta1) unstable; urgency=low

  * New beta release

 -- Sylvain Lebresne <slebresne@apache.org>  Wed, 14 Sep 2011 11:07:47 +0200

cassandra (0.8.1) unstable; urgency=low

  * New release 

 -- Sylvain Lebresne <slebresne@apache.org>  Thu, 21 Jun 2011 09:37:27 +0200

cassandra (0.8.0) unstable; urgency=low

  * New release

 -- Eric Evans <eevans@apache.org>  Mon, 30 May 2011 12:58:23 -0500

cassandra (0.8.0~rc1) unstable; urgency=low

  * Release candidate

 -- Eric Evans <eevans@apache.org>  Thu, 12 May 2011 18:35:26 -0500

cassandra (0.8.0~beta2) unstable; urgency=low

  * New beta release.

 -- Eric Evans <eevans@apache.org>  Mon, 02 May 2011 20:04:49 -0500

cassandra (0.8.0~beta1) unstable; urgency=low

  * New beta release.

 -- Eric Evans <eevans@apache.org>  Mon, 18 Apr 2011 11:41:09 -0500

cassandra (0.7.4) unstable; urgency=low

  * New stable point release.

 -- Eric Evans <eevans@apache.org>  Fri, 11 Mar 2011 17:39:11 -0600

cassandra (0.7.3) unstable; urgency=low

  * New stable point release.

 -- Eric Evans <eevans@apache.org>  Fri, 25 Feb 2011 14:20:50 -0600

cassandra (0.7.1) unstable; urgency=low

  * New stable point release.

 -- Eric Evans <eevans@apache.org>  Thu, 10 Feb 2011 10:34:50 -0600

cassandra (0.7.0~rc4) unstable; urgency=low

  * Release candidate release.

 -- Eric Evans <eevans@apache.org>  Thu, 30 Dec 2010 12:58:55 -0600

cassandra (0.7.0~rc3) unstable; urgency=low

  * Release candidate release.

 -- Eric Evans <eevans@apache.org>  Tue, 21 Dec 2010 17:36:31 -0600

cassandra (0.7.0~rc2) unstable; urgency=low

  * Release candidate release.

 -- Eric Evans <eevans@apache.org>  Mon, 06 Dec 2010 11:19:40 -0600

cassandra (0.7.0~rc1) unstable; urgency=low

  * Release candidate release.

 -- Eric Evans <eevans@apache.org>  Fri, 19 Nov 2010 17:38:23 -0600

cassandra (0.7.0~beta3) unstable; urgency=low

  * New beta release.

 -- Eric Evans <eevans@apache.org>  Thu, 28 Oct 2010 09:49:55 -0500

cassandra (0.7.0~beta2) unstable; urgency=low

  * New beta release.

 -- Eric Evans <eevans@apache.org>  Tue, 28 Sep 2010 11:45:46 -0500

cassandra (0.7.0~beta1) unstable; urgency=low

  * New beta release.

 -- Eric Evans <eevans@apache.org>  Tue, 10 Aug 2010 09:20:17 -0700

cassandra (0.6.4) unstable; urgency=low

  * New stable point release.

 -- Eric Evans <eevans@apache.org>  Tue, 27 Jul 2010 15:47:09 -0500

cassandra (0.6.3) unstable; urgency=low

  * New stable point release.

 -- Eric Evans <eevans@apache.org>  Fri, 25 Jun 2010 17:18:54 -0500

cassandra (0.6.2) unstable; urgency=low

  * New stable point release.

 -- Eric Evans <eevans@apache.org>  Mon, 24 May 2010 13:26:14 -0500

cassandra (0.6.1) unstable; urgency=low

  * New stable point release.

 -- Eric Evans <eevans@apache.org>  Thu, 15 Apr 2010 08:04:20 -0500

cassandra (0.6.0~rc1-1) unstable; urgency=low

  * New release candidated.

 -- Eric Evans <eevans@apache.org>  Sun, 28 Mar 2010 09:42:07 -0500

cassandra (0.6.0~beta3-1) unstable; urgency=low

  * New beta release.

 -- Eric Evans <eevans@apache.org>  Wed, 17 Mar 2010 13:14:19 -0500

cassandra (0.6.0~beta2-1) unstable; urgency=low

  * New beta release.

 -- Eric Evans <eevans@apache.org>  Tue, 23 Feb 2010 17:55:17 -0600

cassandra (0.5.0-1) unstable; urgency=low

  * New stable release.

 -- Eric Evans <eevans@apache.org>  Tue, 26 Jan 2010 11:21:11 -0600
