nginx (%%MAIN_VERSION%%-%%MAIN_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.17.4

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 24 Sep 2019 17:49:10 +0300

nginx (1.17.3-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.17.3

 -- Andrei Belov <defan@nginx.com>  Tue, 13 Aug 2019 11:50:00 +0300

nginx (1.17.2-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.17.2

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 23 Jul 2019 14:45:37 +0300

nginx (1.17.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.17.1

 -- Andrei Belov <defan@nginx.com>  Tue, 25 Jun 2019 15:20:00 +0300

nginx (1.17.0-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.17.0

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 21 May 2019 17:45:53 +0300

nginx (1.15.12-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.12

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 16 Apr 2019 16:08:19 +0300

nginx (1.15.11-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.11

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 09 Apr 2019 14:20:51 +0300

nginx (1.15.10-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.10

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 26 Mar 2019 17:04:38 +0300

nginx (1.15.9-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.9

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 26 Feb 2019 17:13:39 +0300

nginx (1.15.8-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.8

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 25 Dec 2018 12:56:47 +0300

nginx (1.15.7-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.7

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 27 Nov 2018 15:31:56 +0300

nginx (1.15.6-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.6
  * Fixes CVE-2018-16843
  * Fixes CVE-2018-16844
  * Fixes CVE-2018-16845

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 06 Nov 2018 16:38:30 +0300

nginx (1.15.5-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.5

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 02 Oct 2018 17:49:27 +0300

nginx (1.15.4-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.4

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 25 Sep 2018 18:04:03 +0300

nginx (1.15.3-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.3

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 28 Aug 2018 16:32:13 +0300

nginx (1.15.2-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.2

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 24 Jul 2018 16:02:29 +0300

nginx (1.15.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.1

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 03 Jul 2018 16:27:08 +0300

nginx (1.15.0-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.15.0

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 05 Jun 2018 15:00:18 +0300

nginx (1.13.12-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.12

 -- Konstantin Pavlov <thresh@nginx.com>  Mon, 09 Apr 2018 19:01:09 +0300

nginx (1.13.11-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.11

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 03 Apr 2018 15:16:34 +0300

nginx (1.13.10-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.10

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 20 Mar 2018 13:03:54 +0300

nginx (1.13.9-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.9

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 20 Feb 2018 15:21:20 +0300

nginx (1.13.8-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.8

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 26 Dec 2017 14:11:22 +0300

nginx (1.13.7-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.7

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 21 Nov 2017 17:28:04 +0300

nginx (1.13.6-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * Fixed systemd service support (https://trac.nginx.org/nginx/ticket/1380).

 -- Konstantin Pavlov <thresh@nginx.com>  Thu, 14 Sep 2017 19:35:09 +0300

nginx (1.13.5-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.5

 -- Konstantin Pavlov <thresh@nginx.com>  Thu, 14 Sep 2017 19:33:43 +0300

nginx (1.13.4-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.4

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 08 Aug 2017 18:25:00 +0300

nginx (1.13.3-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.3
  * Fixes CVE-2017-7529

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 11 Jul 2017 16:06:07 +0300

nginx (1.13.2-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.2

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 27 Jun 2017 16:40:50 +0300

nginx (1.13.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.1

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 30 May 2017 16:03:46 +0300

nginx (1.13.0-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.13.0

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 25 Apr 2017 14:30:31 +0300

nginx (1.11.13-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.13
  * Made upgrade loops/timeouts configurable via /etc/defaults/nginx.

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 04 Apr 2017 13:58:14 +0300

nginx (1.11.12-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.12

 -- Konstantin Pavlov <thresh@nginx.com>  Fri, 24 Mar 2017 16:47:12 +0300

nginx (1.11.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.11

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 21 Mar 2017 17:24:12 +0300

nginx (1.11.10-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.10

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 14 Feb 2017 14:54:57 +0300

nginx (1.11.9-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.9
  * Extended hardening build flags.
  * Added check-reload target to init script / systemd service.

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 24 Jan 2017 14:54:15 +0300

nginx (1.11.8-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.8

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 27 Dec 2016 16:18:01 +0300

nginx (1.11.7-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.7

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 13 Dec 2016 16:53:43 +0300

nginx (1.11.6-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.6

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 15 Nov 2016 18:50:49 +0300

nginx (1.11.5-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.5

 -- Andrei Belov <defan@nginx.com>  Mon, 10 Oct 2016 10:15:00 +0300

nginx (1.11.4-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.4
  * njs updated to 0.1.2.

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 13 Sep 2016 14:33:26 +0300

nginx (1.11.3-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.3
  * njs updated to 0.1.0.
  * njs stream dynamic module added to nginx-module-njs package.
  * geoip stream dynamic module added to nginx-module-geoip package.

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 26 Jul 2016 15:03:42 +0300

nginx (1.11.2-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.2
  * njs updated to ef2b708510b1.

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 05 Jul 2016 16:25:00 +0300

nginx (1.11.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.1

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 31 May 2016 16:25:00 +0300

nginx (1.11.0-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.11.0
  * fixed logrotate error if nginx is not running

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 24 May 2016 15:38:00 +0300

nginx (1.9.15-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.9.15
  * njs updated to 1c50334fbea6.

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 19 Apr 2016 20:10:00 +0300

nginx (1.9.14-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.9.14

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 05 Apr 2016 17:30:00 +0300

nginx (1.9.13-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.9.13
  * Fixed modules path
  * Added perl and njs dynamic modules subpackages

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 29 Mar 2016 15:50:00 +0300

nginx (1.9.12-1~%%CODENAME%%) %%CODENAME%%; urgency=low

  * 1.9.12
  * common configure args are now in variable
  * xslt, image-filter and geoip dynamic modules added

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 24 Feb 2016 18:24:00 +0300

nginx (1.9.11-1) unstable; urgency=low

  * 1.9.11
  * dynamic modules path and symlink in /etc/nginx added

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 09 Feb 2016 17:37:00 +0300

nginx (1.9.10-1) unstable; urgency=low

  * 1.9.10

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 26 Jan 2016 14:50:00 +0300

nginx (1.9.9-1) unstable; urgency=low

  * 1.9.9

 -- Konstantin Pavlov <thresh@nginx.com>  Wed, 09 Dec 2015 14:50:00 +0300

nginx (1.9.8-1) unstable; urgency=low

  * 1.9.8
  * http_slice module enabled

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 08 Dec 2015 15:55:00 +0300

nginx (1.9.7-1) unstable; urgency=low

  * 1.9.7

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 17 Nov 2015 14:50:00 +0300

nginx (1.9.6-1) unstable; urgency=low

  * 1.9.6

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 27 Oct 2015 13:57:00 +0300

nginx (1.9.5-1) unstable; urgency=low

  * 1.9.5
  * http_spdy module replaced with http_v2 module

 -- Andrei Belov <defan@nginx.com>  Tue, 22 Sep 2015 10:30:00 +0300

nginx (1.9.4-1) unstable; urgency=low

  * 1.9.4

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 18 Aug 2015 17:32:00 +0300

nginx (1.9.3-1) unstable; urgency=low

  * 1.9.3

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 14 Jul 2015 14:57:00 +0300

nginx (1.9.2-1) unstable; urgency=low

  * 1.9.2

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 16 Jun 2015 17:36:00 +0300

nginx (1.9.1-1) unstable; urgency=low

  * 1.9.1

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 26 May 2015 16:01:00 +0300

nginx (1.9.0-1) unstable; urgency=low

  * 1.9.0
  * thread pool support added
  * stream module added
  * example_ssl.conf removed

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 28 Apr 2015 11:29:00 +0300

nginx (1.7.12-1) unstable; urgency=low

  * 1.7.12

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 07 Apr 2015 19:33:00 +0300

nginx (1.7.11-1) unstable; urgency=low

  * 1.7.11

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 24 Mar 2015 18:52:00 +0300

nginx (1.7.10-1) unstable; urgency=low

  * 1.7.10

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 10 Feb 2015 15:33:00 +0300

nginx (1.7.9-1) unstable; urgency=low

  * 1.7.9
  * init-script now sends signal only to the PID derived from pidfile

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 23 Dec 2014 17:56:00 +0300

nginx (1.7.8-1) unstable; urgency=low

  * 1.7.8
  * package with debug symbols added

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 02 Dec 2014 12:00:00 +0300

nginx (1.7.7-1) unstable; urgency=low

  * 1.7.7

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 28 Oct 2014 16:35:00 +0400

nginx (1.7.6-1) unstable; urgency=low

  * 1.7.6

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 30 Sep 2014 17:53:00 +0400

nginx (1.7.5-1) unstable; urgency=low

  * 1.7.5

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 16 Sep 2014 13:49:00 +0400

nginx (1.7.4-1) unstable; urgency=low

  * 1.7.4
  * init-script now returns 0 on stop command if nginx is not running

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 05 Aug 2014 14:10:00 +0400

nginx (1.7.3-1) unstable; urgency=low

  * 1.7.3

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 08 Jul 2014 18:33:00 +0400

nginx (1.7.2-1) unstable; urgency=low

  * 1.7.2

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 17 Jun 2014 18:18:00 +0400

nginx (1.7.1-1) unstable; urgency=low

  * 1.7.1

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 27 May 2014 18:12:00 +0400

nginx (1.7.0-1) unstable; urgency=low

  * 1.7.0

 -- Konstantin Pavlov <thresh@nginx.com>  Thu, 24 Apr 2014 19:30:07 +0400

nginx (1.5.13-1) unstable; urgency=low

  * 1.5.13

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 08 Apr 2014 17:00:00 +0400

nginx (1.5.12-1) unstable; urgency=low

  * 1.5.12
  * warning added when binary upgrade returns non-zero exit code

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 18 Mar 2014 16:04:01 +0400

nginx (1.5.11-1) unstable; urgency=low

  * 1.5.11

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 04 Mar 2014 15:33:32 +0400

nginx (1.5.10-1) unstable; urgency=low

  * 1.5.10

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 04 Feb 2014 16:12:01 +0400

nginx (1.5.9-1) unstable; urgency=low

  * 1.5.9

 -- Sergey Budnevitch <sb@nginx.com>  Wed, 22 Jan 2014 17:54:40 +0400

nginx (1.5.8-1) unstable; urgency=low

  * 1.5.8

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 17 Dec 2013 18:05:32 +0400

nginx (1.5.7-1) unstable; urgency=low

  * 1.5.7
  * init script now honours additional options sourced from /etc/default/nginx

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 19 Nov 2013 15:59:56 +0400

nginx (1.5.6-1) unstable; urgency=low

  * 1.5.6

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 01 Oct 2013 16:35:33 +0400

nginx (1.5.5-1) unstable; urgency=low

  * 1.5.5

 -- Andrei Belov <defan@nginx.com>  Tue, 17 Sep 2013 17:40:00 +0400

nginx (1.5.4-1) unstable; urgency=low

  * 1.5.4
  * auth request module added

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 27 Aug 2013 15:00:00 +0400

nginx (1.5.3-1) unstable; urgency=low

  * 1.5.3

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 30 Jul 2013 13:55:04 +0400

nginx (1.5.2-1) unstable; urgency=low

  * 1.5.2

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 02 Jul 2013 17:27:00 +0400

nginx (1.5.1-1) unstable; urgency=low

  * 1.5.1
  * dpkg-buildflags options now passed by --with-{cc,ld}-opt

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 04 Jun 2013 17:45:54 +0400

nginx (1.5.0-1) unstable; urgency=low

  * 1.5.0
  * fixed openssl version detection with dash as /bin/sh

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 06 May 2013 14:15:00 +0400

nginx (1.3.16-1) unstable; urgency=low

  * 1.3.16

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 16 Apr 2013 16:44:00 +0400

nginx (1.3.15-1) unstable; urgency=low

  * 1.3.15
  * gunzip module added
  * spdy module added if openssl version >= 1.0.1
  * set permissions on default log files at installation

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 26 Mar 2013 19:05:00 +0400

nginx (1.2.7-1) unstable; urgency=low

  * 1.2.7
  * excess slash removed from --prefix

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 12 Feb 2013 17:45:00 +0400

nginx (1.2.6-1) unstable; urgency=low

  * 1.2.6

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 11 Dec 2012 18:40:00 +0400

nginx (1.2.5-1) unstable; urgency=low

  * 1.2.5

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 13 Nov 2012 15:52:57 +0400

nginx (1.2.4-1) unstable; urgency=low

  * 1.2.4

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 25 Sep 2012 14:54:32 +0400 

nginx (1.2.3-1) unstable; urgency=low

  * 1.2.3

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 07 Aug 2012 15:51:30 +0400

nginx (1.2.2-1) unstable; urgency=low

  * 1.2.2

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 03 Jul 2012 15:31:29 +0400

nginx (1.2.1-1) unstable; urgency=low

  * 1.2.1
  * package provides 'httpd' (ticket #158)
  * upgrade action added to postinst script
  * minor fix in prerm

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 05 Jun 2012 14:41:56 +0400

nginx (1.2.0-1) unstable; urgency=low

  * 1.2.0

 -- Sergey Budnevitch <sb@nginx.com>  Mon, 23 Apr 2012 17:04:12 +0400

nginx (1.0.15-1) unstable; urgency=low

  * 1.0.15

 -- Sergey Budnevitch <sb@nginx.com>  Thu, 12 Apr 2012 16:40:00 +0400

nginx (1.0.14-2) unstable; urgency=low
  * postinst script added to fix error on installation when another
    process listens on 80 port

 -- Sergey Budnevitch <sb@nginx.com>  Thu, 22 Mar 2012 12:40:34 +0400

nginx (1.0.14-1) unstable; urgency=low

  * 1.0.14

 -- Sergey Budnevitch <sb@nginx.com>  Thu, 15 Mar 2012 16:47:09 +0400

nginx (1.0.13-1) unstable; urgency=low

  * 1.0.13

 -- Sergey Budnevitch <sb@nginx.com>  Mon, 05 Mar 2012 20:19:10 +0400

nginx (1.0.12-1) unstable; urgency=low

  * 1.0.12
  * banner added to install script

 -- Sergey Budnevitch <sb@nginx.com>  Mon, 06 Feb 2012 18:24:15 +0400

nginx (1.0.11-1) unstable; urgency=low

  * 1.0.11
  * init script enhancements (thanks to Gena Makhomed)

 -- Sergey Budnevitch <sb@nginx.com>  Thu, 15 Dec 2011 19:05:46 +0400

nginx (1.0.10-1) unstable; urgency=low

  * 1.0.10

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 15 Nov 2011 12:55:36 +0400

nginx (1.0.9-1) unstable; urgency=low

  * 1.0.9
  * nginx-debug package added

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 01 Nov 2011 18:54:02 +0400

nginx (1.0.8-2) unstable; urgency=low

  * typo in configure fixed
  * upgrade and configtest arguments to init-script added (based on fedora one)
  * logrotate creates new logfiles with nginx owner

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 11 Oct 2011 19:49:11 +0400

nginx (1.0.8-1) unstable; urgency=low

  * 1.0.8
  * built with mp4 module

 -- Sergey Budnevitch <sb@nginx.com>  Sat, 01 Oct 2011 17:22:17 +0400

nginx (1.0.7-1) unstable; urgency=low

  * 1.0.7

 -- Sergey Budnevitch <sb@nginx.com>  Fri, 30 Sep 2011 18:34:17 +0400

nginx (1.0.6-1) unstable; urgency=low

  * 1.0.6
  * replace "conf.d/*" config include with "conf.d/*.conf" in default nginx.conf  

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 30 Aug 2011 19:27:16 +0400

nginx (1.0.5-1) unstable; urgency=low

  * Initial release

 -- Sergey Budnevitch <sb@nginx.com>  Thu, 11 Aug 2011 12:57:47 +0400
