4.15
One major change is the maintenance scripts is auto migrated to "Admin Script" worker managed by Admin Server. Most use cases, if not all, are a Noop. But here is the migration guide just in case: https://github.com/seaweedfs/seaweedfs/wiki/Migrate-Maintenance-Scripts-to-Admin-Script-Plugin
Internally the admin server now has a new plugin system for workers, allowing future possibilities of adding non-Go workers.
-
Admin UI and Worker
- Add Admin UI to Docker Compose files by @github-pawo in https://github.com/seaweedfs/seaweedfs/pull/8364
- Refactor plugin system and migrate worker runtime by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8369
- Worker maintenance tasks now use non-default grpcPort if configured by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8407
- Admin UI: replace gin with mux by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8420
- Use master shard sizes for EC volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8423
- fix(admin): release mutex before disk I/O in maintenance queue; remove per-request LoadAllTaskStates by @basic-system in https://github.com/seaweedfs/seaweedfs/pull/8433
- fix(plugin/worker): make VacuumHandler report MaxExecutionConcurrency from worker startup flag by @basic-system in https://github.com/seaweedfs/seaweedfs/pull/8435
- Make EC detection context aware by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8449
- Add plugin worker integration tests for erasure coding by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8450
- Add customizable plugin display names and weights by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8459
- Worker set its working directory by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8461
- Prevent overlapping maintenance tasks per volume by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8463
- refactor ec shard distribution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8465
- Respect -minFreeSpace during ec.decode by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8467
- Add volume dir tags and EC placement priority by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8472
- Expire stuck plugin jobs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8492
- add admin script worker by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8491
- Plugin scheduler: sequential iterations with max runtime by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8496
- Disable master maintenance scripts when admin server runs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8499
- style: Reseted padding to container-fluid div in layout template by @FabioHAraujo in https://github.com/seaweedfs/seaweedfs/pull/8505
- fix: resolve ServerAddress to NodeId in maintenance task sync by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8508
- admin: auto migrating master maintenance scripts to admin_script plugin config by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8509
-
S3 API
- Add md5 checksum validation support on PutObject and UploadPart by @michalszynkiewicz in https://github.com/seaweedfs/seaweedfs/pull/8367
- fix: cancel volume server requests on client disconnect during S3 downloads by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8373
- Fix IAM defaults and S3Tables IAM regression by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8374
- s3api: add AttachUserPolicy/DetachUserPolicy/ListAttachedUserPolicies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8379
- s3: fix signature mismatch with non-standard ports and capitalized host by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8386
- Implement managed policy storage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8385
- Enforce IAM for S3 Tables bucket creation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8388
- Fix error on deleting non-empty bucket by @michalszynkiewicz in https://github.com/seaweedfs/seaweedfs/pull/8376
- Allow user to define access and secret key via values by @rchenzheng in https://github.com/seaweedfs/seaweedfs/pull/8389
- S3 IAM: Added ListPolicyVersions and GetPolicyVersion support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8395
- S3: Truncate timestamps to milliseconds for CopyObjectResult and CopyPartResult by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8398
- Embed role policies in AssumeRole STS tokens by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8421
- fix(s3api): make ListObjectsV1 namespaced and prevent marker-echo pagination loops by @pntone in https://github.com/seaweedfs/seaweedfs/pull/8409
- s3api: preserve Host header port in signature verification by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8434
- Fix inline user policy retrieval by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8437
- Refresh IAM config after policy attachments by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8439
- Allow multipart upload operations when s3:PutObject is authorized by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8445
- Fix S3 signature verification behind reverse proxies by @blitt001 in https://github.com/seaweedfs/seaweedfs/pull/8444
- fix(s3api): correctly extract host header port in extractHostHeader by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8464
- s3api: add GetObjectAttributes API support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8504
- Implement IAM managed policy operations by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8507
-
S3 Table Bucket
- weed/s3api/s3tables: fix dropped errors by @alrs in https://github.com/seaweedfs/seaweedfs/pull/8456
- fix: table location mappings to /etc/s3tables by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8457
- feat: drop table location mapping support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8458
- Add lakekeeper table bucket integration test by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8470
- Add Apache Polaris integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8478
- test: add Polaris S3 tables integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8489
-
Shell
- [shell]: volume balance capacity by min volume density by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/8026
- Fix volume.fsck crashing on EC volumes and add multi-volume vacuum support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8406
- Adds volume.merge command with deduplication and disk-based backend by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8441
-
Helm Chart
- fix: allow overriding Enterprise image name using Helm #8361 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8363
- docker: fix entrypoint chown guard; helm: add openshift-values.yaml by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8390
- helm: refine openshift-values.yaml for assigned UID ranges by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8396
- fix(helm): add missing app.kubernetes.io/instance label to volume service by @sheyabernstein in https://github.com/seaweedfs/seaweedfs/pull/8403
- feat(helm): annotations for service account by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8429
- Chart createBuckets config #8368: Add TTL, Object Lock, and Versioning support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8375
- helm: add optional parameters to COSI BucketClass by @sircthulhu in https://github.com/seaweedfs/seaweedfs/pull/8453
- helm: avoid duplicate env var keys in workload env lists by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8488
- Feat: update openshift helm value to support seaweed s3 by @Surote in https://github.com/seaweedfs/seaweedfs/pull/8494
- Helm: set serviceAccountName independent of cluster role by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8495
-
Misc
- Remove trailing spaces (line 53) in seaweedfs-dev-compose.yml by @github-pawo in https://github.com/seaweedfs/seaweedfs/pull/8365
- Add support for TLS in gRPC communication between worker and volume server by @medva1997 in https://github.com/seaweedfs/seaweedfs/pull/8370
- fix: resolve gRPC DNS resolution issues in Kubernetes #8384 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8387
- fix: generate topology uuid uniformly in single-master mode by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8405
- Move SQL engine and PostgreSQL server to their own binaries by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8417
- fix: plural
clientTypeonListExistingPeerUpdatesby @jrcichra in https://github.com/seaweedfs/seaweedfs/pull/8422 - Remove volumePreallocate option from docker containers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8451
- fix: port in SNI address when using domainName instead of IP for master by @DaRacci in https://github.com/seaweedfs/seaweedfs/pull/8500
-
Volume Server
- fix: unload leveldb not take effect by @xiaoweihong in https://github.com/seaweedfs/seaweedfs/pull/8431
- Fix live volume move tail timestamp by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8440
- feat: add statfile remote storage by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8443
-
SFTP
- Fix SFTP file upload failures with JWT filer tokens by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8448
-
Filer
- feat(filer): lazy metadata pulling by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8454
- @github-pawo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8364
- @medva1997 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8370
- @michalszynkiewicz made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8367
- @rchenzheng made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8389
- @jrcichra made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8422
- @pntone made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8409
- @basic-system made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8433
- @sircthulhu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8453
- @blitt001 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8444
- @Surote made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8494
- @DaRacci made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8500
- @FabioHAraujo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8505
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.13...4.15
4.14
One large change is the maintenance scripts is migrated to "Admin Script" worker. If there are no custom scripts configured in master.toml, it should be a Noop. Otherwise, please follow this migration guide https://github.com/seaweedfs/seaweedfs/wiki/Migrate-Maintenance-Scripts-to-Admin-Script-Plugin
Internally there is a major refactoring. The admin server now has a new plugin system for workers, allowing future possibilities of adding non-Go workers.
-
Admin UI and Worker
- Add Admin UI to Docker Compose files by @github-pawo in https://github.com/seaweedfs/seaweedfs/pull/8364
- Refactor plugin system and migrate worker runtime by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8369
- Worker maintenance tasks now use non-default grpcPort if configured by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8407
- Admin UI: replace gin with mux by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8420
- Use master shard sizes for EC volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8423
- fix(admin): release mutex before disk I/O in maintenance queue; remove per-request LoadAllTaskStates by @basic-system in https://github.com/seaweedfs/seaweedfs/pull/8433
- fix(plugin/worker): make VacuumHandler report MaxExecutionConcurrency from worker startup flag by @basic-system in https://github.com/seaweedfs/seaweedfs/pull/8435
- Make EC detection context aware by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8449
- Add plugin worker integration tests for erasure coding by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8450
- Add customizable plugin display names and weights by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8459
- Worker set its working directory by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8461
- Prevent overlapping maintenance tasks per volume by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8463
- refactor ec shard distribution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8465
- Respect -minFreeSpace during ec.decode by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8467
- Add volume dir tags and EC placement priority by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8472
- Expire stuck plugin jobs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8492
- add admin script worker by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8491
- Plugin scheduler: sequential iterations with max runtime by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8496
- Disable master maintenance scripts when admin server runs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8499
- style: Reseted padding to container-fluid div in layout template by @FabioHAraujo in https://github.com/seaweedfs/seaweedfs/pull/8505
- fix: resolve ServerAddress to NodeId in maintenance task sync by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8508
-
S3 API
- Add md5 checksum validation support on PutObject and UploadPart by @michalszynkiewicz in https://github.com/seaweedfs/seaweedfs/pull/8367
- fix: cancel volume server requests on client disconnect during S3 downloads by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8373
- Fix IAM defaults and S3Tables IAM regression by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8374
- s3api: add AttachUserPolicy/DetachUserPolicy/ListAttachedUserPolicies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8379
- s3: fix signature mismatch with non-standard ports and capitalized host by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8386
- Implement managed policy storage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8385
- Enforce IAM for S3 Tables bucket creation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8388
- Fix error on deleting non-empty bucket by @michalszynkiewicz in https://github.com/seaweedfs/seaweedfs/pull/8376
- Allow user to define access and secret key via values by @rchenzheng in https://github.com/seaweedfs/seaweedfs/pull/8389
- S3 IAM: Added ListPolicyVersions and GetPolicyVersion support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8395
- S3: Truncate timestamps to milliseconds for CopyObjectResult and CopyPartResult by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8398
- Embed role policies in AssumeRole STS tokens by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8421
- fix(s3api): make ListObjectsV1 namespaced and prevent marker-echo pagination loops by @pntone in https://github.com/seaweedfs/seaweedfs/pull/8409
- s3api: preserve Host header port in signature verification by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8434
- Fix inline user policy retrieval by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8437
- Refresh IAM config after policy attachments by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8439
- Allow multipart upload operations when s3:PutObject is authorized by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8445
- Fix S3 signature verification behind reverse proxies by @blitt001 in https://github.com/seaweedfs/seaweedfs/pull/8444
- fix(s3api): correctly extract host header port in extractHostHeader by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8464
- s3api: add GetObjectAttributes API support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8504
- Implement IAM managed policy operations by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8507
-
S3 Table Bucket
- weed/s3api/s3tables: fix dropped errors by @alrs in https://github.com/seaweedfs/seaweedfs/pull/8456
- fix: table location mappings to /etc/s3tables by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8457
- feat: drop table location mapping support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8458
- Add lakekeeper table bucket integration test by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8470
- Add Apache Polaris integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8478
- test: add Polaris S3 tables integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8489
-
Shell
- [shell]: volume balance capacity by min volume density by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/8026
- Fix volume.fsck crashing on EC volumes and add multi-volume vacuum support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8406
- Adds volume.merge command with deduplication and disk-based backend by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8441
-
Helm Chart
- fix: allow overriding Enterprise image name using Helm #8361 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8363
- docker: fix entrypoint chown guard; helm: add openshift-values.yaml by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8390
- helm: refine openshift-values.yaml for assigned UID ranges by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8396
- fix(helm): add missing app.kubernetes.io/instance label to volume service by @sheyabernstein in https://github.com/seaweedfs/seaweedfs/pull/8403
- feat(helm): annotations for service account by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8429
- Chart createBuckets config #8368: Add TTL, Object Lock, and Versioning support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8375
- helm: add optional parameters to COSI BucketClass by @sircthulhu in https://github.com/seaweedfs/seaweedfs/pull/8453
- helm: avoid duplicate env var keys in workload env lists by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8488
- Feat: update openshift helm value to support seaweed s3 by @Surote in https://github.com/seaweedfs/seaweedfs/pull/8494
- Helm: set serviceAccountName independent of cluster role by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8495
-
Misc
- Remove trailing spaces (line 53) in seaweedfs-dev-compose.yml by @github-pawo in https://github.com/seaweedfs/seaweedfs/pull/8365
- Add support for TLS in gRPC communication between worker and volume server by @medva1997 in https://github.com/seaweedfs/seaweedfs/pull/8370
- fix: resolve gRPC DNS resolution issues in Kubernetes #8384 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8387
- fix: generate topology uuid uniformly in single-master mode by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8405
- Move SQL engine and PostgreSQL server to their own binaries by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8417
- fix: plural
clientTypeonListExistingPeerUpdatesby @jrcichra in https://github.com/seaweedfs/seaweedfs/pull/8422 - Remove volumePreallocate option from docker containers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8451
- fix: port in SNI address when using domainName instead of IP for master by @DaRacci in https://github.com/seaweedfs/seaweedfs/pull/8500
-
Volume Server
- fix: unload leveldb not take effect by @xiaoweihong in https://github.com/seaweedfs/seaweedfs/pull/8431
- Fix live volume move tail timestamp by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8440
- feat: add statfile remote storage by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8443
-
SFTP
- Fix SFTP file upload failures with JWT filer tokens by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8448
-
Filer
- feat(filer): lazy metadata pulling by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8454
- @github-pawo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8364
- @medva1997 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8370
- @michalszynkiewicz made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8367
- @rchenzheng made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8389
- @jrcichra made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8422
- @pntone made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8409
- @basic-system made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8433
- @sircthulhu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8453
- @blitt001 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8444
- @Surote made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8494
- @DaRacci made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8500
- @FabioHAraujo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8505
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.13...4.14
2026-03-03, Version 25.8.0 (Current), @richardlau
- [
e55eddea2a] - build, doc: use new api doc tooling (flakey5) #57343 - [
4c181e2277] - (SEMVER-MINOR) sqlite: add limits property to DatabaseSync (Mert Can Altin) #61298 - [
46ee1eddd7] - (SEMVER-MINOR) src: add C++ support for diagnostics channels (RafaelGSS) #61869 - [
9ddd1a9c27] - (SEMVER-MINOR) src,permission: add --permission-audit (RafaelGSS) #61869 - [
0d97ec4044] - (SEMVER-MINOR) test_runner: expose worker ID for concurrent test execution (Ali Hassan) #61394
- [
940b58c8c1] - buffer: optimize buffer.concat performance (Mert Can Altin) #61721 - [
0589b0e5a1] - build: fix GN for new merve dep (Shelley Vohr) #61984 - [
f3d3968dcd] - Revert "build: add temporal test on GHA windows" (Antoine du Hamel) #61810 - [
e55eddea2a] - build, doc: use new api doc tooling (flakey5) #57343 - [
b7715292f8] - child_process: add tracing channel for spawn (Marco) #61836 - [
a32a598748] - crypto: fix missing nullptr check on RSA_new() (ndossche) #61888 - [
dc384f95b3] - crypto: fix handling of null BUF_MEM* in ToV8Value() (Nora Dossche) #61885 - [
3337b095db] - crypto: fix potential null pointer dereference when BIO_meth_new() fails (Nora Dossche) #61788 - [
51ded81139] - deps: update undici to 7.22.0 (Node.js GitHub Bot) #62035 - [
8aa2fde931] - deps: update minimatch to 10.2.4 (Node.js GitHub Bot) #62016 - [
57dc092eaf] - deps: upgrade npm to 11.11.0 (npm team) #61994 - [
705bbd60a9] - deps: update simdjson to 4.3.1 (Node.js GitHub Bot) #61930 - [
4d411d72e5] - deps: update acorn-walk to 8.3.5 (Node.js GitHub Bot) #61928 - [
f53a32ab84] - deps: update acorn to 8.16.0 (Node.js GitHub Bot) #61925 - [
9b483fbb27] - deps: update minimatch to 10.2.2 (Node.js GitHub Bot) #61830 - [
4e54c103cb] - doc: separate in-types and out-types in SQLite conversion docs (René) #62034 - [
ca78ebbeaa] - doc: fix small logic error in DETECT_MODULE_SYNTAX (René) #62025 - [
e6b131f3fe] - doc: fix module.stripTypeScriptTypes indentation (René) #61992 - [
7508540e19] - doc: update DEP0040 (punycode) to application type deprecation (Mike McCready) #61916 - [
33a364cb62] - doc: explicitly mention Slack handle (Rafael Gonzaga) #61986 - [
46a61922bd] - doc: support toolchain Visual Studio 2022 & 2026 + Windows 11 SDK (Mike McCready) #61864 - [
dc12a257aa] - doc: rename invalidfunctionparameter (René) #61942 - [
dafdc0a5b8] - http: validate headers in writeEarlyHints (Richard Clarke) #61897 - [
3c94b56fa6] - inspector: unwrap internal/debugger/inspect imports (René) #61974 - [
8a24c17648] - lib: improve argument handling in Blob constructor (Ms2ger) #61980 - [
21d4baf256] - meta: bump github/codeql-action from 4.32.0 to 4.32.4 (dependabot[bot]) #61911 - [
59a726a8e3] - meta: bump step-security/harden-runner from 2.14.1 to 2.14.2 (dependabot[bot]) #61909 - [
0072b7f991] - meta: bump actions/stale from 10.1.1 to 10.2.0 (dependabot[bot]) #61908 - [
999bf22f47] - repl: keep reference count forprocess.on('newListener')(Anna Henningsen) #61895 - [
4c181e2277] - (SEMVER-MINOR) sqlite: add limits property to DatabaseSync (Mert Can Altin) #61298 - [
aee2a18257] - src: fix flags argument offset in JSUdpWrap (Weixie Cui) #61948 - [
46ee1eddd7] - (SEMVER-MINOR) src: add C++ support for diagnostics channels (RafaelGSS) #61869 - [
9ddd1a9c27] - (SEMVER-MINOR) src,permission: add --permission-audit (RafaelGSS) #61869 - [
ea2df2a16f] - stream: fix pipeTo to defer writes per WHATWG spec (Matteo Collina) #61800 - [
aa0c7b09e0] - test: remove unnecessaryprocess.exitcalls from test files (Antoine du Hamel) #62020 - [
ad96a6578f] - test: skiptest-urlon--shared-adabuilds (Antoine du Hamel) #62019 - [
7c72a31e4b] - test: skip strace test with shared openssl (Richard Lau) #61987 - [
604456c163] - test: avoid flaky debugger restart waits (Yuya Inoue) #61773 - [
4890d6bd43] - test_runner: run afterEach on runtime skip (Igor Shevelenkov) #61525 - [
fce2930110] - test_runner: expose expectFailure message (sangwook) #61563 - [
0d97ec4044] - (SEMVER-MINOR) test_runner: expose worker ID for concurrent test execution (Ali Hassan) #61394 - [
243e6b2009] - test_runner: replace native methods with primordials (Ayoub Mabrouk) #61219 - [
bf1ed7e647] - tls: forward keepAlive, keepAliveInitialDelay, noDelay to socket (Sergey Zelenov) #62004 - [
0f15079d94] - tools: remove custom logic for skippingtest-strace-openat-openssl(Antoine du Hamel) #62038 - [
54a055a59d] - tools: bump minimatch from 3.1.2 to 3.1.3 in/tools/clang-format(dependabot[bot]) #61977 - [
a28744cb62] - tools: fix permissions for merve update script (Richard Lau) #62023 - [
31e7936354] - tools: revert tools GHA workflow to ubuntu-latest (Richard Lau) #62024 - [
0a96a16e1f] - tools: bump minimatch from 3.1.2 to 3.1.3 in /tools/eslint (dependabot[bot]) #61976 - [
f279233412] - tools: roll back to x86 runner onscorecard.yml(Antoine du Hamel) #61944 - [
192c0382f4] - util: add fast path to stripVTControlCharacters (Hiroki Osame) #61833
2.25.2 (2026-03-03)
This release contains performance improvements and bug fixes since the 2.25.1 release and a fix for a security vulnerability (https://github.com/timescale/timescaledb/pull/9331). You can check the security advisory for more information on the vulnerability and the platforms that are affected. We recommend that you upgrade as soon as possible.
https://github.com/timescale/timescaledb/pull/9276 Fix NULL and DEFAULT handling in uniqueness check on compressed chunks https://github.com/timescale/timescaledb/pull/9277 Fix SSL-related build errors https://github.com/timescale/timescaledb/pull/9279 Fix EXPLAIN VERBOSE corrupting targetlist of cached ModifyHypertable plans https://github.com/timescale/timescaledb/pull/9281 Fix real-time continuous aggregates on UUID hypertables https://github.com/timescale/timescaledb/pull/9283 Fix plan-time error when using enum in orderby compression setting https://github.com/timescale/timescaledb/pull/9290 Propagate ALTER OWNER TO to policy jobs https://github.com/timescale/timescaledb/pull/9292 Fix continuous aggregate column rename https://github.com/timescale/timescaledb/pull/9293 Fix time_bucket_gapfill inside LATERAL subqueries https://github.com/timescale/timescaledb/pull/9294 Fix DELETEand UPDATE with WHERE EXISTS on hypertables https://github.com/timescale/timescaledb/pull/9303 Fix segfault in continuous aggregate creation on Postgres 18 https://github.com/timescale/timescaledb/pull/9308 Fix continuous aggregate offset/origin not applied in watermark and refresh window calculations https://github.com/timescale/timescaledb/pull/9314 Fix generated columns always NULL in compressed chunks https://github.com/timescale/timescaledb/pull/9321 Fix segfault when using OLD/NEW refs in RETURNING clause on Postgres 18 https://github.com/timescale/timescaledb/pull/9324 Potential violation of a foreign key constraint referencing a hypertable caused by concurrent DELETE of the key record https://github.com/timescale/timescaledb/pull/9327 Fix handling of generated columns with NOT NULL domain type https://github.com/timescale/timescaledb/pull/9331 Ensure search_path is set before anything else in SQL scripts https://github.com/timescale/timescaledb/pull/9339 Fix segmentwise recompression clearing unordered flag
@CaptainCuddleCube for reporting an issue with time_bucket_gapfill and LATERAL subqueries @JacobBrejnbjerg for reporting an issue with generated columns in compressed chunks @Kusumoto for reporting an issue with continuous aggregates on hypertables with UUID columns @arfathyahiya for reporting an issue with renaming columns in continuous aggregates @desertmark for reporting an issue with DELETE/UPDATE and subqueries @flaviofernandes004 for reporting an issue with RETURNING clause and references to OLD/NEW @tureba for fixing SSL-related build errors
Pingora 0.8.0
0.8.0 - 2026-03-02
🚀 Features
- Add support for client certificate verification in mTLS configuration.
- Add upstream_write_pending_time to Session for upload diagnostics.
- Pipe subrequests utility: creates a state machine to treat subrequests as a "pipe," enabling direct sending of request body and writing of response tasks, with a handler for error propagation and support for reusing a preset or captured input body for chained subrequests.
- Add the ability to limit the number of times a downstream connection can be reused
- Add a system for specifying and using service-level dependencies
- Add a builder for pingora proxy service, e.g. to specify ServerOptions.
🐛 Bug Fixes
- Fix various Windows compiler issues.
- Handle custom ALPNs in s2n impl of ALPN::to_wire_protocols() to fix s2n compile issues.
- Fix: don't use “all” permissions for socket.
- Fix a bug with the ketama load balancing where configurations were not persisted after updates.
- Ensure http1 downstream session is not reused on more body bytes than expected.
- Send RST_STREAM CANCEL on application read timeouts for h2 client.
- Start close-delimited body mode after 101 is received for WebSocket upgrades.
UpgradedBodyis now an explicit HttpTask. - Avoid close delimit mode on http/1.0 req.
- Reject invalid content-length http/1 requests to eliminate ambiguous request framing.
- Validate invalid content-length on http/1 resp by default, and removes content-length from the response if transfer-encoding is present, per RFC.
- Correct the custom protocol code for shutdown: changed the numeric code passed on shutdown to 0 to indicate an explicit shutdown rather than a transport error.
⚙️ Miscellaneous Tasks
- Remove
CacheKey::defaultimpl, users of caching should implementcache_key_callbackthemselves - Allow server bootstrapping to take place in the context of services with dependents and dependencies
- Don't consider "bytes=" a valid range header: added an early check for an empty/whitespace-only range-set after the
bytes=prefix, returning 416 Range Not Satisfiable, consistent with RFC 9110 14.1.2. - Strip {content, transfer}-encoding from 416s to mirror the behavior for 304 Not Modified responses.
- Disable CONNECT method proxying by default, with an option to enable via server options; unsupported requests will now be automatically rejected.
1.0.0-alpha.85
- feat(s3): return 409 BucketAlreadyExists when non-owner creates existing bucket by @overtrue in https://github.com/rustfs/rustfs/pull/2034
- fix(s3): allow anonymous access when PublicAccessBlock config is miss… by @GatewayJ in https://github.com/rustfs/rustfs/pull/2039
- build(deps): bump datafusion from 52.1.0 to 52.2.0 in the dependencies group by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2037
- fix(ecstore): add etag fallback when mod_time unavailable in metadata by @weisd in https://github.com/rustfs/rustfs/pull/2042
- fix(iam): user group policy and delete group (fixes #2028) by @GatewayJ in https://github.com/rustfs/rustfs/pull/2043
- Add env variable alias compatibility warnings by @overtrue in https://github.com/rustfs/rustfs/pull/2044
- fix: support query-only presigned URL access by @overtrue in https://github.com/rustfs/rustfs/pull/2046
- refactor(obs): enhance log cleanup and rotation by @houseme in https://github.com/rustfs/rustfs/pull/2040
- fix(iam): remove incorrect trailing slash from OIDC issuer URL by @RafaelHerrero in https://github.com/rustfs/rustfs/pull/2050
- remove rustflags target cpu by @houseme in https://github.com/rustfs/rustfs/pull/2052
- fix(sse): allow PUT/GET without KMS when no SSE or bucket default by @reatang in https://github.com/rustfs/rustfs/pull/2054
- fix sse-options by @reatang in https://github.com/rustfs/rustfs/pull/2056
- fix: restore default CORS fallback and STS object ACL ownership by @overtrue in https://github.com/rustfs/rustfs/pull/2053
- @RafaelHerrero made their first contribution in https://github.com/rustfs/rustfs/pull/2050
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.84...1.0.0-alpha.85