3.8.0 / 2025-11-28
This is the first release with Native Histograms as a stable feature. However, scraping Native Histograms has to be activated explicitly via the scrape_native_histogram config setting (newly introduced in this release). To ease the transition, the --enable-feature=native-histograms flag is not a complete no-op in this release, but changes the default value of scrape_native_histogram to true. In the next release (v3.9), the feature flag will be a complete no-op, and the default value of scrape_native_histogram will always be false. If you have been using the feature flag so far, the recommended course of action is the following:
- Upgrade to v3.8 and keep the feature flag. Everything should work as before.
- At your own pace, set
scrape_native_histogramtotruein all relevant scrape configs. (There is a global and a per-scrape-config version ofscrape_native_histogram, allowing granular control if needed. It is a good idea to also setscrape_native_histogramexplicitly tofalsewhere you do not want to scrape Native Histograms. In this way, you do not depend on the default value of the setting anymore.) - Remove the feature flag and make sure that everything still works as intended.
- Now you are ready for an upgrade to the next release (v3.9).
- [CHANGE] Remote-write 2 (receiving): Update to 2.0-rc.4 spec. "created timestamp" (CT) is now called "start timestamp" (ST). #17411
- [CHANGE] TSDB: Native Histogram Custom Bounds with a NaN threshold are now rejected. #17287
- [FEATURE] OAuth2: support jwt-bearer grant-type (RFC7523 3.1). #17592
- [FEATURE] Dockerfile: Add OpenContainers spec labels to Dockerfile. #16483
- [FEATURE] SD: Add unified AWS service discovery for ec2, lightsail and ecs services. #17046
- [FEATURE] Native histograms are now a stable, but optional feature, use the
scrape_native_histogramconfig setting. #17232 #17315 - [FEATURE] UI: Support anchored and smoothed keyword in promql editor. #17239
- [FEATURE] UI: Show detailed relabeling steps for each discovered target. #17337
- [FEATURE] Alerting: Add urlQueryEscape to template functions. #17403
- [FEATURE] Promtool: Add Remote-Write 2.0 support to
promtool push metricsvia the--protobuf_messageflag. #17417 - [ENHANCEMENT] Clarify the docs about handling negative native histograms. #17249
- [ENHANCEMENT] Mixin: Add static UID to the remote-write dashboard. #17256
- [ENHANCEMENT] PromQL: Reconcile mismatched NHCB bounds in
AddandSub. #17278 - [ENHANCEMENT] Alerting: Add "unknown" state for alerting rules that haven't been evaluated yet. #17282
- [ENHANCEMENT] Scrape: Allow simultaneous use of classic histogram → NHCB conversion and zero-timestamp ingestion. #17305
- [ENHANCEMENT] UI: Add smoothed/anchored in explain. #17334
- [ENHANCEMENT] OTLP: De-duplicate any
target_infosamples with the same timestamp for the same series. #17400 - [ENHANCEMENT] Document
use_fips_sts_endpointinsigv4config sections. #17304 - [ENHANCEMENT] Document Prometheus Agent. #14519
- [PERF] PromQL: Speed up parsing of variadic functions. #17316
- [PERF] UI: Speed up alerts/rules/... pages by not rendering collapsed content. #17485
- [PERF] UI: Performance improvement when getting label name and values in promql editor. #17194
- [PERF] UI: Speed up /alerts for many firing alerts via virtual scrolling. #17254
- [BUGFIX] PromQL: Fix slice indexing bug in info function on churning series. #17199
- [BUGFIX] API: Reduce lock contention on
/api/v1/targets. #17306 - [BUGFIX] PromQL: Consistent handling of gauge vs. counter histograms in aggregations. #17312
- [BUGFIX] TSDB: Allow NHCB with -Inf as the first custom value. #17320
- [BUGFIX] UI: Fix duplicate loading of data from the API speed up rendering of some pages. #17357
- [BUGFIX] Old UI: Fix createExpressionLink to correctly build /graph URLs so links from Alerts/Rules work again. #17365
- [BUGFIX] PromQL: Avoid panic when parsing malformed
infocall. #17379 - [BUGFIX] PromQL: Include histograms when enforcing sample_limit. #17390
- [BUGFIX] Config: Fix panic if TLS CA file is absent. #17418
- [BUGFIX] PromQL: Fix
histogram_fractionfor classic histograms and NHCB if lower bound is in the first bucket. #17424
v1.28.1 🐩
This release features two fixes: one to ensure that we correctly upload the Linux-amd64 binaries for the Community and Enterprise editions, and one contributed by an external developer to ensure that we still return documents that don't contain the sortable attribute after those that do.
- Fix sort on /documents endpoint when field has no values by @EclipseAditya in https://github.com/meilisearch/meilisearch/pull/6016
- Fix release CI after we introduced the enterprise edition by @paulden in https://github.com/meilisearch/meilisearch/pull/6020
- @EclipseAditya made their first contribution in https://github.com/meilisearch/meilisearch/pull/6016
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.28.0...v1.28.1
9.2.2
QuestDB 9.2.2 is another stability release, primarily fixing some query snags. With this, we've packaged a performance improvement for vertically-scaled machines, and some new SQL functions.
For any questions or feedback, please join us on Slack or on Discourse.
See also our prettier release notes page.
- We've removed the legacy txn scoreboard (v1).
- Using the new scoreboard (v2) has been the default for some time now.
- If you have been manually overriding this config option (
cairo.txn.scoreboard.format=1), it will no longer take effect, but the instance will boot and function as normal.
MANUAL PERIODviews will now only be refreshed by manual trigger, and not also automatically when the time period ends.- This was always the intended behaviour; it is unexpected that a
MANUALview should refresh automatically.
- This was always the intended behaviour; it is unexpected that a
New weighted statistics functions
weighted_avg(DD)- computes the weighted average based on a 'value' column and a 'weights' column.- A straightforward weighted average calculation.
weighted_stddev_rel(DD)- computes the weighted standard deviation based a 'value' column and a 'reliability weights' column.- Reliability weights are based on how trusted or reliable the particular value should be treated.
weighted_stddev_freq(DD)- computes the weighted standard deviation based on a 'value' column and a 'frequency weights' column.- Frequency weights are based on the frequency of a particular sample occurring in the dataset.
- fix(sql): fix bug where queries using
INclauses with INT/LONG columns containing-1return incorrect results. by @kafka1991 in https://github.com/questdb/questdb/pull/6439 - fix(sql): fix internal error when concurrent threads try to drop a non-wal table by @jerrinot in https://github.com/questdb/questdb/pull/6462
- fix(pgwire): fix protocol corruption when sending arrays from server to client by @bluestreak01 in https://github.com/questdb/questdb/pull/6455
- fix(core): breaking change 💥 - remove tx scoreboard v1 by @jerrinot in https://github.com/questdb/questdb/pull/6449
- fix(sql): breaking change 💥 - inconsistent data in chained period materialized views by @puzpuzpuz in https://github.com/questdb/questdb/pull/6463
- fix(core): fix a bug where default ILP decimal wouldn't be null by @RaphDal in https://github.com/questdb/questdb/pull/6454
- fix(core): fix internal errors due to bad implicit casting by @jerrinot in https://github.com/questdb/questdb/pull/6443
- perf(sql): improve query scalability on large multicore machines by @puzpuzpuz in https://github.com/questdb/questdb/pull/6459
- fix(pgwire): batch SELECTs with bound parameters return correct results by @jerrinot in https://github.com/questdb/questdb/pull/6453
- feat(sql): weighted average and standard deviation by @mtopolnik in https://github.com/questdb/questdb/pull/6457
Full Changelog: https://github.com/questdb/questdb/compare/9.2.1...9.2.2
v1.28.0 🐩
This release introduces improvements to language support and separates the community and enterprise binary editions. We now offer binaries under the BUSL-1.1 license, identified by the "enterprise" term in their names, in addition to our MIT-licensed binaries, which retain their original names. Docker images for the enterprise edition are available in the getmeili/meilisearch-enterprise repository.
- Separation of EE and CE. CE remains the default binary, and the name does not change by Louis on #6011
- Charabia v0.9.9: introduce a better word segmentation for Thai, Khmer, and German languages by @ManyTheFish in #6007
- Expose batch progress traces on the metrics route to improve the indexing debugging experience by @Kerollmops in #5956
- Remove version from the name of the test job in CI by @paulden in #6012
- Upgrade most of the dependencies by @Kerollmops in #6002
- Build x86 and ARM images on GitHub-hosted runners by @paulden in #6003
- Fix SDKs tests to use the enterprise edition and continue testing the sharding feature by @curquiza in #6013
- @paulden made their first contribution in #6003
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.27.0...v1.28.0
4.01
Happy Thanksgiving! This release has a major architectural change.
Before:
S3 Client → S3 API → Filer → Volume Server
After (Direct Access):
S3 Client → S3 API → Volume Server
↓
Filer (metadata only)
This change is benchmarked in test cases from user @yahooguntu
- reduces write latency by 30%
- reduce read latency by 5%
-
S3
- S3: prevent deleting buckets with object locking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7434
- do delete expired entries on s3 list request by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7426
- S3: Perf related by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7463
- S3: Enforce bucket policy by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7471
- S3: add context aware action resolution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7479
- Refactor data structure by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7472
- S3: Lazy Versioning Check, Conditional SSE Entry Fetch, HEAD Request Optimization by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7480
- S3: Directly read write volume servers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7481
- S3: Add tests for PyArrow with native S3 filesystem by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7508
- Account Info by @digitalinfobr in https://github.com/seaweedfs/seaweedfs/pull/7507
- S3: JWT generation for volume server authentication by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7514
- S3: S3 Object Retention API to include XML namespace support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7517
- S3: adds FilerClient to use cached volume id by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7518
- test read write by s3fs and PyArrow native file system for s3 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7520
- S3: list owned buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7519
- S3: set identity to request context, and remove obsolete code by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7523
- S3: Add
Varyheader for non-wildcard AllowOrigin by @llc1123 in https://github.com/seaweedfs/seaweedfs/pull/7547 - S3: Fix encrypted file copy with multiple chunks (#7530) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7546
- fix copying for paused versioning buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7548
- S3: Auto create bucket by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7549
- Support multiple filers for S3 and IAM servers with automatic failover by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7550
- Filer, S3: Feature/add concurrent file upload limit by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7554
- fix(s3api): fix AWS Signature V2 format and validation by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/7488
- S3: pass HTTP 429 from volume servers to S3 clients by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7556
- Metrics: Add Prometheus metrics for concurrent upload tracking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7555
- s3api: Fix response-content-disposition query parameter not being honored by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7559
-
Misc
- Nit: use
time.Durations instead of constants in seconds. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7438 - Fix date string parsing bug for the SQL Engine. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7446
- chore: fix the diagram in RDMA sidecar readme by @dimaqq in https://github.com/seaweedfs/seaweedfs/pull/7503
- add build info metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7525
- hide millseconds in up time by @trim21 in https://github.com/seaweedfs/seaweedfs/pull/7553
- Nit: use
-
Docker, Helm Charts
- Don't make nginx the default ingress controller by @facorazza in https://github.com/seaweedfs/seaweedfs/pull/7436
- docker: fix /data ownership and permission by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7451
- Add explicit IP and binding parameters in Docker Compose by @gophlet in https://github.com/seaweedfs/seaweedfs/pull/7533
-
Master
- master: fix negative active volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7440
-
Shell
- Unify the parameter to disable dry-run on weed shell commands to
-apply(instead of-force). by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7450 - Rework parameters passing for functions within
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7448 - Rework parameters passing for functions within
ec.rebuildby @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7445 - backup: handle volume not found when backing up by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7465
- Split logic for
volume.check.diskinto writable and read-only volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7476 - Parallelize
ec.rebuildoperations per affected volume. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7466 volume.check.disk: add support for uni- or bi-directional sync between volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7484- feat(volume.fix): show all replica locations for misplaced volumes by @CodeRusher in https://github.com/seaweedfs/seaweedfs/pull/7560
- Unify the parameter to disable dry-run on weed shell commands to
-
Volume Server
- Volume Server: avoid aggressive volume assignment by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7501
- fix: pass proxied query param by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7477
- Bootstrap logic to fix read-only volumes with
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7531
-
Filer
- de/compress the fs meta file if filename ends with gz/gzip by @shaofeng66 in https://github.com/seaweedfs/seaweedfs/pull/7500
- filer store: add foundationdb by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7178
- Add error list each entry func by @tam-i13 in https://github.com/seaweedfs/seaweedfs/pull/7485
- fix(filer-ui): support folder creation with JWT token in URL by @littlemilkwu in https://github.com/seaweedfs/seaweedfs/pull/7271
- fix(tikv): replace DeleteRange with transaction-based batch deletes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7557
- fix(tikv): improve context propagation and refactor batch delete logic by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7558
-
Java, Hadoop Compatible File System
- HDFS: Java client replication configuration by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7526
- @dimaqq made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7503
- @shaofeng66 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7500
- @digitalinfobr made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7507
- @gophlet made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7533
- @llc1123 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7547
- @tam-i13 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7485
- @littlemilkwu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7271
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.00...4.01
4.01
Happy Thanksgiving! This release has a major architectural change.
Before:
S3 Client → S3 API → Filer → Volume Server
After (Direct Access):
S3 Client → S3 API → Volume Server
↓
Filer (metadata only)
This change is benchmarked in test cases from user @yahooguntu
- reduces write latency by 30%
- reduce read latency by 5%
-
S3
- S3: prevent deleting buckets with object locking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7434
- do delete expired entries on s3 list request by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7426
- S3: Perf related by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7463
- S3: Enforce bucket policy by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7471
- S3: add context aware action resolution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7479
- Refactor data structure by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7472
- S3: Lazy Versioning Check, Conditional SSE Entry Fetch, HEAD Request Optimization by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7480
- S3: Directly read write volume servers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7481
- S3: Add tests for PyArrow with native S3 filesystem by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7508
- Account Info by @digitalinfobr in https://github.com/seaweedfs/seaweedfs/pull/7507
- S3: JWT generation for volume server authentication by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7514
- S3: S3 Object Retention API to include XML namespace support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7517
- S3: adds FilerClient to use cached volume id by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7518
- test read write by s3fs and PyArrow native file system for s3 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7520
- S3: list owned buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7519
- S3: set identity to request context, and remove obsolete code by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7523
- S3: Add
Varyheader for non-wildcard AllowOrigin by @llc1123 in https://github.com/seaweedfs/seaweedfs/pull/7547 - S3: Fix encrypted file copy with multiple chunks (#7530) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7546
- fix copying for paused versioning buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7548
- S3: Auto create bucket by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7549
- Support multiple filers for S3 and IAM servers with automatic failover by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7550
- Filer, S3: Feature/add concurrent file upload limit by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7554
- fix(s3api): fix AWS Signature V2 format and validation by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/7488
- S3: pass HTTP 429 from volume servers to S3 clients by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7556
- Metrics: Add Prometheus metrics for concurrent upload tracking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7555
- s3api: Fix response-content-disposition query parameter not being honored by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7559
-
Misc
- Nit: use
time.Durations instead of constants in seconds. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7438 - Fix date string parsing bug for the SQL Engine. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7446
- chore: fix the diagram in RDMA sidecar readme by @dimaqq in https://github.com/seaweedfs/seaweedfs/pull/7503
- add build info metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7525
- hide millseconds in up time by @trim21 in https://github.com/seaweedfs/seaweedfs/pull/7553
- Nit: use
-
Docker, Helm Charts
- Don't make nginx the default ingress controller by @facorazza in https://github.com/seaweedfs/seaweedfs/pull/7436
- docker: fix /data ownership and permission by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7451
- Add explicit IP and binding parameters in Docker Compose by @gophlet in https://github.com/seaweedfs/seaweedfs/pull/7533
-
Master
- master: fix negative active volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7440
-
Shell
- Unify the parameter to disable dry-run on weed shell commands to
-apply(instead of-force). by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7450 - Rework parameters passing for functions within
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7448 - Rework parameters passing for functions within
ec.rebuildby @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7445 - backup: handle volume not found when backing up by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7465
- Split logic for
volume.check.diskinto writable and read-only volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7476 - Parallelize
ec.rebuildoperations per affected volume. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7466 volume.check.disk: add support for uni- or bi-directional sync between volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7484- feat(volume.fix): show all replica locations for misplaced volumes by @CodeRusher in https://github.com/seaweedfs/seaweedfs/pull/7560
- Unify the parameter to disable dry-run on weed shell commands to
-
Volume Server
- Volume Server: avoid aggressive volume assignment by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7501
- fix: pass proxied query param by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7477
- Bootstrap logic to fix read-only volumes with
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7531
-
Filer
- de/compress the fs meta file if filename ends with gz/gzip by @shaofeng66 in https://github.com/seaweedfs/seaweedfs/pull/7500
- filer store: add foundationdb by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7178
- Add error list each entry func by @tam-i13 in https://github.com/seaweedfs/seaweedfs/pull/7485
- fix(filer-ui): support folder creation with JWT token in URL by @littlemilkwu in https://github.com/seaweedfs/seaweedfs/pull/7271
- fix(tikv): replace DeleteRange with transaction-based batch deletes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7557
- fix(tikv): improve context propagation and refactor batch delete logic by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7558
-
Java, Hadoop Compatible File System
- HDFS: Java client replication configuration by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7526
- @dimaqq made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7503
- @shaofeng66 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7500
- @digitalinfobr made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7507
- @gophlet made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7533
- @llc1123 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7547
- @tam-i13 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7485
- @littlemilkwu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7271
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.00...4.01
4.01
Happy Thanksgiving! This release has a major architectural change.
Before:
S3 Client → S3 API → Filer → Volume Server
After (Direct Access):
S3 Client → S3 API → Volume Server
↓
Filer (metadata only)
This change is benchmarked in test cases from user @yahooguntu
- reduces write latency by 30%
- reduce read latency by 5%
-
S3
- S3: prevent deleting buckets with object locking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7434
- do delete expired entries on s3 list request by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7426
- S3: Perf related by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7463
- S3: Enforce bucket policy by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7471
- S3: add context aware action resolution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7479
- Refactor data structure by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7472
- S3: Lazy Versioning Check, Conditional SSE Entry Fetch, HEAD Request Optimization by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7480
- S3: Directly read write volume servers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7481
- S3: Add tests for PyArrow with native S3 filesystem by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7508
- Account Info by @digitalinfobr in https://github.com/seaweedfs/seaweedfs/pull/7507
- S3: JWT generation for volume server authentication by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7514
- S3: S3 Object Retention API to include XML namespace support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7517
- S3: adds FilerClient to use cached volume id by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7518
- test read write by s3fs and PyArrow native file system for s3 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7520
- S3: list owned buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7519
- S3: set identity to request context, and remove obsolete code by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7523
- S3: Add
Varyheader for non-wildcard AllowOrigin by @llc1123 in https://github.com/seaweedfs/seaweedfs/pull/7547 - S3: Fix encrypted file copy with multiple chunks (#7530) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7546
- fix copying for paused versioning buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7548
- S3: Auto create bucket by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7549
- Support multiple filers for S3 and IAM servers with automatic failover by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7550
- Filer, S3: Feature/add concurrent file upload limit by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7554
- fix(s3api): fix AWS Signature V2 format and validation by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/7488
- S3: pass HTTP 429 from volume servers to S3 clients by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7556
- Metrics: Add Prometheus metrics for concurrent upload tracking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7555
- s3api: Fix response-content-disposition query parameter not being honored by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7559
-
Misc
- Nit: use
time.Durations instead of constants in seconds. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7438 - Fix date string parsing bug for the SQL Engine. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7446
- chore: fix the diagram in RDMA sidecar readme by @dimaqq in https://github.com/seaweedfs/seaweedfs/pull/7503
- add build info metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7525
- hide millseconds in up time by @trim21 in https://github.com/seaweedfs/seaweedfs/pull/7553
- Nit: use
-
Docker, Helm Charts
- Don't make nginx the default ingress controller by @facorazza in https://github.com/seaweedfs/seaweedfs/pull/7436
- docker: fix /data ownership and permission by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7451
- Add explicit IP and binding parameters in Docker Compose by @gophlet in https://github.com/seaweedfs/seaweedfs/pull/7533
-
Master
- master: fix negative active volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7440
-
Shell
- Unify the parameter to disable dry-run on weed shell commands to
-apply(instead of-force). by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7450 - Rework parameters passing for functions within
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7448 - Rework parameters passing for functions within
ec.rebuildby @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7445 - backup: handle volume not found when backing up by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7465
- Split logic for
volume.check.diskinto writable and read-only volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7476 - Parallelize
ec.rebuildoperations per affected volume. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7466 volume.check.disk: add support for uni- or bi-directional sync between volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7484- feat(volume.fix): show all replica locations for misplaced volumes by @CodeRusher in https://github.com/seaweedfs/seaweedfs/pull/7560
- Unify the parameter to disable dry-run on weed shell commands to
-
Volume Server
- Volume Server: avoid aggressive volume assignment by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7501
- fix: pass proxied query param by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7477
- Bootstrap logic to fix read-only volumes with
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7531
-
Filer
- de/compress the fs meta file if filename ends with gz/gzip by @shaofeng66 in https://github.com/seaweedfs/seaweedfs/pull/7500
- filer store: add foundationdb by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7178
- Add error list each entry func by @tam-i13 in https://github.com/seaweedfs/seaweedfs/pull/7485
- fix(filer-ui): support folder creation with JWT token in URL by @littlemilkwu in https://github.com/seaweedfs/seaweedfs/pull/7271
- fix(tikv): replace DeleteRange with transaction-based batch deletes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7557
- fix(tikv): improve context propagation and refactor batch delete logic by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7558
-
Java, Hadoop Compatible File System
- HDFS: Java client replication configuration by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7526
- @dimaqq made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7503
- @shaofeng66 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7500
- @digitalinfobr made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7507
- @gophlet made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7533
- @llc1123 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7547
- @tam-i13 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7485
- @littlemilkwu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7271
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.00...4.01
4.01
Happy Thanksgiving! This release has a major architectural change.
Before:
S3 Client → S3 API → Filer → Volume Server
After (Direct Access):
S3 Client → S3 API → Volume Server
↓
Filer (metadata only)
This change is benchmarked in test cases from user @yahooguntu
- reduces write latency by 30%
- reduce read latency by 5%
-
S3
- S3: prevent deleting buckets with object locking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7434
- do delete expired entries on s3 list request by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7426
- S3: Perf related by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7463
- S3: Enforce bucket policy by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7471
- S3: add context aware action resolution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7479
- Refactor data structure by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7472
- S3: Lazy Versioning Check, Conditional SSE Entry Fetch, HEAD Request Optimization by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7480
- S3: Directly read write volume servers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7481
- S3: Add tests for PyArrow with native S3 filesystem by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7508
- Account Info by @digitalinfobr in https://github.com/seaweedfs/seaweedfs/pull/7507
- S3: JWT generation for volume server authentication by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7514
- S3: S3 Object Retention API to include XML namespace support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7517
- S3: adds FilerClient to use cached volume id by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7518
- test read write by s3fs and PyArrow native file system for s3 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7520
- S3: list owned buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7519
- S3: set identity to request context, and remove obsolete code by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7523
- S3: Add
Varyheader for non-wildcard AllowOrigin by @llc1123 in https://github.com/seaweedfs/seaweedfs/pull/7547 - S3: Fix encrypted file copy with multiple chunks (#7530) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7546
- fix copying for paused versioning buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7548
- S3: Auto create bucket by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7549
- Support multiple filers for S3 and IAM servers with automatic failover by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7550
- Filer, S3: Feature/add concurrent file upload limit by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7554
- fix(s3api): fix AWS Signature V2 format and validation by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/7488
- S3: pass HTTP 429 from volume servers to S3 clients by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7556
- Metrics: Add Prometheus metrics for concurrent upload tracking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7555
- s3api: Fix response-content-disposition query parameter not being honored by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7559
-
Misc
- Nit: use
time.Durations instead of constants in seconds. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7438 - Fix date string parsing bug for the SQL Engine. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7446
- chore: fix the diagram in RDMA sidecar readme by @dimaqq in https://github.com/seaweedfs/seaweedfs/pull/7503
- add build info metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7525
- hide millseconds in up time by @trim21 in https://github.com/seaweedfs/seaweedfs/pull/7553
- Nit: use
-
Docker, Helm Charts
- Don't make nginx the default ingress controller by @facorazza in https://github.com/seaweedfs/seaweedfs/pull/7436
- docker: fix /data ownership and permission by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7451
- Add explicit IP and binding parameters in Docker Compose by @gophlet in https://github.com/seaweedfs/seaweedfs/pull/7533
-
Master
- master: fix negative active volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7440
-
Shell
- Unify the parameter to disable dry-run on weed shell commands to
-apply(instead of-force). by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7450 - Rework parameters passing for functions within
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7448 - Rework parameters passing for functions within
ec.rebuildby @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7445 - backup: handle volume not found when backing up by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7465
- Split logic for
volume.check.diskinto writable and read-only volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7476 - Parallelize
ec.rebuildoperations per affected volume. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7466 volume.check.disk: add support for uni- or bi-directional sync between volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7484- feat(volume.fix): show all replica locations for misplaced volumes by @CodeRusher in https://github.com/seaweedfs/seaweedfs/pull/7560
- Unify the parameter to disable dry-run on weed shell commands to
-
Volume Server
- Volume Server: avoid aggressive volume assignment by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7501
- fix: pass proxied query param by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7477
- Bootstrap logic to fix read-only volumes with
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7531
-
Filer
- de/compress the fs meta file if filename ends with gz/gzip by @shaofeng66 in https://github.com/seaweedfs/seaweedfs/pull/7500
- filer store: add foundationdb by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7178
- Add error list each entry func by @tam-i13 in https://github.com/seaweedfs/seaweedfs/pull/7485
- fix(filer-ui): support folder creation with JWT token in URL by @littlemilkwu in https://github.com/seaweedfs/seaweedfs/pull/7271
- fix(tikv): replace DeleteRange with transaction-based batch deletes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7557
- fix(tikv): improve context propagation and refactor batch delete logic by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7558
-
Java, Hadoop Compatible File System
- HDFS: Java client replication configuration by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7526
- @dimaqq made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7503
- @shaofeng66 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7500
- @digitalinfobr made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7507
- @gophlet made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7533
- @llc1123 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7547
- @tam-i13 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7485
- @littlemilkwu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7271
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.00...4.01
4.01
Happy Thanksgiving! This release has a major architectural change.
Before:
S3 Client → S3 API → Filer → Volume Server
After (Direct Access):
S3 Client → S3 API → Volume Server
↓
Filer (metadata only)
This change is benchmarked in test cases from user @yahooguntu
- reduces write latency by 30%
- reduce read latency by 5%
-
S3
- S3: prevent deleting buckets with object locking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7434
- do delete expired entries on s3 list request by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7426
- S3: Perf related by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7463
- S3: Enforce bucket policy by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7471
- S3: add context aware action resolution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7479
- Refactor data structure by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7472
- S3: Lazy Versioning Check, Conditional SSE Entry Fetch, HEAD Request Optimization by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7480
- S3: Directly read write volume servers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7481
- S3: Add tests for PyArrow with native S3 filesystem by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7508
- Account Info by @digitalinfobr in https://github.com/seaweedfs/seaweedfs/pull/7507
- S3: JWT generation for volume server authentication by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7514
- S3: S3 Object Retention API to include XML namespace support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7517
- S3: adds FilerClient to use cached volume id by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7518
- test read write by s3fs and PyArrow native file system for s3 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7520
- S3: list owned buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7519
- S3: set identity to request context, and remove obsolete code by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7523
- S3: Add
Varyheader for non-wildcard AllowOrigin by @llc1123 in https://github.com/seaweedfs/seaweedfs/pull/7547 - S3: Fix encrypted file copy with multiple chunks (#7530) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7546
- fix copying for paused versioning buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7548
- S3: Auto create bucket by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7549
- Support multiple filers for S3 and IAM servers with automatic failover by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7550
- Filer, S3: Feature/add concurrent file upload limit by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7554
- fix(s3api): fix AWS Signature V2 format and validation by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/7488
- S3: pass HTTP 429 from volume servers to S3 clients by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7556
- Metrics: Add Prometheus metrics for concurrent upload tracking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7555
- s3api: Fix response-content-disposition query parameter not being honored by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7559
-
Misc
- Nit: use
time.Durations instead of constants in seconds. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7438 - Fix date string parsing bug for the SQL Engine. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7446
- chore: fix the diagram in RDMA sidecar readme by @dimaqq in https://github.com/seaweedfs/seaweedfs/pull/7503
- add build info metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7525
- hide millseconds in up time by @trim21 in https://github.com/seaweedfs/seaweedfs/pull/7553
- Nit: use
-
Docker, Helm Charts
- Don't make nginx the default ingress controller by @facorazza in https://github.com/seaweedfs/seaweedfs/pull/7436
- docker: fix /data ownership and permission by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7451
- Add explicit IP and binding parameters in Docker Compose by @gophlet in https://github.com/seaweedfs/seaweedfs/pull/7533
-
Master
- master: fix negative active volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7440
-
Shell
- Unify the parameter to disable dry-run on weed shell commands to
-apply(instead of-force). by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7450 - Rework parameters passing for functions within
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7448 - Rework parameters passing for functions within
ec.rebuildby @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7445 - backup: handle volume not found when backing up by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7465
- Split logic for
volume.check.diskinto writable and read-only volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7476 - Parallelize
ec.rebuildoperations per affected volume. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7466 volume.check.disk: add support for uni- or bi-directional sync between volume replicas. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7484- feat(volume.fix): show all replica locations for misplaced volumes by @CodeRusher in https://github.com/seaweedfs/seaweedfs/pull/7560
- Unify the parameter to disable dry-run on weed shell commands to
-
Volume Server
- Volume Server: avoid aggressive volume assignment by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7501
- fix: pass proxied query param by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/7477
- Bootstrap logic to fix read-only volumes with
volume.check.disk. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7531
-
Filer
- de/compress the fs meta file if filename ends with gz/gzip by @shaofeng66 in https://github.com/seaweedfs/seaweedfs/pull/7500
- filer store: add foundationdb by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7178
- Add error list each entry func by @tam-i13 in https://github.com/seaweedfs/seaweedfs/pull/7485
- fix(filer-ui): support folder creation with JWT token in URL by @littlemilkwu in https://github.com/seaweedfs/seaweedfs/pull/7271
- fix(tikv): replace DeleteRange with transaction-based batch deletes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7557
- fix(tikv): improve context propagation and refactor batch delete logic by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7558
-
Java, Hadoop Compatible File System
- HDFS: Java client replication configuration by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7526
- @dimaqq made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7503
- @shaofeng66 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7500
- @digitalinfobr made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7507
- @gophlet made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7533
- @llc1123 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7547
- @tam-i13 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7485
- @littlemilkwu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7271
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.00...4.01