apache-arrow (8.0.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Tue, 03 May 2022 16:56:56 -0000

apache-arrow (7.0.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Sat, 29 Jan 2022 00:08:24 -0000

apache-arrow (3.0.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Mon, 18 Jan 2021 21:33:18 -0000

apache-arrow (2.0.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Mon, 12 Oct 2020 23:38:01 -0000

apache-arrow (1.0.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Mon, 20 Jul 2020 20:41:07 -0000

apache-arrow (0.17.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Thu, 16 Apr 2020 12:05:43 -0000

apache-arrow (0.16.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Thu, 30 Jan 2020 20:21:44 -0000

apache-arrow (0.15.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Mon, 30 Sep 2019 17:19:02 -0000

apache-arrow (0.14.0-1) unstable; urgency=low

  * New upstream release.

 -- Sutou Kouhei <kou@clear-code.com>  Fri, 28 Jun 2019 22:22:35 -0000

apache-arrow (0.13.0-1) unstable; urgency=low

  * New upstream release.

 -- Kouhei Sutou <kou@clear-code.com>  Thu, 28 Mar 2019 02:24:58 -0000

apache-arrow (0.12.0-1) unstable; urgency=low

  * New upstream release.

 -- Krisztián Szűcs <szucs.krisztian@gmail.com>  Wed, 16 Jan 2019 03:29:25 -0000

apache-arrow (0.11.0-1) unstable; urgency=low

  * New upstream release.

 -- Kouhei Sutou <kou@clear-code.com>  Thu, 04 Oct 2018 00:33:42 -0000

apache-arrow (0.10.0-1) unstable; urgency=low

  * New upstream release.

 -- Phillip Cloud <cpcloud@gmail.com>  Thu, 02 Aug 2018 23:58:23 -0000

apache-arrow (0.9.0-1) unstable; urgency=low

  * New upstream release.

 -- Kouhei Sutou <kou@clear-code.com>  Fri, 16 Mar 2018 16:56:31 -0000

apache-arrow (0.8.0-1) unstable; urgency=low

  * New upstream release.

  * Add libarrow-gpu-glib0, libarrow-gpu-glib-dev and gir1.2-arrow-gpu-1.0.

 -- Uwe L. Korn <uwelk@xhochy.com>  Sun, 17 Dec 2017 20:24:44 -0000

apache-arrow (0.7.1-2) unstable; urgency=low

  * Add libarrow-gpu0 and libarrow-gpu-dev.

  * Add libarrow-python-dev.

 -- Kouhei Sutou <kou@clear-code.com>  Sun, 29 Oct 2017 21:59:13 +0900

apache-arrow (0.7.1-1) unstable; urgency=low

  * New upstream release.

 -- Kouhei Sutou <kou@clear-code.com>  Wed, 27 Sep 2017 13:19:05 -0000

apache-arrow (0.7.0-1) unstable; urgency=low

  * New upstream release.

 -- Wes McKinney <wes.mckinney@twosigma.com>  Tue, 12 Sep 2017 22:01:14 -0000

apache-arrow (0.6.0-1) unstable; urgency=low

  * New upstream release.

 -- Kouhei Sutou <kou@clear-code.com>  Fri, 11 Aug 2017 21:27:51 -0000

apache-arrow (0.6.0.20170802-1) unstable; urgency=low

  * New upstream release.

 -- Kouhei Sutou <kou@clear-code.com>  Wed, 02 Aug 2017 22:28:18 -0000
