nginx (%%MAIN_VERSION%%-%%MAIN_RELEASE%%~%%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 nJScript 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
