Releases: nginx-clojure/nginx-clojure
Releases · nginx-clojure/nginx-clojure
v0.6.1-alpha
0.6.0-alpha (2024-05-13)
- New Feature: #282 Directives for jvm int/exit handler properties
- New Feature: #283 Enable coroutine context for invoking config method of a handler with coroutine mode
- New Feature: #284 Rewrite handlers can add/update request headers
- New Feature: #286 Support load-balancing handler
- New Feature: #294 Support Nginx 1.25.0
- Bug Fix: #279 Java.lang.VerifyError
- Bug Fix: #280 NginxSharedHashMap.atomicAddLong returns wrong value when value is very large
- Bug Fix: #281 Remote debug issue on jdk13+ with coroutine mode
- Bug Fix: #302 Error: undeclared "lcf" during installation
This alpha version has no offical binary distribution.
0.6.0 2023-03-18
0.6.0 (2023-03-18)
- New Feature: #270 All handlers can be used at http & server context
- New Feature: #272 Support Nginx 1.23.X where some internals have been changed
- New Feature: #250 Support to use jdk19 built-in coroutine viz. Continuation
- Binaries Distribution: Built with Nginx v1.23.3
- Documents: Add build notes for nginx-clojure-embed
0.5.3 2022-03-10
0.5.3 (2022-03-10)
- Bug Fix: #256 NginxClojureAsynSocket isClosed is not return correct result
- Binaries Distribution: Built with Nginx v1.20.2
0.5.2 2020-12-23
0.5.2 (2020-12-23)
- Bug Fix: #234 Try to fix no response when NGX_AGAIN return at next header filter
- Bug Fix: #233 Fix compiler warnings when there's no zlib found
- Enhancement: Delayed update to improve setVariable/set-ngx-var! performance at thread-pool mode
- Example Project: Add an example project for Jersey & Spring DI
- Example Project: Add example for integration with Spring framework
- Binaries Distribution: Built with Nginx v1.18.0
0.5.1 2019-11-23
0.5.1 (2019-11-23)
- Bug Fix: Connection hangs with header filter at thread-pool mode #209 #153
- Bug Fix: Body filter hangs when body size is larger than the value specified in proxy_buffers #219
- Bug Fix: Segment fault caused by request is marked as closed too late #222
- Code Style: Fix generic warnings in java code code-style #223 (Thanks to Michael @mgoblin)
- Bug Fix: NPE caused by damaged memory because unsafe modify response headers #198
- Bug Fix: Wrong response for uncompressed message with PMCE enabled #163
- CI: both auto-triggered unit test and integration test use travis-ci
0.5.0 2019-10-26
0.5.0 (2019-10-26)
- New Feature: Java 9, 10, 11, 12 support. But Java 6 and Java 7 are deprecated now.
- New Feature: Log handler
- New Feature: HTTP V2 support (thanks to Nginx v1.14.2)
- Bug Fix: Memory leak with file handler #180
- Bug Fix: Zero buffer error when hijack_send empty string #181
- Bug Fix: Mysql driver issue about jdbc4 flag
- Bug Fix: ContainsKey of nginx shared map
- Bug Fix: NginxRequest.setVariable in a rewrite handler will hang
- Bug Fix: Segmentation fault on shutdown
- Bug Fix: Make clojure request map immutable for compojure
- Enhancement: API for discarding request body (request.discardRequestBody())
- Enhancement: Coroutine support for cascade constructor invoking
- Enhancement: Configurable headers/variables prefetch for more safety in multithreaded mode
- Binaries Distribution: built with Nginx v1.14.2
0.4.5 2017-05-28
0.4.5 (2017-05-28)
- New Feature: Support to be compiled as Nginx dynamic module, thanks to Andrew Hutchings
- Bug Fix: Cannot add multiple Cookies in a response
- Bug Fix: Too many empty chunks are passed to Body filter & some body data lost
- Enhancement: [Nginx-Jersey] Support jersey application sub class
- Enhancement: Try to use enviroment variable JAVA_HOME to detect jvm when jvm_path is auto
- Enhancement: NginxSharedHashMap.keySet/values/entrySet for debug/test usage.
- Bug Fix: Can not use more than two shared maps.
- Bug Fix: NullPointerExecption will happen when multiple rewrite handlers are invoked for one request
- Bug Fix: Can't access ring request data in Sente handler. (content_handler_property fore-prefetch-all-properties true;)
- Enhancement: Compile against Nginx 1.11 & Nginx 1.12
- Bug Fix: Nginx reload will cause connection reset without response
- Bug Fix: Header filter can not change response status from upstream
- Bug Fix: body filters sometimes crash under thread pool mode
- Binaries Distribution: built with the latest stable Nginx v1.12.0 & openssl v1.1.0e
v0.4.4 2016-03-04
v0.4.3 2015-10-25
0.4.3 (2015-10-25)
- New Feature: Add directive jvm_classpath which supports wildcard character * (issue #95)
- New Feature: Add directive jvm_classpath_check which is enabled by default and when it is enabled access permission about classpaths will be checked.
- New Feature: Add NginxPubSubTopic(Java)/PubSubTopic(Clojure) to simplify handling messages among Nginx worker processes. (issue #97)
- New Feature: Shared Map based on shared memory (issue #96) and it has two implementations : tinymap & hashmap.
- New Feature: Shared Map based Ring session store (issue #98)
- Enhancement: on-broadcast-event-decode!/on-broadcast! returns a removal function which can be used to remove the registered decoder/listener
- Enhancement: embedded nginx-clojure becomes friendly to mock tests and also fix issue #101
- Bug Fix: After stopping an embedded Nginx-Clojure server keep-alived connections become CLOSE_WAIT.
- Bug Fix: HackUtil.decode decodes unnecessary chars when several strings share one char[] generally on JDK 6
- Bug Fix: jvm crashes with thread pool mode when open_file_cache is enabled.
- Bug Fix: Fix compile errors when no sha1-implementation/zlib can be found (issue #99)
- Example Project: Add an example project about clojure web dev to show how to develop & deploy with Nginx-Clojure. Thanks to Peter Taoussanis without whose
comments there would not be such example project. (issue #91) - Documents: Add Directives Reference
v0.4.2 2015-08-31
0.4.2 (2015-08-31)
- New Feature: Support Sente (issue #87, see this PR)
- New Feature: Per-message Compression Extensions (PMCEs) for WebSocket (issue #88)
- New Feature: Add
add-aggregated-listener!
to makes handling small but fragmented websocket messages easier by clojure. - Enhancement: Support to build on a Linux ARM machine
- Bug Fix: WebSocket and Server Channel do not Work with Some Ring Middlewares (issue #89)
- Bug Fix: Autodetect jvm_path doesn't work sometimes