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>
2026-09-22, Version 26.10.0 (Current), @aduh95
- [
c0a42d23e5] - (SEMVER-MINOR) crypto: add crypto.parsePKCS12() (Brian Muenzenmeyer) #65627 - [
eb4fabe81e] - doc: add araujogui to collaborators (Guilherme Araújo) #66090 - [
64fb33d791] - (SEMVER-MINOR) ffi: load libraries from a mounted VFS (Matteo Collina) #65909 - [
2b1701f810] - (SEMVER-MINOR) fs: add openAsBlobSync (greenhead) #65644 - [
080e76b3d7] - (SEMVER-MINOR) net: support sending net.BoundSocket to threads and child processes (Guy Bedford) #64725 - [
13e61f6ae6] - (SEMVER-MINOR) perf_hooks: implement SlidingWindowHistogram (James M Snell) #65825 - [
a326546094] - (SEMVER-MINOR) perf_hooks: implement qrde analysis support in Histogram (James M Snell) #65806 - [
0306b0a71e] - (SEMVER-MINOR) sqlite: bind undefined to NULL (Trevor Burnham) #65709 - [
3c999edef7] - (SEMVER-MINOR) src,lib: add util.markPromiseAsHandled (James M Snell) #65805 - [
f7d18ec360] - (SEMVER-MINOR) test: expand histogram test coverage (James M Snell) #65825 - [
3ce4d23bbb] - (SEMVER-MINOR) util: implement util.throttle (James M Snell) #65899 - [
336f33ccc1] - (SEMVER-MINOR) util: implement debounce (James M Snell) #65899
- [
2bf082453b] - assert: fix TypeError on deepStrictEqual with null Map key or Set member (Sergey Sannikov) #64449 - [
c518831d00] - benchmark: add --csv option to compare.js with --analyze (James M Snell) #65922 - [
89bae46e68] - buffer: fix unaligned UTF-16LE decoding (Matteo Collina) #65905 - [
01cee9dcef] - build: do not use bundled simdutf when built with--shared-simdutf(Antoine du Hamel) #65891 - [
20606a4d19] - build: suppress OpenSSL asm warnings with clang (Richard Lau) #66023 - [
a76e97b5c5] - build: derive V8_LOGGING_LEVEL from dcheck_always_on (Joyee Cheung) #65744 - [
ac7fcf0cef] - build: sync cargo/rustc version warnings (Richard Lau) #65912 - [
f24a495b36] - build: fix quiet default for make builds (Shelley Vohr) #65826 - [
c4381765fe] - child_process: clear timeout timer on spawn-time error too (kishore280) #65506 - [
8955781eeb] - crypto: remove redundentstd::movecall (Antoine du Hamel) #66111 - [
0b88aa5a15] - crypto: read RSA-PSS restrictions from provider (Filip Skokan) #66108 - [
f90d3d3cb0] - crypto: skip private RSA parameters in key details (Filip Skokan) #66108 - [
97828d91db] - crypto: use provider EC group names (Filip Skokan) #66108 - [
3de05da569] - crypto: fetch ciphers for private-key encoding (Filip Skokan) #66108 - [
ca8ee04594] - crypto: decode PKCS#1 keys through providers (Filip Skokan) #66108 - [
54a625e953] - crypto: derive keys through EVP_KDF (Filip Skokan) #66108 - [
971adece6a] - crypto: use names for asymmetric key algorithms (Filip Skokan) #65966 - [
bfb544eb00] - crypto: optimize and benchmark key preparation (Filip Skokan) #65892 - [
c0a42d23e5] - (SEMVER-MINOR) crypto: add crypto.parsePKCS12() (Brian Muenzenmeyer) #65627 - [
c58a4e0ba7] - crypto: add Hybrid KEMs to Web Cryptography (Filip Skokan) #65759 - [
70edf90851] - crypto: avoid EC reconstruction for signature sizing (Filip Skokan) #65908 - [
fab5dddd77] - crypto: avoid EC raw export reconstruction (Filip Skokan) #65908 - [
220a499614] - crypto: export EC JWK coordinates directly (Filip Skokan) #65908 - [
f1295e11db] - crypto: read EC curve metadata directly (Filip Skokan) #65908 - [
775173a5db] - crypto: optimize private EC JWK import (Filip Skokan) #65908 - [
e44669bb7d] - crypto: validate the limit of PBKDF2 iterations (Filip Skokan) #65704 - [
cd5a7611e9] - crypto: use primordials in HKDF info validation (Filip Skokan) #65704 - [
94affce749] - Revert "deps: V8: overridedepot_toolsversion" (Richard Lau) #66110 - [
870a366c49] - deps: V8: cherry-pick 95efbaf92a0d (Igor Sheludko) #66020 - [
d62a452738] - deps: V8: backport a0607c5006b8 (Antoine du Hamel) #65891 - [
e8edeffe2d] - deps: update googletest to 8eff9e336692fc95961e096564f1044c600b881d (Node.js GitHub Bot) #66009 - [
eb4fabe81e] - doc: add araujogui to collaborators (Guilherme Araújo) #66090 - [
2fffb3872d] - doc: fix duplicate 'the' typo innode_platform.cc(Muhammad Al-Muzahid) #66058 - [
317abb8131] - doc: clarify sub-1000ms behavior in socket.setKeepAlive (Haram Jeong) #65869 - [
1c12f815c2] - doc: remove obsolete mentioning of cl.exe on windows (Chengzhong Wu) #66038 - [
2cc17dd67c] - doc: note that default signal handling resets the signal mask (Shelley Vohr) #65877 - [
3a69cc1bf4] - doc: clarify QUIC async write backpressure (John Finnerty) #65947 - [
549694349d] - doc: clarify permission model scope for output paths (Rafael Gonzaga) #66004 - [
3325ded3a8] - doc: fix sign-off format in AGENTS.md (Filip Skokan) #65958 - [
89aa2bd10c] - doc: fill in missing zstd docs (James M Snell) #65867 - [
8d1ce4d477] - doc: add inoway46 as triager (Yuya Inoue) #65565 - [
9a3697c5c7] - doc: document windowsHide for child_process.fork (Christopher Buss) #65887 - [
69911bf6b5] - doc: qualify directory read ordering for native fs (Trivikram Kamat) #65868 - [
2d0c3fed12] - doc: add DOMException section to errors API reference (Avocado) #65206 - [
f744023cce] - doc: expand revert commit collaborator instructions (Mike McCready) #65848 - [
412399efd3] - doc: clarify supported Python releases (Mike McCready) #65850 - [
79331f5779] - doc: note that FreeEnvironment() runs a shared event loop (Shelley Vohr) #65691 - [
6ddbb9982f] - doc,test: account for OpenSSL 4.1 behaviours (Filip Skokan) #65956 - [
64fb33d791] - (SEMVER-MINOR) ffi: load libraries from a mounted VFS (Matteo Collina) #65909 - [
07fcf1ed02] - ffi: throw ERR_INVALID_ARG_TYPE for wrong-typed pointer and size (Soul Lee) #65842 - [
b7406b0a9b] - fs: coerce FileHandle.read length like fs.read (Xia Chao) #65521 - [
cb9995be4d] - fs: honor dereference for symlinks nested in cpSync trees (Christian Aurich) #65731 - [
2b1701f810] - (SEMVER-MINOR) fs: add openAsBlobSync (greenhead) #65644 - [
9b3f1aa03f] - fs: throw on existing dir in cpSync with errorOnExist (Daijiro Wachi) #64124 - [
2b502e0798] - fs: support removing read-only files in rmSync on Windows (Sparsh :)) #64453 - [
77d8f17ab1] - http: don't destroy socket after request completes (Barath Raj) #65952 - [
46f76ed57b] - http2: settle pending write callbacks on destroy (Matteo Collina) #66016 - [
205443721d] - http2: fix onread assert when destroying session from stream handler (Sankalp Thakur) #65116 - [
7e1db4724a] - inspector: report an error when DOM storage is unavailable (Avocado) #65973 - [
95110712b8] - inspector: fix abort when two Environments own the inspector (Shelley Vohr) #65877 - [
9fd3e6caa4] - inspector: fix crash when the IsolateData has no platform (Shelley Vohr) #65818 - [
cce2795ad7] - lib: fix AbortSignal.any() abort propagation (Yuya Inoue) #66014 - [
2c0ccc0067] - lib: fix for FileHandle.readableWebStream (Patrick Dähne) #58842 - [
28acafe6a0] - lib: avoid repeat internal receiver checks (Filip Skokan) #65910 - [
b9b0e33923] - lib: avoid unsafe array iteration in cli table (Donghoon Kang) #65838 - [
7f514d3310] - lib: fix shared buffer growability validation (Filip Skokan) #65845 - [
7534117e38] - lib: optimize internal Web IDL dictionaries (Filip Skokan) #65857 - [
bdacc08fbe] - lib: validate sequence iterator objects (Filip Skokan) #65844 - [
5b6ac71fb2] - lib: use Web IDL interface brand checks (Filip Skokan) #65846 - [
da341e2571] - lib,src: apply multiple updates to dtls implementation (James M Snell) #65511 - [
13eb4843d5] - meta: bump step-security/harden-runner from 2.21.0 to 2.21.1 (dependabot[bot]) #66044 - [
0f759174af] - meta: bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0 (dependabot[bot]) #66046 - [
c75b830082] - meta: bump cachix/cachix-action (dependabot[bot]) #66047 - [
1ada7055a4] - meta: bump github/codeql-action/init from 4.37.9 to 4.38.0 (dependabot[bot]) #66048 - [
1ed8b05742] - meta: bump github/codeql-action/analyze from 4.37.9 to 4.38.0 (dependabot[bot]) #66049 - [
9165abe840] - meta: bump github/codeql-action/autobuild from 4.37.9 to 4.38.0 (dependabot[bot]) #66050 - [
d03e7313cf] - meta: add joyeecheung as v8 currency strategic initiative champion (Joyee Cheung) #65965 - [
53d7592378] - meta: expand on collaborator restoration process (Chengzhong Wu) #65962 - [
fa972d02b2] - meta: add web-standards as webidl owners (Filip Skokan) #65856 - [
080e76b3d7] - (SEMVER-MINOR) net: support sending net.BoundSocket to threads and child processes (Guy Bedford) #64725 - [
0d14c0e507] - path: removeStringPrototypeCharCodeAtfrom some methods ofposix(Wiyeong Seo) #54668 - [
13e61f6ae6] - (SEMVER-MINOR) perf_hooks: implement SlidingWindowHistogram (James M Snell) #65825 - [
a326546094] - (SEMVER-MINOR) perf_hooks: implement qrde analysis support in Histogram (James M Snell) #65806 - [
32401c2229] - perf_hooks: reuse buffer for uv metrics (Donghoon Kang) #65985 - [
5e2fbfe0e5] - perf_hooks: validate import normalization offset (Matteo Collina) #65950 - [
4743cd8d33] - quic: fix two small bugs in HTTP/3 stream internals (Tim Perry) #65970 - [
0df54fb38f] - quic: improve stream cleanup & lookup (Tim Perry) #65944 - [
7cf448889c] - quic: fix timeout regression from 11ed32572b3 (James M Snell) #66028 - [
61a98e6512] - quic: fix readable stream truncation on stop-sending, abort & timeout (Tim Perry) #63967 - [
975cac593c] - quic: add promise to QuicStream for pending strms (Marten Richter) #65862 - [
ae29cc92ea] - quic: split headers out from src/quic/stream.{h/cc} (James M Snell) #65863 - [
833c58d9dc] - quic: fix crash in onStreamClose (Marten Richter) #65861 - [
84ecb21343] - quic: reject zero addressLRUSize (Christian Aurich) #65827 - [
293e69d065] - sqlite: throw on invalid URL path instead of abort (Guilherme Araújo) #66026 - [
6f5fb76d0e] - sqlite: track registered user-defined functions (Trivikram Kamat) #65896 - [
baf112b639] - sqlite: always copy changeset before applying (Trivikram Kamat) #65870 - [
0306b0a71e] - (SEMVER-MINOR) sqlite: bind undefined to NULL (Trevor Burnham) #65709 - [
1f24901c0c] - src: fix-Wextrawarning inWriteFileSync(Antoine du Hamel) #66020 - [
b98787fe2d] - src: reuse crypto GetCipherInfo in DTLS session (Ilyas Shabi) #66022 - [
410093dbf7] - src: avoid union type-punning in trace values (Khaidi Chu) #65933 - [
9ec030b1e7] - src: print exception thrown during primordial initialization (Joyee Cheung) #65991 - [
a0f99f1d6c] - src: support building with the V8 sandbox (Shelley Vohr) #62237 - [
27c62235d0] - src: ffi: create fast-call metadata Symbols lazily (Matteo Collina) #66015 - [
5a5abd8fd0] - src: avoid copying SEA snapshot data (Colin McDonnell) #65876 - [
a05023f331] - src: fix crash on empty, foreign or truncated --snapshot-blob files (Shelley Vohr) #65955 - [
4141e22606] - src: don't kill own process group on failed spawn (Lazizbek Ergashev) #65054 - [
05f4e54eda] - src: fix external reference list race between concurrent isolates (Shelley Vohr) #65779 - [
1518b7d67f] - src: keep the first snapshot blob alive for later isolates (Shelley Vohr) #65779 - [
62e2bf025c] - src: detach cppgc wrappers from their Realm before it is freed (Shelley Vohr) #65778 - [
afc3e559d2] - src: fix Stop() terminating the next Environment on the isolate (Shelley Vohr) #65819 - [
f245e53b29] - src: seed V8 from the OS CSPRNG instead of OpenSSL's DRBG (Colin McDonnell) #65796 - [
830ca7df7a] - src: fix null pointer call when running without a startup snapshot (Shelley Vohr) #65820 - [
48158fba8c] - src: stop leaking a CppHeap in CommonEnvironmentSetup (Shelley Vohr) #65792 - [
3c999edef7] - (SEMVER-MINOR) src,lib: add util.markPromiseAsHandled (James M Snell) #65805 - [
e5d2a336bd] - stream: destroy half-open sockets after iteration (Matteo Collina) #65986 - [
4075161405] - stream: destroy Duplex.from async function on early return (Aman Chadha(IVIXMMI)) #65963 - [
7d245cfd8d] - stream: fixup stream/iter to drop at most one entry per share call (James M Snell) #66028 - [
30e1f7651c] - stream: reject unbounded at SyncShare construction (James M Snell) #66028 - [
0372056cd8] - stream: make share budget failures detach before throwing (James M Snell) #66028 - [
36cc238dce] - stream: make Broadcast.from abort its background pump (James M Snell) #66028 - [
3134ca6f8e] - stream: update broadcast to retain buffered data with zero consumers (James M Snell) #66028 - [
04e5c282a1] - stream: fix async iteration of undefined chunks (Caleb Everett) #65969 - [
f81a1483b3] - stream: avoid promise allocation for parked transform writes (Matteo Collina) #65625 - [
aec01c5ae1] - stream: keep webstream stream states in fast-mode objects (Matteo Collina) #65625 - [
898cd55bdf] - stream: reject closed only after sink abort settles (Lazizbek Ergashev) #65727 - [
5661526006] - stream: fix ERR_INVALID_STATE when cancelling Readable.toWeb() (Richard Scarrott) #62773 - [
fb8a97f46b] - stream: improve handling of falsy errors in stream/iter (James M Snell) #65864 - [
cfee7fa3d9] - stream: amortize writable buffer compaction (Gürgün Dayıoğlu) #65847 - [
15605210f8] - stream: create write request objects lazily (Matteo Collina) #64455 - [
619470a9ae] - stream: allocate stream read buffers from a slab (Matteo Collina) #64455 - [
7e79c33354] - test: consolidate crypto provider cache coverage (Filip Skokan) #66108 - [
dcc9c3c02a] - test: avoid call tochmodSyncintest-fs-cp-async-file-modes(Antoine du Hamel) #66104 - [
dda22c06d7] - test: deflake test-run-watch-cwd-isolation-none-* (Antoine du Hamel) #66035 - [
d63928dda0] - test: move permission FFI test to native suite (Yuya Inoue) #66059 - [
80c1bf7fb5] - test: deflake user timing WPT assertions (Filip Skokan) #66036 - [
12116d1d70] - test: unskiptest-watch-create-isolation-none(Antoine du Hamel) #66041 - [
e90575cb4d] - test: deflake util.throttle tests (Filip Skokan) #66034 - [
f7d18ec360] - (SEMVER-MINOR) test: expand histogram test coverage (James M Snell) #65825 - [
bfa6d49b5c] - test: implement low-risk test optimizations (James M Snell) #65926 - [
c3307ebddf] - test: update WPT for WebCryptoAPI to 55ce71bb9d (Node.js GitHub Bot) #65813 - [
ee29c56993] - test: prevent parser reuse across close scenarios (Filip Skokan) #66017 - [
8a27474044] - test: cover cpSync fast path timestamp preservation (Abhinandan Kumar) #65678 - [
89297305c0] - test: fix stderr Buffer assertion in exec encoding test (greenhead) #66008 - [
d4cb916624] - test: skip test-vfs-real-provider-watch.js on IBM i (SRAVANI GUNDEPALLI) #65987 - [
6515db8ab6] - test: fix RSA/DSA wrong-passphrase flake (Filip Skokan) #65983 - [
fa19ecad9d] - test: improve sequential test performance (James M Snell) #65928 - [
3666d6a238] - test: schedule WPT variants individually (Filip Skokan) #65984 - [
f2aa27d82d] - test: overlap SLH-DSA signature checks (Filip Skokan) #65980 - [
2170207253] - test: unref cancelled broadcast source timer (Filip Skokan) #65980 - [
71a54aaf5f] - test: collect timeout signals explicitly (Filip Skokan) #65980 - [
1a15aff897] - test: skip retries in DNS timeout coverage (Filip Skokan) #65980 - [
5c7e6b4a6e] - test: synchronize ordered runner events (Filip Skokan) #65980 - [
37f24eddc9] - test: reuse fixed primes in DH tests (Filip Skokan) #65980 - [
831ec42bcc] - test: avoid idle HTTP/HTTPS connections (Filip Skokan) #65980 - [
f523342bcd] - test: close WebAssembly test HTTP servers (Filip Skokan) #65980 - [
f23847a122] - test: use named parameters in DH stress test (Filip Skokan) #65980 - [
7131e3b437] - test: reduce ZIP64 stress test I/O (Filip Skokan) #65980 - [
e4ca72a984] - test: avoid allocations in external memory test (Filip Skokan) #65975 - [
7fe64727a2] - test: cover experimental stream iterator builtins (Jungwon Sohn) #65964 - [
88ba17bae2] - test: deflake node-api test-free-called (Christian Aurich) #65948 - [
6eee01fbae] - test: fix flaky common WPT inspector test (Yuya Inoue) #65937 - [
858702e51c] - test: skip C++ symbols in tick-processor-arguments (Philipp Dunkel) #65906 - [
472215ff9b] - test: try fixing windows build replacing WMIC (James M Snell) #65949 - [
7f5168149c] - test: fix flaky test-bench-stream (Matteo Collina) #65874 - [
9f2d544576] - test: move sqlite length validation out of the reentry test (Trevor Burnham) #65769 - [
75a9fa65ac] - test: fix flaky cleanup in http2 test (Tim Perry) #65701 - [
f8cdf05586] - test,benchmark: use OpenSSL feature helpers (Filip Skokan) #65762 - [
88b12c03cd] - test_runner: avoid reusing v8 serializers (Yuya Inoue) #65951 - [
9b3085e660] - test_runner: fix quote escaping in JUnit (Jihwan) #65971 - [
02c2302c31] - tls: propagate singleUse to the secure context (Carlos Vinicius) #66025 - [
2a8b5d9269] - tls: load all CRLs from a PEM bundle (Lazizbek Ergashev) #65577 - [
d141ddb8dc] - tls: defer re-entrant calls to SSL state machine from JS (Tim Perry) #65105 - [
b7fe779632] - tools: updatetools/v8for Python 3.13 (Richard Lau) #66109 - [
6105b37a3d] - tools: bump eslint-plugin-jsdoc in /tools/eslint in the eslint group (dependabot[bot]) #66102 - [
060ed69df9] - tools: disable fortify warnings intest-shared(Antoine du Hamel) #66020 - [
f8b7a2ff41] - tools: clean up handling of shared libs inshell.nix(Antoine du Hamel) #65891 - [
3c9586c1fc] - tools: group CodeQL GHA updates (Antoine du Hamel) #66057 - [
aa531a34f7] - tools: summarize auto-start-ci failures (Filip Skokan) #65979 - [
b7eef15f59] - tools: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) #66045 - [
8914947d7c] - tools: update pgo build doc for linux (Chengzhong Wu) #66024 - [
a5b1659d5b] - tools: avoid workflow shell interpolation (Filip Skokan) #66013 - [
caf0ee0d7b] - tools: use self-repository references (Filip Skokan) #66013 - [
d5880dcb05] - tools: correct Slack action version comments (Filip Skokan) #66013 - [
66f182f565] - tools: make checkout credential use explicit (Filip Skokan) #66013 - [
287ece3f22] - tools: pass author to commit message validator (Filip Skokan) #66012 - [
6314ccf93b] - tools: reduce test runner timing overhead (Filip Skokan) #65980 - [
441350a867] - tools: do not download build tools when linting Nix files (Antoine du Hamel) #65961 - [
15f2549f74] - tools: bump js-yaml from 4.3.1 to 4.3.2 in /tools/eslint (dependabot[bot]) #65931 - [
0e449d02a6] - tools: bump js-yaml from 4.3.1 to 4.3.2 in /tools/lint-md (dependabot[bot]) #65932 - [
81eba460b5] - tools: fix commit queue error summary matching (Filip Skokan) #65913 - [
e5bbcfdd78] - tools: lint PR commit messages without approval (Filip Skokan) #65875 - [
07ae602005] - tools: unlabel author ready on base branch conflicts (Filip Skokan) #65872 - [
e3ad68289a] - tools: improve benchmark build cache reuse (Filip Skokan) #65859 - [
46ddc0220d] - tools: apply feedback to and simplify contributor guidance workflow (Filip Skokan) #65785 - [
66fd78803d] - trace_events: fix abort when Node.js does not own the V8 platform (Shelley Vohr) #65954 - [
3cb3c23a19] - typings: add task_queue internal binding types (Seongeun Lee) #65662 - [
c5c7036e7b] - typings: add timeoutInfo to TimersBinding (greenhead) #65811 - [
62fe96c166] - typings: add missing sea binding properties (이혜미) #65815 - [
e51673b4ed] - url: add Symbol.toStringTag to URLPattern (Khaidi Chu) #65925 - [
3ce4d23bbb] - (SEMVER-MINOR) util: implement util.throttle (James M Snell) #65899 - [
336f33ccc1] - (SEMVER-MINOR) util: implement debounce (James M Snell) #65899 - [
16e3e7eff3] - vfs: add --vfs-mount and --vfs-load startup flags (Philipp Dunkel) #65748 - [
c50cb9a553] - vfs: write RealFSProvider files to open fd (Christian Aurich) #65885 - [
1bbc5488a5] - vfs: close the fs hook gaps for mounted paths (Philipp Dunkel) #65852 - [
816790e0e5] - vfs: resolve symlinks when checking rename descendants (Trivikram Kamat) #65904 - [
a9149093df] - vfs: support renaming implicit ZIP directories (Trivikram Kamat) #65752 - [
cf5d4a8fe6] - vfs: reject statfs for missing paths (Trivikram Kamat) #65693 - [
de552bd044] - vfs: return FileHandle from fs.promises.open (Trivikram Kamat) #65730 - [
08f96f142e] - vfs: give ZipProvider option bags a null prototype (Philipp Dunkel) #65853 - [
5c4d319028] - vfs: commit ZipProvider handles the way open(2) does (Philipp Dunkel) #65853 - [
29d3406b6c] - vfs: apply open(2) effects to ZipProvider handles (Philipp Dunkel) #65853 - [
e379c26a92] - vfs: align virtual file handles with open(2) (Philipp Dunkel) #65854 - [
7cdf5f014a] - vfs: answer for unowned paths under reserved root (Philipp Dunkel) #65814 - [
5e55085bc1] - zlib: reject invalid zstd dictionaries (James M Snell) #65867 - [
4cdcf7f6a4] - zlib: fix zstd reset (James M Snell) #65867 - [
678ff3561a] - zlib: improve zstd decoding across chunk boundaries (James M Snell) #65865
3.15.0-rc.1 / 2026-09-21
- [BUGFIX] TSDB: Avoid WAL corruption after a failed WAL write in Agent mode. #19700