v3.7.0-rc.0
Please check out CHANGELOG for a full list of changes. And make sure to read our upgrade guides before upgrading etcd (there may be breaking changes).
For installation guides, please check out operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.7.0-rc.0
# 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.0-rc.0
# 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.0-rc.0
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.12
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 operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.6.12
# 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.12
# 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.12
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.31
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 operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.5.31
# 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.31
# 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.31
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.4.45
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 operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.4.45
# 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.4.45
# 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.4.45
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
2026-06-01, Version 26.3.0 (Current), @aduh95
With Apple and its ecosystem progressively dropping support for Intel-based architectures, it has become apparent that the Node.js project may not be able to maintain the universal binaries we currently distribute for the full lifetime of Node.js 26. This change serves to communicate that risk. At present, our intention remains to continue shipping universal binaries supporting both Apple Silicon and Intel-based Macs for as long as practical.
Contributed by Antoine du Hamel in #63055.
- [
a2a4b33dd8] - (SEMVER-MINOR) buffer: increaseBuffer.poolSizedefault to 64 KiB (Matteo Collina) #63597 - [
051a2152f7] - crypto: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) #63527 - [
49462eca37] - (SEMVER-MINOR) http: addhttpValidationoption to configure header value validation (RajeshKumar11) #61597 - [
97b7ab19bd] - (SEMVER-MINOR) inspector: expose precise coverage start to JS runtime (sangwook) #63079 - [
cfb80a2103] - (SEMVER-MINOR) lib,permission: addpermission.drop(Rafael Gonzaga) #62672
- [
a2a4b33dd8] - (SEMVER-MINOR) buffer: increase Buffer.poolSize default to 64 KiB (Matteo Collina) #63597 - [
0eff3e23b9] - build: defNODE_USE_NODE_CODE_CACHEonly used in node_mksnapshot (Chengzhong Wu) #63588 - [
447ab2d252] - build,win: fix VS2022 arm64 PGO build (Stefan Stojanovic) #63413 - [
86032758e4] - build,win: replace LTCG with Thin LTO for releases (Stefan Stojanovic) #63114 - [
5f4d794052] - build,win: add Rust toolchain automated configuration Windows (Mike McCready) #63381 - [
051a2152f7] - crypto: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) #63527 - [
d0f65e3579] - crypto: coerce -0 keylen to +0 in pbkdf2 and scrypt (Jordan Harband) #63531 - [
e3ddb326c9] - crypto: harden WebCrypto against prototype pollution (Filip Skokan) #63363 - [
e04cd17dc0] - crypto: pass CryptoKey handles to KDF jobs (Filip Skokan) #63363 - [
64ba74d847] - crypto: remove async from WebCrypto methods (Filip Skokan) #63363 - [
bd230418b4] - crypto: add WebCrypto CryptoJob mode (Filip Skokan) #63363 - [
1a4090a83d] - debugger: surface inspector failures in probe mode (Joyee Cheung) #63437 - [
dbc78ff825] - debugger,test: deflake resume failure test and add debug logs (Joyee Cheung) #63524 - [
4da442f432] - deps: upgrade npm to 11.16.0 (npm team) #63602 - [
63372cfa87] - deps: SQLite: cherry-pick b869ed6b067d623cb1383549f2a18aa35508385d (Junsu Han) #63525 - [
e286fa170d] - deps: upgrade npm to 11.15.0 (npm team) #63463 - [
de996437a5] - doc: downgrade macOS x64 to Tier 2 (Antoine du Hamel) #63055 - [
22ac78750c] - doc: remove duplicated sentences in large-pull-requests.md (Joyee Cheung) #63650 - [
532f7f2085] - doc: updategit node landinstructions for security releases (Antoine du Hamel) #63586 - [
c61f90dfb9] - doc: drop --experimental from --permission (Rafael Gonzaga) #63583 - [
fd69d7b16a] - doc: improvefs.StatFsproperties descriptions (aymanxdev) #62578 - [
693257782c] - doc: generate llms.txt (Guilherme Araújo) #62027 - [
55a57beb26] - doc: explicitly ask for reproducible in JS (Rafael Gonzaga) #63479 - [
4895c2babc] - doc: fix URL postMessage example in worker_threads (Kit Dallege) #62203 - [
0355c36e37] - doc: clarifyfilteroption ofsqlite.database.applyChangeset(Antoine du Hamel) #63515 - [
c85ee22df6] - doc: fix double spaces in ERR_TLS_INVALID_PROTOCOL_METHOD (Daijiro Wachi) #63511 - [
62947192f6] - doc: move hyperlinks outside of text blocks (Aviv Keller) #63493 - [
9849690a1d] - doc: edit Rust toolchain general install instructions (Antoine du Hamel) #63488 - [
885d2462e9] - doc: fix double space in modules.md (Daijiro Wachi) #63512 - [
42fbb48bc6] - doc: fix "options" to "option" in tls.createServer (Daijiro Wachi) #63453 - [
05a7b0a301] - doc: add Rust toolchain general install instructions (Mike McCready) #63426 - [
e13dfd7ed0] - doc: update toolchain for official releases (Richard Lau) #63441 - [
82306881cc] - doc: fix typo in deprecations (Daijiro Wachi) #63434 - [
eeb77d217c] - doc,lib: align WebCrypto names with spec (Filip Skokan) #63518 - [
679e13c57f] - errors: handle V8 warnings in DisallowJavascriptExecutionScope (Divyanshu Sharma) #63491 - [
7f41f5d803] - ffi: validate 'void' as parameter type in getFunction and getFunctions (Anshika Jain) #63504 - [
972cd227cb] - ffi: remove function signature property aliases (René) #63482 - [
5d7805e433] - ffi: move DynamicLibrary disposer to native layer (René) #63459 - [
5a0b32dc24] - gyp: update deps gypfiles (Nad Alaba) #63117 - [
49462eca37] - (SEMVER-MINOR) http: add httpValidation option to configure header value validation (RajeshKumar11) #61597 - [
e3c6629ee3] - http2: emit session close before stream close (Matteo Collina) #63414 - [
97b7ab19bd] - (SEMVER-MINOR) inspector: expose precise coverage start to JS runtime (sangwook) #63079 - [
6bef10e7b7] - lib: cleanup stateless diffiehellman key handling (Filip Skokan) #62645 - [
fdc0b3d49c] - lib: definekEnumerablePropertyatomically (Antoine du Hamel) #63609 - [
99baf27aeb] - lib: fix typos in esm loader comments (RonGamzu) #63465 - [
cfb80a2103] - (SEMVER-MINOR) lib,permission: add permission.drop (Rafael Gonzaga) #62672 - [
8e75efb9bc] - meta: flip mcollina emails in .mailmap (Matteo Collina) #63621 - [
a4ae97045f] - meta: label "source maps" PRs (Chengzhong Wu) #63591 - [
3455a48ae1] - meta: addvfssubsystem label (René) #62331 - [
01bfcdfc20] - meta: skip scheduled workflows on forks (Jamie Magee) #63565 - [
bc4c457eae] - meta: add additional gitignore entries (James M Snell) #63267 - [
e1d65d9509] - module: load ESM helpers eagerly in the snapshot (Joyee Cheung) #63550 - [
6a97b0932a] - quic: add proper error codes & messages for QUIC failures (Tim Perry) #63198 - [
5989f4a6e1] - quic: support hostname verification (James M Snell) #63483 - [
b4d30e7a78] - quic: add stream idle timeout (James M Snell) #63483 - [
8a1017f774] - quic: add block list support for endpoints (James M Snell) #63483 - [
5a3ab93c49] - quic: improve peer cert verification (James M Snell) #63483 - [
9701a82a78] - quic: handle h3 max header size option (James M Snell) #63483 - [
71788a2048] - quic: add rate limiting docs (James M Snell) #63483 - [
309bd49906] - quic: cache timestamp for address lru cache (James M Snell) #63483 - [
2ce5588d51] - quic: add session creation rate limiting (James M Snell) #63483 - [
98808baed1] - quic: refine rate limiting (James M Snell) #63483 - [
75a4176b32] - quic: flip preferred address policy default to 'ignore' (James M Snell) #63483 - [
8b6b03d60c] - quic: add doc note about certificate size limitations (James M Snell) #63483 - [
30eff873e0] - quic: add applicationOptions to session (James M Snell) #63267 - [
4303daa43c] - quic: add getters for local and remote transport parameters (James M Snell) #63267 - [
e1b1bb5465] - quic: improve recv coalescing test sizes (James M Snell) #63267 - [
25a416f457] - quic: add initial RTT option to session options (James M Snell) #63267 - [
22e91c357f] - quic: enable recvmmsg batching in Endpoint (James M Snell) #63267 - [
c96d8a9d9b] - quic: improve stream header collection performance (James M Snell) #63267 - [
409460f2ce] - quic: add reusePort option to QuicEndpoint (James M Snell) #63267 - [
9a2afffec9] - quic: coalesce received data into fewer buffers (James M Snell) #63267 - [
f9a6a2f558] - quic: apply multiple additional minor improvements (James M Snell) #63267 - [
ea5f3724ee] - quic: fix tests that are missing serverEndpoint close (James M Snell) #63267 - [
6cffc931fc] - quic: fixup some v8:: qualifiers (James M Snell) #63267 - [
9bc875e522] - quic: fix premature unref of endpoint when listening (James M Snell) #63267 - [
f940d6b1be] - quic: fixup UAFs in bindingdata, streams, and app (James M Snell) #63267 - [
fd00e0acb0] - quic: fix UAF in Application::OnTimeout() (James M Snell) #63267 - [
378dbf00e9] - quic: improve the quic js structure (James M Snell) #63267 - [
0045dc30b6] - quic: improve internal structure of QuicStream (James M Snell) #63267 - [
5e38946b26] - quic: add aliased struct arenas (James M Snell) #63267 - [
95430437a0] - quic: add handshake timeout and default connection limits (James M Snell) #63267 - [
5622701429] - quic: implement rate limiting for version nego and immediate close (James M Snell) #63267 - [
b171f391cd] - quic: fixup linting issue after other changes (James M Snell) #63267 - [
24e9f4f177] - quic: fix crash in early handshake failure (James M Snell) #63267 - [
5025e85d0a] - quic: eliminate per-received datagram allocation (James M Snell) #63267 - [
aec1e17ec5] - quic: cache the timestamp on send and receive (James M Snell) #63267 - [
9560084560] - quic: add support for future ECN marking (James M Snell) #63267 - [
2b3ff8ada2] - quic: improve batching of packet sending (James M Snell) #63267 - [
fe3639a4d6] - quic: improve backend quic packet processing (James M Snell) #63267 - [
f043013d9a] - src: remove TOCTOU race condition when encoding SAB-backedBuffers (Antoine du Hamel) #63517 - [
343958224d] - src: skip duplicate UTF-8 validation in TextDecoder fatal path (Mert Can Altin) #63231 - [
2906fa833d] - src: dispatch ToV8Value(string_view) via StringBytes::Encode (Mert Can Altin) #63370 - [
860f9d8d4b] - src: fix ContextifyContext property definer interception result (Chengzhong Wu) #63549 - [
fcccffcbe6] - src: fix crash when reading length on Storage.prototype (Mohamed Sayed) #63529 - [
55f65f9fb6] - src: improve token return value check (James M Snell) #63483 - [
7a36ca46cd] - src: exposenode::RegisterContextto make a node managed context (Chengzhong Wu) #62322 - [
9bda92963c] - src,sqlite: only passxFilterwhen user provided a callback (Antoine du Hamel) #63516 - [
563db50f38] - stream: switch to internalsleepbinding (Antoine du Hamel) #63611 - [
a6e2322ee6] - stream: use data listener for compose forwarding (Trivikram Kamat) #63593 - [
7198895c6b] - stream: serialize concurrent share consumer reads (Trivikram Kamat) #63478 - [
70ba8be1d7] - stream: fix lint error (Antoine du Hamel) #63598 - [
1608d905a7] - stream: reject pending reads on iterator throw (Trivikram Kamat) #63555 - [
dc12b730d8] - stream: wait for push writer end fallback to drain (Trivikram Kamat) #63503 - [
4f40a85a1a] - stream: flush each fused stateless transform (Trivikram Kamat) #63468 - [
526e0fc427] - stream: avoid duplicate writes in toWritable (Trivikram Kamat) #63360 - [
0008d01f9c] - stream: propagate abort reason in share and broadcast (Trivikram Kamat) #63358 - [
217338e18b] - stream: fix Writable.toWeb() hang on synchronous drain (sangwook) #61197 - [
381f4b1b10] - stream: disallow writing string chunk with 'buffer' encoding (René) #63062 - [
cbee0de1cb] - stream: alignReadable.toWebtermination with eos (ikeyan) #62394 - [
be91f0a927] - test: shorten path in net pipe connect errors (Matteo Collina) #63405 - [
83cada8bcc] - test: deflake test-debugger-probe-timeout (Joyee Cheung) #63547 - [
3560b96a10] - test: deflake test-webcrypto-crypto-job-mode (Filip Skokan) #63543 - [
0c9c52373a] - test: remove test-node-output-v8-warning (Joyee Cheung) #63469 - [
12052dbe14] - test: cover webcrypto prototype pollution systematically (Filip Skokan) #63520 - [
8c479f274a] - test: update test426-fixtures to 9b9e225b5a63139e9a95cdd1bf874a8f0b9d131 (Node.js GitHub Bot) #63373 - [
2ca32a5ee8] - test: update WPT for url to e4a4672e9e (Node.js GitHub Bot) #63372 - [
1bf875bd21] - test: deflake async-hooks statwatcher test (Trivikram Kamat) #63396 - [
97dbfa09f7] - test: avoid test_runner watch restart in spec snapshot (Trivikram Kamat) #63392 - [
8b038d7b33] - test: reduce watch mode restart flakiness (Trivikram Kamat) #63390 - [
f504c01d66] - test: get rid of unnecessaryAbortControllerinstanciations (Antoine du Hamel) #63489 - [
170585ff90] - test: isolate rerun-failures state file under tmpdir (Chemi Atlow) #63449 - [
935468a49e] - test: fixup quic tests (James M Snell) #63267 - [
fbbdfdcfc7] - test: wait for ok before initial break after restart (Yuya Inoue) #62807 - [
db808ad77d] - test: unskip snapshot reproducibility test (Joyee Cheung) #63307 - [
259d8b3dce] - test: update WPT for WebCryptoAPI to 97bbc7247a (Node.js GitHub Bot) #63417 - [
d56c6cd708] - test_runner: ignore erased TS lines in coverage (Matteo Collina) #63510 - [
16015f1565] - test_runner: fix suite diagnostic chanel end (Moshe Atlow) #63533 - [
003b9ccbe9] - test_runner: dont buffer unordered events in process isolation mode (Moshe Atlow) #63432 - [
fdc4b5aed4] - test_runner: fix --test-rerun-failures swallowing failures on retry (Chemi Atlow) #63431 - [
6a0bd2f329] - test_runner: add parentId to test events with testId (Moshe Atlow) #63435 - [
a646c93254] - test_runner: show replayed-from-attempt hint in spec reporter (Moshe Atlow) #63429 - [
b1fa59cbb6] - test_runner: preserve run duration when using test-rerun (Moshe Atlow) #63429 - [
6ac7ff24ac] - tools: refinev8.nixsource definition (Antoine du Hamel) #63625 - [
59c01b959f] - tools: add lint rule for aborted AbortController (Trivikram Kamat) #63541 - [
2ab034f6f9] - tools: bump @node-core/doc-kit in /tools/doc in the doc group (dependabot[bot]) #63494 - [
a6af903e0a] - tools: bump brace-expansion from 5.0.5 to 5.0.6 in /tools/eslint (dependabot[bot]) #63415 - [
215cd543dd] - tools: skip commit-lint on backport pull requests (Marco) #63378 - [
0479f28e95] - tools: fix skip oftest-interneton forks (Antoine du Hamel) #63492 - [
69dfadf785] - tools: mock some Python utils inv8.nixto reuse builds (Antoine du Hamel) #63454 - [
7b3e222cda] - util: remove unused functions (Antoine du Hamel) #63612 - [
5a1f67c27b] - util: create hex style cache and fast path (Guilherme Araújo) #62999
Release v3.3.5
见Release附件。
拉取命令
docker pull ghcr.io/alibaba/loongcollector:3.3.5
docker pull ghcr.io/alibaba/loongcollector:latest
- Add C++ and Go coding standards, project knowledge documentation, and skills directory by @yyuuttaaoo in https://github.com/alibaba/loongcollector/pull/2539
- [Docs] Update docs by @Takuka0311 in https://github.com/alibaba/loongcollector/pull/2540
- Support whole_file in multiline options by @linrunqi08 in https://github.com/alibaba/loongcollector/pull/2545
- feat: optimize hostname to ip logic to ignore blacklist ifaces by @StartE in https://github.com/alibaba/loongcollector/pull/2546
- feat: update loongcollector-build-linux 2.1.15 -> 2.1.16, support spl 2.13.2 by @sunym1991 in https://github.com/alibaba/loongcollector/pull/2552
- fix: eliminate flaky OnetimeConfigUpdateUnittest via injectable clock by @Copilot in https://github.com/alibaba/loongcollector/pull/2551
- feat: add Claude/Cursor skills, and devcontainer enhancements by @yyuuttaaoo in https://github.com/alibaba/loongcollector/pull/2554
- feat: support cr for k8s entity generator by @StartE in https://github.com/alibaba/loongcollector/pull/2542
- feat(ebpf): add AgentSight plugin for LLM observability by @beartyson-tech in https://github.com/alibaba/loongcollector/pull/2555
- feat(ebpf): input_agentsight 支持 Cmdline/Domain 扁平化筛选与内置默认规则 by @beartyson-tech in https://github.com/alibaba/loongcollector/pull/2559
- Merge go alarm data to cpp core by @Takuka0311 in https://github.com/alibaba/loongcollector/pull/2558
- Refactor input_agentsight configuration: flat structure, object-style rules, and full doc rewrite by @beartyson-tech in https://github.com/alibaba/loongcollector/pull/2560
- Add AgentSight LLM tool definitions passthrough by @beartyson-tech in https://github.com/alibaba/loongcollector/pull/2561
- 更新第三方库节点 by @beartyson-tech in https://github.com/alibaba/loongcollector/pull/2564
- Implement centralized memory lock limit adjustment for eBPF plugins by @beartyson-tech in https://github.com/alibaba/loongcollector/pull/2565
- feat(input): add service_etw plugin for Windows Analytical ETW by @zdy in https://github.com/alibaba/loongcollector/pull/2556
- Add AgentSight Http Probe by @beartyson-tech in https://github.com/alibaba/loongcollector/pull/2567
- feat: Integrate coolbpf cpu profiling feature in loongcollector by @wokron in https://github.com/alibaba/loongcollector/pull/2391
- Revert "feat: Integrate coolbpf cpu profiling feature in loongcollector" by @yyuuttaaoo in https://github.com/alibaba/loongcollector/pull/2572
- fix: skip GetGoAlarms on Windows to avoid cross-CRT heap crash by @StartE in https://github.com/alibaba/loongcollector/pull/2570
- feat: Enhance Dockerfile and CI workflow for multi-architecture support by @Takuka0311 in https://github.com/alibaba/loongcollector/pull/2569
- @Copilot made their first contribution in https://github.com/alibaba/loongcollector/pull/2551
- @beartyson-tech made their first contribution in https://github.com/alibaba/loongcollector/pull/2555
- @zdy made their first contribution in https://github.com/alibaba/loongcollector/pull/2556
- @wokron made their first contribution in https://github.com/alibaba/loongcollector/pull/2391
Full Changelog: https://github.com/alibaba/loongcollector/compare/v3.3.2...v3.3.5
3.2.53
This is a patch release with fixes in storage and remote protocol, be aware this contains a security fix so pleas update ASAP
- Made sure to list config free map in the database file type list for correct file delete
- Make sure to not include temporary storage config file from backups
- Add check for correct type when deserializing data java object from network
orientdb-community-3.2.53.tar.gz orientdb-community-3.2.53.zip
4.30
-
S3
- s3,iceberg: reject
..in URL path vars by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9687 - fix(s3tables/iceberg): make metadata spec-compliant and accept real-world manifest names by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/9703
- fix: validate s3 ownership controls rule by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9684
- fix(s3): honor MetadataDirective=REPLACE for system metadata on CopyObject by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/9721
- fix(s3): allow anonymous unsigned-streaming PutObject by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9727
- fix(s3): authenticate JWT unsigned-streaming uploads by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9729
- perf(s3.iam.GetUser): Make the API default to the request username if not specified by @LightJack05 in https://github.com/seaweedfs/seaweedfs/pull/9746
- s3,iceberg: reject
-
Misc
- writeJson: drop unused JSONP branch by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9686
- fix(util): guard BytesToUint{16,32,64} against short input by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9713
- chore(weed/storage/backend/s3_backend): remove unused function by @alrs in https://github.com/seaweedfs/seaweedfs/pull/9715
- [docker] add make test_keycloak_s3 for local develop and debug by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/9719
- s3, iam, volume, filer, master: add /healthz and /readyz health probes by @MChorfa in https://github.com/seaweedfs/seaweedfs/pull/9738
-
Filer
- redis2: apply keyPrefix in KV methods by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9693
- wdclient: prune filers dropped from master discovery by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9699
- fix(filer/postgres): default to ON CONFLICT upsert to keep tx alive by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9709
- refactor(filer): remove the inode->path index and the NFS gateway by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9724
- refactor: avoid unused sql insert result by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9734
- wdclient, dailyrun: add equal jitter to retry backoff by @MChorfa in https://github.com/seaweedfs/seaweedfs/pull/9737
- fix: return immediately on first error in DistributedOperation by @rushikesh90 in https://github.com/seaweedfs/seaweedfs/pull/9740
-
Master
- master: timeout AllocateVolume/DeleteVolume and defer growRequest cleanup by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9698
- fix(topology): recover heartbeat-fulled volumes once they shrink by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9742
- topology: fail replica writes fast when a replica is unreachable by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9744
-
Volume Server
- fix(volume): avoid nil-deref when needle map loader errors (#9694) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9697
- fix(volume): avoid panic when URL path has a dot before the comma by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9712
- fix(ec): prefer credible replica as canonical metric in EC detection by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9717
- fix(ec): delete empty stub replicas before distributing EC shards by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9722
- fix(storage): keep EC .vif when deleting a coexisting regular volume by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9723
- test(ec): end-to-end encode over a multi-server multi-disk stuck layout by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9728
- fix(volume): stop flipping volumes read-only on a non-append-ordered .idx by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9726
- fix(vacuum): writable volume re-notification after worker VACUUM by @kisow in https://github.com/seaweedfs/seaweedfs/pull/9732
-
Replication, Filer Sync
- fix(filer.sync): validate chunk size in FilerSink to prevent 0-byte propagation by @kisow in https://github.com/seaweedfs/seaweedfs/pull/9701
- fix(filer.sync): resolve manifest chunks against source filer by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9705
- fix(remote_storage/s3): forward entry mime as ContentType by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9708
- fix(replication/s3sink): forward entry mime as ContentType by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9710
- fix(remote_storage/gcs): forward entry mime as ContentType by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9711
- fix(filer.sync): keep sync_offset fresh through filtered-event markers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9733
-
Admin Server and Worker
- fix(vacuum): batch all replicas in a single plugin worker task by @kisow in https://github.com/seaweedfs/seaweedfs/pull/9702
-
Shell
- fix(shell): don't halt volume.fsck purge on a stuck read-only volume by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9714
- fix(shell): verify volume.merge output before overwriting replicas by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9731
- @MChorfa made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/9738
- @rushikesh90 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/9740
- @LightJack05 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/9746
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.29...4.30
v8.0.0-RC5
- Documentation
- Commit Log
- Maintenance Policy
- Release Policy
- Release Schedule
- Changelog: RC1 RC2 RC3, RC4, RC5
Special thanks to the following individuals for their excellent contributions:
- @mmoayyed
- @leleuj
- @Minei3oat
- @vbonamy
1.0.0-beta.6
- feat: improve degraded readiness reporting and shutdown handling by @houseme in https://github.com/rustfs/rustfs/pull/3089
- feat(tls): add inspect command for TLS layouts by @houseme in https://github.com/rustfs/rustfs/pull/3092
- fix: reject invalid multipart part numbers by @overtrue in https://github.com/rustfs/rustfs/pull/3091
- fix(helm): add LoadBalancer service type support by @dcode in https://github.com/rustfs/rustfs/pull/3049
- chore(deploy): refine systemd and nixos service docs by @houseme in https://github.com/rustfs/rustfs/pull/3096
- fix(readiness): gate on lock quorum health by @houseme in https://github.com/rustfs/rustfs/pull/3100
- fix(ecstore): offload erasure encoding from async workers by @marshawcoco in https://github.com/rustfs/rustfs/pull/3099
- fix(lock): retry transient distributed lock timeouts by @marshawcoco in https://github.com/rustfs/rustfs/pull/3101
- fix(lifecycle): make transition worker resize nonblocking by @GatewayJ in https://github.com/rustfs/rustfs/pull/3090
- fix: retry namespace lock quorum contention by @overtrue in https://github.com/rustfs/rustfs/pull/3098
- fix(lock): isolate retry attempt lock ids by @houseme in https://github.com/rustfs/rustfs/pull/3102
- docs(readme): add Discord community links by @cxymds in https://github.com/rustfs/rustfs/pull/3103
- chore(release): prepare 1.0.0-beta.6 by @houseme in https://github.com/rustfs/rustfs/pull/3104
- fix(iam): avoid stale cache replacement on walk errors by @GatewayJ in https://github.com/rustfs/rustfs/pull/3094
- fix(ecstore): harden issue3031 multipart validation path by @houseme in https://github.com/rustfs/rustfs/pull/3106
- fix(ecstore): reduce restart-time startup race noise by @houseme in https://github.com/rustfs/rustfs/pull/3108
- fix: tolerate stalled listing readers after quorum by @overtrue in https://github.com/rustfs/rustfs/pull/3110
- fix(site-replication): refresh TLS peer client and tls inspect alias by @houseme in https://github.com/rustfs/rustfs/pull/3109
- fix(iam): serialize IAM cache writes by @GatewayJ in https://github.com/rustfs/rustfs/pull/3105
- fix(ecstore): send valid ping body in remote locker by @houseme in https://github.com/rustfs/rustfs/pull/3112
- chore(deps): bump workspace dependencies by @houseme in https://github.com/rustfs/rustfs/pull/3118
- fix(utils): tolerate bavail greater than bfree on Linux by @houseme in https://github.com/rustfs/rustfs/pull/3119
- fix(config): restore default credential startup by @overtrue in https://github.com/rustfs/rustfs/pull/3114
- fix(sse): optimize is_encrypted for old metadata compatibility by @Littlew0od in https://github.com/rustfs/rustfs/pull/3113
- @dcode made their first contribution in https://github.com/rustfs/rustfs/pull/3049
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-beta.5...1.0.0-beta.6