diff -pruN 1:0.63-8/.travis.yml 1:0.64-1/.travis.yml
--- 1:0.63-8/.travis.yml	2022-11-15 15:10:09.000000000 +0000
+++ 1:0.64-1/.travis.yml	2025-12-07 15:19:05.000000000 +0000
@@ -1,5 +1,9 @@
 sudo: required
-dist: bionic
+dist: focal
+
+branches:
+  only:
+    - "master"
 
 os: linux
 
@@ -15,8 +19,8 @@ env:
     - LUAJIT_INC=$LUAJIT_PREFIX/include/luajit-2.1
     - LD_LIBRARY_PATH=$LUAJIT_LIB:$LD_LIBRARY_PATH
   matrix:
-    - NGINX_VERSION=1.17.8
-    - NGINX_VERSION=1.19.9
+    - NGINX_VERSION=1.29.2
+    #- NGINX_VERSION=1.21.4
 
 before_install:
   - sudo apt-get install -qq -y cpanminus libgd-dev ca-certificates
@@ -30,6 +34,7 @@ install:
   - git clone https://github.com/openresty/rds-json-nginx-module.git
   - git clone https://github.com/openresty/headers-more-nginx-module.git
   - git clone https://github.com/openresty/lua-nginx-module.git
+  - git clone https://github.com/openresty/openresty.git
   - git clone https://github.com/openresty/lua-resty-core.git ../lua-resty-core
   - git clone https://github.com/openresty/lua-resty-lrucache.git ../lua-resty-lrucache
   - git clone https://github.com/openresty/nginx-eval-module.git
@@ -41,8 +46,8 @@ script:
   - sudo make install PREFIX=$LUAJIT_PREFIX > build.log 2>&1 || (cat build.log && exit 1)
   - cd ..
   - cd nginx-${NGINX_VERSION}/
-  -  ./configure --without-http_ssi_module --with-debug --with-select_module --with-poll_module --with-http_stub_status_module --with-http_image_filter_module --add-module=../ngx_devel_kit --add-module=../set-misc-nginx-module --add-module=../nginx-eval-module --add-module=../xss-nginx-module --add-module=../rds-json-nginx-module --add-module=../headers-more-nginx-module --add-module=../lua-nginx-module  --add-module=.. > build.log 2>&1 || (cat build.log && exit 1)
+  -  ./configure --without-pcre2 --without-http_ssi_module --with-debug --with-select_module --with-poll_module --with-http_stub_status_module --with-http_image_filter_module --add-module=../ngx_devel_kit --add-module=../set-misc-nginx-module --add-module=../nginx-eval-module --add-module=../xss-nginx-module --add-module=../rds-json-nginx-module --add-module=../headers-more-nginx-module --add-module=../lua-nginx-module  --add-module=.. > build.log 2>&1 || (cat build.log && exit 1)
   - make -j2 > build.log 2>&1 || (cat build.log && exit 1)
-  - export PATH=$PATH:`pwd`/objs
+  - export PATH=`pwd`/objs:$PATH
   - cd ..
   - prove -I. -r t
diff -pruN 1:0.63-8/README.markdown 1:0.64-1/README.markdown
--- 1:0.63-8/README.markdown	2022-11-15 15:10:09.000000000 +0000
+++ 1:0.64-1/README.markdown	2025-12-07 15:19:05.000000000 +0000
@@ -68,7 +68,7 @@ This module is production ready.
 Version
 =======
 
-This document describes ngx_echo [v0.62](https://github.com/openresty/echo-nginx-module/tags) released on 2 July, 2020.
+This document describes ngx_echo [v0.63](https://github.com/openresty/echo-nginx-module/tags) released on 1 August, 2022.
 
 Synopsis
 ========
diff -pruN 1:0.63-8/debian/changelog 1:0.64-1/debian/changelog
--- 1:0.63-8/debian/changelog	2025-09-11 13:48:34.000000000 +0000
+++ 1:0.64-1/debian/changelog	2025-12-07 16:05:53.000000000 +0000
@@ -1,3 +1,11 @@
+libnginx-mod-http-echo (1:0.64-1) unstable; urgency=medium
+
+  * New upstream version 0.64
+  * d/gbp.conf: upstream-branch = upstream/latest
+  * d/control: remove Rules-Requires-Root: no
+
+ -- Jan Mojžíš <janmojzis@debian.org>  Sun, 07 Dec 2025 17:05:53 +0100
+
 libnginx-mod-http-echo (1:0.63-8) unstable; urgency=medium
 
   * d/gbp.conf: dist = DEP14, debian-branch = debian/latest
diff -pruN 1:0.63-8/debian/control 1:0.64-1/debian/control
--- 1:0.63-8/debian/control	2025-09-11 13:48:34.000000000 +0000
+++ 1:0.64-1/debian/control	2025-12-07 16:05:53.000000000 +0000
@@ -9,7 +9,6 @@ Standards-Version: 4.7.2
 Homepage: https://github.com/agentzh/echo-nginx-module
 Vcs-Git: https://salsa.debian.org/nginx-team/libnginx-mod-http-echo.git
 Vcs-Browser: https://salsa.debian.org/nginx-team/libnginx-mod-http-echo
-Rules-Requires-Root: no
 
 Package: libnginx-mod-http-echo
 Architecture: any
diff -pruN 1:0.63-8/debian/gbp.conf 1:0.64-1/debian/gbp.conf
--- 1:0.63-8/debian/gbp.conf	2025-09-11 13:48:34.000000000 +0000
+++ 1:0.64-1/debian/gbp.conf	2025-12-07 16:05:53.000000000 +0000
@@ -1,6 +1,6 @@
 [DEFAULT]
 debian-branch = debian/latest
-upstream-branch = upstream
+upstream-branch = upstream/latest
 upstream-tag = upstream/%(version)s
 pristine-tar = True
 sign-tags = True
diff -pruN 1:0.63-8/src/ngx_http_echo_module.h 1:0.64-1/src/ngx_http_echo_module.h
--- 1:0.63-8/src/ngx_http_echo_module.h	2022-11-15 15:10:09.000000000 +0000
+++ 1:0.64-1/src/ngx_http_echo_module.h	2025-12-07 15:19:05.000000000 +0000
@@ -123,7 +123,11 @@ typedef struct {
 
     ngx_http_echo_foreach_ctx_t   *foreach;
 
+#if (defined freenginx && nginx_version >= 1029000)
+    ngx_msec_t       timer_begin;
+#else
     ngx_time_t       timer_begin;
+#endif
 
     ngx_event_t      sleep;
 
diff -pruN 1:0.63-8/src/ngx_http_echo_timer.c 1:0.64-1/src/ngx_http_echo_timer.c
--- 1:0.63-8/src/ngx_http_echo_timer.c	2022-11-15 15:10:09.000000000 +0000
+++ 1:0.64-1/src/ngx_http_echo_timer.c	2025-12-07 15:19:05.000000000 +0000
@@ -19,7 +19,9 @@ ngx_http_echo_timer_elapsed_variable(ngx
     ngx_http_echo_ctx_t     *ctx;
     ngx_msec_int_t           ms;
     u_char                  *p;
+#if !(defined freenginx && nginx_version >= 1029000)
     ngx_time_t              *tp;
+#endif
     size_t                   size;
 
     ctx = ngx_http_get_module_ctx(r, ngx_http_echo_module);
@@ -32,10 +34,15 @@ ngx_http_echo_timer_elapsed_variable(ngx
         ngx_http_set_ctx(r, ctx, ngx_http_echo_module);
     }
 
+#if (defined freenginx && nginx_version >= 1029000)
+    if (ctx->timer_begin == 0)
+        ctx->timer_begin = r->start_time;
+#else
     if (ctx->timer_begin.sec == 0) {
         ctx->timer_begin.sec  = r->start_sec;
         ctx->timer_begin.msec = (ngx_msec_t) r->start_msec;
     }
+#endif
 
     /* force the ngx timer to update */
 
@@ -45,6 +52,10 @@ ngx_http_echo_timer_elapsed_variable(ngx
     ngx_time_update(0, 0);
 #endif
 
+#if (defined freenginx && nginx_version >= 1029000)
+    ms = (ngx_msec_int_t) (ngx_current_msec - ctx->timer_begin);
+#else
+
     tp = ngx_timeofday();
 
     dd("old sec msec: %ld %d\n", (long) ctx->timer_begin.sec,
@@ -55,6 +66,7 @@ ngx_http_echo_timer_elapsed_variable(ngx
     ms = (ngx_msec_int_t)
              ((tp->sec - ctx->timer_begin.sec) * 1000 +
               (tp->msec - ctx->timer_begin.msec));
+#endif
     ms = (ms >= 0) ? ms : 0;
 
     size = sizeof("-9223372036854775808.000") - 1;
@@ -89,7 +101,11 @@ ngx_http_echo_exec_echo_reset_timer(ngx_
     ngx_time_update(0, 0);
 #endif
 
+#if (defined freenginx && nginx_version >= 1029000)
+    ctx->timer_begin = ngx_current_msec;
+#else
     ctx->timer_begin = *ngx_timeofday();
+#endif
     return NGX_OK;
 }
 
