Skip to content

Commit 3ca3aff

Browse files
committed
release: ngx 0.5.0-beta
1 parent ed9528d commit 3ca3aff

File tree

4 files changed

+95
-5
lines changed

4 files changed

+95
-5
lines changed

CHANGELOG.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,96 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## Release v0.5.0-beta
6+
7+
### Build experience
8+
9+
In this release, we shifted the focus to an integration into the NGINX build
10+
process.
11+
12+
The default set of features now requires providing a preconfigured NGINX source
13+
tree with `NGINX_SOURCE_DIR` and `NGINX_BUILD_DIR` variables ([#67], [#124]).
14+
15+
The option to build a copy of NGINX as a part of the module process was
16+
preserved as a feature flag `vendored` and no longer requires downloading
17+
sources from the network ([#160]).
18+
We encourage you to limit use of this feature to testing only.
19+
20+
The [`examples`](./examples/) directory provides `config`, `config.make` and
21+
`auto/rust` scripts to add a Rust-based module to the nginx build, linked
22+
statically with `--add-module=` or dynamically with `--add-dynamic-module=`.
23+
[nginx-acme] offers another, more complete example ([#67], [#95], [#124],
24+
[#154], [#176]).
25+
26+
In addition, we now have a proper detection of the features available in the
27+
build of NGINX ([#97]). See [build.rs](./build.rs) for the necessary setup for
28+
your project.
29+
30+
[nginx-acme]: https://github.com/nginx/nginx-acme
31+
[#67]: https://github.com/nginx/ngx-rust/pull/67
32+
[#95]: https://github.com/nginx/ngx-rust/pull/95
33+
[#97]: https://github.com/nginx/ngx-rust/pull/97
34+
[#124]: https://github.com/nginx/ngx-rust/pull/124
35+
[#154]: https://github.com/nginx/ngx-rust/pull/154
36+
[#160]: https://github.com/nginx/ngx-rust/pull/160
37+
[#176]: https://github.com/nginx/ngx-rust/pull/176
38+
39+
### Allocators
40+
41+
`ngx` now offers custom allocator support based on the [allocator-api2] crate.
42+
The `ngx::core::Pool` and `ngx::core::SlabPool` can be used for failible
43+
allocations within the NGINX pools and shared zones correspondingly
44+
([#164], [#171]).
45+
46+
Most of the crates with [allocator-api2 support] are compatible with this
47+
implementation. We also provide wrappers for common data structures implemented
48+
in NGINX in [`ngx::collections`](./src/collections/) ([#164], [#181]).
49+
50+
[allocator-api2]: https://crates.io/crates/allocator_api2
51+
[allocator-api2 support]: https://crates.io/crates/allocator_api2/reverse_dependencies
52+
[#164]: https://github.com/nginx/ngx-rust/pull/164
53+
[#171]: https://github.com/nginx/ngx-rust/pull/171
54+
[#181]: https://github.com/nginx/ngx-rust/pull/181
55+
56+
57+
### Other
58+
59+
* We audited the code and fixed or removed most of the methods that made wrong
60+
assumptions and could panic or crash ([#91], [#152], [#183]).
61+
* `no_std` build support ([#111]).
62+
* Logging API improvements ([#113], [#187])
63+
* The SDK and the example modules can be built and are tested in CI on Windows
64+
([#124], [#161]). No further porting or testing work was done.
65+
* Reimplementations for `nginx-sys` methods and macros that cannot be translated
66+
with bindgen ([#131], [#162], [#167])
67+
* Improved API for module configuration access ([#142]).
68+
* Initial work on the NGINX async runtime ([#170])
69+
* The default branch was renamed to `main`.
70+
71+
[#91]: https://github.com/nginx/ngx-rust/pull/91
72+
[#111]: https://github.com/nginx/ngx-rust/pull/111
73+
[#113]: https://github.com/nginx/ngx-rust/pull/113
74+
[#131]: https://github.com/nginx/ngx-rust/pull/131
75+
[#142]: https://github.com/nginx/ngx-rust/pull/142
76+
[#152]: https://github.com/nginx/ngx-rust/pull/152
77+
[#161]: https://github.com/nginx/ngx-rust/pull/161
78+
[#162]: https://github.com/nginx/ngx-rust/pull/162
79+
[#167]: https://github.com/nginx/ngx-rust/pull/167
80+
[#170]: https://github.com/nginx/ngx-rust/pull/170
81+
[#183]: https://github.com/nginx/ngx-rust/pull/183
82+
[#187]: https://github.com/nginx/ngx-rust/pull/187
83+
84+
### Supported versions
85+
86+
The minimum supported Rust version is 1.81.0. The version was chosen to support
87+
the packaged Rust toolchain in the recent versions of popular Linux and BSD
88+
distributions.
89+
90+
The minimum supported NGINX version is 1.22. The bindings may compile with an
91+
older version of NGINX, but we do not test that regularly.
92+
93+
Full changelog: [v0.4.1..v0.5.0-beta](https://github.com/nginx/ngx-rust/compare/v0.4.1...v0.5.0-beta)
94+
595
## Release v0.4.1
696
* release: ngx 0.4.1 (9d2ce0d)
797
* release: nginx-sys 0.2.1 (89eb277)

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ rust-version = "1.81.0"
1414

1515
[package]
1616
name = "ngx"
17-
version = "0.5.0"
17+
version = "0.5.0-beta"
1818
autoexamples = false
1919
categories = ["api-bindings", "network-programming"]
2020
description = "FFI bindings to NGINX"
@@ -40,7 +40,7 @@ targets = []
4040
allocator-api2 = { version = "0.2.21", default-features = false }
4141
async-task = { version = "4.7.1", optional = true }
4242
lock_api = "0.4.13"
43-
nginx-sys = { path = "nginx-sys", default-features=false, version = "0.5.0"}
43+
nginx-sys = { path = "nginx-sys", version = "0.5.0-beta"}
4444
pin-project-lite = { version = "0.2.16", optional = true }
4545

4646
[features]

nginx-sys/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "nginx-sys"
3-
version = "0.5.0"
3+
version = "0.5.0-beta"
44
categories = ["external-ffi-bindings"]
55
description = "FFI bindings to NGINX"
66
keywords = ["nginx", "ffi", "sys"]

0 commit comments

Comments
 (0)