Skip to content

Releases: nginx-clojure/nginx-clojure

0.6.0 2023-03-18

18 Mar 15:58
Compare
Choose a tag to compare

0.6.0 (2023-03-18)

  1. New Feature: #270 All handlers can be used at http & server context
  2. New Feature: #272 Support Nginx 1.23.X where some internals have been changed
  3. New Feature: #250 Support to use jdk19 built-in coroutine viz. Continuation
  4. Binaries Distribution: Built with Nginx v1.23.3
  5. Documents: Add build notes for nginx-clojure-embed

0.5.3 2022-03-10

10 Mar 03:13
Compare
Choose a tag to compare

0.5.3 (2022-03-10)

  1. Bug Fix: #256 NginxClojureAsynSocket isClosed is not return correct result
  2. Binaries Distribution: Built with Nginx v1.20.2

0.5.2 2020-12-23

23 Dec 15:01
Compare
Choose a tag to compare

0.5.2 (2020-12-23)

  1. Bug Fix: #234 Try to fix no response when NGX_AGAIN return at next header filter
  2. Bug Fix: #233 Fix compiler warnings when there's no zlib found
  3. Enhancement: Delayed update to improve setVariable/set-ngx-var! performance at thread-pool mode
  4. Example Project: Add an example project for Jersey & Spring DI
  5. Example Project: Add example for integration with Spring framework
  6. Binaries Distribution: Built with Nginx v1.18.0

0.5.1 2019-11-23

23 Nov 06:45
Compare
Choose a tag to compare

0.5.1 (2019-11-23)

  1. Bug Fix: Connection hangs with header filter at thread-pool mode #209 #153
  2. Bug Fix: Body filter hangs when body size is larger than the value specified in proxy_buffers #219
  3. Bug Fix: Segment fault caused by request is marked as closed too late #222
  4. Code Style: Fix generic warnings in java code code-style #223 (Thanks to Michael @mgoblin)
  5. Bug Fix: NPE caused by damaged memory because unsafe modify response headers #198
  6. Bug Fix: Wrong response for uncompressed message with PMCE enabled #163
  7. CI: both auto-triggered unit test and integration test use travis-ci

0.5.0 2019-10-26

26 Oct 16:16
Compare
Choose a tag to compare

0.5.0 (2019-10-26)

  1. New Feature: Java 9, 10, 11, 12 support. But Java 6 and Java 7 are deprecated now.
  2. New Feature: Log handler
  3. New Feature: HTTP V2 support (thanks to Nginx v1.14.2)
  4. Bug Fix: Memory leak with file handler #180
  5. Bug Fix: Zero buffer error when hijack_send empty string #181
  6. Bug Fix: Mysql driver issue about jdbc4 flag
  7. Bug Fix: ContainsKey of nginx shared map
  8. Bug Fix: NginxRequest.setVariable in a rewrite handler will hang
  9. Bug Fix: Segmentation fault on shutdown
  10. Bug Fix: Make clojure request map immutable for compojure
  11. Enhancement: API for discarding request body (request.discardRequestBody())
  12. Enhancement: Coroutine support for cascade constructor invoking
  13. Enhancement: Configurable headers/variables prefetch for more safety in multithreaded mode
  14. Binaries Distribution: built with Nginx v1.14.2

0.4.5 2017-05-28

28 May 16:30
Compare
Choose a tag to compare

0.4.5 (2017-05-28)

  1. New Feature: Support to be compiled as Nginx dynamic module, thanks to Andrew Hutchings
  2. Bug Fix: Cannot add multiple Cookies in a response
  3. Bug Fix: Too many empty chunks are passed to Body filter & some body data lost
  4. Enhancement: [Nginx-Jersey] Support jersey application sub class
  5. Enhancement: Try to use enviroment variable JAVA_HOME to detect jvm when jvm_path is auto
  6. Enhancement: NginxSharedHashMap.keySet/values/entrySet for debug/test usage.
  7. Bug Fix: Can not use more than two shared maps.
  8. Bug Fix: NullPointerExecption will happen when multiple rewrite handlers are invoked for one request
  9. Bug Fix: Can't access ring request data in Sente handler. (content_handler_property fore-prefetch-all-properties true;)
  10. Enhancement: Compile against Nginx 1.11 & Nginx 1.12
  11. Bug Fix: Nginx reload will cause connection reset without response
  12. Bug Fix: Header filter can not change response status from upstream
  13. Bug Fix: body filters sometimes crash under thread pool mode
  14. Binaries Distribution: built with the latest stable Nginx v1.12.0 & openssl v1.1.0e

v0.4.4 2016-03-04

04 Mar 15:25
Compare
Choose a tag to compare

0.4.4 (2016-03-04)

  1. New Feature: experimental nginx body filter by Java/Clojure/Groovy (issue #107)
  2. New Feature: read request body by event callback (issue #109)
  3. Bug Fix: 500 (internal server error) returns when committing 2000+ files to nginx as a proxy for apache mod_dav_svn (issue #106)

v0.4.3 2015-10-25

25 Oct 17:14
Compare
Choose a tag to compare

0.4.3 (2015-10-25)

  1. New Feature: Add directive jvm_classpath which supports wildcard character * (issue #95)
  2. New Feature: Add directive jvm_classpath_check which is enabled by default and when it is enabled access permission about classpaths will be checked.
  3. New Feature: Add NginxPubSubTopic(Java)/PubSubTopic(Clojure) to simplify handling messages among Nginx worker processes. (issue #97)
  4. New Feature: Shared Map based on shared memory (issue #96) and it has two implementations : tinymap & hashmap.
  5. New Feature: Shared Map based Ring session store (issue #98)
  6. Enhancement: on-broadcast-event-decode!/on-broadcast! returns a removal function which can be used to remove the registered decoder/listener
  7. Enhancement: embedded nginx-clojure becomes friendly to mock tests and also fix issue #101
  8. Bug Fix: After stopping an embedded Nginx-Clojure server keep-alived connections become CLOSE_WAIT.
  9. Bug Fix: HackUtil.decode decodes unnecessary chars when several strings share one char[] generally on JDK 6
  10. Bug Fix: jvm crashes with thread pool mode when open_file_cache is enabled.
  11. Bug Fix: Fix compile errors when no sha1-implementation/zlib can be found (issue #99)
  12. 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)
  13. Documents: Add Directives Reference

v0.4.2 2015-08-31

01 Sep 02:47
Compare
Choose a tag to compare

0.4.2 (2015-08-31)

  1. New Feature: Support Sente (issue #87, see this PR)
  2. New Feature: Per-message Compression Extensions (PMCEs) for WebSocket (issue #88)
  3. New Feature: Add add-aggregated-listener! to makes handling small but fragmented websocket messages easier by clojure.
  4. Enhancement: Support to build on a Linux ARM machine
  5. Bug Fix: WebSocket and Server Channel do not Work with Some Ring Middlewares (issue #89)
  6. Bug Fix: Autodetect jvm_path doesn't work sometimes

APIs for Embedding, Autodetect jvm_path, Unix domain socket and etc.

12 Aug 17:48
Compare
Choose a tag to compare

0.4.1 (2015-08-12)

  1. New Feature: Coroutine based socket supports unix domain socket
  2. New Feature: APIs for Embedding Nginx-Clojure into a standard Clojure/Java/Groovy App (issue #86)
  3. New Feature: Autodetect jvm_path (issue #85)
  4. New Feature: Support to use annotation to mark a class or method to be suspenable in coroutine context (issue #84)
  5. Enhancement: Auto send error when meets a non websocket request with auto_upgrade_ws is on
  6. Enhancement: Add websocket-upgrade! to server channel API
  7. Enhancement: Add WholeMessageAdapter to make handling small websocket messages easier.
  8. Bug Fix: NginxHttpServerChannel.write(ByteBuffer buf) does not reset the buffer's position (issue #83)
  9. Bug Fix: No access to tomcat server 8.24 from nginx-clojure (issue #82)
  10. Binaries Distribution: Including some java sources for easy debug.
  11. Build Script: Autodetect JNI header files