Skip to content

Commit 67e2795

Browse files
committed
prepare for v0.4.5
1 parent 1476fe0 commit 67e2795

10 files changed

+255
-368
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
/bin
2+
/.lein-repl-history
3+
/target/

CoreFeatures.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Core Features
22
=================
33

4-
The latest release is v0.4.4, more detail changes about it can be found from [Release History](//nginx-clojure.github.io/downloads.html).
4+
The latest release is v0.4.5, more detail changes about it can be found from [Release History](//nginx-clojure.github.io/downloads.html).
55

66
1. Compatible with [Ring](https://github.com/ring-clojure/ring/blob/master/SPEC) and obviously supports those Ring based frameworks, such as Compojure etc.
77
1. Http Services by using Clojure / Java / Groovy to write simple handlers for http services.
@@ -24,7 +24,7 @@ With this feature one java main thread can handle thousands of connections.
2424
1. Long Polling & Server Sent Events
2525
1. Run initialization clojure code when nginx worker starting
2626
1. Support user defined http request method
27-
1. Compatible with the Nginx lastest stable version 1.8.0. (Nginx 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)
27+
1. Compatible with the Nginx lastest stable version 1.12.0. (Nginx 1.8.x, Nginx 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)
2828
1. One of benifits of [Nginx](http://nginx.org/) is worker processes are automatically restarted by a master process if they crash
2929
1. Utilizes lazy headers and direct memory operation between [Nginx](http://nginx.org/) and JVM to fast handle dynamic contents from Clojure or Java code.
3030
1. Utilizes [Nginx](http://nginx.org/) zero copy file sending mechanism to fast handle static contents controlled by Clojure or Java code.
@@ -43,19 +43,19 @@ Nginx-Clojure has already been published to https://clojars.org/ whose maven rep
4343
</repository>
4444
```
4545

46-
After adding clojars repository, you can reference nginx-clojure 0.4.4 , e.g.
46+
After adding clojars repository, you can reference nginx-clojure 0.4.5 , e.g.
4747

4848
Leiningen (clojure, no need to add clojars repository which is a default repository for Leiningen)
4949
-----------------
5050

5151
```clojure
52-
[nginx-clojure "0.4.4"]
52+
[nginx-clojure "0.4.5"]
5353
```
5454
Gradle (groovy/java)
5555
-----------------
5656

5757
```
58-
compile "nginx-clojure:nginx-clojure:0.4.4"
58+
compile "nginx-clojure:nginx-clojure:0.4.5"
5959
```
6060
Maven
6161
-----------------
@@ -64,7 +64,7 @@ Maven
6464
<dependency>
6565
<groupId>nginx-clojure</groupId>
6666
<artifactId>nginx-clojure</artifactId>
67-
<version>0.4.4</version>
67+
<version>0.4.5</version>
6868
</dependency>
6969
```
7070

@@ -76,7 +76,7 @@ More Documents can be found from its web site [nginx-clojure.github.io](http://n
7676

7777
License
7878
=================
79-
Copyright © 2013-2016 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.
79+
Copyright © 2013-2017 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.
8080

8181
This program uses:
8282
* Re-rooted ASM bytecode engineering library which is distributed under the BSD 3-Clause license

CoreFeatures.md.html

+12-31
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
<h1>
22
<a id="user-content-core-features" class="anchor" href="#core-features" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Core Features</h1>
3-
4-
<p>The latest release is v0.4.4, more detail changes about it can be found from <a href="//nginx-clojure.github.io/downloads.html">Release History</a>.</p>
5-
3+
<p>The latest release is v0.4.5, more detail changes about it can be found from <a href="//nginx-clojure.github.io/downloads.html">Release History</a>.</p>
64
<ol>
75
<li>Compatible with <a href="https://github.com/ring-clojure/ring/blob/master/SPEC">Ring</a> and obviously supports those Ring based frameworks, such as Compojure etc.</li>
86
<li>Http Services by using Clojure / Java / Groovy to write simple handlers for http services.</li>
@@ -20,66 +18,49 @@ <h1>
2018
<li>A build-in Jersey container to support java standard RESTful web services (JAX-RS 2.0)</li>
2119
<li>Tomcat 8 embedding support (so servlet 3.1/jsp/sendfile/JSR-356 websocket work within nginx!)</li>
2220
<li>Dynamic proxying by using Clojure / Java / Groovy to write a simple nginx rewrite handler to set var or return errors before proxy pass or content ring handler</li>
23-
<li>Non-blocking coroutine based socket which is Compatible with Java Socket API and works well with largely existing java library such as apache http client, mysql jdbc drivers.
21+
<li>Non-blocking coroutine based socket which is Compatible with Java Socket API and works well with largely existing java library such as apache http client, mysql jdbc drivers.
2422
With this feature one java main thread can handle thousands of connections.</li>
2523
<li>Handle multiple sockets parallel in sub coroutines, e.g. we can invoke two remote services at the same time.</li>
2624
<li>Asynchronous callback API of socket/Channel for some advanced usage</li>
2725
<li>Long Polling &amp; Server Sent Events</li>
2826
<li>Run initialization clojure code when nginx worker starting</li>
2927
<li>Support user defined http request method</li>
30-
<li>Compatible with the Nginx lastest stable version 1.8.0. (Nginx 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)</li>
28+
<li>Compatible with the Nginx lastest stable version 1.12.0. (Nginx 1.8.x, Nginx 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)</li>
3129
<li>One of benifits of <a href="http://nginx.org/">Nginx</a> is worker processes are automatically restarted by a master process if they crash</li>
3230
<li>Utilizes lazy headers and direct memory operation between <a href="http://nginx.org/">Nginx</a> and JVM to fast handle dynamic contents from Clojure or Java code.</li>
3331
<li>Utilizes <a href="http://nginx.org/">Nginx</a> zero copy file sending mechanism to fast handle static contents controlled by Clojure or Java code.</li>
3432
<li>Supports Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X. Freebsd version can also be got from Freebsd ports.</li>
3533
</ol>
36-
37-
<p>By the way it is very fast, the benchmarks can be found <a href="https://github.com/ptaoussanis/clojure-web-server-benchmarks/">HERE(with wrk2)</a>.</p>
38-
3934
<h1>
40-
<a id="user-content-jar-repository" class="anchor" href="#jar-repository" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Jar Repository</h1>
41-
42-
<p>Nginx-Clojure has already been published to <a href="https://clojars.org/">https://clojars.org/</a> whose maven repository is </p>
43-
35+
<a id="user-content-by-the-way-it-is-very-fast-the-benchmarks-can-be-found-herewith-wrk2jar-repository" class="anchor" href="#by-the-way-it-is-very-fast-the-benchmarks-can-be-found-herewith-wrk2jar-repository" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>By the way it is very fast, the benchmarks can be found <a href="https://github.com/ptaoussanis/clojure-web-server-benchmarks/">HERE(with wrk2)</a>.
36+
Jar Repository</h1>
37+
<p>Nginx-Clojure has already been published to <a href="https://clojars.org/">https://clojars.org/</a> whose maven repository is</p>
4438
<div class="highlight highlight-text-xml"><pre>&lt;<span class="pl-ent">repository</span>&gt;
4539
&lt;<span class="pl-ent">id</span>&gt;clojars.org&lt;/<span class="pl-ent">id</span>&gt;
4640
&lt;<span class="pl-ent">url</span>&gt;http://clojars.org/repo&lt;/<span class="pl-ent">url</span>&gt;
4741
&lt;/<span class="pl-ent">repository</span>&gt;</pre></div>
48-
49-
<p>After adding clojars repository, you can reference nginx-clojure 0.4.4 , e.g.</p>
50-
42+
<p>After adding clojars repository, you can reference nginx-clojure 0.4.5 , e.g.</p>
5143
<h2>
52-
<a id="user-content--leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen-" class="anchor" href="#-leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen-" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a> Leiningen (clojure, no need to add clojars repository which is a default repository for Leiningen) </h2>
53-
54-
<div class="highlight highlight-source-clojure"><pre>[nginx-clojure <span class="pl-s"><span class="pl-pds">"</span>0.4.4<span class="pl-pds">"</span></span>]</pre></div>
55-
44+
<a id="user-content-leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen" class="anchor" href="#leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Leiningen (clojure, no need to add clojars repository which is a default repository for Leiningen)</h2>
45+
<div class="highlight highlight-source-clojure"><pre>[nginx-clojure <span class="pl-s"><span class="pl-pds">"</span>0.4.5<span class="pl-pds">"</span></span>]</pre></div>
5646
<h2>
5747
<a id="user-content-gradle-groovyjava" class="anchor" href="#gradle-groovyjava" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Gradle (groovy/java)</h2>
58-
59-
<pre><code>compile "nginx-clojure:nginx-clojure:0.4.4"
48+
<pre><code>compile "nginx-clojure:nginx-clojure:0.4.5"
6049
</code></pre>
61-
6250
<h2>
6351
<a id="user-content-maven" class="anchor" href="#maven" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Maven</h2>
64-
6552
<div class="highlight highlight-text-xml"><pre>&lt;<span class="pl-ent">dependency</span>&gt;
6653
&lt;<span class="pl-ent">groupId</span>&gt;nginx-clojure&lt;/<span class="pl-ent">groupId</span>&gt;
6754
&lt;<span class="pl-ent">artifactId</span>&gt;nginx-clojure&lt;/<span class="pl-ent">artifactId</span>&gt;
68-
&lt;<span class="pl-ent">version</span>&gt;0.4.4&lt;/<span class="pl-ent">version</span>&gt;
55+
&lt;<span class="pl-ent">version</span>&gt;0.4.5&lt;/<span class="pl-ent">version</span>&gt;
6956
&lt;/<span class="pl-ent">dependency</span>&gt;</pre></div>
70-
7157
<h1>
7258
<a id="user-content-more-documents" class="anchor" href="#more-documents" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>More Documents</h1>
73-
7459
<p>More Documents can be found from its web site <a href="http://nginx-clojure.github.io/">nginx-clojure.github.io</a></p>
75-
7660
<h1>
7761
<a id="user-content-license" class="anchor" href="#license" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>License</h1>
78-
79-
<p>Copyright © 2013-2016 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.</p>
80-
62+
<p>Copyright © 2013-2017 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.</p>
8163
<p>This program uses:</p>
82-
8364
<ul>
8465
<li>Re-rooted ASM bytecode engineering library which is distributed under the BSD 3-Clause license</li>
8566
<li>Modified Continuations Library Written by Matthias Mann is distributed under the BSD 3-Clause license</li>

HISTORY.md

+17
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,23 @@ Downloads & Release History
44
1. [Binaries of Releases](http://sourceforge.net/projects/nginx-clojure/files/)
55
1. [Sources of Releases](https://github.com/nginx-clojure/nginx-clojure/releases)
66

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

926
1. New Feature: experimental nginx body filter by Java/Clojure/Groovy (issue #107)

0 commit comments

Comments
 (0)