Skip to content

Commit 21732b1

Browse files
committed
docs(changelog) prerelease-0.1.1
1 parent c0ace96 commit 21732b1

File tree

1 file changed

+121
-34
lines changed

1 file changed

+121
-34
lines changed

CHANGELOG.md

Lines changed: 121 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,161 @@
11
# Table of Contents
22

3+
- [0.1.1]
34
- [0.1.0]
45

5-
## [0.1.0]
6+
## Documentation
67

7-
> 2023/07/30 - Prerelease
8-
9-
This initial prerelease proposes a programmable Nginx module for executing Wasm
10-
bytecode in Nginx and/or OpenResty: ngx_wasm_module.
11-
12-
The module must be linked to one of three supported WebAssembly runtimes:
13-
Wasmtime, Wasmer, or V8.
14-
15-
Along with a programmable "Nginx Wasm VM" interface, this release also comes with
16-
initial support for Proxy-Wasm filters (i.e. Proxy-Wasm Host environment), and a
17-
number of surrounding libraries for peripheral or optional usage of the module.
8+
All releases are documented in a "git book" hosted in the project's repository:
9+
the [user
10+
documentation](https://github.com/Kong/ngx_wasm_module/tree/main/docs). **When
11+
consulting any file under this location, make sure to checkout the proper
12+
revision tag for your release.**
1813

19-
### Documentation
20-
21-
This release is documented in a "git book" that is hosted in the same repository
22-
as the [user documentation](https://github.com/Kong/ngx_wasm_module/tree/prerelease-0.1.0/docs).
23-
24-
To install the module, consult [INSTALL.md](https://github.com/Kong/ngx_wasm_module/tree/prerelease-0.1.0/docs/INSTALL.md).
14+
To install the module, consult
15+
[INSTALL.md](https://github.com/Kong/ngx_wasm_module/tree/main/docs/INSTALL.md).
2516

2617
For Nginx users, the module can be used through `nginx.conf` directives,
27-
documented in [DIRECTIVES.md](https://github.com/Kong/ngx_wasm_module/tree/prerelease-0.1.0/docs/DIRECTIVES.md).
18+
documented in
19+
[DIRECTIVES.md](https://github.com/Kong/ngx_wasm_module/tree/main/docs/DIRECTIVES.md).
2820

2921
OpenResty users can also expect to use ngx_wasm_module via the bundled LuaJIT
3022
FFI binding, for which no documentation exists at the moment.
3123

32-
Proxy-Wasm filters authors will be interested in [PROXY_WASM.md](https://github.com/Kong/ngx_wasm_module/tree/prerelease-0.1.0/docs/PROXY_WASM.md)
24+
Proxy-Wasm filters authors will be interested in
25+
[PROXY_WASM.md](https://github.com/Kong/ngx_wasm_module/tree/main/docs/PROXY_WASM.md)
3326
for a primer on Proxy-Wasm in ngx_wasm_module and a picture of the supported
3427
Host ABI.
3528

3629
As for Nginx developers, the module can also be used to write other modules; the
37-
best resource for that sort of information would be [DEVELOPER.md](https://github.com/Kong/ngx_wasm_module/tree/prerelease-0.1.0/docs/DEVELOPER.md).
30+
best resource for that sort of information would be
31+
[DEVELOPER.md](https://github.com/Kong/ngx_wasm_module/tree/main/docs/DEVELOPER.md).
32+
33+
## 0.1.1
34+
35+
> 2023/10/06 - Prerelease
36+
>
37+
> [Documentation](https://github.com/Kong/ngx_wasm_module/tree/prerelease-0.1.1/docs)
38+
> | [Release assets](https://github.com/Kong/ngx_wasm_module/releases/tag/prerelease-0.1.1)
39+
40+
This prerelease contains fixes and a few minor improvements atop the initial
41+
prerelease.
42+
43+
An important fix contained in this changeset is the resolution of a memory leak
44+
that occurred when using Proxy-Wasm filter chains with the `none` isolation
45+
mode.
46+
47+
#### Changes
48+
49+
> [0.1.0...0.1.1](https://github.com/Kong/ngx_wasm_module/compare/prerelease-0.1.0...prerelease-0.1.1)
50+
51+
- Proxy-Wasm
52+
- Feature: add support for Unix domain sockets in HTTP dispatch calls.
53+
- Bugfix: resolve a memory leak when using low isolation modes (i.e.
54+
`none`).
55+
- Bugfix: ensure the whole filter chain is executed in response steps.
56+
- Bugfix: ensure the rest of the filter chain is executed after HTTP
57+
dispatch responses.
58+
- Bugfix: prevent a crash when reading maps from non-HTTP contexts.
59+
- Bugfix: prevent HTTP dispatch calls from having multiple Host and
60+
Connection headers.
61+
- Misc: improve the clarity of some filter chain error messages.
62+
- Wasmtime
63+
- Feature: set `RUST_BACKTRACE=full` when `backtraces` is enabled.
64+
- Bugfix: allow overriding the `WASMTIME_BACKTRACE_DETAILS` environment
65+
variable.
66+
- Misc: compatibility with Wasmtime 12.0.2 which resolves the known issue
67+
documented in [0.1.0].
68+
- Perf: avoid heap allocations in most host function calls.
69+
- Wasmer
70+
- Feature: set `RUST_BACKTRACE=full` when `backtraces` is enabled.
71+
- LuaJIT FFI
72+
- Bugfix: prevent a crash when the stream subsystem is in use.
73+
- Bugfix: resolve a memory leak when using `get/set_property` in
74+
`init_worker_by_lua`.
75+
- Lua bridge
76+
- Bugfix: avoid a use-after-free with the latest OpenResty 1.21.4.2 release.
77+
- Misc
78+
- Bugfix: fix compilation errors with newer clang and gcc versions.
79+
80+
#### Dependencies
81+
82+
This release is tested with the following Nginx/OpenResty versions and dependencies:
83+
84+
Name | Version | Notes
85+
---------:|:---------------:|:--------------------------------------------------
86+
Nginx | [1.25.2](https://nginx.org/en/download.html) |
87+
OpenResty | [1.21.4.2](https://openresty.org/en/download.html) |
88+
OpenSSL | [3.1.3](https://www.openssl.org/source/) |
89+
Wasmtime | [12.0.2](https://github.com/bytecodealliance/wasmtime/releases) |
90+
Wasmer | [3.1.1](https://github.com/wasmerio/wasmer/releases/) |
91+
V8 | [11.4.183.23](https://github.com/Kong/ngx_wasm_runtimes/releases/) | Built by [Kong/ngx_wasm_runtimes] for convenience.
92+
93+
#### Components
94+
95+
Same as [0.1.0].
96+
97+
#### Known Issues
98+
99+
- When using Wasmtime, reloading Nginx with `SIGHUP` seems to leave workers
100+
susceptible to crashes on Wasm instance exceptions such as `SIGFPE`. See
101+
[#418](https://github.com/Kong/ngx_wasm_module/issues/418).
102+
- Proxy-Wasm filter chains issuing HTTP dispatch calls during `on_request_body`
103+
will cause inconsistencies in the filter chain execution.
104+
105+
[Back to TOC](#table-of-contents)
106+
107+
## 0.1.0
108+
109+
> 2023/07/30 - Prerelease
110+
>
111+
> [Documentation](https://github.com/Kong/ngx_wasm_module/tree/prerelease-0.1.0/docs)
112+
> | [Release assets](https://github.com/Kong/ngx_wasm_module/releases/tag/prerelease-0.1.0)
113+
114+
This initial prerelease proposes a programmable Nginx module for executing Wasm
115+
bytecode in Nginx and/or OpenResty: ngx_wasm_module.
116+
117+
The module must be linked to one of three supported WebAssembly runtimes:
118+
Wasmtime, Wasmer, or V8.
119+
120+
Along with a programmable "Nginx Wasm VM" interface, this release also comes
121+
with initial support for Proxy-Wasm filters (i.e. Proxy-Wasm Host environment),
122+
and a number of surrounding libraries for peripheral or optional usage of the
123+
module.
38124

39-
### Dependencies
125+
#### Dependencies
40126

41127
This release is tested with the following Nginx/OpenResty versions and dependencies:
42128

43129
Name | Version | Notes
44-
---------:|:---------------:|:-------------------------------------------------
45-
Nginx | [1.25.1](https://nginx.org/en/download.html) |
46-
OpenResty | [1.21.4.1](https://openresty.org/en/download.html) |
47-
OpenSSL | [1.1.1u](https://www.openssl.org/source/) |
48-
Wasmtime | [8.0.1](https://github.com/bytecodealliance/wasmtime/releases/tag/v8.0.1) |
49-
Wasmer | [3.1.1](https://github.com/wasmerio/wasmer/releases/tag/v3.1.1) |
50-
V8 | [11.4.183.23](https://github.com/Kong/ngx_wasm_runtimes/releases/tag/v8-11.4.183.23) | Built by [Kong/ngx_wasm_runtimes] for convenience.
130+
---------:|:---------------:|:--------------------------------------------------
131+
Nginx | [1.25.1](https://nginx.org/en/download.html) |
132+
OpenResty | [1.21.4.1](https://openresty.org/en/download.html) |
133+
OpenSSL | [1.1.1u](https://www.openssl.org/source/) |
134+
Wasmtime | [8.0.1](https://github.com/bytecodealliance/wasmtime/releases/) |
135+
Wasmer | [3.1.1](https://github.com/wasmerio/wasmer/releases/) |
136+
V8 | [11.4.183.23](https://github.com/Kong/ngx_wasm_runtimes/releases/) | Built by [Kong/ngx_wasm_runtimes] for convenience.
51137

52-
### Components
138+
#### Components
53139

54140
Relevant components are automatically built when necessary as part of the Nginx
55141
`./configure` step.
56142

57143
This release bundles the following components, *not independently versioned*:
58144

59145
Name | Notes
60-
---------------:|:-------------------------------------------------------------
146+
---------------:|:--------------------------------------------------------------
61147
ngx-wasm-rs | A Rust library used when linking to Wasmer or V8. Ensures feature-parity across runtimes such as detailed backtraces and `.wat` format support.
62148
v8bridge | A bridge library exposing C++ V8 features to ngx_wasm_module's C.
63149
lua-resty-wasmx | A LuaJIT FFI binding exposing some of ngx_wasm_module's features via Lua.
64150

65-
### Known Issues
151+
#### Known Issues
66152

67153
- MacOS platforms (x86 and ARM64) linking ngx_wasm_module to Wasmtime: using
68154
[daemon on](https://nginx.org/en/docs/ngx_core_module.html#daemon) results in
69-
a known crash of the Nginx master process.
155+
a known crash of the Nginx master process. *Resolved in [0.1.1]*.
70156

71157
[Back to TOC](#table-of-contents)
72158

73-
[0.1.0]: https://github.com/Kong/ngx_wasm_module/releases/tag/prerelease-0.1.0
159+
[0.1.0]: #010
160+
[0.1.1]: #011
74161
[Kong/ngx_wasm_runtimes]: https://github.com/Kong/ngx_wasm_runtimes

0 commit comments

Comments
 (0)