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

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

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 31 Jan 2017 14:39:32 +0300

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

  * 1.10.2

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

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

  * 1.10.1

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

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

  * 1.10.0

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 26 Apr 2016 17:10: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
