nginx (1.8.1-1) unstable; urgency=low

  * 1.8.1

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

nginx (1.8.0-1) unstable; urgency=low

  * 1.8.0

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

nginx (1.6.3-1) unstable; urgency=low

  * 1.6.3

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

nginx (1.6.2-1) unstable; urgency=low

  * 1.6.2

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

nginx (1.6.1-1) unstable; urgency=low

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

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

nginx (1.6.0-1) unstable; urgency=low

  * 1.6.0
  * http-auth-request module added

 -- Konstantin Pavlov <thresh@nginx.com>  Thu, 24 Apr 2014 17:12:40 +0400

nginx (1.4.7-1) unstable; urgency=low

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

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

nginx (1.4.6-1) unstable; urgency=low

  * 1.4.6

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

nginx (1.4.5-1) unstable; urgency=low

  * 1.4.5

 -- Konstantin Pavlov <thresh@nginx.com>  Tue, 11 Feb 2014 17:48:22 +0400

nginx (1.4.4-1) unstable; urgency=low

  * 1.4.4

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

nginx (1.4.3-1) unstable; urgency=low

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

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 08 Oct 2013 17:18:22 +0400

nginx (1.4.2-1) unstable; urgency=low

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

 -- Sergey Budnevitch <sb@nginx.com>  Wed, 17 Jul 2013 17:32:00 +0400

nginx (1.4.1-1) unstable; urgency=low

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

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

nginx (1.4.0-1) unstable; urgency=low

  * 1.4.0
  * gunzip module added
  * spdy module added if openssl version >= 1.0.1

 -- Sergey Budnevitch <sb@nginx.com>  Wed, 24 Apr 2013 17:17:00 +0400

nginx (1.2.8-1) unstable; urgency=low

  * 1.2.8
  * set permissions on default log files at installation

 -- Sergey Budnevitch <sb@nginx.com>  Tue, 02 Apr 2013 16:50: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
