diff --git a/debian/Makefile b/debian/Makefile
index a7efcbc..eb87b24 100644
--- a/debian/Makefile
+++ b/debian/Makefile
@@ -1,7 +1,7 @@
 SHELL=		/bin/bash
 
-BASE_VERSION=	1.14.1
-BASE_RELEASE=	2
+BASE_VERSION=	1.14.2
+BASE_RELEASE=	1
 PLUS_VERSION=	15
 BASE_SRC=	nginx-$(BASE_VERSION).tar.gz
 SRCDIR=		nginx-$(BASE_VERSION)
@@ -283,8 +283,6 @@
 	mkdir -p debuild-base/$(SRCDIR)/debian/source ; \
 	echo "3.0 (quilt)" > debuild-base/$(SRCDIR)/debian/source/format ; \
 	echo "9" > debuild-base/$(SRCDIR)/debian/compat ; \
-	mkdir -p debuild-base/$(SRCDIR)/debian/patches; \
-	cp patches/* debuild-base/$(SRCDIR)/debian/patches/ ; \
 	cat nginx.rules.in | sed \
 		-e 's#%%CODENAME%%#$(CODENAME)#g' \
 		-e 's#%%BASE_CONFIGURE_ARGS%%#$(BASE_CONFIGURE_ARGS)#g' \
diff --git a/debian/nginx-module-geoip.changelog.in b/debian/nginx-module-geoip.changelog.in
index 46b91b9..54d0d29 100644
--- a/debian/nginx-module-geoip.changelog.in
+++ b/debian/nginx-module-geoip.changelog.in
@@ -1,5 +1,11 @@
 nginx-module-geoip (%%VERSION_PREFIX%%%%MODULE_VERSION%%-%%MODULE_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
 
+  * base version updated to 1.14.2-1
+
+ -- Konstantin Pavlov <thresh@nginx.com>  Tue, 04 Dec 2018 17:44:49 +0300
+
+nginx-module-geoip (1.14.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low
+
   * base version updated to 1.14.1-1
 
  -- Konstantin Pavlov <thresh@nginx.com>  Tue, 06 Nov 2018 16:28:31 +0300
diff --git a/debian/nginx-module-image-filter.changelog.in b/debian/nginx-module-image-filter.changelog.in
index 6c2b2ca..21c7c89 100644
--- a/debian/nginx-module-image-filter.changelog.in
+++ b/debian/nginx-module-image-filter.changelog.in
@@ -1,5 +1,11 @@
 nginx-module-image-filter (%%VERSION_PREFIX%%%%MODULE_VERSION%%-%%MODULE_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
 
+  * base version updated to 1.14.2-1
+
+ -- Konstantin Pavlov <thresh@nginx.com>  Tue, 04 Dec 2018 17:44:49 +0300
+
+nginx-module-image-filter (1.14.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low
+
   * base version updated to 1.14.1-1
 
  -- Konstantin Pavlov <thresh@nginx.com>  Tue, 06 Nov 2018 16:28:31 +0300
diff --git a/debian/nginx-module-njs.changelog.in b/debian/nginx-module-njs.changelog.in
index 8b23739..4ef59fc 100644
--- a/debian/nginx-module-njs.changelog.in
+++ b/debian/nginx-module-njs.changelog.in
@@ -1,5 +1,6 @@
 nginx-module-njs (%%VERSION_PREFIX%%%%MODULE_VERSION%%-%%MODULE_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
 
+  * base version updated to 1.14.2-1
   * njs updated to 0.2.6.
 
  -- Konstantin Pavlov <thresh@nginx.com>  Tue, 04 Dec 2018 17:43:41 +0300
diff --git a/debian/nginx-module-perl.changelog.in b/debian/nginx-module-perl.changelog.in
index bde416f..dc2b77c 100644
--- a/debian/nginx-module-perl.changelog.in
+++ b/debian/nginx-module-perl.changelog.in
@@ -1,5 +1,11 @@
 nginx-module-perl (%%VERSION_PREFIX%%%%MODULE_VERSION%%-%%MODULE_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
 
+  * base version updated to 1.14.2-1
+
+ -- Konstantin Pavlov <thresh@nginx.com>  Tue, 04 Dec 2018 17:44:49 +0300
+
+nginx-module-perl (1.14.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low
+
   * base version updated to 1.14.1-1
 
  -- Konstantin Pavlov <thresh@nginx.com>  Tue, 06 Nov 2018 16:28:31 +0300
diff --git a/debian/nginx-module-xslt.changelog.in b/debian/nginx-module-xslt.changelog.in
index 71bcb4a..01d90f8 100644
--- a/debian/nginx-module-xslt.changelog.in
+++ b/debian/nginx-module-xslt.changelog.in
@@ -1,5 +1,11 @@
 nginx-module-xslt (%%VERSION_PREFIX%%%%MODULE_VERSION%%-%%MODULE_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
 
+  * base version updated to 1.14.2-1
+
+ -- Konstantin Pavlov <thresh@nginx.com>  Tue, 04 Dec 2018 17:44:49 +0300
+
+nginx-module-xslt (1.14.1-1~%%CODENAME%%) %%CODENAME%%; urgency=low
+
   * base version updated to 1.14.1-1
 
  -- Konstantin Pavlov <thresh@nginx.com>  Tue, 06 Nov 2018 16:28:31 +0300
diff --git a/debian/nginx.changelog.in b/debian/nginx.changelog.in
index 6c1f725..66eb16a 100644
--- a/debian/nginx.changelog.in
+++ b/debian/nginx.changelog.in
@@ -1,5 +1,11 @@
 nginx (%%MAIN_VERSION%%-%%MAIN_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
 
+  * 1.14.2
+
+ -- Konstantin Pavlov <thresh@nginx.com>  Tue, 04 Dec 2018 17:44:49 +0300
+
+nginx (1.14.1-2~%%CODENAME%%) %%CODENAME%%; urgency=low
+
   * 1.14.1
   * Fixes CVE-2018-16843
   * Fixes CVE-2018-16844
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index e648751..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-silenced_-wcast-function-type_warnings.patch
diff --git a/debian/patches/silenced_-wcast-function-type_warnings.patch b/debian/patches/silenced_-wcast-function-type_warnings.patch
deleted file mode 100644
index e16aebf..0000000
--- a/debian/patches/silenced_-wcast-function-type_warnings.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-# HG changeset patch
-# User Sergey Kandaurov <pluknet@nginx.com>
-# Date 1525686877 0
-#      Mon May 07 09:54:37 2018 +0000
-# Node ID 9e25a5380a21240cdb66646f1e20ef7247b646a1
-# Parent  46c0c7ef4913011f3f1e073f9ac880b07b1a8154
-Silenced -Wcast-function-type warnings (closes #1546).
-
-Cast to intermediate "void *" to lose compiler knowledge about the original
-type and pass the warning.  This is not a real fix but rather a workaround.
-
-Found by gcc8.
-
-diff -r 46c0c7ef4913 -r 9e25a5380a21 src/http/modules/ngx_http_fastcgi_module.c
---- a/src/http/modules/ngx_http_fastcgi_module.c	Wed Apr 25 14:57:24 2018 +0300
-+++ b/src/http/modules/ngx_http_fastcgi_module.c	Mon May 07 09:54:37 2018 +0000
-@@ -3264,7 +3264,8 @@ ngx_http_fastcgi_init_params(ngx_conf_t 
-             return NGX_ERROR;
-         }
- 
--        copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+        copy->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-         copy->len = src[i].key.len;
- 
-         copy = ngx_array_push_n(params->lengths,
-@@ -3273,7 +3274,8 @@ ngx_http_fastcgi_init_params(ngx_conf_t 
-             return NGX_ERROR;
-         }
- 
--        copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+        copy->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-         copy->len = src[i].skip_empty;
- 
- 
-diff -r 46c0c7ef4913 -r 9e25a5380a21 src/http/modules/ngx_http_grpc_module.c
---- a/src/http/modules/ngx_http_grpc_module.c	Wed Apr 25 14:57:24 2018 +0300
-+++ b/src/http/modules/ngx_http_grpc_module.c	Mon May 07 09:54:37 2018 +0000
-@@ -4389,7 +4389,8 @@ ngx_http_grpc_init_headers(ngx_conf_t *c
-             return NGX_ERROR;
-         }
- 
--        copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+        copy->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-         copy->len = src[i].key.len;
- 
-         size = (sizeof(ngx_http_script_copy_code_t)
-diff -r 46c0c7ef4913 -r 9e25a5380a21 src/http/modules/ngx_http_proxy_module.c
---- a/src/http/modules/ngx_http_proxy_module.c	Wed Apr 25 14:57:24 2018 +0300
-+++ b/src/http/modules/ngx_http_proxy_module.c	Mon May 07 09:54:37 2018 +0000
-@@ -3493,7 +3493,8 @@ ngx_http_proxy_init_headers(ngx_conf_t *
-             return NGX_ERROR;
-         }
- 
--        copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+        copy->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-         copy->len = src[i].key.len;
- 
-         size = (sizeof(ngx_http_script_copy_code_t)
-diff -r 46c0c7ef4913 -r 9e25a5380a21 src/http/modules/ngx_http_scgi_module.c
---- a/src/http/modules/ngx_http_scgi_module.c	Wed Apr 25 14:57:24 2018 +0300
-+++ b/src/http/modules/ngx_http_scgi_module.c	Mon May 07 09:54:37 2018 +0000
-@@ -1724,7 +1724,8 @@ ngx_http_scgi_init_params(ngx_conf_t *cf
-             return NGX_ERROR;
-         }
- 
--        copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+        copy->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-         copy->len = src[i].key.len + 1;
- 
-         copy = ngx_array_push_n(params->lengths,
-@@ -1733,7 +1734,8 @@ ngx_http_scgi_init_params(ngx_conf_t *cf
-             return NGX_ERROR;
-         }
- 
--        copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+        copy->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-         copy->len = src[i].skip_empty;
- 
- 
-diff -r 46c0c7ef4913 -r 9e25a5380a21 src/http/modules/ngx_http_uwsgi_module.c
---- a/src/http/modules/ngx_http_uwsgi_module.c	Wed Apr 25 14:57:24 2018 +0300
-+++ b/src/http/modules/ngx_http_uwsgi_module.c	Mon May 07 09:54:37 2018 +0000
-@@ -1987,7 +1987,8 @@ ngx_http_uwsgi_init_params(ngx_conf_t *c
-             return NGX_ERROR;
-         }
- 
--        copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+        copy->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-         copy->len = src[i].key.len;
- 
-         copy = ngx_array_push_n(params->lengths,
-@@ -1996,7 +1997,8 @@ ngx_http_uwsgi_init_params(ngx_conf_t *c
-             return NGX_ERROR;
-         }
- 
--        copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+        copy->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-         copy->len = src[i].skip_empty;
- 
- 
-diff -r 46c0c7ef4913 -r 9e25a5380a21 src/http/ngx_http_script.c
---- a/src/http/ngx_http_script.c	Wed Apr 25 14:57:24 2018 +0300
-+++ b/src/http/ngx_http_script.c	Mon May 07 09:54:37 2018 +0000
-@@ -695,7 +695,8 @@ ngx_http_script_add_copy_code(ngx_http_s
-         return NGX_ERROR;
-     }
- 
--    code->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
-+    code->code = (ngx_http_script_code_pt) (void *)
-+                                                 ngx_http_script_copy_len_code;
-     code->len = len;
- 
-     size = (sizeof(ngx_http_script_copy_code_t) + len + sizeof(uintptr_t) - 1)
-@@ -784,7 +785,8 @@ ngx_http_script_add_var_code(ngx_http_sc
-         return NGX_ERROR;
-     }
- 
--    code->code = (ngx_http_script_code_pt) ngx_http_script_copy_var_len_code;
-+    code->code = (ngx_http_script_code_pt) (void *)
-+                                             ngx_http_script_copy_var_len_code;
-     code->index = (uintptr_t) index;
- 
-     code = ngx_http_script_add_code(*sc->values,
-@@ -1178,8 +1180,8 @@ ngx_http_script_add_capture_code(ngx_htt
-         return NGX_ERROR;
-     }
- 
--    code->code = (ngx_http_script_code_pt)
--                      ngx_http_script_copy_capture_len_code;
-+    code->code = (ngx_http_script_code_pt) (void *)
-+                                         ngx_http_script_copy_capture_len_code;
-     code->n = 2 * n;
- 
- 
-@@ -1293,7 +1295,8 @@ ngx_http_script_add_full_name_code(ngx_h
-         return NGX_ERROR;
-     }
- 
--    code->code = (ngx_http_script_code_pt) ngx_http_script_full_name_len_code;
-+    code->code = (ngx_http_script_code_pt) (void *)
-+                                            ngx_http_script_full_name_len_code;
-     code->conf_prefix = sc->conf_prefix;
- 
-     code = ngx_http_script_add_code(*sc->values,
-diff -r 46c0c7ef4913 -r 9e25a5380a21 src/stream/ngx_stream_script.c
---- a/src/stream/ngx_stream_script.c	Wed Apr 25 14:57:24 2018 +0300
-+++ b/src/stream/ngx_stream_script.c	Mon May 07 09:54:37 2018 +0000
-@@ -587,7 +587,8 @@ ngx_stream_script_add_copy_code(ngx_stre
-         return NGX_ERROR;
-     }
- 
--    code->code = (ngx_stream_script_code_pt) ngx_stream_script_copy_len_code;
-+    code->code = (ngx_stream_script_code_pt) (void *)
-+                                               ngx_stream_script_copy_len_code;
-     code->len = len;
- 
-     size = (sizeof(ngx_stream_script_copy_code_t) + len + sizeof(uintptr_t) - 1)
-@@ -677,8 +678,8 @@ ngx_stream_script_add_var_code(ngx_strea
-         return NGX_ERROR;
-     }
- 
--    code->code = (ngx_stream_script_code_pt)
--                      ngx_stream_script_copy_var_len_code;
-+    code->code = (ngx_stream_script_code_pt) (void *)
-+                                           ngx_stream_script_copy_var_len_code;
-     code->index = (uintptr_t) index;
- 
-     code = ngx_stream_script_add_code(*sc->values,
-@@ -767,8 +768,8 @@ ngx_stream_script_add_capture_code(ngx_s
-         return NGX_ERROR;
-     }
- 
--    code->code = (ngx_stream_script_code_pt)
--                      ngx_stream_script_copy_capture_len_code;
-+    code->code = (ngx_stream_script_code_pt) (void *)
-+                                       ngx_stream_script_copy_capture_len_code;
-     code->n = 2 * n;
- 
- 
-@@ -859,7 +860,7 @@ ngx_stream_script_add_full_name_code(ngx
-         return NGX_ERROR;
-     }
- 
--    code->code = (ngx_stream_script_code_pt)
-+    code->code = (ngx_stream_script_code_pt) (void *)
-                                           ngx_stream_script_full_name_len_code;
-     code->conf_prefix = sc->conf_prefix;
- 
diff --git a/rpm/SPECS/Makefile b/rpm/SPECS/Makefile
index 7113ec4..4f12e4c 100644
--- a/rpm/SPECS/Makefile
+++ b/rpm/SPECS/Makefile
@@ -1,6 +1,6 @@
 SHELL=		/bin/bash
 
-BASE_VERSION=	1.14.1
+BASE_VERSION=	1.14.2
 BASE_RELEASE=	1
 PLUS_VERSION=	15
 BASE_SRC=	nginx-$(BASE_VERSION).tar.gz
diff --git a/rpm/SPECS/nginx-module-njs.changelog.in b/rpm/SPECS/nginx-module-njs.changelog.in
index 5819897..10d88ec 100644
--- a/rpm/SPECS/nginx-module-njs.changelog.in
+++ b/rpm/SPECS/nginx-module-njs.changelog.in
@@ -1,4 +1,5 @@
 * Tue Dec 04 2018 Konstantin Pavlov <thresh@nginx.com>
+- base version updated to 1.14.2
 - njs module updated to 0.2.6
 
 * Tue Nov 06 2018 Konstantin Pavlov <thresh@nginx.com>
diff --git a/rpm/SPECS/nginx-module.changelog.in b/rpm/SPECS/nginx-module.changelog.in
index 9456d20..9f683a0 100644
--- a/rpm/SPECS/nginx-module.changelog.in
+++ b/rpm/SPECS/nginx-module.changelog.in
@@ -1,5 +1,8 @@
 # default changelog for module packages
 #
+* Tue Dec 04 2018 Konstantin Pavlov <thresh@nginx.com>
+- base version updated to 1.14.2
+
 * Tue Nov 06 2018 Konstantin Pavlov <thresh@nginx.com>
 - base version updated to 1.14.1
 
diff --git a/rpm/SPECS/nginx.spec.in b/rpm/SPECS/nginx.spec.in
index 9cffe93..61493d5 100644
--- a/rpm/SPECS/nginx.spec.in
+++ b/rpm/SPECS/nginx.spec.in
@@ -312,6 +312,9 @@
 fi
 
 %changelog
+* Tue Dec 04 2018 Konstantin Pavlov <thresh@nginx.com>
+- 1.14.2
+
 * Tue Nov 06 2018 Konstantin Pavlov <thresh@nginx.com>
 - 1.14.1
 - Fixes CVE-2018-16843
