diff --git a/.chglog/CHANGELOG.tpl.md b/.chglog/CHANGELOG.tpl.md
new file mode 100755
index 0000000..936842d
--- /dev/null
+++ b/.chglog/CHANGELOG.tpl.md
@@ -0,0 +1,41 @@
+{{ if .Versions -}}
+
+## [Unreleased]
+
+{{ if .Unreleased.CommitGroups -}}
+{{ range .Unreleased.CommitGroups -}}
+### {{ .Title }}
+{{ range .Commits -}}
+- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{ range .Versions }}
+## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
+{{ range .CommitGroups -}}
+### {{ .Title }}
+{{ range .Commits -}}
+- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{- if .Versions }}
+[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
+{{ range .Versions -}}
+{{ if .Tag.Previous -}}
+[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
diff --git a/.chglog/config.yml b/.chglog/config.yml
new file mode 100755
index 0000000..011d4ca
--- /dev/null
+++ b/.chglog/config.yml
@@ -0,0 +1,27 @@
+style: github
+template: CHANGELOG.tpl.md
+info:
+ title: CHANGELOG
+ repository_url: https://github.com/vozlt/nginx-module-vts
+options:
+ commits:
+ # filters:
+ # Type:
+ # - feat
+ # - fix
+ # - perf
+ # - refactor
+ commit_groups:
+ # title_maps:
+ # feat: Features
+ # fix: Bug Fixes
+ # perf: Performance Improvements
+ # refactor: Code Refactoring
+ header:
+ pattern: "^(\\w*)\\:\\s(.*)$"
+ pattern_maps:
+ - Type
+ - Subject
+ notes:
+ keywords:
+ - BREAKING CHANGE
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..3c308b1
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,321 @@
+
+## [Unreleased]
+
+### Bugfix
+- fixed for PR[#238](https://github.com/vozlt/nginx-module-vts/issues/238)
+- fixed for PR[#238](https://github.com/vozlt/nginx-module-vts/issues/238)
+- fixed issues/204 that syntax error has occured
+- rollback to 549cc4d
+- fixed issues/137, issues/98 that maxSize in cacheZones is displayed incorrectly
+- fixed issues/174 that XSS vulnerability in the html page Feature: added moduleVersion field in format/json
+- added escape strings for filter names in JSON
+- fixed the sum value of histogram in upstream metrics
+- fixed to display all A records of server without zone directive in the upstream block.
+
+### Comment
+- added moduleVersion
+- added additional information about cacheZones
+- added tested versions
+- added a diagram for the order of module directives
+
+### Compatibility
+- fixed ngx_http_vhost_traffic_status_display_get_upstream_nelts() to calculate all A records of server.
+
+### Docs
+- Fix README
+
+### Docs
+- fix simple typo, destory -> destroy
+
+### Fix
+- limit the r->uri search scope to avoid overflow
+
+### Prometheus
+- fix nginx_vts_filter_requests_total labels
+- remove request "total" metrics
+
+### Refactor
+- changed version
+- changed spacing
+- changed spacing
+- changed if statement from merged pull/145
+
+### Test
+- describe how to test and fix failed test case
+
+
+## [v0.1.18] - 2018-06-22
+### Bugfix
+- fixed issues/130 that nginx_vts_main_connections metrics mixed
+- fixed for issues/129 that worker process 4589 exited on signal 11
+
+### Tag
+- v0.1.18
+
+
+## [v0.1.17] - 2018-06-20
+### Comment
+- added overCounts object explanation
+- added additional explanation of vhost_traffic_status_zone
+
+### Compatibility
+- added "#if (NGX_HTTP_CACHE)" for the issues/122
+
+### Delete
+- a.diff
+
+### Feature
+- added TiB unit in format/html for the issues/111
+- added vhost_traffic_status_filter_max_node directive to limit the size of filters
+- added the histogram type of request processing time in format/json
+- added vhost_traffic_status_histogram_buckets directive to set the histogram type of request processing time in format/prometheus
+- added support for implementing format/prometheus
+- added request_time_counter, response_time_counter section to support accumulated request processing time for pull/67, issues/73
+
+### Tag
+- v0.1.17
+
+
+## [v0.1.16] - 2018-05-21
+### Compatibility
+- fixed ngx_current_msec that changed in nginx-1.13.10 for the issues/121
+
+### Fix
+- nginx will crash at vts module when configure file has no http block
+- nginx will crash at vts module when configure file has no http block
+
+### Tag
+- v0.1.16
+
+
+## [v0.1.15] - 2017-06-20
+### Bugfix
+- fixed issues/79 that does not exited at "worker process is shutting down"
+- fixed issues/79 that does not exited at "worker process is shutting down"
+
+### Comment
+- fixed to be compatible with version 0.27-gfm
+
+### Compatibility
+- fixed goto label location for the issues/77
+- fixed some issues for the nginx-module-sts/issues/1
+- fixed "#define" macro to char array for the nginx-module-sts/issues/1
+
+### Feature
+- changed ngx_http_vhost_traffic_status_node_time_queue_merge()
+- added vhost_traffic_status_dump to maintain statistics data permanently
+- added period parameter in vhost_traffic_status_average_method directive to change the average value after the elapse of time
+
+### Fix
+- it is actually aam
+
+### Tag
+- v0.1.15
+
+
+## [v0.1.14] - 2017-03-21
+### Comment
+- added the use cases & fixed vhost_traffic_status_bypass_(limit|stats) usage
+
+### Compatibility
+- added segfault prevent routine for the issues/75
+
+### Feature
+- added shared memory section to support shared memory information
+- added vhost_traffic_status_average_method to support for selecting an average formula
+- added sharedZones in JSON to support shared memory information
+
+
+## [v0.1.13] - 2017-03-07
+### Bugfix
+- fixed issues/(71|72) worker process exited on signal 11
+
+### Comment
+- added nginx-vts-exporter & nginx-module-sysguard
+- added stream status modules
+- added modules nginx-module-sts and nginx-module-stream-sts
+
+### Compatibility
+- added "#if (NGX_HTTP_CACHE)"
+
+### Feature
+- added vhost_traffic_status_set_by_filter to support stats values access Feature: added "::main" in control to get only default status values
+- added vhost_traffic_status_display_sum_key for issues/61
+- added vhost_traffic_status_display_sum_key for issues/61
+
+### Refactor
+- javascript tidy
+
+
+## [v0.1.12] - 2017-02-08
+### Feature
+- added hostname section for issues/37
+- added request_time section for issues/(43|57)
+- added request_time section for issues/(43|57)
+- added request_time section for issues/(43|57)
+
+### Refactor
+- divided the source code
+
+
+## [v0.1.11] - 2016-11-09
+### Bugfix
+- fixed issues/56 that worker process exited on signal 11 if running control query without group argument or nonexistent group
+- fixed issues/52 that worker process exited on signal 11
+- fixed issues/6 that occured error(handler::shm_add_upstream() failed) when using fastcgi_pass $variables
+- fixed issues/45 that occurred segfault when balancer_by_lua breaks
+
+### Compatibility
+- changed for issues/49 that occured errors when using compile with clang -Werror,-Wtautological-pointer-compare in osx os.
+- changed for issues/47 that occured errors when using compile with -Werror(Make all warnings into errors). The number returned by ngx_http_vhost_traffic_status_max_integer() consist of string without the suffix ULL(unsigned long long int).
+
+### Tag
+- v0.1.11
+- v0.1.10
+
+
+## [v0.1.10] - 2016-03-24
+### Bugfix
+- initialize a variable(filter->filter_name.flushes) for issues/35 that worker process exited on signal 11
+
+### Compatibility
+- added dynamic module build option for --add-dynamic-module in nginx 1.9.11
+
+
+## [v0.1.9] - 2016-03-01
+### Bugfix
+- initialize a variable(filter->filter_name.value.len) for issues/33 that occurred segfault when running "nginx -s reload"
+
+### Exception
+- return NGX_CONF_ERROR if failed ngx_http_vhost_traffic_status_filter_unique()
+
+### Feature
+- added vhost_traffic_status_display_jsonp to support JSONP
+- added vhost_traffic_status_display_jsonp to support JSONP
+
+### Refactor
+- changed function names from ngx_vhost_* to ngx_http_vhost_*
+
+
+## [v0.1.8] - 2015-12-15
+### Feature
+- added support for implementing the feature that upstream peers use shared memory.(upstream zone directive)
+
+
+## [v0.1.7] - 2015-12-11
+### Bugfix
+- fixed issues/28 that can't use control functionality if location has more than a segment
+
+### Comment
+- fixed spelling
+
+### Compatibility
+- changed for issues/27 that error occurred(comparison of integers of different signs)
+
+### Feature
+- added support for implementing traffic limit.
+
+
+## [v0.1.6] - 2015-11-25
+### Feature
+- added support for implementing variables for current traffic status values. It is starting with a $vts_*.
+
+
+## [v0.1.5] - 2015-11-23
+### Bugfix
+- fixed to work escape_json in ngx_http_vhost_traffic_status_display_set_filter_node()
+
+### Compatibility
+- changed for issues/27 that ngx_vhost_traffic_status_group_to_string() macro is an error when using -Wstring-plus-int at clang compiler.
+
+
+## [v0.1.4] - 2015-11-04
+### Comment
+- fixed spelling
+- fixed spelling
+- fixed spelling
+
+### Compatibility
+- fixed unused variables
+
+### Feature
+- added vhost_traffic_status_filter to globally enable or disable the filter features. Feature: fixed vhost_traffic_status_filter_by_host to globally enable or disable. Feature: fixed vhost_traffic_status_filter_by_set_key to calculate user defined individual stats. Basically, country flags image is built-in in HTML. Feature: added vhost_traffic_status_filter_check_duplicate for deduplication of vhost_traffic_status_filter_by_set_key. Feature: added update interval in HTML.
+
+
+## [v0.1.3] - 2015-10-21
+### Bugfix
+- stats for cached responses with error_page directive do not create a cache file
+
+### Feature
+- added vhost_traffic_status_filter_by_host, vhost_traffic_status_filter_by_set_key directive to set the dynamically keys
+
+### Tag
+- v0.1.2
+
+
+## [v0.1.2] - 2015-09-03
+### Bugfix
+- added cache variable's lock routine in ngx_http_vhost_traffic_status_shm_add_cache() for issues/19
+
+### Comment
+- added donation button
+- added uptime calculation
+- added the customizing
+- added the customizing
+- added the caveats
+
+### Compatibility
+- added overflow handling routines of variables. It deals with the overflow of both 32bit and 64bit variables but I think that not be useful in 64bit variable(Max:16EB) at this moment.
+
+
+## [v0.1.1] - 2015-05-28
+### Feature
+- cache status support when using the proxy_cache directive
+
+
+## v0.1.0 - 2015-05-28
+### Bugfix
+- added the uscf found routine in ngx_http_vhost_traffic_status_shm_add_upstream() for issues/6
+- added default server_name "_" in ngx_http_vhost_traffic_status_shm_add_server(), if the server_name directive is not defined
+- added ngx_escape_json() in ngx_http_vhost_traffic_status_display_set_server() for the regular expressions names of server_name directive
+- added compare upstream hash. It does not updated upstream peers status so I have fixed it.
+- removed a reference(*shm_zone) in ngx_http_vhost_traffic_status_ctx_t.
+- changed the obtaining ms of phase for the keeping reference.
+- changed a reference from vtsn->stat_upstream.rtms to vtscf->vtsn_upstream->stat_upstream.rtms. It is referred to as non-existent reference after kept a reference.
+
+### Comment
+- added the table of contents
+
+### Compatibility
+- added response_time for the nginx v1.9.1(http://hg.nginx.org/nginx/rev/59fc60585f1e)
+- changed the position of nginx.h to avoid compile error on windows at v1.7.12
+- added ngx_http_vhost_traffic_status_escape_json() for less than 1.7.9
+
+### Refactor
+- changed NGX_CONF_UNSET to 0 for uint32_t
+- changed uptime output from issue(pull/4#issuecomment-77839027)
+- added ngx_log_error() in ngx_http_vhost_traffic_status_handler()
+- changed length of key
+- changed from (ngx_atomic_t) to (ngx_atomic_uint_t) in the ngx_vhost_traffic_status_node_init() and ngx_vhost_traffic_status_node_set() for compile compatibility
+- added type casting(ngx_atomic_t) in the ngx_vhost_traffic_status_node_init() and ngx_vhost_traffic_status_node_set()
+
+
+[Unreleased]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.18...HEAD
+[v0.1.18]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.17...v0.1.18
+[v0.1.17]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.16...v0.1.17
+[v0.1.16]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.15...v0.1.16
+[v0.1.15]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.14...v0.1.15
+[v0.1.14]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.13...v0.1.14
+[v0.1.13]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.12...v0.1.13
+[v0.1.12]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.11...v0.1.12
+[v0.1.11]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.10...v0.1.11
+[v0.1.10]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.9...v0.1.10
+[v0.1.9]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.8...v0.1.9
+[v0.1.8]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.7...v0.1.8
+[v0.1.7]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.6...v0.1.7
+[v0.1.6]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.5...v0.1.6
+[v0.1.5]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.4...v0.1.5
+[v0.1.4]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.3...v0.1.4
+[v0.1.3]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.2...v0.1.3
+[v0.1.2]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.1...v0.1.2
+[v0.1.1]: https://github.com/vozlt/nginx-module-vts/compare/v0.1.0...v0.1.1
diff --git a/Changes b/Changes
deleted file mode 100644
index 1613d8a..0000000
--- a/Changes
+++ /dev/null
@@ -1,184 +0,0 @@
-v0.1.18 [Fri Jun 22 2018 YoungJoo.Kim ]
- * Bugfix: fixed issues/130 that nginx_vts_main_connections metrics mixed.
-
- * Bugfix: fixed issues/129 that worker process 4589 exited on signal 11.
-
-v0.1.17 [Wed Jun 20 2018 YoungJoo.Kim ]
- * Feature: added vhost_traffic_status_filter_max_node directive
- to limit the size of filters.
-
- * Feature: added vhost_traffic_status_histogram_buckets directive
- to set the histogram type of request processing time in
- format/(json|prometheus).
-
- * Feature: added support for implementing format/prometheus.
- Thanks to hnlq715, pavel987, superq, discordianfish, towolf.
-
- * Feature: added request_time_counter, response_time_counter section to
- support accumulated request processing time for pull/67, issues/73.
-
- * Feature: added TiB unit in format/html for the issues/11
-
- * Compatibility: added "#if (NGX_HTTP_CACHE)" for the issues/122.
-
-v0.1.16 [Mon May 21 2018 YoungJoo.Kim ]
- * Compatibility: fixed ngx_current_msec that changed in nginx-1.13.10 for
- the issues/121.
-
- * Feature: upstream server state is changed to the actual state when using
- upstream zone directive by pull/112.
- Thanks to oleg-jukovec.
-
- * Bugfix: nginx will crash at vts module when configure file has no http
- block by pull/92.
- Thanks to gemfield.
-
-v0.1.15 [Tue Jun 20 2017 YoungJoo.Kim ]
- * Feature: changed ngx_http_vhost_traffic_status_node_time_queue_merge()
-
-v0.1.14 [Tue Mar 21 2017 YoungJoo.Kim ]
- * Bugfix: fixed issues/76 worker process exited on signal 11
-
- * Feature: added sharedZones in JSON to support shared memory information
-
- * Feature: added vhost_traffic_status_average_method to support for
- selecting an average formula
-
- * Feature: added vhost_traffic_status_bypass_stats to support
- the stats ignoring
-
- * Feature: added vhost_traffic_status_bypass_limit to support
- the limit ignoring
-
- * Compatibility: added segfault prevent routine for the issues/75
-
-v0.1.13 [Mon Mar 06 2017 YoungJoo.Kim ]
- * Feature: added vhost_traffic_status_set_by_filter to support
- stats values access
-
- * Feature: added "::main" in control to get only default status values
-
- * Feature: added the stream status modules at new repository
- https://github.com/vozlt/nginx-module-sts
- https://github.com/vozlt/nginx-module-stream-sts
-
- * Bugfix: fixed issues/(71|72) worker process exited on signal 11
-
-v0.1.12 [Tue Feb 07 2017 YoungJoo.Kim ]
- * Feature: added request_time, request_times sections for
- issues/(43|57) and pull/67
-
- * Feature: added hostname section for issues/37
-
- * Refactor: divided the source code because of too big
-
-v0.1.11 [Wed Nov 09 2016 YoungJoo.Kim ]
- * Bugfix: fixed issues/56 that worker process exited on signal 11
- if running control query without group argument or nonexistent group
-
- * Bugfix: fixed issues/52 that worker process exited on signal 11
-
- * Compatibility: changed for issues/49 that occured errors when
- using compile with clang -Werror,-Wtautological-pointer-compare in
- osx os.
-
- * Compatibility: changed for issues/47 that occured errors when
- using compile with -Werror(Make all warnings into errors). The
- number returned by ngx_http_vhost_traffic_status_max_integer()
- consist of string without the suffix ULL(unsigned long long int).
-
- * Bugfix: fixed issues/6 that occured error(handler::shm_add_upstream()
- failed) when using fastcgi_pass $variables
-
- * Bugfix: fixed issues/45 that occurred segfault when
- balancer_by_lua breaks
-
-v0.1.10 [Sun Jul 17 2016 YoungJoo.Kim ]
- * Bugfix: initialize a variable(filter->filter_name.flushes)
- for issues/35 that worker process exited on signal 11
-
- * Compatibility: added dynamic module build option for
- --add-dynamic-module in nginx 1.9.11
-
- * Bugfix: initialize a variable(filter->filter_name.value.len)
- for issues/33 that occurred segfault when running "nginx -s reload"
-
- * Exception: return NGX_CONF_ERROR if failed
- ngx_http_vhost_traffic_status_filter_unique()
-
-v0.1.9 [Fri Feb 26 2016 YoungJoo.Kim ]
- * Feature: added vhost_traffic_status_display_jsonp
- to support JSONP
-
- * Refactor: changed function names from ngx_vhost_*
- to ngx_http_vhost_*
-
-v0.1.8 [Tue Dec 15 2015 YoungJoo.Kim ]
- * Feature: added support for implementing the feature that
- upstream peers use shared memory.(upstream zone directive)
-
-v0.1.7 [Fri Dec 11 2015 YoungJoo.Kim ]
- * Bugfix: fixed issues/28 that can't use control functionality
- if location has more than a segment.
-
- * Feature: added support for implementing traffic limit.
-
-v0.1.6 [Tue Nov 25 2015 YoungJoo.Kim ]
- * Feature: added support for implementing variables for
- current traffic status values. It is starting with a $vts_*.
-
-v0.1.5 [Fri Nov 20 2015 YoungJoo.Kim ]
- * Bugfix: fixed issues/26 that the each diffrent proxy
- caches are used by single zone(key).
-
- * Bugfix: changed the way for key generation because of
- the serverZones and cacheZones is likely to duplicate.
-
- * Feature: added support for implementing a functions
- to reset, delete, status for zones through an http
- request on the fly without nginx's restart.
-
- * Refactor: removed overlapping routine and merged into
- functions.
-
-v0.1.4 [Mon Nov 02 2015 YoungJoo.Kim ]
- * Feature: added vhost_traffic_status_filter
- to globally enable or disable the filter features.
-
- * Feature: fixed vhost_traffic_status_filter_by_host
- to globally enable or disable.
-
- * Feature: fixed vhost_traffic_status_filter_by_set_key
- to calculate user defined individual stats.
- Basically, country flags image is built-in in HTML.
-
- * Feature: added vhost_traffic_status_filter_check_duplicate
- for deduplication of vhost_traffic_status_filter_by_set_key.
-
- * Feature: added update interval in HTML.
-
-v0.1.3 [Wed Oct 21 2015 YoungJoo.Kim ]
- * Bugfix: stats for cached responses with error_page
- directive do not create a cache file by pull/23
- Thanks to Wandenberg Peixoto.
-
- * Feature: added vhost_traffic_status_filter_by_host,
- vhost_traffic_status_filter_by_set_key directive
- to set the dynamically keys for issues/24.
- Thanks to Pauli Jokela for suggestion this work.
-
-v0.1.2 [Wed Sep 23 2015 YoungJoo.Kim ]
- * Bugfix: added cache variable's lock routine in
- ngx_http_vhost_traffic_status_shm_add_cache() for issues/19
-
- * Compatibility: added overflow handling routines of variables.
- It deals with the overflow of both 32bit and 64bit variables
- but I think that not be useful in 64bit variable(Max:16EB) at this moment.
-
-v0.1.1 [Thu May 28 2015 YoungJoo.Kim ]
- * Feature: cache status support when using the proxy_cache directive.
-
-v0.1.0 [Thu May 28 2015 YoungJoo.Kim ]
- * The first version.
-
-# vi:set ft=changelog ts=4 sw=4 et fdm=marker: