Releases: sozu-proxy/sozu
Release 1.1.1
1.1.1 - 2025-11-03
⛑️ Fixed
- We fixed a critical file descriptor handling bug introduced in v1.1.0. The Rust Edition 2024 migration incorrectly used
OwnedFdinstead ofBorrowedFdin theenable_close_on_exec()anddisable_close_on_exec()functions, causing file descriptors to be closed prematurely and breaking Sōzu's operation. This has been corrected by usingBorrowedFd::borrow_raw()which only borrows the file descriptor without taking ownership, see PR #1181,fd68885a.
✍️ Changed
- We fixed the RPM spec file to enable successful builds on COPR, EPEL 10, and Fedora 42+. Changes include: adding missing build dependencies (rust, cargo, protobuf-compiler, gcc), fixing changelog date formatting, improving FHS compliance with proper use of
_rundirand_sharedstatedirmacros, simplifying the build mode logic, and resolving SELinux policy installation issues, see PR #1182. - We applied clippy suggestions for code quality improvements in request builder, display modules, and backend error handling, see
28fff561.
Changelog
⛑️ Fixed
- [
fd68885a] Change OwnedFd to BorrowedFd (solve file close) [Eloi DEMOLIS] (2025-10-31)
✍️ Changed
- [
28fff561] Apply clippy suggestions [Eloi DEMOLIS] (2025-10-31) - [
32efc7dd] fix dates in rpm spec [Ante de Baas] (2025-10-31) - [
a4c87bd2] Add cargo and update rust build requirements in spec file [Ante de Baas] (2025-10-31) - [
7c89a137] Add protobuf-compiler and gcc to BuildRequires [Ante de Baas] (2025-10-31) - [
eae22d4f] Refactor sozu.spec for simplified build and improved packaging [Ante de Baas] (2025-10-31) - [
afc25353] Update sozu.spec to use _rundir and _sharedstatedir paths [Ante de Baas] (2025-10-31) - [
7f92fff8] Remove Broken SELinux policy build and install steps from spec file [Ante de Baas] (2025-10-31) - [
d8183052] remove postun too [Ante de Baas] (2025-10-31) - [
1d46d4fd] re-add selinux policy [Ante de Baas] (2025-10-31)
🥹 Contributors
1.1.0
1.1.0 - 2025-10-29
⚠️ BREAKING CHANGE: This release requires Rust 1.85.0 or later (previously 1.80.0) due to the migration to Rust Edition 2024. Please ensure your toolchain is updated before upgrading.
🌟 Features
-
OpenTelemetry Support: We have added comprehensive OpenTelemetry integration for distributed tracing and observability. Sōzu now supports
traceparentandtracestateheaders in access logs, enabling seamless integration with OpenTelemetry-compatible monitoring systems. This significantly improves the ability to trace requests across distributed systems, see PR #1176,7035eebb,f72bb977,fbce7f65. -
Sōzu as a Library: The bin crate has been restructured to allow Sōzu to be used as a library in other Rust packages. This enables embedding Sōzu's reverse proxy functionality directly into your applications, see PR #1165,
3f5f63fa. -
Cross-platform Improvements: We have improved build support for non-x86_64 architectures, particularly MacOS ARM. Kawa's SIMD features are now properly disabled on non-x86_64 platforms, resolving build issues on ARM architectures, see PR #1136,
2f478d08.
⛑️ Fixed
- We fixed an issue with incorrect
backend_response_timemetric calculation on keep-alive requests, see5f3371b7. - We fixed improper quoting in the
forwardedheader field, see PR #1175,3c660faf. - We fixed path resolution issues when saving state, ensuring relative paths are properly handled, see PR #1171,
a7ecc65a. - We fixed security vulnerability RUSTSEC-2024-0402, see PR #1168,
9d1fbbe9. - We fixed the Dockerfile build process, see PR #1163,
93a4ea43. - We fixed CI issues with bombardier by updating the Go version, see PR #1172,
a1138973.
✍️ Changed
- Rust Edition 2024 Migration: The entire workspace has been migrated to Rust Edition 2024, requiring Rust 1.85.0 or later. This migration includes automatic formatting updates, import reorganization, added unsafe blocks for environment variable access, modernized macro syntax, and applied clippy suggestions, see PR #1179,
6650be58. - We updated multiple dependencies to their latest versions, including general dependency bumps and Cargo.lock updates, see PR #1177,
f96444e9,703a3df3,e678ebc2. - We avoided duplicate crates in the dependency tree to improve build times and binary size, see PR #1170,
e3f81b46. - We removed the double definition of the global allocator in the lib crate, see
6e3e7e12. - We improved CI/CD by configuring Docker build and push on every commit, see PR #1166,
a77c928f. - We removed coverage upload from CI, see
b9f0e52d.
➖ Removed
📚 Documentation
- We added missing CHANGELOG entries for versions 1.0.5 and 1.0.6, see
e0017baf. - We fixed documentation for query commands, see PR #1164,
e89e1a40.
Changelog
⚠️ BREAKING CHANGE
- [
6650be58] chore(toolchain): migrate to Rust edition 2024 and update to 1.85.0 [Florentin Dubois] (2025-10-29)
🌟 Features
- [
fbce7f65] refactor: use headerstraceparentandtracestate[llenotre] (2025-10-01) - [
7035eebb] feat(accesslogs): opentelemetry [llenotre] (2025-09-26) - [
f72bb977] feat: opentelemetry (wip) [llenotre] (2025-09-25) - [
3f5f63fa] feat: allow sozu to be used as lib by another package [anonkey] (2024-12-26) - [
2f478d08] build: disable kawa default features on non x86_64 [anonkey] (2024-09-13)
⛑️ Fixed
- [
5f3371b7] Fix backend_reponse_time on keep alive requests [Eloi Démolis] (2025-09-30) - [
3c660faf] fix:forwardedfield quoting [llenotre] (2025-05-28) - [
a1138973] fix(ci): Update go version for bombardier [Helian Caumeil] (2025-02-25) - [
a7ecc65a] fix: Resolve path when saving state [hcaumeil] (2025-02-25) - [
9d1fbbe9] fix: fix RUSTSEC-2024-0402 [Dimitris Apostolou] (2024-12-31) - [
93a4ea43] build: fix dockerfile [anonkey] (2024-12-26)
✍️ Changed
- [
b9f0e52d] ci: remove coverage upload [Florentin Dubois] (2025-10-29) - [
6e3e7e12] chore(lib): remove double definition of global allocator [Florentin Dubois] (2025-10-29) - [
e678ebc2] chore: update nix dependency [Florentin Dubois] (2025-10-29) - [
703a3df3] chore(deps): update Cargo.lock with latest dependency versions [Florentin Dubois] (2025-10-29) - [
f96444e9] chore: bump dependencies [llenotre] (2025-09-30) - [
e3f81b46] deps: avoid duplicate crates [Dimitris Apostolou] (2025-02-24) - [
a77c928f] ci(docker): build and push on every commits [Florentin Dubois] (2024-12-26)
➖ Removed
📚 Documentation
- [
e0017baf] doc(changelog): add missing entries for 1.0.5 and 1.0.6 [Florentin Dubois] (2025-01-07) - [
e89e1a40] docs: fix query commands [anonkey] (2024-12-26)
🥹 Contributors
@FlorentinDUBOIS, @Wonshtrum, @llenotre, @anonkey, @rex4539, @hcaumeil
Full Changelog: 1.0.6...1.1.0
Release v1.0.6
🌟 Features
- We add new variables to inject on 400 and 502 errors, see
07c7ec0.
⛑️ Fixed
- We fix the reset of the timeout on tcp backend connection, see
9c432f3. - We properly executre the close negociation on tls connection when the connection is ending by Sōzu, see
2b19805.
Changelog
🌟 Features
- [
07c7ec0] Refine granularity of 400 and 502 error diagnostics [Eloi DEMOLIS] (2024-11-07)
⛑️ Fixed
- [
9c432f3] Fix TCP back timeout errors on reset [Eloi DEMOLIS] (2024-11-19) - [
2b19805] Fix TLS close initiated by Sozu, solution is not ideal [Eloi DEMOLIS] (2024-11-25)
✍️ Changed
- [
8162e99] apply clippy suggestions [Emmanuel Bosquet] (2024-11-07) - [
863dc9b] bump dependencies for 1.0.6 [Emmanuel Bosquet] (2024-11-20)
🥹 Contributors
Full Changelog: 1.0.5...1.0.6
1.0.5
This changelog entry contains change from the version
1.0.3to1.0.5
🚀 Performance
- We have found that compiling Sōzu without
logs-traceandlogs-debugflags lead to a 30% less performance. In fact with flags, the rust compiler is able to track the format! macro to the write_fmt method which allow him to write on stdout without allocating memory which is not the case without and the dead code eliminator is not able to correctly do its works. The compiler without the flags is required to perform the memory allocation that lead to the 30% less performance, see57b8d66.
⛑️ Fixed
- We fixed a corner case that may appear during the exchange of payload between Sozu, the kernel and the http client when the payload is fully transfered from the backend and sozu, but still in the kernel waiting for the client to acknowledge previous frame, see
1e6b38d.
Changelog
🚀 Performance
- [
57b8d66] Elide allocation and formating of opt-out logs [Eloi DEMOLIS] (2024-10-10)
✍️ Changed
- [
1ad059c] bump prost and prost-build to 0.13.1 [Emmanuel Bosquet] (2024-07-25) - [
c6aad5e] chore: update dependencies [Florentin Dubois] (2024-10-14) - [
d45227e] change log level of "unknown task" from error to warn [Emmanuel Bosquet] (2024-08-07) - [
daa5c02] change multiline info and debug statements to inline [Emmanuel Bosquet] (2024-08-07) - [
0849163] function main returns exit status [Emmanuel Bosquet] (2024-08-09) - [
2c85009] add ListFrontends to main process [Emmanuel Bosquet] (2024-08-01) - [
e48b26d] bump rust-toolchain to 1.80.0 [Emmanuel Bosquet] (2024-08-01)
➖ Removed
- [
2ed27e9] remove sozu_lib::router::trie and replace use with pattern_trie [Emmanuel Bosquet] (2024-08-14)
⛑️ Fixed
- [
202c0cb] fix merging of histograms [Emmanuel Bosquet] (2024-08-09) - [
44f76c3] Fix worker softlock by allowing writing on socket when Rustls buffers are full [Eloi DEMOLIS] (2024-08-27) - [
1e6b38d] Fix Pipe::check_connections: take kernel inflight data into account, to prevent early closing of TCP connections with no more backend [Eloi DEMOLIS] (2024-10-04) - [
5ab35c2] Properly track the backend bytes out metric in Pipe [Eloi DEMOLIS] (2024-08-27)
📚 Documentation
- [
1a611cb] doc(changelog): add 1.0.3 entry [Emmanuel Bosquet] (2024-07-17)
🥹 Contributors
Full Changelog: 1.0.3...1.0.5
Release 1.0.3
1.0.3 - 2024-07-17
This changelog entry contains changes from the version
1.0.1and1.0.2
🌟 Features
- Metrics are now merged accross workers, to have proxying metrics, and cluster metrics, cumulated. This is avoidable in the CLI with the
--workersflag. See6b4b96b,5deac5d - Time metrics are now converted to prometheus-compatible histograms, cumulated accross workers as explained above. See
64b558e - Additional metrics, "unsent-access-logs", see
ec56678and "request_time", see57923de - backend events are displayed in the CLI, see
97c9f30 - Sōzu reconnects with the access log target (for instance, a UNIX socket) if the connection is lost. See
18d6649
⛑️ Fixed
- The behaviour of certificate resolver has been entirely reworked to mitigate certificate conflicts, and prevent deleting certificates accidently, see
8b3462d
Changelog
🌟 Features
- [
97c9f30] display events in the CLI, document the use [Emmanuel Bosquet] (2024-06-25) - [
6b4b96b] merge proxying metrics accross workers [Emmanuel Bosquet] (2024-07-09) - [
5deac5d] merge cluster metrics across workers [Emmanuel Bosquet] (2024-07-09) - [
64b558e] metrics: return histograms for time metrics [Emmanuel Bosquet] (2024-07-11) - [
ec56678] add count metric "unsent-access-logs" [Emmanuel Bosquet] (2024-07-11) - [
18d6649] revive backend of access logs when it fails [Emmanuel Bosquet] (2024-07-11) - [
57923de] add request_time metric to access logs, BREAKING [Emmanuel Bosquet] (2024-07-11)
📚 Documentation
⛑️ Fixed
- [
8b3462d] resolve longer-lived certificates [Emmanuel Bosquet] (2024-06-21) - [
67802bf] CertificateResolver: add two unit tests, and suggestions [Emmanuel Bosquet] (2024-06-21) - [
7a107c6] better display of backend metrics [Emmanuel Bosquet] (2024-07-08) - [
15ac8eb] fix AggregatedMetrics::merge_metrics [Emmanuel Bosquet] (2024-07-11) - [
9f765c1] command::logging::logs apply review [Emmanuel Bosquet] (2024-07-17)
✍️ Changed
- [
e6626c4] remove the logs-cache feature [Emmanuel Bosquet] (2024-05-06) - [
9e889ce] bump mio to 1.0.0 [Emmanuel Bosquet] (2024-06-21) - [
b74888c] Move unsent-access-logs metric increment out of sozu_command_lib [Eloi DEMOLIS] (2024-07-11) - [
dd54bea] propagate logging setup errors [Emmanuel Bosquet] (2024-07-11)
➕ Added
- [
f30d0b1] create command::logging::LogError [Emmanuel Bosquet] (2024-07-11)
🥹 Contributors
Release 1.0.2
This changelog entry contains changes from the version
1.0.1and1.0.2
🌟 Features
- We format logs from session using the same pattern to harmonize them in the console and to provide more information to debug, see
9b1827f].
📚 Documentation
- We have updated the readme to correct and be more accurate on the advantages section of using Sōzu, see
ed5f4ef. - We have added the changelog entries in CHANGELOG.md, see
d965e6aand5ce5c5a.
⛑️ Fixed
Changelog
🌟 Features
- [
9b1827f] feat: implements a common way to print session log of a request [Florentin Dubois] (2024-06-03)
📚 Documentation
- [
ed5f4ef] README: correct details on the advantages of sozu [Emmanuel Bosquet] (2024-05-17) - [
d965e6a] doc(changelog): add entry for release 1.0.0 [Florentin Dubois] (2024-04-16) - [
5ce5c5a] doc(changelog): update typos [Florentin Dubois] (2024-04-16) - [
2e66285] correct comments in sozu_command_lib::certificate [Emmanuel Bosquet] (2024-05-17)
✍️ Changed
- [
f84cdeb] use std::time instead of crate time [Emmanuel Bosquet] (2024-04-24) - [
3816cbf] apply clippy suggestions [Emmanuel Bosquet] (2024-04-29) - [
8f46dad] chore: update dependencies [Florentin Dubois] (2024-05-29) - [
b05fced] chore: apply cargo clippy [Florentin Dubois] (2024-06-03)
⛑️ Fixed
- [
de0da04] fix(command): do not override subject and san of certificate when loading configuration from file [Florentin Dubois] (2024-05-29) - [
a1dfe01] fix(kawa_h1): give response stream instead of request stream [Florentin Dubois] (2024-06-03) - [
1bf28a2] Fix access logs metrics [Eloi DEMOLIS] (2024-06-03)
🥹 Contributors
Full Changelog: https://github.com/sozu-proxy/sozu/compare/1.0.0..1.0.2
Release 1.0.0
This is the first release of Sōzu which is a huge steps since the beginning of the project.
We would like to thanks every people involved in the development of Sōzu.
The next steps is to implements h2(c) on top of kawa with a rework of session to be able to use http 1.x clients with h2 backends and h2 clients with h2 backends, h2 clients with http 1.x backends.
🌟 Features
- This release is the first one that use
protobuf-everywhere. It means that we are moving out from the old exchange model for sockets (which are data exchanges between main process and workers processes and also main process and control plane process) that use Rust structures that we serialize into json to structures described in protobuf that generate Rust source code and then communicate with binary format. Besides, this work also have some nice side-effects on fork when creating new workers (due to a self-healing or at start) which allow to reduce the time to configure a worker by around 50%. It also introduces a new way to emit access logs in a binary way, see [dfacdb7], [a6ffebe], [fb11245], [6daf43c], [8e81a02], [24a941b], [6d160b4], [e382a1c], [4f2d760], [6d43eb1] and [5852c6b]. - We have reworked emitted logs and access logs format, if you are tools that parse them, you have to take a look at the new one. Besides, it will be easier to parse. Furthermore, we have added color on logs to improve readability, see [
0885863], [d3eeddc], [3bb3997] and [5f55561]. - We have bump the minimum Rust supported version to
v1.74.0, see [2c4363d], [96f5329] and [e6bcfe0]. - We have introduce a way to define custom http response for a wide range of status code, see
3f0bfa1,4923153,b9df0c1,ee2430f,3030944,6023216,55242ba,55242ba,8faa16c,a5058c2,fb6aad9anda2236d1. - We also fix a bug that could occur on some streaming https requests with tcp-keepalive when going through multiple Sōzu which does not flush correctly the ending chunk of data when calling
rustls::write_vectored, seed83f399. - We also change how works timeout on frontends as it is now closed by the backend, once we have received a first chunk of data, see
6114e17.
🚀 Performance
- Thanks to the work achieved on Rustls (v0.23.0) with the help of maintainers (a huge thanks to them ❤️), we have gain between 10% and 20% performance on https requests depending of the workload, see [
7fa680d].
⛑️ Fixed
- We have fixed a bug that occurs during http request when doing streaming and tcp keep-alive which prevent to send the close-delimiter on response, see [
59c0615]. - We have fix a few bugs on certificate replacement and improve the resolution of certificates, see [
6aa45b9]. - We have fix a bug that involved timeout on frontend sockets which did not take the given value, see [
d20e759].
✍️ Changed
- We have work on errors to have a better context when something happens, see [
ba8b51a], [629551f] and [1c90c04].
📚 Documentation
- We have added some documentation about logs and access logs, see [
d44b227] and [7241c0e]. - We have reworked or improved examples, see [
31bc55e] and [95624e6]. - We have added some documentation of using Sōzu with firewalld (thanks @obreidenich), see [
4cba552]. - We have setup a github continuous integration to provides and document a way to benchmark Sōzu (values on the ci are not reliable), see [
8df9ba5].
Changelog
🚀 Performance
- [
7fa680d] update dependencies, notably rustls [Emmanuel Bosquet] (2024-03-11)
🌟 Features
- [
3f0bfa1] Dynamic automatic answers system [Eloi DEMOLIS] (2024-04-05) - [
4923153] Unify template creation [Eloi DEMOLIS] (2024-04-05) - [
b9df0c1] add example 404 and 508 errors [Emmanuel Bosquet] (2024-04-05) - [
ee2430f] make Http[s]ListenerConfig::http_answers optional [Emmanuel Bosquet] (2024-04-05) - [
3030944] Minor changes [Eloi DEMOLIS] (2024-04-05) - [
6023216] create protobuf type CustomHttpAnswers [Emmanuel Bosquet] (2024-04-05) - [
55242ba] rename types [Emmanuel Bosquet] (2024-04-05) - [
8faa16c] Restore context in logs by moving the fields in HttpContext [Eloi DEMOLIS] (2024-04-05) - [
a5058c2] remove 404 and 503 files [Emmanuel Bosquet] (2024-04-05) - [
fb6aad9] Move test_https_redirect to e2e, use immutable automatic answers for e2e [Eloi DEMOLIS] (2024-04-05) - [
a2236d1] More template variables [Eloi DEMOLIS] (2024-04-05)
➕ Added
1.0.0-rc.2
This changelog is the second release candidate before the version
1.0.0, it includes a breaking change on the protocol buffer and configuration around definition of custom response when Sōzu answers instead of backends defined in cluster.
🌟 Features
- We have introduce a way to define custom http response for a wide range of status code, see
3f0bfa1,4923153,b9df0c1,ee2430f,3030944,6023216,55242ba,55242ba,8faa16c,a5058c2,fb6aad9anda2236d1. - We also fix a bug that could occur on some streaming https requests with tcp-keepalive when going through multiple Sōzu which does not flush correctly the ending chunk of data when calling
rustls::write_vectored, seed83f399. - We also change how works timeout on frontends as it is now closed by the backend, once we have received a first chunk of data, see
6114e17.
Changelog
🌟 Features
- [
3f0bfa1] Dynamic automatic answers system [Eloi DEMOLIS] (2024-04-05) - [
4923153] Unify template creation [Eloi DEMOLIS] (2024-04-05) - [
b9df0c1] add example 404 and 508 errors [Emmanuel Bosquet] (2024-04-05) - [
ee2430f] make Http[s]ListenerConfig::http_answers optional [Emmanuel Bosquet] (2024-04-05) - [
3030944] Minor changes [Eloi DEMOLIS] (2024-04-05) - [
6023216] create protobuf type CustomHttpAnswers [Emmanuel Bosquet] (2024-04-05) - [
55242ba] rename types [Emmanuel Bosquet] (2024-04-05) - [
8faa16c] Restore context in logs by moving the fields in HttpContext [Eloi DEMOLIS] (2024-04-05) - [
a5058c2] remove 404 and 503 files [Emmanuel Bosquet] (2024-04-05) - [
fb6aad9] Move test_https_redirect to e2e, use immutable automatic answers for e2e [Eloi DEMOLIS] (2024-04-05) - [
a2236d1] More template variables [Eloi DEMOLIS] (2024-04-05)
➕ Added
- [
90ee05c] benchmark info logs in the CI [Emmanuel Bosquet] (2024-03-15)
✍️ Changed
- [
6114e17] Move timeout responsibility from front to back only when first bytes are received from the back [Eloi DEMOLIS] (2024-03-20)
⛑️ Fixed
- [
d83f399] Expose internal rustls buffers to ensure they are flushed [Eloi DEMOLIS] (2024-04-03)
🥹 Contributors
Full Changelog: https://github.com/sozu-proxy/sozu/compare/1.0.0.-rc.1..1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.1 - 2024-03-19
This changelog is the first release candidate before the version
1.0.0, its goal is to allow to migrate smoothly other crates as thesozu-clientto be compatible with the protobuf-everywhere part and to be able to make tests on production at Clever-Cloud by doing some A/B testing.
🌟 Features
- This version is the first one that use
protobuf-everywhere. It means that we are moving out from the old exchange model for sockets (which are data exchanges between main process and workers processes and also main process and control plane process) that use Rust structures that we serialize into json to structures described in protobuf that generate Rust source code and then communicate with binary format. Besides, this work also have some nice side-effects on fork when creating new workers (due to a self-healing or at start) which allow to reduce the time to configure a worker by around 50%. It also introduces a new way to emit access logs in a binary way, see [dfacdb7], [a6ffebe], [fb11245], [6daf43c], [8e81a02], [24a941b], [6d160b4], [e382a1c], [4f2d760], [6d43eb1] and [5852c6b]. - We have reworked emitted logs and access logs format, if you are tools that parse them, you have to take a look at the new one. Besides, it will be easier to parse. Furthermore, we have added color on logs to improve readability, see [
0885863], [d3eeddc], [3bb3997] and [5f55561]. - We have bump the minimum Rust supported version to
v1.74.0, see [2c4363d], [96f5329] and [e6bcfe0].
⛑️ Fixed
- We have fixed a bug that occurs during http request when doing streaming and tcp keep-alive which prevent to send the close-delimiter on response, see [
59c0615]. - We have fix a few bugs on certificate replacement and improve the resolution of certificates, see [
6aa45b9]. - We have fix a bug that involved timeout on frontend sockets which did not take the given value, see [
d20e759].
🚀 Performance
- Thanks to the work achieved on Rustls (v0.23.0) with the help of maintainers (a huge thanks to them ❤️), we have gain between 10% and 20% performance on https requests depending of the workload, see [
7fa680d].
✍️ Changed
- We have work on errors to have a better context when something happens, see [
ba8b51a], [629551f] and [1c90c04].
📚 Documentation
- We have added some documentation about logs and access logs, see [
d44b227] and [7241c0e]. - We have reworked or improved examples, see [
31bc55e] and [95624e6]. - We have added some documentation of using Sōzu with firewalld (thanks @obreidenich), see [
4cba552]. - We have setup a github continuous integration to provides and document a way to benchmark Sōzu (values on the ci are not reliable), see [
8df9ba5].
Changelog
🚀 Performance
- [
7fa680d] update dependencies, notably rustls [Emmanuel Bosquet] (2024-03-11)
⛑️ Fixed
- [
d20e759] Fix some timeout edge cases [Eloi DEMOLIS] (2024-03-18) - [
284068d] fix: fix RUSTSEC-2024-0019 [Dimitris Apostolou] (2024-03-09) - [
59c0615] Fix close propagation on close-delimited responses with front keep-alive [Eloi DEMOLIS] (2024-02-20) - [
6aa45b9] fix and rewrite CertificateResolver [Emmanuel Bosquet] (2024-02-14)
📚 Documentation
- [
d44b227] document the logs-cache feature flag [Emmanuel Bosquet] (2024-03-11) - [
7241c0e] document the DuplicateOwnership trait [Emmanuel Bosquet] (2024-03-11) - [
31bc55e] Add example in command lib to benchmark the logger [Emmanuel Bosquet] (2024-03-11) - [
4cba552] A small, descriptive extension to include firewalld. Avoiding a search for those not using iptables. [obreidenich] (2024-02-21) - [
8df9ba5] CI: Adding a benchmark framework [Guillaume Assier] (2024-02-07) - [
95624e6] Refactor HTTP, HTTPS and TCP example code [Eloi DEMOLIS] (2024-02-02)
➕ Added
- [
a6fde1e] distinct PEM and X509 variants for CertificateError [Emmanuel Bosquet] (2024-03-15) - [
e793ec6] Edit access logs ASCII format, put logs-cache under feature [Eloi DEMOLIS] (2024-03-11) - [
85e2653] implement From for Ulid [Emmanuel Bosquet] (2024-03-11) - [
756b78b] create type WebSocketContext [Emmanuel Bosquet] (2024-03-11) - [
0885863] Logger refactor: better structured logs and colored logs [Eloi DEMOLIS] (2024-03-11) - [
dfacdb7] protobuf access logs [Emmanuel Bosquet] (2024-03-11) - [
7c25133] create helper function server::worker_response_error [Emmanuel Bosquet] (2024-02-23) - [
a6ffebe] binary and delimited serialization of prost messages in channels [Emmanuel Bosquet] (2024-02-02) - [
62f3db3] add fields and defaults to ServerConfig [Emmanuel Bosquet] (2024-02-02) - [
fb11245] create protobuf type SocketAddress, use everywhere [Emmanuel Bosquet] (2024-02-02) - [
f9ac920] add size to ChannelError::BufferFull [Emmanuel Bosquet] (2024-02-02)
✍️ Changed
- [
0d7f7d6] Release v1.0.0-rc.1 [Florentin Dubois] (2024-03-19) - [ [
bcef3b8](https://github.com/sozu-proxy/sozu/commit/bcef3b84328333acb0e...
0.15.19
0.15.19 - 2024-01-25
This changelog merges modifications between 0.15.15 to 0.15.19
- We have reduced logging level and enhanced few logs, update the logger to better track issues that may occur, see
582ab5b,17020fb,04d3105,730f0c3,c887666,ef6e99a,63e76c7,3c6ef35,4d1500a,72bfab9,18ddee3,b455bbfandd864012. - We have implemented the flag
--jsonon every query command of Sōzu to be able to use it with software likejq, see95de156,0e62ff3and822dcb9. - We have fixed behaviors when parsing HTTP 1.1 (mainly pipelining or streaming issues), see ,
58a7f03,ae8c66d,6bd2d85,707fbf3,1cb4d53and1710f8a.
Changelog
➕ Added
- [
72bfab9] setup logging in accept_clients() [Emmanuel Bosquet] (2023-12-13) - [
18ddee3] add missing access logs [Emmanuel Bosquet] (2024-01-08) - [
822dcb9] CLI: all responses are displayable in JSON [Emmanuel Bosquet] (2023-12-06) - [
1788fac] add remove_backend test in state module [Emmanuel Bosquet] (2023-12-06) - [
161ca05] introduce optional worker_timeout [Emmanuel Bosquet] (2023-11-23) - [
b754391] create ConfigState::write_requests_to_file [Emmanuel Bosquet] (2023-11-27)
⛑️ Fixed
- [
1cb4d53] handle backend hangup when responses is still transferring [Emmanuel Bosquet] (2024-01-08) - [
1710f8a] Fix TCP connection hanging on backend connection error [Eloi DEMOLIS] (2024-01-23) - [
707fbf3] Update TCP states to use SessionResult when possible [Eloi DEMOLIS] (2024-01-24) - [
6bd2d85] fix(sozu): reset storage buffers on keep-alive requests [Florentin Dubois] (2023-12-07) - [
bb1aa11] fix(https): panic on failed https upgrade into wss [Florentin Dubois] (2023-12-13) - [
ae8c66d] fix(http): panic on http upgrade into websocket [Florentin Dubois] (2023-12-13) - [
58a7f03] Fix: WouldBlock in SocketHandler::socket_write breaks properly [Eloi DEMOLIS] (2023-11-23) - [
17020fb] Fix panic in view [Eloi DEMOLIS] (2023-11-23) - [
0d82323] fix worker status command [Emmanuel Bosquet] (2023-11-23) - [
582ab5b] Do not set RUST_LOG on logger setup [Eloi DEMOLIS] (2023-12-07) - [
04d3105] Sanitize user-agent in access logs [Eloi DEMOLIS] (2024-01-24) - [
10f5433] fix timeout issue in the CLI [Emmanuel Bosquet] (2024-01-24)
✍️ Changed
- [
23d8171] update rustls to 0.22.1 [Emmanuel Bosquet] (2023-12-14) - [
b7ef38f] add no-clusters option on metrics query [Emmanuel Bosquet] (2024-01-24) - [
98b5783] chore: update dependencies [Florentin Dubois] (2024-01-25) - [
3a4e4fd] pass Vec instead of ConfigState to new worker [Emmanuel Bosquet] (2023-11-27) - [
b455bbf] Add SNI and peer address on handshake error logs [Eloi DEMOLIS] (2023-11-28) - [
d864012] remove main logger [Emmanuel Bosquet] (2023-12-01) - [
505d134] remove unused dependencies [Emmanuel Bosquet] (2023-12-04) - [
0e62ff3] refactor cli display by creating Response::display [Emmanuel Bosquet] (2023-12-06) - [
95de156] display no other lines than JSON [Emmanuel Bosquet] (2023-12-06) - [
86303a2] ConfigState::cluster_state return Option [Emmanuel Bosquet] (2023-12-06) - [
4d1500a] chore: reduce verbosity of a few logs [Florentin Dubois] (2023-12-07) - [
3c6ef35] Better logging for parsing errors [Eloi DEMOLIS] (2023-12-07) - [
63e76c7] chore: reduce logging level [Florentin Dubois] (2023-12-08) - [
0f0ed1f] workers return only one response when dispatching a request [Emmanuel Bosquet] (2023-12-12) - [
ef6e99a] chore(http,https): update warning message with frontend token [Florentin Dubois] (2023-12-13) - [
32d8e3a] chore: update rustls to 0.21.10 [Florentin Dubois] (2023-12-13) - [
c887666] better logging of back error [Emmanuel Bosquet] (2023-11-22) - [
4a444b1] Mutualize MAX_LOOP_ITERATIONS in config [Eloi DEMOLIS] (2023-11-23) - [
730f0c3] Adjust logging level [Eloi DEMOLIS] (2023-11-23)
🥹 Contributors
Full Changelog: 0.15.15...0.15.19