See milestone v0.16.0
This changelog merge all modifications between versions 0.15.13 and 0.15.15
- Since the deployment of the version 0.15.x at Clever Cloud, we have seen some performance issues around tls handshake and we made several efforts to dig in and fix them, see
8364454
and92a277c
. - We have fix a bug when we replace a tls certificate that resolve the old onem once replaced, see
50afe7a
- We also allow to choose the number of ticket tls given to a new tls handshake, see
0c3c129
. - Update the systemd service to set start interval and burst, see
af5ea00
. - We also document a way to benchmark sozu, see
e754a15
.
- [
8364454
] Use rustls::Writer::write_vectored to reduce writev syscalls [Eloi DEMOLIS
] (2023-11-08
) - [
92a277c
] store certificates in parsed form in CertificateResolver [Eloi DEMOLIS
] (2023-11-14
)
- [
50afe7a
] fix(tls): certificate replacement and remove is still-in-use security [Florentin Dubois
] (2023-11-14
)
- [
0c3c129
] make send_tls13_tickets configurable [Emmanuel Bosquet
] (2023-11-09
) - [
1406954
] Remove rustls backpressuring flag [Eloi DEMOLIS
] (2023-11-08
) - [
9b29dcf
] proper logging of RouterError::RouteNotFound [Emmanuel Bosquet
] (2023-11-13
) - [
af5ea00
] distribution(systemd): set start limit interval and burst [Florentin Dubois
] (2023-11-14
) - [
cc12789
] comments and renaming in lib::tls [Emmanuel Bosquet
] (2023-11-14
)
- [
e754a15
] document benchmarking technique [Emmanuel Bosquet
] (2023-11-10
)
- @keksoj
- @FlorentinDUBOIS
- @Wonshtrum
This changelog merge all modifications between versions 0.15.6 and 0.15.13
- We have deployed the new release of Sōzu at Clever Cloud on production and find out some bugs during the deployment process, see
5d2f3b9
,7b61c04
,72e9d44
,bf026ee
,76e0e7d
,0bdf61d
,89bf73a
,1196a90
,e562299
,4c47cfc
,cda2f01
,ea0b8af
and437eb12
. - We have added debug logging, see
8854576
and887babe
. - We now retrieve subject alternative names for certificate, see
ea6bacd
. - We have enable metrics of clusters by default and add some error status code, see
9648cf0
and6b53071
. - We have updated sozu to hot reload logging level not only for the main processn but also workers, see
641daa3
?
- [
be2cfe6
] Add 507 default answer [Eloi DEMOLIS
] (2023-10-24
)
- [
5d2f3b9
] fix misleading CLI line on state saving [Emmanuel Bosquet
] (2023-10-27
) - [
7b61c04
] build: add missing assets [Florentin Dubois
] (2023-10-27
) - [
72e9d44
] Don't override X-Forwarded-Proto and X-Forwarded-Port [Eloi DEMOLIS
] (2023-10-26
) - [
bf026ee
] Add a default certificate when none are found for a host [Eloi DEMOLIS
] (2023-10-27
) - [
76e0e7d
] Fix early connect trials [Eloi DEMOLIS
] (2023-10-24
) - [
0bdf61d
] fix cluster metrics [Emmanuel Bosquet
] (2023-10-24
) - [
89bf73a
] fix(timeout): implements cancel on drop [Florentin Dubois
] (2023-10-23
) - [
1196a90
] include TCP clusters in command 'cluster list' [Emmanuel Bosquet
] (2023-09-19
) - [
e562299
] Fix TrieNode wildcard and regexp management [Eloi DEMOLIS
] (2023-10-17
) - [
4c47cfc
] fix the display of non-existing cluster information in cluster list [Emmanuel Bosquet
] (2023-10-13
) - [
cda2f01
] Fix X-Forwarded-Port when not present [Eloi DEMOLIS
] (2023-10-20
) - [
ea0b8af
] fix(rustls): read buffer if we received a bufffer full error instead of processing new packets [Florentin Dubois
] (2023-10-21
) - [
437eb12
] fix: allow to read [Florentin Dubois
] (2023-10-21
)
- [
8854576
] Add log on suspicious X-Forwarded-Proto and Port [Eloi DEMOLIS
] (2023-10-27
) - [
ea6bacd
] Get Subject Alternative Names from extensions [Eloi DEMOLIS
] (2023-10-25
) - [
8595cf9
] Remove early read on TLS upgrade [Eloi DEMOLIS
] (2023-10-24
) - [
9648cf0
] enable cluster metrics by default [Emmanuel Bosquet
] (2023-10-23
) - [
6b53071
] save 4xx and 5xx status codes in cluster metrics [Emmanuel Bosquet
] (2023-10-23
) - [
a1d60b2
] more sensible CLI defaults params in config.toml [Emmanuel Bosquet
] (2023-09-21
) - [
641daa3
] send logging level change requests to workers [Emmanuel Bosquet
] (2023-10-18
) - [
887babe
] chore: increase logs on access error [Florentin Dubois
] (2023-10-21
)
- [
9301048
] doc(changelog): add 0.15.6 entry [Florentin Dubois
] (2023-10-11
)
- @keksoj
- @FlorentinDUBOIS
- @Wonshtrum
- Fix behaviour on missing
X-Forwarded-Proto
andX-Forwarded-Port
, we add them in that case, seec09e17a
. - Fix behaviour on kawa parser when we detect a header
Content-Length
onHEAD
requests, see7d89372
.
- [
c09e17a
] Fix X-Forwarded-Proto and X-Forwarded-Port (add them when not present) [Eloi DEMOLIS
] (2023-10-11
) - [
7d89372
] Fix responses to head requests (ignore body length) [Eloi DEMOLIS
] (2023-10-11
)
- [
a52e750
] doc(changelog): add 0.15.5 entry [Florentin Dubois
] (2023-09-21
) - [
4ffaf2b
] chore: update dependencies [Florentin Dubois
] (2023-10-11
) - [
6de9cf5
] chore: update dependencies [Florentin Dubois
] (2023-09-21
)
- @FlorentinDUBOIS
- @Wonshtrum
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.15.5...0.15.6
We fix a bug that can occurs with pki using T.61 charset, see a5412b9
.
- [
a5412b9
] fix(command): retrieve name and san from slice [Florentin Dubois
] (2023-09-21
) - [
24c4407
] chore: update changelog to add 0.15.4 [Florentin Dubois
] (2023-09-13
) - [
6de9cf5
] chore: update dependencies [Florentin Dubois
] (2023-09-21
)
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.15.4...0.15.5
- Expose SIMD as a feature flag and enable it by default, see
9df3f1d
. - Improve documentation, see
d2f1621
,e9c185e
,bd5703a
. - We did some cleaning on unused source code, see
31c26b4
,c25d483
,4aceb86
,001aa89
. - We update the minimum supported rust version to
1.70.0
, see02892b8
.
- Fix unit and end-to-end (e2e) tests, see
2b84a4b
,4aceb86
,818bc48
,56dce47
. - Fix certificate issue at loading, see
daaeb19
.
- [
9df3f1d
] introduce SIMD as default feature [Emmanuel Bosquet
] (2023-09-13
)
- [
2b84a4b
] create PortProvider in e2e tests [Emmanuel Bosquet
] (2023-09-12
)
- [
31c26b4
] remove buffer_queue, useless since introduction of kawa [Emmanuel Bosquet
] (2023-09-13
) - [
c25d483
] remove unused dependencies [Emmanuel Bosquet
] (2023-09-13
) - [
f9c4ddb
] update dependencies [Emmanuel Bosquet
] (2023-09-13
) - [
90e3bc7
] cargo fmt [Emmanuel Bosquet
] (2023-09-13
) - [
4aceb86
] remove serial aspect of e2e tests [Emmanuel Bosquet
] (2023-09-12
) - [
f0661a5
] update dependencies [Emmanuel Bosquet
] (2023-09-11
) - [
02892b8
] set rust-toolchain and rust-version to 1.70.0 [Emmanuel Bosquet
] (2023-09-11
)
- [
5b14713
] merge use statements in kawa_h1::answers [Emmanuel Bosquet
] (2023-09-13
) - [
001aa89
] remove useless test crate import [Emmanuel Bosquet
] (2023-09-13
) - [
8c164f9
] use TryFrom in prost::Decode [Emmanuel Bosquet
] (2023-09-13
)
- [
818bc48
] fix test for 101 HTTP behavior [Emmanuel Bosquet
] (2023-09-13
) - [
daaeb19
] remove skipping of certificate update in GenericCertificateResolver [Emmanuel Bosquet
] (2023-09-12
) - [
56dce47
] fix 103 early hint e2e test [Emmanuel Bosquet
] (2023-09-12
)
- [
d2f1621
] fix(readme): Define covered work interpretation #764 [Steven LE ROUX
] (2023-08-30
) - [
e9c185e
] remove doc lines about a removed systemd script [Emmanuel Bosquet
] (2023-08-24
) - [
bd5703a
] fix doc link to systemd unit file [Emmanuel Bosquet
] (2023-08-24
)
- @keksoj
- @Wonshtrum
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.15.3...0.15.4
- We have reworked the error management in the command library to remove anyhow in favor of thiserror, the idea behind is to give to the binary or library that use this crate to better understand the error and be able to differentiate, if something is going wrong or not and take actions, see
e7b530d
,d2e1dcc
,d0389d8
,447bed5
,aa55b97
,0a92877
,a04fe34
,e1e7ce2
,bdde240
,d109ccc
,bda6913
,cc341e3
,5c7a8ef
,b919515
andf9353d2
. - We have improved the telemetry to expose the cluster id and the backend id if available, see
b8e1017
,471c46f
,9aee4da
,11ff5bd
,8334bc7
,6df1802
,e8caac8
,295c2b6
,0acf06d
,3feeca8
,182b579
,c2b4c9c
and0ecf4cc
.
- Fix the loading of configuration from a file that was limited to the buffer size, see
df69ba6
. - Fix the display of domain names in the command line, see
14868dd
andc738545
.
- [
b8e1017
] fix metrics macros import scopes [hcaumeil
] (2023-08-02
) - [
471c46f
] renaming metrics for consistancy [hcaumeil
] (2023-08-02
) - [
9aee4da
] make http status metrics and access logs metrics cluster related [hcaumeil
] (2023-08-02
) - [
11ff5bd
] add user-agent in access logs [hcaumeil
] (2023-08-02
) - [
8334bc7
] add path matching time metrics [hcaumeil
] (2023-08-02
) - [
6df1802
] rename metric connections.error to backend.connections.error [hcaumeil
] (2023-08-02
) - [
e8caac8
] make http.301.redirection metric cluster related [hcaumeil
] (2023-08-02
) - [
295c2b6
] cleaner error handling [hcaumeil
] (2023-08-03
) - [
0acf06d
] better formating [hcaumeil
] (2023-08-03
) - [
3feeca8
] variable rename for clarity [hcaumeil
] (2023-08-03
) - [
182b579
] rename up and down metrics for clarity [hcaumeil
] (2023-08-08
) - [
c2b4c9c
] make some http 4.x.x status metrics clustered (401,408,413) [hcaumeil
] (2023-08-08
) - [
0ecf4cc
] chore: print user-agent as a tag value in access logs [Florentin Dubois
] (2023-08-08
)
- [
e7b530d
] create CertificateError for the certificate module [Emmanuel Bosquet
] (2023-07-31
) - [
d2e1dcc
] remove anyhow from sozu_command_lib dependencies [Emmanuel Bosquet
] (2023-07-31
) - [
d0389d8
] add thiserror to ConfigState::dispatch [Emmanuel Bosquet
] (2023-07-31
) - [
447bed5
] create ScmSocketError for module scm_socket [Emmanuel Bosquet
] (2023-07-31
) - [
aa55b97
] create RequestError for the request module [Emmanuel Bosquet
] (2023-07-31
) - [
0a92877
] create FrontendFromRequestError [Emmanuel Bosquet
] (2023-07-31
) - [
a04fe34
] create ServerBindError in socket module [Emmanuel Bosquet
] (2023-07-31
) - [
e1e7ce2
] create RouterError, ProxyError, extend ListenerError [Emmanuel Bosquet
] (2023-07-31
) - [
bdde240
] create BackendConnectionError and RetrieveClusterError [Emmanuel Bosquet
] (2023-07-31
) - [
d109ccc
] create MetricError in metrics module [Emmanuel Bosquet
] (2023-07-31
) - [
bda6913
] put struct Backend in backends module, create BackendError [Emmanuel Bosquet
] (2023-07-31
) - [
cc341e3
] follow review to the error management [Emmanuel Bosquet
] (2023-07-31
) - [
5c7a8ef
] create ChannelError [Emmanuel Bosquet
] (2023-07-31
) - [
b919515
] create ConfigError for the config module [Emmanuel Bosquet
] (2023-07-31
) - [
f9353d2
] refactor: useCertificateError
instead ofParseTlsVersionError
[Florentin Dubois
] (2023-08-04
)
- [
df69ba6
] fix parsing in LoadState [Emmanuel Bosquet
] (2023-07-28
) - [
14868dd
] fix(tls): use right method to get cn and san attributes [Florentin Dubois
] (2023-08-04
) - [
c738545
] fix: retrieve cn and san attributes to display them in command line [Florentin Dubois
] (2023-08-04
)
- [
21d3609
] chore: update changelog [Florentin Dubois
] (2023-07-17
) - [
e060e2b
] chore: update year of changelog entries [Florentin DUBOIS
] (2023-07-18
) - [
06a214f
] comment out proxy protocol v1 tests since v1 is not used in sozu [Emmanuel Bosquet
] (2023-07-20
) - [
6b89eca
] rename CustomError to ParseError [Emmanuel Bosquet
] (2023-07-27
) - [
c60f5ee
] build: increase minimum supported rust version to 1.67.0 [Florentin Dubois
] (2023-08-04
) - [
7aab06d
] chore: update dependencies [Florentin Dubois
] (2023-08-04
) - [
df5904e
] chore: update dependencies [Florentin Dubois
] (2023-08-07
) - [
2539cfb
] styles(command): remove unused imports [Florentin Dubois
] (2023-08-07
) - [
9c2cbcc
] Remove most clippy warnings, remove front_readiness and back_readiness getters [Eloi DEMOLIS
] (2023-08-08
) - [
b80c7e8
] chore: update clap to 4.3.21 [Florentin Dubois
] (2023-08-09
) - [
8a5fb9a
] release: v0.15.3 [Florentin Dubois
] (2023-08-09
)
- [
0b0fbcb
] doc: add documentation on tls-related functions [Florentin Dubois
] (2023-08-04
)
- @keksoj
- @hcaumeil
- @Wonshtrum
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.15.2...0.15.3
- We have found out a bug around the upgrade from proxy-protocol to http, see
211db27
.
- [
211db27
] Fix empty interest on expect proxy proto upgrade [Eloi DEMOLIS
] (2023-07-17
)
- [
0a31489
] chore(http): reduce log verbosity around the http close method [Florentin Dubois
] (2023-07-13
) - [
748bf0f
] chore: update dependencies [Florentin Dubois
] (2023-07-17
) - [
c6446e1
] chore: add changelog entry for release v0.15.1 [Florentin Dubois
] (2023-07-11
)
- @Wonshtrum
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.15.1...0.15.2
- We have reduce the number of noisy logs to focus on what is really important on Sōzu, see [
39f4170
], [362cd82
] and [c92d6bd
]. - We have added the
100 Continue
use case in e2e tests to ensure no regression on it, see [c92d6bd
].
- We have identified a bug that create a loop on cluster that have the
https redirect
enabled, see [675c99d
].
- [
5a3b9b2
] Update changelog to add v0.15.0 [Florentin Dubois
] (2023-06-23
) - [
dfbd4b0
] chore: update dependencies [Florentin Dubois
] (2023-06-30
) - [
1753869
] ci: continue ci even if rust nightly build fail [Florentin Dubois
] (2023-06-30
) - [
39f4170
] comments on logging macros [Emmanuel Bosquet
] (2023-07-03
) - [
362cd82
] chore(https): reduce log level for debug logs [Florentin Dubois
] (2023-07-11
) - [
0d33f89
] chore: update dependencies [Florentin Dubois
] (2023-07-11
)
- [
c92d6bd
] Ignore 107 error on front socket, add 100-continue case in e2e tests [Eloi DEMOLIS
] (2023-07-07
)
- [
b26d34c
] rename parse_one_command to parse_one_request [Emmanuel Bosquet
] (2023-07-03
)
- [
675c99d
] fix: redirect to https only if the listener is a http [Florentin Dubois
] (2023-07-11
) - [
45e97a9
] fix(os-build): add missing protobuf dependency [Florentin Dubois
] (2023-06-30
) - [
fa5a910
] fix(os-build): add missing protobuf dependency [Florentin Dubois
] (2023-06-30
) - [
97034bd
] fix: updatestart_tcp_worker
to useTCPListen
variant ofProtocol
enum [Florentin Dubois
] (2023-07-11
)
- @Wonshtrum
- @Keksoj
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.15.0...0.15.1
- We have added on the command line a way to check for certificate validity that print the "not after" and "not before" field of the certificate, see
8ea3768
- This release is also the first one of that use the crate
kawa
to parse HTTP requests and translate them into an intermediate representation. It will be a foundation of the H2 integration in Sōzu, see144bdb6
,5ac6fd7
,5ac6fd7
,1cff096
,c4fbef0
,5c17acf
,b8fb52e
,cd55235
,3eec22c
,dc78bc0
,1b3bbf2
and737072f
. - We have updated the packaging for Arch Linux, Docker, Fedora, Exherbo and systemd, see
f2176a3
,81f25b6
andd088468
- We have fixed some issues that Mac OS users could be met, see
a93f66e
and0b435b6
. - We have also reduce the number of logs that Sōzu could be create using debug logging level as it may slow down it in few cases, see
09b0bf0
.
- We have renamed the command
query cluster
intocluster list
, seecf5964b
. - We have renamed the command
query certifcate
intocertificate list
, seeec6c58e
andacdc8c9
.
- [
8ea3768
] CLI: show certificate validity [Emmanuel Bosquet
] (2023-05-22
) - [
144bdb6
] First integration of HTX in H1 state [Eloi DEMOLIS
] (2023-06-05
) - [
5ac6fd7
] Continue HTX integration for H1: [Eloi DEMOLIS
] (2023-06-05
) - [
1cff096
] Remove unused macros [Eloi DEMOLIS
] (2023-06-05
) - [
c4fbef0
] Continue HTX (now Kawa) integration: [Eloi DEMOLIS
] (2023-06-05
) - [
5c17acf
] Continue Kawa integration: [Eloi DEMOLIS
] (2023-06-05
) - [
b8fb52e
] Continue Kawa integration: [Eloi DEMOLIS
] (2023-06-05
) - [
cd55235
] Add e2e test max_connections, add accept timeout on e2e sync_backend [Eloi DEMOLIS
] (2023-06-05
) - [
3eec22c
] Revisit HTTP timeouts, move Checkout synching to also benifit WSS [Eloi DEMOLIS
] (2023-06-05
) - [
dc78bc0
] Propagate AcceptError if no Checkout could be assigned to new HTTP session [Eloi DEMOLIS
] (2023-06-05
) - [
1b3bbf2
] Support 103 Responses: [Eloi DEMOLIS
] (2023-06-16
) - [
737072f
] introduce access_logs.count metric [Emmanuel Bosquet
] (2023-06-16
)
- [
f193370
] test ConfigState::get_certificate_by_fingerprint [Emmanuel Bosquet
] (2023-05-22
) - [
ca18682
] query the state for a certificate, by domain [Emmanuel Bosquet
] (2023-05-22
) - [
308f22f
] remove type CertificateWithNames [Emmanuel Bosquet
] (2023-05-22
) - [
3286204
] display certificates from the state in a table [Emmanuel Bosquet
] (2023-05-22
) - [
2863c31
] CLI: query all certificates in the state [Emmanuel Bosquet
] (2023-05-22
) - [
a71f485
] query certificates from the state with fingerprint [Emmanuel Bosquet
] (2023-05-22
) - [
294c164
] Update gitignore [Florentin Dubois
] (2023-05-23
) - [
ffcec1c
] chore: update dependencies [Florentin Dubois
] (2023-06-22
) - [
b73122b
] chore: update dependencies [Florentin Dubois
] (2023-06-22
) - [
cdc4e29
] chore: update dependencies [Florentin Dubois
] (2023-06-22
) - [
3c56fbc
] chore: update dependencies [Florentin Dubois
] (2023-06-22
)
- [
774d1af
] Remove legacy folder and script [Florentin Dubois
] (2023-05-23
)
- [
cf5964b
] transform CLI command "query clusters" to "cluster get" [Emmanuel Bosquet
] (2023-05-22
) - [
acdc8c9
] transform CLI command "query certificates" to "certificate get" [Emmanuel Bosquet
] (2023-05-22
) - [
ec6c58e
] CLI: rename 'clusters get' to 'clusters list', same for certificates [Emmanuel Bosquet
] (2023-05-22
)
- [
2f79f3c
] create ConfigState::get_certificates_by_domain_name [Emmanuel Bosquet
] (2023-05-22
) - [
787ae9e
] implement Display for CertificateWithNames [Emmanuel Bosquet
] (2023-05-22
) - [
1797600
] implement From for Request [Emmanuel Bosquet
] (2023-05-22
) - [
c19ef26
] rename order_request to send_request [Emmanuel Bosquet
] (2023-05-22
) - [
538653f
] Create state directory and file if it does not exists [Florentin Dubois
] (2023-05-23
) - [
b34b60f
] count request types received in ConfigState [Emmanuel Bosquet
] (2023-06-01
) - [
3a92069
] define defaults in sozu_command_lib::config [Emmanuel Bosquet
] (2023-06-02
) - [
f6e011f
] Add socketstats unittest [Eloi DEMOLIS
] (2023-06-05
)
- [
de7660d
] doc: Changed all instances of SSL to TLS. [Jonathan Davies
] (2023-05-19
)
- [
9085a20
] isolate method ConfigState::list_listeners [Emmanuel Bosquet
] (2023-05-19
) - [
c85f65f
] isolate method ConfigState::list_frontends [Emmanuel Bosquet
] (2023-05-19
) - [
e24659d
] introduce type QueryCertificatesFilters [Emmanuel Bosquet
] (2023-05-22
) - [
9d554a5
] rename ContentType::Certificates to CertificatesByAddress [Emmanuel Bosquet
] (2023-05-22
) - [
4776d5f
] merge certificate types in CertificatesWithFingerprints [Emmanuel Bosquet
] (2023-05-22
) - [
91dc12d
] CertificatesMatchingADomainName contains CertificateAndKey [Emmanuel Bosquet
] (2023-05-22
) - [
721a951
] merge request types into RequestType::QueryCertificatesFromWorkers [Emmanuel Bosquet
] (2023-05-22
) - [
fcbe244
] CLI: simplify display::print_cluster_responses [Emmanuel Bosquet
] (2023-05-22
) - [
57a0fc6
] Format GitHub Action workflow [Florentin Dubois
] (2023-05-23
) - [
f2176a3
] Update systemd services and configuration [Florentin Dubois
] (2023-05-23
) - [
81f25b6
] Update Arch Linux packaging [Florentin Dubois
] (2023-05-23
) - [
458bb5a
] Update RPM and selinux packaging [Florentin Dubois
] (2023-05-23
) - [
d088468
] Update Docker image [Florentin Dubois
] (2023-05-23
) - [
fe9097e
] Apply clippy suggestions [Eloi DEMOLIS
] (2023-06-05
) - [
72f200b
] Refactor access logs: [Eloi DEMOLIS
] (2023-06-05
) - [
0ff7b31
] rename MetricData to MetricValue [Emmanuel Bosquet
] (2023-06-16
)
- [
584e0bf
] fix display of hex fingerprint in the CLI [Emmanuel Bosquet
] (2023-05-22
) - [
a93f66e
] Fix some MacOS related issues [Eloi DEMOLIS
] (2023-06-14
) - [
0b435b6
] Fix some MacOS related warnings [Eloi DEMOLIS
] (2023-06-14
) - [
09b0bf0
] chore: decrease logging verbosity [Florentin Dubois
] (2023-06-22
)
- @Wonshtrum
- @Keksoj
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.14.3...0.15.0
- We have updated structures that Sōzu use for its communication on the socket. It now uses structures that are generated from protobuf. see
b6bc86d
,2f4f769
,1732b5d
,e3c8bec
,efb9c5d
,7759984
,1d5c72e
,1b07534
,a1a801e
,9dc490f
,4bd9c6f
,1421f6c
,a39d905
,43dfd6e
,6437a69
,4ec1b21
,c4dbf90
,6910aaf
,137ae7f
,aeb2f2e
,7d9b0f5
,755716c
,b2e0a6b
,4509bbe
,c1f5b6e
,2516e3b
,d909f7d
,d2303f9
,8db54c7
,cbca836
,35a43ee
,2c6641a
,7c6c93f
,c53e763
,e8fdb95
,c504ffa
,0b74c92
,7145d1f
,d6fba00
,ee301d9
,8fcf5e9
,f514bce
,145d061
,81f4f39
,7cf64c8
,a7e16f8
,4b312d4
,fdb8f2e
,0e62f8d
,e0643f4
,4df5ba9
,0c94c2b
,ad7f58f
,a5b0009
,5f18b71
,cb4755a
,eb9b18e
,3387628
,30ae223
,72259e7
,476e230
,7fac13a
,31d689a
,f03aac9
,5924101
,8d6eb42
,8e5e9ce
,65b01e8
,1264378
,565dbd6
,87b4d96
,457a9cd
,7ca33c6
,2989f49
,8907216
,36f01dc
,00f82cf
,9a37917
,5a77faf
,f434974
,6716f8a
,4e1e7d0
,25f6018
,82bb6c5
,685bb16
,bdd402f
,c3969d2
,a87214f
,ba6928c
,be75673
,a8c87a1
,c674b64
,f6a84e1
,03332c7
,332ed3e
,1edcf68
,3e41887
,19d2915
,50b1a2e
,a91a576
,6daea56
,bd6d535
,7617b34
,7254b98
,c2df4b0
,d12920e
,4472332
,dbd1fad
,66e36d6
,582d285
,d817d9d
,7214aa2
,7fb08f3
,97fb5da
,ae140f2
,2e26e76
,30e602d
,f005d9a
,802c3e9
,75b5ade
,537e0e9
,dbab4b4
,8cebed1
,73c496d
,d51590c
,cdc8629
,22719bd
,acb0455
,f9de7ba
,b125338
,edb6863
and570f8af
. - We have improved the command line internals, see
c4c51fa
and7b568dd
. - We now publish a new docker image on each commit on main branch, see
b198efb
andb260c8c
. - We have set the minimum supported rust version to 1.66.1, see
08504aa
.
- We have implemented new tests on the e2e testing framework, see
b5fb1d9
. - We have updated distribution packaging, see
42fa3f2
,b7e2f17
ande5465e4
. - We now build the documentation using only the stable version of Rust, see
95f7019
. - We also improved the documentation, see
2609746
,057eac4
,432b22b
,91dc44d
,78a6363
,3e93455
,5032973
and17f7cb6
.
- We have removed the "acme" sub command of sozu to help us to completely remove openssl dependency on OpenSSL, see
d5297dd
,106d3c8
and the issue #926
- As we changed the communication format from json to protobuf, we could not keep the compatibility with elder version. However, as we used protobuf now, we will be able to support evolutions and changes without creating a breaking change.
- [
f0704ef
] Add default variables [tazou
] (2021-06-22
) - [
6616b77
] add context to HTTP and HTTPS listener activation [Emmanuel Bosquet
] (2022-12-09
) - [
2f4f769
] add protobuf to Dockerfile image [Emmanuel Bosquet
] (2023-05-03
) - [
08504aa
] add rust-version and rust-toolchain [Emmanuel Bosquet
] (2023-05-05
) - [
b198efb
] Docker build and push to Docker Hub in the CI [Emmanuel Bosquet
] (2022-12-09
) - [
b260c8c
] push docker build to docker hub only when merging to main [Emmanuel Bosquet
] (2022-12-09
) - [
b5fb1d9
] Simple e2e testing framework, passthrough and corner case tests [Eloi DEMOLIS
] (2023-01-10
) - [
146dd32
] make get_cluster_ids_by_domain a method of ConfigState [Emmanuel Bosquet
] (2023-05-04
) - [
ebeabc4
] make get_certificate a method of ConfigState [Emmanuel Bosquet
] (2023-05-04
) - [
c4c51fa
] list HTTP, HTTPS and TCP listeners in the CLI [Emmanuel Bosquet
] (2023-01-12
) - [
7b568dd
] cli: simplify request sending, remove boilerplate [Emmanuel Bosquet
] (2023-01-16
) - [
7e24d12
] PR feedback [Tim Bart
] (2022-12-18
)
- [
106d3c8
] chore(acme): remove acme command [Florentin Dubois
] (2023-05-04
) - [
5bf36f5
] remove todo macros in bin/scr/ctl/command.rs [Emmanuel Bosquet
] (2023-01-16
)
- [
42fa3f2
] chore(archlinux): update packaging [Florentin Dubois
] (2023-01-23
) - [
b7e2f17
] chore(docker): update packaging [Florentin Dubois
] (2023-01-23
) - [
e5465e4
] chore(rpm): update packaging [Florentin Dubois
] (2023-01-23
) - [
6c87883
] Update generate.sh [tazou
] (2021-06-22
) - [
1304914
] Update command/src/proxy.rs [Tim Bart
] (2022-12-20
) - [
3e48735
] remove unsafe for get_executable_path on macOS [Tim Bart
] (2022-12-19
) - [
95f7019
] Github CI: use stable toolchain to build the doc [Emmanuel Bosquet
] (2023-03-22
) - [
5698e14
] chore(lib): bump dependencies [Florentin Dubois
] (2023-05-03
) - [
c7fd33d
] chore(command): bump dependencies [Florentin Dubois
] (2023-05-03
) - [
9ca3cda
] chore(e2e): bump dependencies [Florentin Dubois
] (2023-05-03
) - [
4a89060
] chore(bin): bump dependencies [Florentin Dubois
] (2023-05-03
) - [
78f1647
] update rustls to 0.21.0 [Emmanuel Bosquet
] (2023-04-12
) - [
6d5215a
] Update dependencies [Florentin Dubois
] (2023-02-06
) - [
b6bc86d
] build protobuf types with prost-build, without tonic [Emmanuel Bosquet
] (2023-04-12
) - [
d5297dd
] chore(e2e): use rustls instead of openssl [Florentin Dubois
] (2023-05-04
) - [
b978a89
] get TcpFrontends::tags out of its Option<> [Emmanuel Bosquet
] (2023-05-04
) - [
9cd613c
] Update lib/src/protocol/http/mod.rs [Eloi Démolis
] (2023-04-13
) - [
b89f4f7
] Update lib/src/protocol/http/mod.rs [Eloi Démolis
] (2023-04-13
) - [
a1c02b6
] remove resolved TODOs [Emmanuel Bosquet
] (2023-05-04
)
- [
2609746
] add documenting comments [Emmanuel Bosquet
] (2022-12-16
) - [
057eac4
] basic crate documentation on sozu [Emmanuel Bosquet
] (2023-05-09
) - [
432b22b
] documenting comments on main process upgrade, remove useless comments [Emmanuel Bosquet
] (2022-12-16
) - [
91dc44d
] Remove mentions of sozuctl [Sykursen
] (2023-03-01
) - [
78a6363
] document protobuf in the sozu-command-lib README [Emmanuel Bosquet
] (2023-05-03
) - [
3e93455
] doc: use sozu instead of sozuctl [Florentin Dubois
] (2023-01-23
) - [
5032973
] correct formatting in how_to_use.md [Emmanuel Bosquet
] (2023-05-03
) - [
17f7cb6
] rewrite the sozu_lib documentation [Emmanuel Bosquet
] (2023-05-09
)
- [
319119a
] abstract out HTTP and HTTPS notify methods [Emmanuel Bosquet
] (2022-12-08
) - [
03085ea
] error propagation on HTTP and HTTPS frontend add and remove [Emmanuel Bosquet
] (2022-12-08
) - [
ffb5384
] rename ConfigState::handle_order to ConfigState::dispatch [Emmanuel Bosquet
] (2022-12-16
) - [
1c9f785
] remove the init_workers function [Emmanuel Bosquet
] (2022-12-16
) - [
1732b5d
] rename command::proxy module to command::worker [Emmanuel Bosquet
] (2023-03-08
) - [
e3c8bec
] remove optional worker id from CommandRequest [Emmanuel Bosquet
] (2023-03-08
) - [
efb9c5d
] rename CommandRequest to ClientRequest [Emmanuel Bosquet
] (2023-03-08
) - [
7759984
] flatten ProxyRequestOrder variants into RequestContent [Emmanuel Bosquet
] (2023-03-08
) - [
1d5c72e
] remove id and version from Requests sent to sozu [Emmanuel Bosquet
] (2023-03-09
) - [
1b07534
] Remove @BlackYoup from code owners [Florentin DUBOIS
] (2023-03-09
) - [
a1a801e
] put Query variants into Order, remove Query [Emmanuel Bosquet
] (2023-03-09
) - [
9dc490f
] sozu_command_lib: rename command module to order [Emmanuel Bosquet
] (2023-03-10
) - [
4bd9c6f
] segregate types in the order and response modules [Emmanuel Bosquet
] (2023-03-10
) - [
1421f6c
] rename sozu::Response to sozu::Advancement [Emmanuel Bosquet
] (2023-03-13
) - [
a39d905
] rename sozu_command_lib::CommandResponse to Response [Emmanuel Bosquet
] (2023-03-13
) - [
43dfd6e
] rename sozu_command_lib::order module to request [Emmanuel Bosquet
] (2023-03-13
) - [
6437a69
] rename sozu::command::orders to sozu::command::requests [Emmanuel Bosquet
] (2023-03-13
) - [
4ec1b21
] sozu::Worker::is_not_stopped_or_stopping() method [Emmanuel Bosquet
] (2023-03-13
) - [
c4dbf90
] method Request::is_a_stop() [Emmanuel Bosquet
] (2023-03-13
) - [
6910aaf
] remove worker.rs [Emmanuel Bosquet
] (2023-03-13
) - [
137ae7f
] return error if no worker is found when reloading configuration [Emmanuel Bosquet
] (2023-03-13
) - [
aeb2f2e
] remove useless ProxyEvent, redundant with Event [Emmanuel Bosquet
] (2023-03-13
) - [
7d9b0f5
] use type ResponseStatus for ProxyResponse [Emmanuel Bosquet
] (2023-03-13
) - [
755716c
] rename sozu::Worker::is_not_stopped_or_stopping to is_active [Emmanuel Bosquet
] (2023-03-16
) - [
b2e0a6b
] build Config using a ConfigBuilder [Emmanuel Bosquet
] (2023-03-16
) - [
4509bbe
] sozu_command_lib::config::FileConfig::load_from_path returns anyhow::Result [Emmanuel Bosquet
] (2023-03-16
) - [
c1f5b6e
] parse String to SocketAddr in config::Listener [Emmanuel Bosquet
] (2023-03-16
) - [
2516e3b
] replace SocketAddr with String in certificate requests [Emmanuel Bosquet
] (2023-03-16
) - [
d909f7d
] create struct AddBackend where SocketAddr is a String [Emmanuel Bosquet
] (2023-03-16
) - [
d2303f9
] create struct RequestHttpFrontend where SocketAddr is a String [Emmanuel Bosquet
] (2023-03-16
) - [
8db54c7
] documenting comments and defaults on Config [Emmanuel Bosquet
] (2023-03-16
) - [
cbca836
] builder pattern for listeners [Emmanuel Bosquet
] (2023-03-16
) - [
35a43ee
] default values for timeouts in Config serialization [Emmanuel Bosquet
] (2023-03-16
) - [
2c6641a
] const DEFAULT_STICKY_NAME with value SOZUBALANCEID [Emmanuel Bosquet
] (2023-03-16
) - [
7c6c93f
] protocol checks when building Listener in config.rs [Emmanuel Bosquet
] (2023-03-16
) - [
c53e763
] documenting comments on listener builders [Emmanuel Bosquet
] (2023-03-16
) - [
e8fdb95
] implement Into for HttpFrontend [Emmanuel Bosquet
] (2023-03-16
) - [
c504ffa
] remove impl Default for HttpListenerConfig [Emmanuel Bosquet
] (2023-03-16
) - [
0b74c92
] remove useless field http_addresses on ConfigState [Emmanuel Bosquet
] (2023-03-16
) - [
7145d1f
] parse socket addresses in the CLI before sending requests [Emmanuel Bosquet
] (2023-03-20
) - [
d6fba00
] rename QueryAnswerCluster to ClusterInformation [Emmanuel Bosquet
] (2023-03-22
) - [
ee301d9
] rename CertificateFingerprint to Fingerprint [Emmanuel Bosquet
] (2023-03-22
) - [
8fcf5e9
] introduce response type CertificateSummary [Emmanuel Bosquet
] (2023-03-22
) - [
f514bce
] create Request::QueryAllCertificates [Emmanuel Bosquet
] (2023-03-22
) - [
145d061
] create Request::QueryCertificatesByDomain [Emmanuel Bosquet
] (2023-03-22
) - [
81f4f39
] create Request::QueryCertificateByFingerprint [Emmanuel Bosquet
] (2023-03-22
) - [
7cf64c8
] make Request::QueryCertificateByFingerprint contain Fingerprint [Emmanuel Bosquet
] (2023-03-22
) - [
a7e16f8
] remove ResponseContent::CertificatesByDomain [Emmanuel Bosquet
] (2023-03-22
) - [
4b312d4
] remove QueryAnswerCertificate [Emmanuel Bosquet
] (2023-03-22
) - [
fdb8f2e
] rename ClusterMetricsData to ClusterMetrics [Emmanuel Bosquet
] (2023-03-22
) - [
0e62f8d
] remove ProxyResponseContent, put its variant in ResponseContent [Emmanuel Bosquet
] (2023-03-22
) - [
e0643f4
] rename ProxyResponse to WorkerResponse [Emmanuel Bosquet
] (2023-03-22
) - [
4df5ba9
] put QueryAnswer variants in ProxyResponse, remove QueryAnswer [Emmanuel Bosquet
] (2023-03-22
) - [
0c94c2b
] make PathRule a struct, with embedded enum PathRuleKind [Emmanuel Bosquet
] (2023-03-22
) - [
ad7f58f
] rename AggregatedMetricsData to AggregatedMetrics [Emmanuel Bosquet
] (2023-03-22
) - [
a5b0009
] rename FilteredData to FilteredMetrics [Emmanuel Bosquet
] (2023-03-22
) - [
5f18b71
] create and use response::BackendMetrics [Emmanuel Bosquet
] (2023-03-22
) - [
cb4755a
] make AggregatedMetrics contain WorkerMetrics [Emmanuel Bosquet
] (2023-03-22
) - [
eb9b18e
] create AvailableMetrics, remove QueryAnswerMetrics [Emmanuel Bosquet
] (2023-03-22
) - [
3387628
] move QueryAnswerCertificate::All to ResponseContent::AllCertificates [Emmanuel Bosquet
] (2023-03-22
) - [
30ae223
] move QueryAnswerCertificate::Domain to ResponseContent::CertificatesByDomain [Emmanuel Bosquet
] (2023-03-22
) - [
72259e7
] move QueryAnswerCertificate::Fingerprint to ResponseContent::CertificateByFingerprint [Emmanuel Bosquet
] (2023-03-22
) - [
476e230
] Http refactor: move backend logic from Session to State [Eloi DEMOLIS
] (2023-02-13
) - [
7fac13a
] create Request::QueryClusterById [Emmanuel Bosquet
] (2023-03-23
) - [
31d689a
] create Request::QueryClusterByDomain [Emmanuel Bosquet
] (2023-03-23
) - [
f03aac9
] HttpFrontend::route has type Option [Emmanuel Bosquet
] (2023-03-27
) - [
5924101
] rename HttpFrontend::route to cluster_id [Emmanuel Bosquet
] (2023-03-27
) - [
8d6eb42
] replace SocketAddr type with String in Listeners [Emmanuel Bosquet
] (2023-04-03
) - [
8e5e9ce
] field active on TcpListenerConfig [Emmanuel Bosquet
] (2023-04-03
) - [
65b01e8
] field active on HttpsListenerConfig [Emmanuel Bosquet
] (2023-04-03
) - [
1264378
] field active on HttpListenerConfig [Emmanuel Bosquet
] (2023-04-03
) - [
565dbd6
] implement fmt::Display for RequestHttpFrontend [Emmanuel Bosquet
] (2023-04-04
) - [
87b4d96
] populate https_frontends in ConfigState [Emmanuel Bosquet
] (2023-04-04
) - [
457a9cd
] protobuf scaffold [Emmanuel Bosquet
] (2023-04-04
) - [
7ca33c6
] write RequestHttpFrontend in protobuf [Emmanuel Bosquet
] (2023-04-04
) - [
2989f49
] write CertificateSummary in protobuf [Emmanuel Bosquet
] (2023-04-04
) - [
8907216
] write TlsVersion in protobuf [Emmanuel Bosquet
] (2023-04-04
) - [
36f01dc
] write CertificateAndKey in protobuf [Emmanuel Bosquet
] (2023-04-04
) - [
00f82cf
] write AddCertificate in protobuf [Emmanuel Bosquet
] (2023-04-04
) - [
9a37917
] write RemoveCertificate in protobuf [Emmanuel Bosquet
] (2023-04-04
) - [
5a77faf
] write ReplaceCertificate in protobuf [Emmanuel Bosquet
] (2023-04-04
) - [
f434974
] write LoadBalancingAlgorithms in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
6716f8a
] write ProxyProtocolConfig in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
4e1e7d0
] write LoadMetric in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
25f6018
] write Cluster in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
82bb6c5
] write RequestTcpFrontend in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
685bb16
] write RemoveBackend in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
bdd402f
] write AddBackend and LoadBalancingParams in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
c3969d2
] write QueryClusterByDomain in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
a87214f
] write QueryMetricsOptions in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
ba6928c
] write MetricsConfiguration in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
be75673
] write RunState in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
a8c87a1
] write WorkerInfo in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
c674b64
] write Percentiles in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
f6a84e1
] write FilteredTimeSerie in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
03332c7
] write FilteredMetrics in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
332ed3e
] write BackendMetrics and ClusterMetrics in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
1edcf68
] write WorkerMetrics in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
3e41887
] write AggregatedMetrics in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
19d2915
] put field names to CertificateAndKey [Emmanuel Bosquet
] (2023-04-05
) - [
50b1a2e
] write HttpFrontendConfig in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
a91a576
] write HttpsFrontendConfig in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
6daea56
] write TcpListenerConfig in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
bd6d535
] write ListenersList in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
7617b34
] write ListenerType in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
7254b98
] write RemoveListener in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
c2df4b0
] write ActivateListener in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
d12920e
] write DeactivateListener in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
4472332
] remove useless HttpProxy, HttpsProxy, add TODOs [Emmanuel Bosquet
] (2023-04-05
) - [
dbd1fad
] write AvailableMetrics in protobuf [Emmanuel Bosquet
] (2023-04-05
) - [
66e36d6
] write Request in protobuf [Emmanuel Bosquet
] (2023-04-26
) - [
582d285
] write ResponseStatus in protobuf [Emmanuel Bosquet
] (2023-04-28
) - [
d817d9d
] create type WorkerInfos [Emmanuel Bosquet
] (2023-04-28
) - [
7214aa2
] replace ResponseContent::Status with ResponseContent::Workers [Emmanuel Bosquet
] (2023-04-28
) - [
7fb08f3
] make response::Event a struct, create EventKind [Emmanuel Bosquet
] (2023-04-28
) - [
97fb5da
] write Event and EventKind in protobuf [Emmanuel Bosquet
] (2023-04-28
) - [
ae140f2
] remove the DumpState command [Emmanuel Bosquet
] (2023-04-28
) - [
2e26e76
] create type ClusterHashes [Emmanuel Bosquet
] (2023-04-28
) - [
30e602d
] write ClusterInformation in protobuf [Emmanuel Bosquet
] (2023-04-28
) - [
f005d9a
] create type ClusterInformations [Emmanuel Bosquet
] (2023-04-28
) - [
802c3e9
] create type CertificateWithNames [Emmanuel Bosquet
] (2023-04-28
) - [
75b5ade
] create types ListOfCertificatesByAddress and CertificatesByAddress [Emmanuel Bosquet
] (2023-04-28
) - [
537e0e9
] write ListedFrontends in protobuf [Emmanuel Bosquet
] (2023-04-28
) - [
dbab4b4
] write ResponseContent in protobuf [Emmanuel Bosquet
] (2023-04-28
) - [
8cebed1
] remove id from Response [Emmanuel Bosquet
] (2023-04-28
) - [
73c496d
] remove protocol version from response [Emmanuel Bosquet
] (2023-04-28
) - [
d51590c
] write Response in protobuf [Emmanuel Bosquet
] (2023-04-28
) - [
cdc8629
] remove the DumpState command from the protobuf Request [Emmanuel Bosquet
] (2023-05-03
) - [
22719bd
] remove JSON serialization tests [Emmanuel Bosquet
] (2023-05-03
) - [
acb0455
] isolate method SessionManager::at_capacity() [Emmanuel Bosquet
] (2023-05-03
) - [
f9de7ba
] create AcceptError::BufferCapacityReached, use it [Emmanuel Bosquet
] (2023-05-03
) - [
b125338
] use default values wherever possible [Emmanuel Bosquet
] (2023-04-12
) - [
edb6863
] rewrite use statements [Emmanuel Bosquet
] (2023-04-13
) - [
570f8af
] implement From for ResponseContent [Emmanuel Bosquet
] (2023-05-04
)
- [
4901718
] fix nightly warning in network drain [Emmanuel Bosquet
] (2023-05-15
) - [
564177c
] fix examples: use statements, bugs [Emmanuel Bosquet
] (2023-05-09
) - [
6fa15e5
] apply clippy fixes [Emmanuel Bosquet
] (2023-05-05
) - [
ea0db5d
] Fix a "blue green" issue: [Eloi DEMOLIS
] (2023-04-13
) - [
7555d38
] fix(proxy): Add power_of_two and least_loaded to FromStr trait [Tim Bart
] (2022-12-18
) - [
11407b8
] fix(macos): minor tweaks to for cargo build to run successfully [Tim Bart
] (2022-12-18
) - [
384489c
] Use clippy with Rust 1.67.0 and format source code [Florentin Dubois
] (2023-02-06
) - [
fbad528
] Update return for get_executable_path (freebsd) [3boll
] (2023-03-01
)
- @alkavan made their first contribution in sozu-proxy#693
- @kianmeng made their first contribution in sozu-proxy#830
- @pims made their first contribution in sozu-proxy#868
- @Sykursen made their first contribution in sozu-proxy#893
- @jmingov made their first contribution in sozu-proxy#894
- @Wonshtrum
- @Keksoj
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.14.2...0.14.3
- Added support of
brotli
(passthrough), see [7d9b560
] - Remove
OpenSSL
in favor ofRusTLS
, see [22bf673
], [d8f6b30
], [79755c8
] and [e202d1c
] - Merge Sozu ACME implementation, see [
339277d
] and [7118e64
]
- Update
RPM
packaging, see [0776217
], [37e90c2
], - Update dependencies and refactor a bunch of source code to prepare h2, see [ a lot of commits below 😛 ]
We remove the support of OpenSSL
in favor of RusTLS
, so the tls provider configurations associated to the selection of a tls provider has been dropped as well, see [ e202d1c
]
- [
7d9b560
] add brotli to encoding header values [Emmanuel Bosquet
] (2022-11-29
) - [
22bf673
] Add support of OpenSSL 3.0.x [Florentin Dubois
] (2022-10-17
) - [
d8f6b30
] Add configuration options for OpenSSL TLS provider [Florentin Dubois
] (2022-10-20
) - [
79755c8
] Merged https_openssl and https_rustls [Eloi DEMOLIS
] (2022-11-17
) - [
e202d1c
] Remove OpenSSL [Eloi DEMOLIS
] (2022-11-17
) - [
7118e64
] import https://github.com/sozu-proxy/sozu-acme into the sozu command line [Emmanuel Bosquet
] (2022-12-07
) - [
339277d
] update acme-lib and tiny_http dependencies [Emmanuel Bosquet
] (2022-12-07
) - [
da0f667
] Add codeowners file [Florentin Dubois
] (2022-11-30
)
- [
0776217
] Making some updates to RPM build spec and script. [Igal Alkon
] (2021-07-31
) - [
37e90c2
] Updating the rpm build script to have two modes of build the packages. [Igal Alkon
] (2021-07-31
) - [
8997ec2
] Update changelog to add entry for 0.14.1 [Florentin Dubois
] (2022-10-13
) - [
073375f
] Unit tests, comments and refactoring of command/src/channel.rs [Emmanuel Bosquet
] (2022-10-17
) - [
e6a4615
] Update README.md to removectl
crate and addcommand
one [Florentin Dubois
] (2022-10-17
) - [
a930847
] Fix typos [Kian-Meng Ang
] (2022-11-10
) - [
6fdfc18
] update build scripts with the --locked flag [Emmanuel Bosquet
] (2022-12-01
) - [
6f38476
] Update dependencies [Florentin Dubois
] (2022-12-01
) - [
ae8ffe7
] Update behaviour of add_certificate to skip already loaded certificate [Florentin Dubois
] (2022-12-02
) - [
aef7baa
] Rename variables l to listener on command/src/config [Florentin Dubois
] (2022-12-02
) - [
19c4f70
] Use rustfmt to format project [Florentin Dubois
] (2022-12-02
) - [
72bb233
] fullfill syntax TODOs [Emmanuel Bosquet
] (2022-11-17
) - [
dceea6f
] log ConnectionError with thiserror [Emmanuel Bosquet
] (2022-11-22
) - [
a7697ff
] Use listener cert when https front lacks cert [Ion Agorria
] (2022-11-25
) - [
42c548b
] set a TODO to handle EINPROGRESS error when connecting to backend [Emmanuel Bosquet
] (2022-11-25
)
- [
c882946
] processing messages between main process and CLI [Emmanuel Bosquet
] (2022-10-20
) - [
e90cc52
] ctl: display response message for successful ProxyRequestOrder [Emmanuel Bosquet
] (2022-10-25
) - [
69aac18
] http session: clean-up session creation [Emmanuel Bosquet
] (2022-11-08
) - [
f31c894
] tcp session: clean-up session creation [Emmanuel Bosquet
] (2022-11-08
) - [
94994a3
] htts_openssl session: clean-up session creation [Emmanuel Bosquet
] (2022-11-08
) - [
f5c6cf5
] https_rustls session: clean-up session creation [Emmanuel Bosquet
] (2022-11-08
) - [
a4dc22e
] remove useless front_socket_mut functions on tcp and http Session [Emmanuel Bosquet
] (2022-11-08
) - [
3e2f445
] full error propagation on ConfigState::handle_order() [Emmanuel Bosquet
] (2022-11-16
) - [
42986fd
] Error propagation on ScmSocket and Channel [Emmanuel Bosquet
] (2022-11-17
) - [
edfa1b4
] remove obsolete comment about main process crashing [Emmanuel Bosquet
] (2022-11-17
) - [
bfc4884
] replace ConnectionError with anyhow::Result [Emmanuel Bosquet
] (2022-12-05
) - [
59bb989
] merge client loop creation logic in the accept_clients function [Emmanuel Bosquet
] (2022-12-05
) - [
a6c7c9f
] error propagation on getting 404 and 503 answers from file system [Emmanuel Bosquet
] (2022-11-17
) - [
5d83eef
] define the ClusterId type only once [Emmanuel Bosquet
] (2022-11-17
) - [
605b95e
] abstract out the function reset_loop_time_and_get_timeout [Emmanuel Bosquet
] (2022-11-25
) - [
2959876
] abstract out the function read_channel_messages_and_notify [Emmanuel Bosquet
] (2022-11-25
) - [
7743eba
] abstract out the functions zombie_check and shutting_down_complete [Emmanuel Bosquet
] (2022-11-25
) - [
c5e2262
] add fields to Server for a clearer loop flow [Emmanuel Bosquet
] (2022-11-25
) - [
96b90c9
] clearer syntax on read_channel_messages_and_notify, comments [Emmanuel Bosquet
] (2022-11-28
) - [
1aee08d
] create ConnectionError::MioConnectError [Emmanuel Bosquet
] (2022-11-28
) - [
33b3e5f
] Abstract out notify proxys (#842) [Emmanuel Bosquet
] (2022-11-30
)
- [
6bdb937
] Rename HTTPS states, remove Option around State, rename https.rs [Eloi DEMOLIS
] (2022-11-17
) - [
a819fa3
] Add Invalid State in HTTPS, add ALPN to Rustls ServerConfig [Eloi DEMOLIS
] (2022-11-17
) - [
26f7d15
] Make way for H2 with Alpn switch [Eloi DEMOLIS
] (2022-11-17
) - [
ec31f82
] make RouteKey a common struct, make use of its methods [Emmanuel Bosquet
] (2022-11-17
)
- [
790f96b
] prevent concurrent testing in the github CI [Emmanuel Bosquet
] (2022-12-01
) - [
719b637
] ScmSocket::set_blocking updates its blocking field, takes &mut self [Emmanuel Bosquet
] (2022-12-01
) - [
2624a43
] Fix Sessions close: [Eloi DEMOLIS
] (2022-12-02
)
- @alkavan made their first contribution in sozu-proxy#693
- @kianmeng made their first contribution in sozu-proxy#830
- @Wonshtrum
- @Keksoj
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/v0.14.1...0.14.2
- 💪 Improve documentation about the lifecycle of a session, see
7e223ee
,50a940a
,a13eb35
and2b6706c
- 🔑 Update TLS cipher suites, see
3af39a6
- 🔧 Use Rust edition 2021 and update dependencies, see
693bc84
,8f4449c
,e14109b
,339ed21
,f064d8b
and0e3fffe
- [
07ccff3
] Update changelog to add version v0.14.0 [Florentin Dubois
] (2022-10-06
) - [
7e223ee
] Rewrite session creation in lifetime_of_a_session.md [Eloi DEMOLIS
] (2022-10-11
) - [
50a940a
] Continue work on the documentation, rename listen_token to listener_token [Eloi DEMOLIS
] (2022-10-11
) - [
a13eb35
] Finish rewriting existing parts [Eloi DEMOLIS
] (2022-10-11
) - [
2b6706c
] Finish the lifetime of a session documentation [Eloi DEMOLIS
] (2022-10-12
) - [
3af39a6
] Update TLS cipher suites [Florentin Dubois
] (2022-10-12
) - [
693bc84
] Update rust edition to 2021 [Florentin Dubois
] (2022-10-13
) - [
8f4449c
] Update command dependencies [Florentin Dubois
] (2022-10-13
) - [
e14109b
] Update rust edition to 2021 [Florentin Dubois
] (2022-10-13
) - [
339ed21
] Update rust edition to 2021 [Florentin Dubois
] (2022-10-13
) - [
f064d8b
] Update binary dependencies [Florentin Dubois
] (2022-10-13
) - [
0e3fffe
] Fix a blocking clippy suggestion [Florentin Dubois
] (2022-10-13
)
- @Wonshtrum
- @Keksoj
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/v0.14.0...0.14.1
- 🚀 A new HTTP/1 router, see
5b58b91
,016d89c
,a9dd46e
,043b928
,c8504d4
,5dc5c00
,c5b9bfa
,f96d1ac
,af38431
- 🤩 Bootstrap HTTP/2 work, see
f247ce3
,65d5043
,6da9038
, - 1️⃣ One command line to rules them all, see
8555e44
- ✨ Improve metrics, see
b7fa649
,8ffca7f
,9e6bd1d
,7515a7e
,809a481
,67b98d0
,086fdca
,3b956fb
,5691fb9
,effc0a9
,829ad4b
,3de4cb7
,6dd7f2f
,5427107
,c271481
,7af7a98
,d0f853a
,aa1176a
,1c2c87a
,5309acb
,751c2e8
,daacf30
,4f6a47f
,985afc0
,3418b6f
,f2d07eb
,ab34222
,aaf2224
,f1dec19
,67445c4
,ae8d9c1
,b0844e3
,9eb2c01
,e774cff
,81f24c4
,c02b130
,ce2c764
- 🙈 Return a HTTP 503 status code when we reach too many connection, see
a82a83f
- Unified TLS certificate lifecycle and management, see
a7952a1
,bbd4f5f
,7276e17
- 1️⃣ Set event-based command handling, see
5f62687
,3c7ab65
,d322bc2
,33b6e11
,5bbde99
,3c24088
- 💪 Allow to set custom tags on logs, see
115b9b1
,a9959ba
Between the v0.13.6
and v0.14.0
structures present in the command
folder has changed which led to an incomptibility between those two versions.
- [
22f1a72
] docs(ctl): add use cases [Gaël Reyrol
] (2021-04-19
) - [
c007794
] docs: update references to sozuctl [Gaël Reyrol
] (2021-04-19
) - [
9e5a2c6
] docs(ctl): typo [Gaël Reyrol
] (2021-04-19
) - [
06a8e4b
] start describing how client sessions are handled [Geoffroy Couprie
] (2021-07-30
) - [
f247ce3
] import WIP HTTP/2 implementation [Geoffroy Couprie
] (2022-07-13
) - [
65d5043
] change the default buffer size to accomodate HTTP/2 [Geoffroy Couprie
] (2022-07-13
) - [
6da9038
] start integrating HTTP/2 in the HTTPS-OpenSSL proxy [Geoffroy Couprie
] (2022-07-13
) - [
c5b9bfa
] add an Equals path rule [Geoffroy Couprie
] (2022-07-13
) - [
b7fa649
] start integrating a KV store for metrics [Geoffroy Couprie
] (2022-07-13
) - [
8ffca7f
] merge the Count and Gauge columns in metrics dump [Geoffroy Couprie
] (2022-07-13
) - [
9e6bd1d
] aggregate stored metrics [Geoffroy Couprie
] (2022-07-13
) - [
855c35e
] simplify the metrics printer [Geoffroy Couprie
] (2022-07-13
) - [
2a2c3b9
] store an app level metric aggregating backend metrics [Geoffroy Couprie
] (2022-07-13
) - [
7515a7e
] add a separating character for app metrics [Geoffroy Couprie
] (2022-07-13
) - [
809a481
] sort cluster ids, backend ids and metric names to keep a consistent view [Geoffroy Couprie
] (2022-07-13
) - [
67b98d0
] add a request counter per cluster and backend [Geoffroy Couprie
] (2022-07-13
) - [
086fdca
] metrics query in command line [Geoffroy Couprie
] (2022-07-13
) - [
912508a
] store cluster and backnd level metrics in different trees [Geoffroy Couprie
] (2022-07-13
) - [
3b956fb
] more structured answers for metrics queries [Geoffroy Couprie
] (2022-07-13
) - [
5691fb9
] add the metrics list command [Geoffroy Couprie
] (2022-07-13
) - [
effc0a9
] add a flag to refresh metrics output [Geoffroy Couprie
] (2022-07-13
) - [
829ad4b
] store and query time metrics [Geoffroy Couprie
] (2022-07-13
) - [
3de4cb7
] start aggregation for time metrics [Geoffroy Couprie
] (2022-07-13
) - [
6dd7f2f
] reorder time metric key components [Geoffroy Couprie
] (2022-07-13
) - [
5427107
] allow queries with timestamps [Geoffroy Couprie
] (2022-07-13
) - [
c271481
] fix count and gauge aggregation [Geoffroy Couprie
] (2022-07-13
) - [
7af7a98
] no need to aggregate data when clearing [Geoffroy Couprie
] (2022-07-13
) - [
d0f853a
] deactivate metrics dump for now [Geoffroy Couprie
] (2022-07-13
) - [
aa1176a
] do not store time metrics every second [Geoffroy Couprie
] (2022-07-13
) - [
1c2c87a
] send the date field [Geoffroy Couprie
] (2022-07-13
) - [
5309acb
] metrics collection can now be disabled at runtime [Geoffroy Couprie
] (2022-07-13
) - [
751c2e8
] clear time metrics like other metrics [Geoffroy Couprie
] (2022-07-13
) - [
daacf30
] reduce logging in metrics [Geoffroy Couprie
] (2022-07-13
) - [
a673a3b
] count config messages loaded at startup [Geoffroy Couprie
] (2022-07-13
) - [
4f6a47f
] time metrics can be deactivated independently [Geoffroy Couprie
] (2022-07-13
) - [
985afc0
] no need to clear metrics if they are disabled [Geoffroy Couprie
] (2022-07-13
) - [
3418b6f
] use batching for time metrics insertion [Geoffroy Couprie
] (2022-07-13
) - [
f2d07eb
] batch insertion of gauges and counts [Geoffroy Couprie
] (2022-07-13
) - [
acb0b06
] reduce allocations in time metrics handling [Geoffroy Couprie
] (2022-07-13
) - [
ab34222
] move back to in memory storage for metrics [Geoffroy Couprie
] (2022-07-13
) - [
aaf2224
] simpify store_metric_at [Geoffroy Couprie
] (2022-07-13
) - [
a82a83f
] return a HTTP 503 error when there are too many connections [Geoffroy Couprie
] (2022-07-13
) - [
a7952a1
] Create an unified certificate resolver for both https with openssl and rustls [Florentin Dubois
] (2022-07-13
) - [
53f6911
] added error management in the connection to the socket [Emmanuel Bosquet
] (2022-07-13
) - [
bbd4f5f
] Use already parsed certificate and chains in rustls hello method [Florentin Dubois
] (2022-07-13
) - [
5f62687
] make the command server entirely event-based [Emmanuel Bosquet
] (2022-07-13
) - [
3c7ab65
] additional error logs and context [Emmanuel Bosquet
] (2022-07-13
) - [
d322bc2
] edited comments in Command Server, a few bails [Emmanuel Bosquet
] (2022-07-13
) - [
33b6e11
] reset the CommandManager channel as nonblocking [Emmanuel Bosquet
] (2022-07-13
) - [
5bbde99
] Implements command parser with serde error propagation [Emmanuel Bosquet
] (2022-07-13
) - [
3c24088
] Split ctl/command.rs into modules [Emmanuel Bosquet
] (2022-07-13
) - [
7276e17
] Update certificate replacement behaviour (#762) [Florentin DUBOIS
] (2022-07-13
) - [
9b14a65
] Add support of openssl 1.1.1 [Florentin Dubois
] (2022-07-13
) - [
115b9b1
] Implements custom tags on access logs of protocols TCP, HTTP and HTTPS [Emmanuel Bosquet
] (2022-07-29
) - [
a9959ba
] Add reference counting on for listeners on proxy [Florentin Dubois
] (2022-08-03
) - [
f1dec19
] fix metrics enabling, disabling and clear on the CLI and Command Server [Emmanuel Bosquet
] (2022-08-09
) - [
67445c4
] store cluster metrics in a simpler way, query them all [Emmanuel Bosquet
] (2022-08-19
) - [
ae8d9c1
] retrieve cluster and backend metrics by ids [Emmanuel Bosquet
] (2022-08-22
) - [
b0844e3
] filter metrics by metric name [Emmanuel Bosquet
] (2022-08-23
) - [
9eb2c01
] clear the metrics LocalDrain every plain hour [Emmanuel Bosquet
] (2022-08-24
) - [
e774cff
] error management in metrics recording and retrieving [Emmanuel Bosquet
] (2022-08-24
) - [
81f24c4
] gather and display main process metrics [Emmanuel Bosquet
] (2022-08-24
) - [
c02b130
] refactor metrics query format and CLI metric command [Emmanuel Bosquet
] (2022-08-24
) - [
ce2c764
] cli table, nice formatting [Emmanuel Bosquet
] (2022-08-29
)
- [
6382efd
] refactor: reorganize docs and typo [Gaël Reyrol
] (2021-04-16
) - [
803b482
] refactor: typo and move some blocks [Gaël Reyrol
] (2021-04-16
) - [
8a530c2
] initialize the logger before writing the pid file [Emmanuel Bosquet
] (2021-07-30
) - [
3f98117
] rewrite start function with beautiful error handling [Emmanuel Bosquet
] (2021-07-30
) - [
7628b46
] more readable error handling on write_pid_file() [Emmanuel Bosquet
] (2021-07-30
) - [
4ce87cb
] take review into account, return errors instead of Ok(()) [Emmanuel Bosquet
] (2021-08-18
) - [
4cd98ff
] minor fixes to sozuctl, command.rs [Emmanuel Bosquet
] (2021-08-18
) - [
3b38893
] added with_context() and map_err() to error management of sozuctl [Emmanuel Bosquet
] (2021-08-18
) - [
387fe2b
] more harmonious, systematic error handling [Emmanuel Bosquet
] (2021-08-18
) - [
7979942
] better follow-up of worker RunState [Emmanuel Bosquet
] (2021-08-18
) - [
5cb34ac
] comments about what is to change [Emmanuel Bosquet
] (2021-08-18
) - [
863ee59
] added frustrated comments about code making no sense [Emmanuel Bosquet
] (2021-08-18
) - [
6b24a24
] proper handling of WorkerClose by the CommandServer [Emmanuel Bosquet
] (2021-08-18
) - [
7cddf2c
] add a test for protocol upgrades [Geoffroy Couprie
] (2021-08-20
) - [
78bf601
] update to nom 7.0, remove the last macros [Geoffroy Couprie
] (2021-08-23
) - [
9c551d6
] describe what happens when reading and parsing the request [Geoffroy Couprie
] (2021-08-25
) - [
1c0f75a
] Replace the TODO "Why you should use Sōzu?" [Arnaud Lemercier
] (2021-11-08
) - [
7fb636f
] allow Dockerfile to choose Alpine base version (#755) [Mickaël Wolff
] (2022-02-21
) - [
5b58b91
] replace the trie with a tree of hashmaps [Geoffroy Couprie
] (2022-07-13
) - [
96c0c5c
] create the router module [Geoffroy Couprie
] (2022-07-13
) - [
016d89c
] add a variant of the trie that supports regexp matches [Geoffroy Couprie
] (2022-07-13
) - [
4fa109c
] remove debug logs [Geoffroy Couprie
] (2022-07-13
) - [
a9dd46e
] implement the new Router [Geoffroy Couprie
] (2022-07-13
) - [
043b928
] add new routing rules to configuration messages [Geoffroy Couprie
] (2022-07-13
) - [
c8504d4
] use the new router and integrate in sozuctl [Geoffroy Couprie
] (2022-07-13
) - [
8a2a17c
] ignore wildcard case in quickcheck tests [Geoffroy Couprie
] (2022-07-13
) - [
3822c5a
] update to cookie-factory 0.3 [Geoffroy Couprie
] (2022-07-13
) - [
8555e44
] merge sozuctl in sozu [Geoffroy Couprie
] (2022-07-13
) - [
5dc5c00
] add deny rules [Geoffroy Couprie
] (2022-07-13
) - [
270bfee
] rename HttpFront to HttpFrontend [Geoffroy Couprie
] (2022-07-13
) - [
cf59369
] rename CertFingerprint to CertificateFingerprint [Geoffroy Couprie
] (2022-07-13
) - [
f4f05b4
] rename Application to Cluster [Geoffroy Couprie
] (2022-07-13
) - [
d2cf976
] the HTTP frontends hashmap key should serialize to a string [Geoffroy Couprie
] (2022-07-13
) - [
95909ea
] rename front to address [Geoffroy Couprie
] (2022-07-13
) - [
9d22c12
] custom PartialOrd and Ord implementations for SocketAddr [Geoffroy Couprie
] (2022-07-13
) - [
1fff30d
] update dependencies [Geoffroy Couprie
] (2022-07-13
) - [
f96d1ac
] add routing based on the HTTP method [Geoffroy Couprie
] (2022-07-13
) - [
af38431
] make the method configurable through the cli [Geoffroy Couprie
] (2022-07-13
) - [
a6e7c72
] move target_to_backend to sozu-command-lib [Geoffroy Couprie
] (2022-07-13
) - [
b66b0c8
] update dependencies [Geoffroy Couprie
] (2022-07-13
) - [
f12bacb
] sled can create directly in a temporary file [Geoffroy Couprie
] (2022-07-13
) - [
f079127
] change key format [Geoffroy Couprie
] (2022-07-13
) - [
194908f
] cosmetics [Geoffroy Couprie
] (2022-07-13
) - [
6a853ce
] more logs [Geoffroy Couprie
] (2022-07-13
) - [
627dd0e
] rusfmt pass [Geoffroy Couprie
] (2022-07-13
) - [
2e723bc
] edition 2021 [Geoffroy Couprie
] (2022-07-13
) - [
2cfeff7
] update dependencies [Geoffroy Couprie
] (2022-07-13
) - [
0328f0e
] update dependencies [Geoffroy Couprie
] (2022-07-13
) - [
92ded4a
] store a mio::Registry in ProxyConfiguration implementations [Geoffroy Couprie
] (2022-07-13
) - [
538741c
] remove the poll argument from ProxyConfiguration methods [Geoffroy Couprie
] (2022-07-13
) - [
e217e03
] store the sessions slab in a Rc<RefCell<>> [Geoffroy Couprie
] (2022-07-13
) - [
3e6ee85
] store the sessions slab in ProxyConfiguration implementations [Geoffroy Couprie
] (2022-07-13
) - [
72ccfe9
] now create_session uses the internal slab instance [Geoffroy Couprie
] (2022-07-13
) - [
7eef4f0
] use the internal slab instance in connect_to_backend [Geoffroy Couprie
] (2022-07-13
) - [
ad26bb8
] move slab capacity check in connect_to_backend [Geoffroy Couprie
] (2022-07-13
) - [
0716c42
] factor data in the new SessionManager object [Geoffroy Couprie
] (2022-07-13
) - [
f5b8290
] refactor session management [Geoffroy Couprie
] (2022-07-13
) - [
56e6579
] simplify session creation [Geoffroy Couprie
] (2022-07-13
) - [
a152063
] move close_session() to the session manager [Geoffroy Couprie
] (2022-07-13
) - [
8a9bbc9
] pass a Rc<Refcell> as argument to create_session [Geoffroy Couprie
] (2022-07-13
) - [
4ef0c60
] store an instance of Proxy in sessions, handle close() in ready() [Geoffroy Couprie
] (2022-07-13
) - [
77e36b8
] implement CloseBackend in sessions [Geoffroy Couprie
] (2022-07-13
) - [
11bf1c8
] the circuit breaker check should be in the session [Geoffroy Couprie
] (2022-07-13
) - [
8f1b0cc
] move some checks to the session object [Geoffroy Couprie
] (2022-07-13
) - [
e2f40a5
] simplify backend_from_request [Geoffroy Couprie
] (2022-07-13
) - [
1685d8f
] pass the session to the ready() method [Geoffroy Couprie
] (2022-07-13
) - [
6b7681b
] move connect_to_backend to the session, call it from ready() [Geoffroy Couprie
] (2022-07-13
) - [
6310f19
] implement reconnect_to_backend in sessions [Geoffroy Couprie
] (2022-07-13
) - [
c6ce2fd
] remove connect_to_backend from ProxyConfiguration [Geoffroy Couprie
] (2022-07-13
) - [
59c0548
] remove the ProxySessionCast trait [Geoffroy Couprie
] (2022-07-13
) - [
8a801cf
] deregister the back socket inside close_backend_inner() [Geoffroy Couprie
] (2022-07-13
) - [
fc8daa4
] deregister the front socket inside close_inner [Geoffroy Couprie
] (2022-07-13
) - [
3151dea
] replace ProxySession::close() with close_inner(), remove close_session() [Geoffroy Couprie
] (2022-07-13
) - [
6c2da60
] remove ProxySession::close_backend() [Geoffroy Couprie
] (2022-07-13
) - [
c573f40
] handle session close in ProxySession::timeout() [Geoffroy Couprie
] (2022-07-13
) - [
6dd1f30
] remove interpret_session_order() [Geoffroy Couprie
] (2022-07-13
) - [
c74fb59
] handle session close in ProxySession::shutting_down() [Geoffroy Couprie
] (2022-07-13
) - [
61cb878
] clean up some warnings [Geoffroy Couprie
] (2022-07-13
) - [
f995e45
] handle ConnectBackend and ReconnectBackend in ready_inner [Geoffroy Couprie
] (2022-07-13
) - [
f78c9c6
] remove a warning and a debug log [Geoffroy Couprie
] (2022-07-13
) - [
09a75ba
] anyhow almost everywhere [Emmanuel Bosquet
] (2022-07-13
) - [
c7fe82d
] remove returned anyhow::Result from CommandServer::run() [Emmanuel Bosquet
] (2022-07-13
) - [
b7e34cf
] anyhow error management in main.rs [Emmanuel Bosquet
] (2022-07-13
) - [
047c03a
] clearer WorkerClose syntax [Emmanuel Bosquet
] (2022-07-13
) - [
8512878
] better syntax and error management in launch_worker() [Emmanuel Bosquet
] (2022-07-13
) - [
af29ec6
] add a loop in bin/src/ctl::upgrade_main() [Emmanuel Bosquet
] (2022-07-13
) - [
c18a540
] initialize logging in main.rs so that ctl() benefits from it [Emmanuel Bosquet
] (2022-07-13
) - [
da3cdc0
] initialize logging in start() and in ctl() but not in main [Emmanuel Bosquet
] (2022-07-13
) - [
d74ff84
] handle_worker_close() method [Emmanuel Bosquet
] (2022-07-13
) - [
22ae844
] some logging in ctl/command::upgrade_worker() [Emmanuel Bosquet
] (2022-07-13
) - [
a854c77
] small corrections for review, adding error handling and removing useless code [Emmanuel Bosquet
] (2022-07-13
) - [
92fc1bf
] do not borrow the sessions slab while calling a session timeout [Geoffroy Couprie
] (2022-07-13
) - [
ec9fdf8
] minor config file change [Emmanuel Bosquet
] (2022-07-13
) - [
3036749
] more verbose cli logging command [Emmanuel Bosquet
] (2022-07-13
) - [
6b141e0
] Add basic frontend list subcommand and hello world response [Emmanuel Bosquet
] (2022-07-13
) - [
e0b94bf
] added filtering of frontends by domain name [Emmanuel Bosquet
] (2022-07-13
) - [
ee64329
] better syntax on panick safeguard [Emmanuel Bosquet
] (2022-07-13
) - [
7f799d7
] update most dependencies [Marc-Antoine Perennou
] (2022-07-13
) - [
730d901
] comment out randomly failing test for now [Marc-Antoine Perennou
] (2022-07-13
) - [
57b07a4
] don't use deprecated mio features [Marc-Antoine Perennou
] (2022-07-13
) - [
64715c7
] switch to socket2 [Marc-Antoine Perennou
] (2022-07-13
) - [
b1fb359
] silence warnings [Marc-Antoine Perennou
] (2022-07-13
) - [
13f153c
] update to rustls 0.20 [Marc-Antoine Perennou
] (2022-07-13
) - [
d56536a
] wrappring channel.read_message() with a timeout function [Emmanuel Bosquet
] (2022-07-13
) - [
0ca805e
] Created read_message_blocking_timeout() method on Channel [Emmanuel Bosquet
] (2022-07-13
) - [
48e9493
] more verbose worker upgrade error [Emmanuel Bosquet
] (2022-07-13
) - [
5629cca
] added proper timeout to upgrade_worker() call in upgrade_main() [Emmanuel Bosquet
] (2022-07-13
) - [
8f73aa1
] update mio to 0.8 [Marc-Antoine Perennou
] (2022-07-13
) - [
78272fc
] error logging on getting saved_state from the config [Emmanuel Bosquet
] (2022-07-13
) - [
d9e008f
] comment in config.toml that the path of saved_state should be relative [Emmanuel Bosquet
] (2022-07-13
) - [
fba2f8e
] adapt unit test of Config::load_from_path() [Emmanuel Bosquet
] (2022-07-13
) - [
c4ec939
] handle_client_message returns Result [Emmanuel Bosquet
] (2022-07-13
) - [
c9d0c6c
] beautify use statements and CommandServer impl blocks [Emmanuel Bosquet
] (2022-07-13
) - [
9d60cd8
] Apply clippy suggestions using rust edition 2021 [Florentin Dubois
] (2022-07-13
) - [
e05b80e
] segregate the state parsing logic into parse_state_data() [Emmanuel Bosquet
] (2022-07-13
) - [
9d90d45
] Revert "segregate the state parsing logic into parse_state_data()" [Emmanuel Bosquet
] (2022-07-13
) - [
11f916d
] Format all use statements (#749) [Emmanuel Bosquet
] (2022-07-13
) - [
5aa0ee1
] sort use statements in files of main process (#750) [Emmanuel Bosquet
] (2022-07-13
) - [
fdcbacc
] commented the worker and client loops, renamed variables (#752) [Emmanuel Bosquet
] (2022-07-13
) - [
adf2d3a
] segregate the log level changing logic into its own function [Emmanuel Bosquet
] (2022-07-13
) - [
ce80563
] better variable naming and comments in CommandServer::worker_order() [Emmanuel Bosquet
] (2022-07-13
) - [
1b3cd3c
] Update workspace dependencies [Florentin Dubois
] (2022-07-13
) - [
da2adcf
] Update command, lib and binaries dependencies [Florentin Dubois
] (2022-07-13
) - [
697af1d
] respond with ProxyResponseStatus::Error instead of panic when no listener is found [Emmanuel Bosquet
] (2022-07-13
) - [
15bd0fd
] constructor functions for ProxyResponse [Emmanuel Bosquet
] (2022-07-13
) - [
a4e7dec
] remove if let statements from server::run and some session logic [Emmanuel Bosquet
] (2022-07-20
) - [
17c376a
] refactor certificate logic in ctl, with Results instead of Options [Emmanuel Bosquet
] (2022-07-22
) - [
11bda07
] Remove all nonbreakable spaces [Emmanuel Bosquet
] (2022-07-29
) - [
9054d9c
] Use matching pattern and Entry enum to add listener [Florentin Dubois
] (2022-08-03
) - [
a8dde73
] Use std::collections::HashMap instead of hashbrown::HashMap [Florentin Dubois
] (2022-08-03
) - [
55b6c58
] Use clap 3 with derive instead of StructOpt [Florentin Dubois
] (2022-08-03
) - [
53a47ae
] Fix command line arguments conflicts [Florentin Dubois
] (2022-08-04
) - [
8004c76
] correct command line tutorial in doc/configure_cli [Emmanuel Bosquet
] (2022-08-04
) - [
3403cc4
] Update dependencies [Florentin Dubois
] (2022-08-08
) - [
4f8eb4b
] Add convenient method as helpers and usePartialOrd
andOrd
derive instructions [Florentin Dubois
] (2022-08-08
) - [
4ccd277
] rename "application" to "cluster" for consistency [Emmanuel Bosquet
] (2022-08-08
) - [
8860c94
] rudimentary lexicon [Emmanuel Bosquet
] (2022-08-09
) - [
431b63f
] debug a few things [Emmanuel Bosquet
] (2022-08-09
) - [
9f029ac
] restore anyhow to 1.0.59 [Emmanuel Bosquet
] (2022-08-09
) - [
0b9b92f
] add an all-metrics command line option [Emmanuel Bosquet
] (2022-08-12
) - [
9b7fdc9
] tree_mut getter function, comments on struct fields, variable renaming [Emmanuel Bosquet
] (2022-08-16
) - [
0cac89c
] refactor metrics printing with segreggated functions [Emmanuel Bosquet
] (2022-08-16
) - [
4962f38
] list both proxy metric names and cluster metric names, refactoring, variable renaming [Emmanuel Bosquet
] (2022-08-17
) - [
c8a9918
] metrics table formatting in the cli [Emmanuel Bosquet
] (2022-08-17
) - [
1d6722e
] format metrics in nice boxes, suggestions in comments [Emmanuel Bosquet
] (2022-08-18
) - [
ecf0353
] anyhow version to 1.0.62 [Emmanuel Bosquet
] (2022-08-18
) - [
7b213e5
] trickle up errors if no metric for a backend or cluster [Emmanuel Bosquet
] (2022-08-23
) - [
c44db1f
] Documenting comments and minor refactor [Eloi DEMOLIS
] (2022-08-31
) - [
9b19aae
] Renamed RequestLine and StatusLine and their raw versions [Eloi DEMOLIS
] (2022-08-31
) - [
8f2f1c0
] comments in bin imports, functions and struct fields, refactoring [Emmanuel Bosquet
] (2022-09-02
) - [
1a22d09
] proper error management on receive_listeners method of scm sockets [Emmanuel Bosquet
] (2022-09-02
) - [
a30eb4e
] variable renaming, documenting comments, light refactoring [Emmanuel Bosquet
] (2022-09-02
) - [
0955dcd
] rename fields to better detailed names [Emmanuel Bosquet
] (2022-09-02
) - [
0d88159
] rename start_worker_process into fork_main_into_worker [Emmanuel Bosquet
] (2022-09-05
) - [
5190f55
] rename IPC sockets explicitly [Emmanuel Bosquet
] (2022-09-05
) - [
74b82ce
] better naming for worker variables [Emmanuel Bosquet
] (2022-09-05
) - [
5e77738
] Renaming variables for clarity, light refactoring [Eloi DEMOLIS
] (2022-09-05
) - [
7b30066
] Potential place for 499 integration [Eloi DEMOLIS
] (2022-09-07
) - [
3607dea
] status() function in the Command Server (not finished) [Emmanuel Bosquet
] (2022-09-09
) - [
6d293c5
] finished implementing displaying of worker statuses [Emmanuel Bosquet
] (2022-09-09
) - [
b3c4f90
] debugging [Emmanuel Bosquet
] (2022-09-12
) - [
c79af23
] delete legacy status function in ctl [Emmanuel Bosquet
] (2022-09-12
) - [
8c1a0f4
] anyhow error management on FileClusterConfig::to_cluster_config() and downstream [Emmanuel Bosquet
] (2022-09-19
) - [
766f56c
] anyhow error management on FileConfig::into() and downstream [Emmanuel Bosquet
] (2022-09-21
) - [
05a62f4
] trickle errors on metrics setup [Emmanuel Bosquet
] (2022-09-21
) - [
3ec6eb1
] http::start() returns anyhow::Result, trickle errors [Emmanuel Bosquet
] (2022-09-22
) - [
2563427
] https_openssl::start() returns anyhow::Result, trickle errors [Emmanuel Bosquet
] (2022-09-22
) - [
863b3cf
] error management in all server starts and Server::new() [Emmanuel Bosquet
] (2022-09-23
) - [
abb4a7a
] Addresses part of #808 and #810 [Eloi DEMOLIS
] (2022-10-03
) - [
53be70e
] Fix HTTP crash for missing listeners on accept while shutdown. [Eloi DEMOLIS
] (2022-10-04
) - [
1610b33
] Update dependencies and apply linter suggestions [Florentin Dubois
] (2022-10-04
)
- [
e82588a
] remove the end keys [Geoffroy Couprie
] (2022-07-13
) - [
fcc5d17
] unused file [Geoffroy Couprie
] (2022-07-13
) - [
ce0b23c
] remove log message [Geoffroy Couprie
] (2022-07-13
) - [
5c808eb
] remove unused dependencies [Geoffroy Couprie
] (2022-07-13
) - [
5ef9338
] Remove unused futures member [Florentin Dubois
] (2022-07-13
) - [
4c7e8cb
] remove unwrap() and expect() statements [Emmanuel Bosquet
] (2022-09-19
)
- [
05341d7
] fix: when targeting musl, construct msghdr differently [Nathaniel
] (2021-02-22
) - [
f9af65e
] fix: link [Gaël Reyrol
] (2021-04-16
) - [
931e198
] fix: typo [Gaël Reyrol
] (2021-04-16
) - [
6d2fcd0
] fix: typo [Gaël Reyrol
] (2021-04-16
) - [
6981f09
] test (and fix) close delimited responses [Geoffroy Couprie
] (2021-08-20
) - [
532a658
] fix warnings [Geoffroy Couprie
] (2021-08-20
) - [
bab0156
] fix missing slash [Alexey Pozdnyakov
] (2021-12-18
) - [
d935da5
] Allow passing domain names from the command line (#757) [Sojan James
] (2022-02-05
) - [
e0700fb
] Fix the config.toml file (#754) [Hubert Bonisseur
] (2022-02-10
) - [
cbca349
] fix build on stable [Geoffroy Couprie
] (2022-07-13
) - [
108876b
] handle empty prefixes [Geoffroy Couprie
] (2022-07-13
) - [
ba6019e
] clean some warnings [Geoffroy Couprie
] (2022-07-13
) - [
f5f6700
] fix dependencies and compilation [Geoffroy Couprie
] (2022-07-13
) - [
5729d5f
] fix state hashing [Geoffroy Couprie
] (2022-07-13
) - [
9b345af
] fix performance of state hashing [Geoffroy Couprie
] (2022-07-13
) - [
99b1d29
] remove some warnings [Geoffroy Couprie
] (2022-07-13
) - [
397620b
] missing RemoveCluster implementation [Geoffroy Couprie
] (2022-07-13
) - [
fce54ca
] fix unit tests [Geoffroy Couprie
] (2022-07-13
) - [
4b50212
] do not panic on sled errors [Geoffroy Couprie
] (2022-07-13
) - [
97e2fdd
] fix answer message counting [Geoffroy Couprie
] (2022-07-13
) - [
d66ff8f
] fix some debug logs [Geoffroy Couprie
] (2022-07-13
) - [
478c6bb
] fix test compilation [Geoffroy Couprie
] (2022-07-13
) - [
e25013f
] fix warnings [Geoffroy Couprie
] (2022-07-13
) - [
4e17f86
] fix doc build [Geoffroy Couprie
] (2022-07-13
) - [
4806fa1
] fix the rustls proxy [Geoffroy Couprie
] (2022-07-13
) - [
6c70039
] fix a warning [Emmanuel Bosquet
] (2022-07-13
) - [
01ec16c
] fix socket removal on start [Emmanuel Bosquet
] (2022-07-13
) - [
5a62a49
] safeguard against thread panick in edge case scenario [Emmanuel Bosquet
] (2022-07-13
) - [
dc3edac
] check if a worker exists before trying to upgrade it [Emmanuel Bosquet
] (2022-07-13
) - [
e5f9b1d
] Fix main process upgrade and shutdown [Eloi DEMOLIS
] (2022-09-05
) - [
f423a3e
] Update parser of header value to trim linear white space [Florentin Dubois
] (2022-07-13
)
- @arnolem made their first contribution in sozu-proxy#727
- @av-elier made their first contribution in sozu-proxy#746
- @sjames made their first contribution in sozu-proxy#757
- @DeLaBatth made their first contribution in sozu-proxy#754
- @LupusMichaelis made their first contribution in sozu-proxy#755
- @Wonshtrum made their first contribution in sozu-proxy#797
- @Geal
- @Keksoj
- @FlorentinDUBOIS
Full Changelog: https://github.com/sozu-proxy/sozu/compare/0.13.6...v0.14.0
debug release
- TLS 1.3 metric
- removed domain fronting check (temporary)
- detect application level configuration changes in state diff
- TLS 1.3 is now working properly with OpenSSL
- pass the app id from HTTP protocol to Pipe protocol when in websocket
- more info in logs about socket errors
- more logs and metrics around socket errors
- do not clear the metric update flag too soon
- add logs-debug and logs-trace options to sozuctl to fix build on Exherbo
- send 408 or 504 HTTP errors in case of timeouts
- backend connection time and response time metrics
- test back socket connections before reusing them
- a metric is not sent again if its value did not change
- the backend id is added as matedata to backend metrics
- test if the backend socket is still valid before reusing it
debug release
- do not duplicate backend if we modified a backend's parameters
- fix infinite loop with front socket
- check for existence of the unix logging socket
- access log format: indicate if we got the log from HTTP or HTTPS sessions
- will print the session's state if handling it resulted in an infinite loop
- websocket protocol upgrade
- wildcard matching
- sozuctl commands to query certificates
- more logs and metrics aroundSNI in OpenSSL
- ActivateListener message for TCP proxies
- wildcard certificate mtching with multiple subdomains in configuration
- diff of TCP listener configuration
- activate jemallocator and link time optimization
- sozuctl now uses the buffer size defined in the configuration file
- procinfo dependency
breaking changes:
- the
public_address
field for listeners is now anOption<SocketAddr>
, so it's configuration file format isIP:port
instead of just an IP address - the
AddHttpsFront
message does not use a certificate fingerprint anymore, so HTTPS frontends do not depend on certificate anymore
- unit tests checking for structure size changes
- more error handling in sozuctl
- new
automatic_state_save
option to store the configuration state automatically after changes - event notification system: by sending the
SUBSCRIBE_EVENTS
message, configuration clients can get regular notifications, like messages indicating backend servers are down
- 100 continue behaviour was broken in 0.10 and fixed in 0.10.1
- sticky session cookies are now sent again
- Forwarded headers now indicates correct adresses
breaking change: modules have been moved around in sozu-lib
- sozuctl has a "config check" command
- sozuctl shows the backup flag for backends
- sozuctl shows more info for TCP proxys
- sozuctl displays an address column for backends, instead of IP and port
- new code organization for sozu-lib, with everything related to protocol implementations in src/protocol
- refactoring of the HTTP protocol implementation
- in preparation for HTTP/2, the pool now handles instances of Buffer, not BufferQueue
- work on TCP proxy stability
- reduce allocations in the HTTP parser
- integer underflow when counting backends in the master state
- get the correct client IP in the HTTPS proxys logs
- do not panic when the client disconnects while we're in the Send proxy protocol implementation
- a futures executor for asynchronous tasks in the master process
- custom 503 page per application
- HTTP parser optimizations
- renamed various parts of the code and configuration protocol for more consistency
- upgrade process
- event loop behaviour around abckend connections
- openssl cipher configuration
- circuit breaker
- metrics writing fixes
- event loop fixes
- front socket timeout verification
- configuration state verification optimizations
- rustls and openssl configuration fixes
- separate listeners as a specific configuration option
- configuration file refactoring and simplification
- zombie session check
- more metrics
- circuit breaking in the TCP proxy
- disable debug and trace logs in release builds
- rustls based HTTPS proxy
- ProxyClient trait refactoring
- proxy protocol implementation
- option to send metrics in InfluxDB's tagged format
- PID file
- TCP proxy refactoring
- sozuctl UX
- HTTP -> HTTPS redirection
- documentation
- ReplaceCertifacte message
- remove mio timeouts
- upgrade fixes
- optimizations
- process affinity
- clean system shutdown
- implement 100 continue
- sticky sessions
- build scripts for Fedora, Atchlinux, RPM
- systemd unit file
- metrics
- load balancing algorithms
- retry policy algorithms
- Event loop refactoring
- contribution guidelines
Started implementation:
- TCP proxy
- HTTP proxy
- HTTPS proxy with SNI
- mio based event loop
- configuration diff messages support
- buffer based streaming
- Docker image
- HTTP keep alive
- tested getting configuration events directly from AMQP, was removed
- getting configuration events from a Unix socket
- configuration bootstrap from a TOML file
- logger implementation
- architecture based around master process and worker processes
- control with command line app sozuctl
- command library