2026-09-23, Version 22.23.3 'Jod' (LTS), @aduh95 prepared by @juanarbol
- [
fe2a6b2be8] - crypto: update root certificates to NSS 3.125 (Node.js GitHub Bot) #64746 - [
871167ddfd] - deps: update corepack to 0.36.0 (Node.js GitHub Bot) #65653 - [
b816fc8958] - deps: upgrade npm to 10.9.9 (npm team) #64884 - [
e306521444] - deps: update icu to 78.3 (Node.js GitHub Bot) #62324 - [
a9cb31129f] - deps: update OpenSSL 3.5.8 (Node.js GitHub Bot) #65542 - [
2a3548e51c] - deps: update Undici to 6.28.1 (mcollina) #65790 - [
3909ff2c4a] - node-api: supportSharedArrayBufferinnapi_create_typedarray(Yilong Li) #62710 - [
66de6349ad] - node-api: addnapi_create_external_sharedarraybuffer(Ben Noordhuis) #62623
- [
44cf27b8fa] - build: update binary-upload to use correct tarball name (Stewart X Addison) #65282 - [
fe2a6b2be8] - crypto: update root certificates to NSS 3.125 (Node.js GitHub Bot) #64746 - [
71feba6b69] - crypto: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) #63527 - [
871167ddfd] - deps: update corepack to 0.36.0 (Node.js GitHub Bot) #65653 - [
2a3548e51c] - deps: update undici to 6.28.1 (mcollina) #65790 - [
59d853a4df] - deps: update archs files for openssl-3.5.8 (Node.js GitHub Bot) #65542 - [
a9cb31129f] - deps: upgrade openssl sources to openssl-3.5.8 (Node.js GitHub Bot) #65542 - [
3376e27de2] - deps: V8: cherry-pick a6eaf7574109 (Camillo Bruni) #65402 - [
b816fc8958] - deps: upgrade npm to 10.9.9 (npm team) #64884 - [
4e4bd1b104] - deps: update timezone to 2026c (Node.js GitHub Bot) #64588 - [
7d82841b4e] - deps: update c-ares to 1.34.8 (Node.js GitHub Bot) #64330 - [
01855a19d3] - deps: c-ares: cherry-pick 8ba37af8e3fb (René) #64110 - [
23fb398c3d] - deps: update corepack to 0.35.0 (Node.js GitHub Bot) #63375 - [
5286330365] - deps: update corepack to 0.34.7 (Node.js GitHub Bot) #62810 - [
6d6c3c98b1] - deps: update timezone to 2026b (Node.js GitHub Bot) #62962 - [
e306521444] - deps: update icu to 78.3 (Node.js GitHub Bot) #62324 - [
d9cb8468a3] - doc: clarifyfilteroption ofsqlite.database.applyChangeset(Antoine du Hamel) #63515 - [
c9c5662d91] - doc: add sxa GPG key (ed25519) (Stewart X Addison) #64193 - [
37f21068c4] - fs: restore fs patchability in ESM loader (Joyee Cheung) #62835 - [
7c2df5dd96] - http2: avoid uaf while receiving and sending rst_stream (esgor) #64166 - [
3909ff2c4a] - node-api: support SharedArrayBuffer in napi_create_typedarray (Yilong Li) #62710 - [
66de6349ad] - node-api: add napi_create_external_sharedarraybuffer (Ben Noordhuis) #62623 - [
ce9139107f] - src: escape Windows environment variables in task runner (Antoine du Hamel) #65217 - [
839480a471] - test: fix link-local dgram scope assertion (Filip Skokan) #65629 - [
40eac4a32f] - test: account for varied OpenSSL CCM final behaviours (Filip Skokan) #65542 - [
75098a9e8c] - tools: update gr2m/create-or-update-pull-request-action to v1.10.1 (Mike McCready) #63065 - [
08b6ac0416] - tools: revert OpenSSL update workflow to ubuntu-latest (Richard Lau) #62627 - [
02cafc479f] - tools: fix commit linter for semver-major release proposals (Antoine du Hamel) #62993 - [
6f6cd3768d] - tools: sync mk-ca-bundle.pl with curl (Archkon) #64753 - [
bc5753d438] - tools: removeenvinfofrom our workflows (Antoine du Hamel) #64259 - [
d68ee9f8a5] - tools: validate version number in release proposal commit message lint (Antoine du Hamel) #64070 - [
38ee2e895f] - tools: avoid test/fixtures/wpt/README.md conflicts (Filip Skokan) #63938 - [
fdc65e489f] - tools: use different branch for tool updates on staging branches (Antoine du Hamel) #63110 - [
e5a6fde002] - tools: update gyp-next to 0.22.1 (Node.js GitHub Bot) #62961 - [
5fbbad6e82] - url: handle unparsable serialized URLs in setters (Matteo Collina) #64651 - [
ed019e4854] - util: preserve function names without source map names (Hiroki Osame) #65108
OpenSSL 4.1.0-beta1
OpenSSL 4.1.0 is a feature release adding significant new functionality to OpenSSL.
This release incorporates the following potentially significant or incompatible changes:
-
Added
VC-WIN32-MSVC2013andVC-WIN64A-MSVC2013build targets to provide internal functions for bridging the gaps in C99 standard support that are present in MSVC 2013. -
Added optimized ML-DSA and ML-KEM NTT operations on
ppc64le; optimized ML-DSA operations ons390x, andx86_64; AVX-512-optimized SHAKE x4 operations for ML-DSA onx86_64; AVX-512 and VAES optimizations for AES-CBC decryption onx86_64. -
Changed
tsgetutility to useNet::Curl::Easy(from theNet-CurlCPAN distribution) instead of the abandonedWWW::Curl::Easy. Users who rely ontsgetshould installNet::Curl::Easybefore upgrading. -
Dropped Windows-on-Itanium (
VC-WIN64I) and Windows CE (VC-CE) targets from Configurations. -
Dropped
no-ecdsaandno-ecdhoptions fromConfigure, as these options did not really disable the implementations. Useno-ecto disable the elliptic curve support.
This release adds the following new features:
v4.1.8
- build(deps): bump actions/setup-java from 5 to 6 by @dependabot[bot] in https://github.com/Netflix/zuul/pull/2209
- build(deps): bump gradle/actions from 6 to 6.2.0 by @dependabot[bot] in https://github.com/Netflix/zuul/pull/2204
- build(deps): bump actions/stale from 10 to 11 by @dependabot[bot] in https://github.com/Netflix/zuul/pull/2203
- build(deps): bump org.openrewrite.rewrite from 7.12.1 to 7.37.0 by @dependabot[bot] in https://github.com/Netflix/zuul/pull/2194
- Use retainedDuplicate when buffering the last content chunk by @tappenzeller in https://github.com/Netflix/zuul/pull/2211
- Avoid per-header allocation in zuul-to-netty handoff by @gavinbunney in https://github.com/Netflix/zuul/pull/2221
Full Changelog: https://github.com/Netflix/zuul/compare/v4.1.7...v4.1.8
v3.7.2
Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).
For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.7.2
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
# start a local etcd server
/tmp/etcd-download-test/etcd
# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
ETCD_VER=v3.7.2
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.
ETCD_VER=v3.7.2
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-${ETCD_VER} \
gcr.io/etcd-development/etcd:${ETCD_VER} \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo
v3.6.15
Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).
For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.6.15
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
# start a local etcd server
/tmp/etcd-download-test/etcd
# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
ETCD_VER=v3.6.15
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.
ETCD_VER=v3.6.15
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-${ETCD_VER} \
gcr.io/etcd-development/etcd:${ETCD_VER} \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo
v3.5.34
Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).
For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.5.34
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
# start a local etcd server
/tmp/etcd-download-test/etcd
# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
ETCD_VER=v3.5.34
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.
ETCD_VER=v3.5.34
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-${ETCD_VER} \
gcr.io/etcd-development/etcd:${ETCD_VER} \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo
RustFS 1.0.1-preview.10 (preview)
- feat(nightly): publish packages as assets of the rolling 'nightly' release (sync from release) by @majinghe in https://github.com/rustfs/rustfs/pull/7593
- fix(ecstore): stop pruning at nonempty directories by @marshawcoco in https://github.com/rustfs/rustfs/pull/7616
- fix(replication): close the pre-stable convergence gaps from backlog#2367 by @reatang in https://github.com/rustfs/rustfs/pull/7626
- feat(console): support a configurable console URL prefix by @overtrue in https://github.com/rustfs/rustfs/pull/7634
- chore(release): merge release into main for rc.6 by @overtrue in https://github.com/rustfs/rustfs/pull/7638
- feat: configure the console base path at build time by @cxymds in https://github.com/rustfs/rustfs/pull/7636
- chore(release): prepare 1.0.0-rc.6 by @overtrue in https://github.com/rustfs/rustfs/pull/7641
- fix(heal): preserve retryable batch failures during recovery by @overtrue in https://github.com/rustfs/rustfs/pull/7642
- fix(s3): reject oversize single PUT early and map body errors to 4xx by @reatang in https://github.com/rustfs/rustfs/pull/7635
- fix(ecstore): make directory mtime fixture portable by @marshawcoco in https://github.com/rustfs/rustfs/pull/7623
- fix(storage): prevent readiness after native migration failures by @rjregenold in https://github.com/rustfs/rustfs/pull/7652
- fix(admin): expose OIDC account display fields by @GatewayJ in https://github.com/rustfs/rustfs/pull/7654
- fix(replication): correct peer joins and remote-state reporting by @jkossis in https://github.com/rustfs/rustfs/pull/7650
- feat(ci): add fault-tolerance degradation suite to the functional chain by @majinghe in https://github.com/rustfs/rustfs/pull/7663
- fix(ci): repair functional defaults and chain regression checks by @overtrue in https://github.com/rustfs/rustfs/pull/7664
- "feat(ci): add fault-tolerance degradation suite to the functional chain" by @majinghe in https://github.com/rustfs/rustfs/pull/7667
- fix(ci): align security workflow tests with chain by @cxymds in https://github.com/rustfs/rustfs/pull/7679
- test(kms): cover non-default Vault Transit paths by @hkwi in https://github.com/rustfs/rustfs/pull/7657
- fix(s3): bound stalled UploadPart request bodies by @cxymds in https://github.com/rustfs/rustfs/pull/7659
- fix: enforce S3 permissions for recursive force deletion by @cxymds in https://github.com/rustfs/rustfs/pull/7661
- fix(tables): reject reserved warehouse locations by @GatewayJ in https://github.com/rustfs/rustfs/pull/7671
- fix(e2e): require a verified server binary for every e2e run by @overtrue in https://github.com/rustfs/rustfs/pull/7687
- fix(ci): bind nightly lanes to one resolved source by @overtrue in https://github.com/rustfs/rustfs/pull/7688
- feat(ci): measure queue and execution time by run attempt by @overtrue in https://github.com/rustfs/rustfs/pull/7689
- fix(ci): verify complete functional chain evidence by @overtrue in https://github.com/rustfs/rustfs/pull/7690
- fix(kms): classify KMS/SSE error contracts and SSE-S3 headers by @reatang in https://github.com/rustfs/rustfs/pull/7697
- Collect bounded Connect environment inventory by @overtrue in https://github.com/rustfs/rustfs/pull/7710
- Add Connect service license commands by @overtrue in https://github.com/rustfs/rustfs/pull/7711
- Add consent-bound diagnostic scheduling by @overtrue in https://github.com/rustfs/rustfs/pull/7713
- feat(connect): advertise environment diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/7714
- feat(connect): add consent-bound profile exports by @overtrue in https://github.com/rustfs/rustfs/pull/7716
- feat(connect): add bounded local log capture by @overtrue in https://github.com/rustfs/rustfs/pull/7718
- feat(connect): add bounded network performance producer by @overtrue in https://github.com/rustfs/rustfs/pull/7719
- Add bounded local telemetry export commands by @overtrue in https://github.com/rustfs/rustfs/pull/7720
- Add bounded drive performance command by @overtrue in https://github.com/rustfs/rustfs/pull/7721
- Add bounded top diagnostic captures by @overtrue in https://github.com/rustfs/rustfs/pull/7722
- Add client-to-deployment performance diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/7726
- Add a local environment inventory command by @overtrue in https://github.com/rustfs/rustfs/pull/7728
- feat(connect): add bounded object performance diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/7734
- Add authenticated inter-node network performance probes by @overtrue in https://github.com/rustfs/rustfs/pull/7739
- fix(site-replication): keep an operator's bucket-level target to a peer instead of taking it over by @reatang in https://github.com/rustfs/rustfs/pull/7709
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/7733
- feat(connect): support explicit enterprise proxies by @overtrue in https://github.com/rustfs/rustfs/pull/7745
- feat(connect): emit drive unavailable log events by @overtrue in https://github.com/rustfs/rustfs/pull/7747
- feat(connect): add local inspect export producer by @overtrue in https://github.com/rustfs/rustfs/pull/7750
- test(connect): cover nested allocator profile stats by @overtrue in https://github.com/rustfs/rustfs/pull/7717
- docs(security): add presigned copy advisory lesson by @overtrue in https://github.com/rustfs/rustfs/pull/7754
- fix(ecstore): refuse RMW and reads of unreadable bucket configs by @overtrue in https://github.com/rustfs/rustfs/pull/7759
- refactor(filemeta): own persisted metadata key authority by @overtrue in https://github.com/rustfs/rustfs/pull/7760
- Sync network performance protocol fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/7761
- Sync site replication result fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/7762
- Sync telemetry producer fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/7763
- refactor(rio): own trailer source and drop s3s dependency by @overtrue in https://github.com/rustfs/rustfs/pull/7764
- Deliver diagnostic scheduler receipts to Connect by @overtrue in https://github.com/rustfs/rustfs/pull/7767
- fix(ecstore): refuse writes on unreadable bucket configs with 503 by @overtrue in https://github.com/rustfs/rustfs/pull/7768
- feat(connect): add site replication performance producer by @overtrue in https://github.com/rustfs/rustfs/pull/7769
- refactor(ecstore): read persisted object-metadata keys from the filemeta authority (A3b) by @overtrue in https://github.com/rustfs/rustfs/pull/7770
- feat(connect): add device license renewal client by @overtrue in https://github.com/rustfs/rustfs/pull/7771
- feat(connect): add approved artifact relay by @overtrue in https://github.com/rustfs/rustfs/pull/7772
- fix(connect): export relay CLI types by @overtrue in https://github.com/rustfs/rustfs/pull/7773
- feat(connect): add device report upload client by @overtrue in https://github.com/rustfs/rustfs/pull/7774
- feat(connect): add typed telemetry trace source by @overtrue in https://github.com/rustfs/rustfs/pull/7775
- fix(connect): avoid shadowing replication URL helper by @overtrue in https://github.com/rustfs/rustfs/pull/7777
- fix(connect): restore site replication test nonce by @overtrue in https://github.com/rustfs/rustfs/pull/7778
- fix(connect): restore rustfs build after site replication perf producer by @overtrue in https://github.com/rustfs/rustfs/pull/7779
- fix(rustfs): restore test compilation by @overtrue in https://github.com/rustfs/rustfs/pull/7780
- feat(connect): sign site replication target pair by @overtrue in https://github.com/rustfs/rustfs/pull/7781
- refactor(filemeta): own RestoreStatus and drop the s3s dependency (A3c) by @overtrue in https://github.com/rustfs/rustfs/pull/7782
- feat(connect): add service license relay import by @overtrue in https://github.com/rustfs/rustfs/pull/7784
- feat(admin): add a gateway key inventory for the S3 stack switch by @overtrue in https://github.com/rustfs/rustfs/pull/7785
- feat(server): add RUSTFS_S3_STACK with a gateway GetBucketLocation path by @overtrue in https://github.com/rustfs/rustfs/pull/7786
- revert: remove M1 gateway git dependency until CI can access rustfs/gateway by @overtrue in https://github.com/rustfs/rustfs/pull/7787
- fix: retry IAM migration quorum failures on startup by @overtrue in https://github.com/rustfs/rustfs/pull/7788
- fix: retry interrupted uploads through proxies by @overtrue in https://github.com/rustfs/rustfs/pull/7789
- fix(connect): capture telemetry from server runtime by @overtrue in https://github.com/rustfs/rustfs/pull/7790
- fix: classify explicit proxy failures by @overtrue in https://github.com/rustfs/rustfs/pull/7791
- fix: skip IAM migration when legacy volume is absent by @overtrue in https://github.com/rustfs/rustfs/pull/7792
- fix(release): include CLI in Linux artifacts by @overtrue in https://github.com/rustfs/rustfs/pull/7794
- fix(release): serialize Linux binary links by @overtrue in https://github.com/rustfs/rustfs/pull/7797
- feat(connect): expose live lock count snapshots by @overtrue in https://github.com/rustfs/rustfs/pull/7801
- feat(connect): capture live API activity by @overtrue in https://github.com/rustfs/rustfs/pull/7804
- feat(connect): collect native Linux thread states by @overtrue in https://github.com/rustfs/rustfs/pull/7806
- feat(connect): capture live RPC activity by @overtrue in https://github.com/rustfs/rustfs/pull/7807
- test(connect): verify top.disk release artifacts by @overtrue in https://github.com/rustfs/rustfs/pull/7808
- test(connect): require native top.disk runner by @overtrue in https://github.com/rustfs/rustfs/pull/7809
- feat(connect): capture bounded local CPU profiles by @overtrue in https://github.com/rustfs/rustfs/pull/7811
- ci: retain top disk acceptance archive by @overtrue in https://github.com/rustfs/rustfs/pull/7812
- fix(connect): observe host traffic in top net by @overtrue in https://github.com/rustfs/rustfs/pull/7814
- ci: enable CPU profiling in supported release builds by @overtrue in https://github.com/rustfs/rustfs/pull/7815
- test(connect): verify profile cpu release artifacts by @overtrue in https://github.com/rustfs/rustfs/pull/7818
- test(connect): retain CPU profile verification key by @overtrue in https://github.com/rustfs/rustfs/pull/7819
- test(connect): retain CPU profile import bundle by @overtrue in https://github.com/rustfs/rustfs/pull/7820
- feat(connect): expose object inspect CLI by @overtrue in https://github.com/rustfs/rustfs/pull/7821
- feat(connect): wrap diagnostic reports for upload by @overtrue in https://github.com/rustfs/rustfs/pull/7822
- fix(connect): parse inspect paths as paths by @overtrue in https://github.com/rustfs/rustfs/pull/7826
- feat(connect): verify typed diagnostic jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7827
- fix(connect): accept KMS report upload authorization by @overtrue in https://github.com/rustfs/rustfs/pull/7828
- Run signed diagnostic jobs in the RustFS service by @overtrue in https://github.com/rustfs/rustfs/pull/7829
- fix(connect): emit canonical report manifest time by @overtrue in https://github.com/rustfs/rustfs/pull/7830
- Upload diagnostic job results through support bundles by @overtrue in https://github.com/rustfs/rustfs/pull/7831
- fix(connect): emit canonical top envelope time by @overtrue in https://github.com/rustfs/rustfs/pull/7836
- fix(connect): publish diagnostic producer capabilities by @overtrue in https://github.com/rustfs/rustfs/pull/7837
- fix(io-metrics): drop the rustfs-common edge by injecting the S3 telemetry observer by @overtrue in https://github.com/rustfs/rustfs/pull/7795
- fix(replication): count a bodiless 405 as a replicated delete marker by @reatang in https://github.com/rustfs/rustfs/pull/7756
- fix(kms): refuse key ids that leave the key prefix on the Vault backends by @reatang in https://github.com/rustfs/rustfs/pull/7727
- Preserve safe profile job failure reasons by @overtrue in https://github.com/rustfs/rustfs/pull/7860
- Freeze the heartbeat producer capability registry by @overtrue in https://github.com/rustfs/rustfs/pull/7861
- fix: resume GET body after peer short EOF by @houseme in https://github.com/rustfs/rustfs/pull/7852
- ci: file scheduled-failure issues in rustfs/backlog by @majinghe in https://github.com/rustfs/rustfs/pull/7847
- fix(admin): keep the gateway key inventory off the s3s surface by @overtrue in https://github.com/rustfs/rustfs/pull/7817
- fix(s3): honor presigned UploadPart checksum queries by @overtrue in https://github.com/rustfs/rustfs/pull/7748
- fix(auth): reject unsigned x-amz headers on header-signed SigV4 requests by @overtrue in https://github.com/rustfs/rustfs/pull/7796
- fix(table-catalog): map transient lock failures to unavailable by @marshawcoco in https://github.com/rustfs/rustfs/pull/7841
- Verify profile service jobs on native Linux by @overtrue in https://github.com/rustfs/rustfs/pull/7862
- Authorize the private Connect acceptance checkout by @overtrue in https://github.com/rustfs/rustfs/pull/7863
- Run profile service acceptance directly by @overtrue in https://github.com/rustfs/rustfs/pull/7864
- Retain profile service failure evidence by @overtrue in https://github.com/rustfs/rustfs/pull/7868
- fix: update dependencies and preserve transport errors by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/7798
- ci: expect BACKLOG_ISSUE_TOKEN in scheduled alert wiring checks by @majinghe in https://github.com/rustfs/rustfs/pull/7867
- Pace diagnostic job result redelivery by @overtrue in https://github.com/rustfs/rustfs/pull/7869
- Execute authenticated top.api service jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7872
- feat(connect): execute top.locks service jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7874
- fix(ci): gate Connect acceptance on x86 build job by @overtrue in https://github.com/rustfs/rustfs/pull/7875
- fix(ci): repair E2E inventory and network CLI coverage by @overtrue in https://github.com/rustfs/rustfs/pull/7871
- feat(connect): execute performance network jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7877
- feat(connect): execute bounded drive performance jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7878
- Preserve the top API service job nonce by @overtrue in https://github.com/rustfs/rustfs/pull/7879
- feat(connect): execute thread profile service jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7880
- Execute authenticated top.rpc service jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7881
- ci: add service diagnostic acceptance workflows by @overtrue in https://github.com/rustfs/rustfs/pull/7882
- ci: add threads and RPC acceptance workflows by @overtrue in https://github.com/rustfs/rustfs/pull/7883
- fix(connect): deliver diagnostic results until expiry by @overtrue in https://github.com/rustfs/rustfs/pull/7886
- feat(connect): export signed environment inventory by @overtrue in https://github.com/rustfs/rustfs/pull/7887
- fix: recover interrupted GETs and heal operations by @overtrue in https://github.com/rustfs/rustfs/pull/7876
- fix: keep top locks within its capture window by @overtrue in https://github.com/rustfs/rustfs/pull/7888
- fix: recover heal after peer boot epoch changes by @overtrue in https://github.com/rustfs/rustfs/pull/7889
- ci: register the table suite workflow on the default branch by @majinghe in https://github.com/rustfs/rustfs/pull/7893
- test(ecstore): synchronize causal cleanup observations by @overtrue in https://github.com/rustfs/rustfs/pull/7894
- fix(ecstore): create markers for repeated versioned deletes by @GatewayJ in https://github.com/rustfs/rustfs/pull/7884
- Preserve top.locks signed job nonce by @overtrue in https://github.com/rustfs/rustfs/pull/7898
- fix(ecstore): roll back failed delete marker writes by @overtrue in https://github.com/rustfs/rustfs/pull/7899
- chore(deps): refresh RustFS tokio tar dependency by @houseme in https://github.com/rustfs/rustfs/pull/7907
- fix(ci): retain failed functional chain reports and check runners by @majinghe in https://github.com/rustfs/rustfs/pull/7906
- fix(ci): bound non-performance functional suites to one hour by @majinghe in https://github.com/rustfs/rustfs/pull/7911
- ci(build): run linux build lanes on sm-standard-4 runners by @majinghe in https://github.com/rustfs/rustfs/pull/7917
- fix(ecstore): admit transformed small objects inline by plaintext size by @reatang in https://github.com/rustfs/rustfs/pull/7916
- ci(chain): stop gating all suites on the performance runner by @majinghe in https://github.com/rustfs/rustfs/pull/7924
- perf(rustfs): skip redundant content-sha256 pass on signed PUTs by @reatang in https://github.com/rustfs/rustfs/pull/7928
- ci: register the fault-tolerance suite workflow on the default branch by @majinghe in https://github.com/rustfs/rustfs/pull/7929
- chore(release): merge release into main after 1.0.0 by @overtrue in https://github.com/rustfs/rustfs/pull/7935
- fix(ecstore): keep decommission multipart on reserved target by @cxymds in https://github.com/rustfs/rustfs/pull/7937
- fix(heal): match legacy null version during replacement readback by @cxymds in https://github.com/rustfs/rustfs/pull/7933
- fix(heal): certify metadata health and marker repair receipts by @cxymds in https://github.com/rustfs/rustfs/pull/7932
- ci(ft): upload the fault-tolerance report to the dashboard by @majinghe in https://github.com/rustfs/rustfs/pull/7939
- ci: drop dead references to the deleted release branch by @overtrue in https://github.com/rustfs/rustfs/pull/7945
- build(deps): update dependency versions by @houseme in https://github.com/rustfs/rustfs/pull/7942
- perf(s3select): accelerate ScanRange record scanning by @GatewayJ in https://github.com/rustfs/rustfs/pull/7934
- fix(ci): bound the fault-tolerance dashboard upload step by @overtrue in https://github.com/rustfs/rustfs/pull/7948
- chore(release): prepare 1.0.1 by @overtrue in https://github.com/rustfs/rustfs/pull/7946
- fix(ecstore): forward quota admission on CopyObject destination writes by @overtrue in https://github.com/rustfs/rustfs/pull/7947
- feat(tables): support staged table creation by @GatewayJ in https://github.com/rustfs/rustfs/pull/7919
- refactor(obs): depend on dial9 crate by @houseme in https://github.com/rustfs/rustfs/pull/7949
- fix(ecstore): reuse metadata read guards during writes by @jkossis in https://github.com/rustfs/rustfs/pull/7941
- fix(ilm): keep expiry pending gauge balanced and drain overwrite tails by @overtrue in https://github.com/rustfs/rustfs/pull/7944
- fix(ecstore): keep the single-block bound on every inline candidate by @overtrue in https://github.com/rustfs/rustfs/pull/7954
- Allow 127.0.0.0/8 as loopback addresses for binding by @aredridel in https://github.com/rustfs/rustfs/pull/7943
- fix(ecstore): hide and reclaim ancestors of delete residue in prefix listings by @overtrue in https://github.com/rustfs/rustfs/pull/7955
- fix(readiness): smooth pool metadata timeout flaps by @houseme in https://github.com/rustfs/rustfs/pull/7956
- fix(heal): prevent MRF starvation of integrity repairs by @houseme in https://github.com/rustfs/rustfs/pull/7963
- fix(lock): contain slow peer RPC admission storms by @houseme in https://github.com/rustfs/rustfs/pull/7970
- fix(rebalance): defer retryable source cleanup failures by @cxymds in https://github.com/rustfs/rustfs/pull/7977
- feat(release): add workspace cargo publish tooling by @houseme in https://github.com/rustfs/rustfs/pull/7973
- fix(ci): reject incomplete fault-tolerance runs by @GatewayJ in https://github.com/rustfs/rustfs/pull/7961
- feat(helm): add ingress support for both console and endpoint by @kokorousaki in https://github.com/rustfs/rustfs/pull/7972
- ci(performance): move the performance suite to its own concurrency group by @majinghe in https://github.com/rustfs/rustfs/pull/7984
- fix(decommission): keep scanner backlog handoff conflicts recoverable by @cxymds in https://github.com/rustfs/rustfs/pull/7979
- fix(notify): validate bucket notification config before saving by @cxymds in https://github.com/rustfs/rustfs/pull/7980
- ci(performance): drop stale shared-lock comment from the performance workflow by @overtrue in https://github.com/rustfs/rustfs/pull/7987
- fix(scanner): resume and persist checkpoints across leader handoff by @houseme in https://github.com/rustfs/rustfs/pull/7982
- build(deps): refresh workspace dependencies by @houseme in https://github.com/rustfs/rustfs/pull/7986
- fix(ecstore): preserve vectored bitrot writes by @houseme in https://github.com/rustfs/rustfs/pull/7981
- fix(helm): default the ingress backend port and refresh the nix cli hashes by @overtrue in https://github.com/rustfs/rustfs/pull/7990
- build(deps): bump dial9 to 0.5.1 by @houseme in https://github.com/rustfs/rustfs/pull/7991
- fix(replication): harden delete marker HEAD convergence by @houseme in https://github.com/rustfs/rustfs/pull/7993
- docs(operations): add cluster and erasure-coding lifecycle runbook by @overtrue in https://github.com/rustfs/rustfs/pull/7998
- fix(heal): fail admin heal with unhealthy drives by @cxymds in https://github.com/rustfs/rustfs/pull/7996
- fix(ecstore): preserve bounded listing completion reason by @houseme in https://github.com/rustfs/rustfs/pull/7994
- fix(heal): discharge absent durable partial writes by @houseme in https://github.com/rustfs/rustfs/pull/8000
- feat: expose subscriptions used by event destinations by @cxymds in https://github.com/rustfs/rustfs/pull/8001
- fix(tier): model R2 as unversioned storage by @cxymds in https://github.com/rustfs/rustfs/pull/8004
- fix(ecstore): repair buckets left with only an incarnation sidecar by @overtrue in https://github.com/rustfs/rustfs/pull/8008
- fix(heal): inspect stale members during deep scans by @cxymds in https://github.com/rustfs/rustfs/pull/8009
- fix(tier): gate opaque version recovery cleanup by @cxymds in https://github.com/rustfs/rustfs/pull/8006
- fix(release): sort pre-release packages below their final release by @overtrue in https://github.com/rustfs/rustfs/pull/8016
- fix(ecstore): retry fleet capability probe while the notification system boots by @overtrue in https://github.com/rustfs/rustfs/pull/8017
- fix(heal): close tail-truncation and stale current-marker gaps by @cxymds in https://github.com/rustfs/rustfs/pull/8019
- fix: serialize notify runtime module switch reconciliation by @cxymds in https://github.com/rustfs/rustfs/pull/8020
- fix(scanner): protect single-disk foreground latency by @houseme in https://github.com/rustfs/rustfs/pull/8022
- test(heal): cover stale current delete marker rejoin by @cxymds in https://github.com/rustfs/rustfs/pull/8021
- fix(package): preserve service state across upgrades by @majinghe in https://github.com/rustfs/rustfs/pull/8024
- ci(chain): fall back to auto-testing main HEAD when the pinned harness goes stale by @majinghe in https://github.com/rustfs/rustfs/pull/8026
- fix(ecstore): allow server-side copy at normal read quorum by @overtrue in https://github.com/rustfs/rustfs/pull/8029
- fix(get): skip futile resume for single-disk objects by @houseme in https://github.com/rustfs/rustfs/pull/8031
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/8033
- docs(security): add encrypted ETag advisory lesson by @overtrue in https://github.com/rustfs/rustfs/pull/8040
- ci(docker): sync the Docker Hub overview from README.md on release by @Marukome0743 in https://github.com/rustfs/rustfs/pull/8034
- fix(heal): preserve remote corruption and reject incomplete deep scans by @cxymds in https://github.com/rustfs/rustfs/pull/8032
- fix(ci): give the chain staleness probe a token that can read auto-testing by @majinghe in https://github.com/rustfs/rustfs/pull/8041
- fix(heal): restore bucket metadata before replacement completion by @overtrue in https://github.com/rustfs/rustfs/pull/8042
- fix(decommission): use owned data for source capacity by @cxymds in https://github.com/rustfs/rustfs/pull/8038
- fix(lifecycle): reject empty expiration actions by @cxymds in https://github.com/rustfs/rustfs/pull/8045
- fix(obs): default span events to none and gate span list by level by @cxymds in https://github.com/rustfs/rustfs/pull/8047
- fix: rename admin metrics endpoint to realtime by @cxymds in https://github.com/rustfs/rustfs/pull/8046
- fix(rebalance): retry fleet proof before start activation by @cxymds in https://github.com/rustfs/rustfs/pull/8049
- fix(ci): align FT evidence contract with scenario E (44 cases) by @majinghe in https://github.com/rustfs/rustfs/pull/8052
- fix(ecstore): bound decommission capacity gate waits by @cxymds in https://github.com/rustfs/rustfs/pull/8044
- test(ci): align FT workflow contract tests with scenario E (44 cases) by @majinghe in https://github.com/rustfs/rustfs/pull/8054
- fix(ci): accept the testing-sha staleness fallback in chain evidence by @majinghe in https://github.com/rustfs/rustfs/pull/8056
- fix(s3): emit x-amz-expiration as HTTP-date by @cxymds in https://github.com/rustfs/rustfs/pull/8057
- fix(obs): support custom OTLP CA bundles by @houseme in https://github.com/rustfs/rustfs/pull/8060
- feat(ci): on-demand fault-tolerance matrix sweep workflow by @majinghe in https://github.com/rustfs/rustfs/pull/8058
- fix(ecstore): bound decommission target gate contention by @cxymds in https://github.com/rustfs/rustfs/pull/8061
- feat(integrity): add inventory, audit, and protected migration by @cxymds in https://github.com/rustfs/rustfs/pull/8065
- fix(ftps): bound upload memory with multipart streaming by @bolero2 in https://github.com/rustfs/rustfs/pull/8064
- fix(amqp): emit S3 events directly in notification records by @bolero2 in https://github.com/rustfs/rustfs/pull/8066
- fix(ci): publish version-tagged preview Docker images by @overtrue in https://github.com/rustfs/rustfs/pull/8068
- fix(heal): preserve decode repair signals and retry startup quorum by @cxymds in https://github.com/rustfs/rustfs/pull/8067
- @aredridel made their first contribution in https://github.com/rustfs/rustfs/pull/7943
- @kokorousaki made their first contribution in https://github.com/rustfs/rustfs/pull/7972
- @Marukome0743 made their first contribution in https://github.com/rustfs/rustfs/pull/8034
- @bolero2 made their first contribution in https://github.com/rustfs/rustfs/pull/8064
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0...1.0.1-preview.10
v0.8.0-pre.12
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tursodatabase/turso/releases/download/v0.8.0-pre.12/turso_cli-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tursodatabase/turso/releases/download/v0.8.0-pre.12/turso_cli-installer.ps1 | iex"
| File | Platform | Checksum |
|---|---|---|
| turso_cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| turso_cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| turso_cli-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| turso_cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| turso_cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| turso_cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo tursodatabase/turso
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>