3 hours ago
seaweedfs

4.42

What's Changed

Master and topology

Heartbeat protocol, volume registration, and a long series of allocation/copy removals on the master's hot paths.

  • topology: digest the volumes a master believes each node holds (#10619)
  • heartbeat: carry a volume digest and verify it (#10627)
  • heartbeat: send only the volumes that changed (#10640)
  • heartbeat: keep the master current through collection churn (#10657)
  • topology: follow a volume that moved between a server's disks (#10628)
  • master: keep disk_id when registering volumes from incremental heartbeats (#10686)
  • topology: provisional volume update must not erase the reported disk id (#10687)
  • topology: keep per-node volume state with the location it describes (#10654)
  • topology: mark a volume crowded only if it can take writes (#10655)
  • topology: track volume size only where writes can land (#10653)
  • topology: clamp the deleted-vs-total subtractions in volume stats (#10633)
  • master: keep a racing registration out of a dying collection (#10677)
  • master: align default volume size with EC rows (#10761)
  • master: let VolumeList ask for the volumes it wants (#10674)
  • master: stream volume listings (#10676)
  • master: stop copying the cluster to name it (#10700)
  • topology: keep the volume map's values out of its slots (#10680)
  • topology: build the volume list without copying the volume map first (#10668)
  • topology: diff a heartbeat without copying the volume map (#10608)
  • topology: preallocate the heartbeat volume conversion slice (#10607)
  • topology: preallocate the disk volume snapshot (#10609)
  • topology: size the new-volume list from the actual delta (#10613)
  • topology: preallocate the per-disk VolumeList payload (#10614)
  • topology: preallocate the client-facing topology snapshots (#10615)
  • topology: gather a node's volumes into one slice (#10617)
  • topology: log writable-state changes, not every check (#10612)
  • topology: drop the unused DataNode volume id listing (#10618)

Volume server and storage

  • storage: fix corrupted leveldb detection in DoOffsetLoading (#10650)
  • storage: count a volume's needles in uint32 (#10718)
  • storage: share the volume strings a cluster repeats (#10665)
  • storage: stop keeping the remote storage key on the master (#10672)
  • storage: order VolumeInfo by alignment (#10669)
  • needle: intern the stored ttl values (#10611)
  • super_block: intern the byte-encoded replica placements (#10610)
  • throughput limits for replicate, EC shard, and worker-driven moves (#10749)

Erasure coding

Interrupted-operation cleanup is the theme: encode, decode, and shard moves now roll back or resume into a consistent state, and a chaos harness exercises it.

  • refactor: extract EC orchestration into a shared weed/ec package (#10760)
  • refactor: share volume and EC shard move logic between shell and workers (#10727)
  • erasure_coding: share the EC shard teardown primitive (#10740)
  • ec.encode: roll back a failed encode instead of leaving readonly volumes and orphan shards (#10741)
  • ec.encode: require the shards to agree on size before deleting the volume (#10769)
  • ec.decode: finish the cleanup an interrupted decode left behind (#10767)
  • ec.decode: check the rebuilt .dat is complete before the shards can be deleted (#10768)
  • EC worker: clear stale/interrupted shards at task start and on failure (#10738)
  • ec: confirm a surviving copy before deleting a duplicate EC shard (#10719)
  • EC: handle zero-sized shard files uniformly across moves, rebuilds, and startup cleanup (#10753)
  • ec.balance: add a -volumeIds filter (#10667)

Filer

  • filer: list directories without decoding chunk lists (#10616)
  • filer: do not sweep children when deleting a folder non-recursively (#10782)
  • filer: restore a folder that received an entry while it was deleted (#10783)
  • filer: rebuild peer metadata subscriptions after a master reconnect (#10648)
  • filer: retry and surface metadata replay failures from peers (#10714)
  • filer: drain pending log chunk refs when the metadata stream ends (#10647)
  • filer: add filer.meta.scan to audit one directory's change history (#10645)
  • reload filer config on local metadata updates (#10622)
  • log_buffer: end bounded reads that find the buffer empty (#10750)

TUS

  • configurable TUS max upload size and session expiry (#10638)
  • TUS concatenation extension (#10702)

Filer stores (redis)

  • redis2: remove orphaned directory index members on listing (#10735)
  • redis: remove orphaned directory index members on listing (#10742)
  • redis2: harden the orphaned index member cleanup (#10743)
  • redis2: expire entries without destroying a concurrent recreate (#10744)
  • redis2: orphan cleanup existence checks must not read replicas (#10745)

Mount

  • mount: stop churning the inode table on every readdir (#10606)
  • mount: fix four readdir pagination bugs (#10624)
  • mount: read oversized directories through instead of caching them (#10631)
  • mount: let the kernel cache directory listings (#10634)
  • mount: invalidate hot directory listings by section (#10712)
  • windows mount: cache file data, resolved paths and attributes (#10703)

S3 API

  • s3: add the RenameObject endpoint (#10659)
  • s3api: fix ListObjectsV2 dropping objects under a partial prefix (#10656)
  • s3: a key deleted after enabling versioning must leave the listing (#10684)
  • s3: take bucket sizes from the master's summary (#10664)
  • s3: option to disable bucket auto-creation on upload (#10759)
  • s3api/policy_engine: prune dead code (#10599)

Iceberg and S3 Tables

  • iceberg: make a table commit a compare-and-swap (#10775)
  • iceberg: add view rename, scan-report and snapshots=refs to the catalog (#10776)
  • iceberg: vend table-scoped credentials to clients that ask for delegation (#10777)
  • iceberg: repair non-compliant manifests at commit (#10641)
  • iceberg: route unprefixed requests to the first table bucket (#10675)
  • iceberg maintenance: keep the snapshots that branches and tags pin (#10774)
  • iceberg: let table properties override the worker config (#10772)
  • iceberg: accept lowercase parquet file format when planning compaction (#10751)
  • s3tables: add the maintenance configuration APIs (#10773)
  • iceberg maintenance: fix the test build master merged broken (#10780)

Shell

  • shell: volume.delete and volume.move accept a -timeout (#10701)
  • shell: volume.move cleans up when aborted after the copy phase (#10704)
  • shell: keep the source readonly when the incomplete target copy cannot be deleted (#10705)
  • shell: multi-target fs.mergeVolumes and volume.mark -readonlyCanDelete (#10706)
  • shell: parallelize volume balance moves (#10737)
  • shell: send read jwt when downloading chunks in fs.mergeVolumes and fs.distributeChunks (#10717)

Admin and workers

  • admin: dashboard counts chunks, not files (#10598)
  • admin: show capacity per storage tier and stop counting remote-tiered bytes as local disk usage (#10766)
  • admin: make paths relative (#10709)
  • plugin scheduler: drain started jobs past the window close instead of killing them (#10728)

Remote storage and tiering

  • read cold remote objects straight from the origin while caching (#10731)
  • remote_storage: build all S3-compatible clients through one constructor (#10720)

Security

  • master: gate raft membership RPCs behind the admin whitelist (#10649)
  • volume: validate the file extension in CopyFile and ReceiveFile (#10644)
  • volume: decode IPv6 transition addresses in the remote-endpoint guard (#10683)
  • volume: extend the remote-endpoint guard to the azure backend (#10754)
  • volume: validate replica targets and restrict gcs credentials in FetchAndWriteNeedle (#10755)
  • sftp: url-encode the upload path (#10758)
  • grpc: optional client_cert/client_key for outgoing mTLS connections (#10747)
  • rust volume: mirror Go volume server logic to gate the admin RPCs (#10748)

Rust volume server

  • rust: stop quarantining v2 volumes, load a disk's volumes concurrently (#10602)
  • rust volume: mirror the VolumeConsolidateIndex RPC from Go (#10752)
  • rust volume: mirror Go volume server logic to gate the admin RPCs (#10748)

Clients

  • wdclient: keep the location of a volume reported added and removed at once (#10635)
  • clients: stream the volume listings that ask for everything (#10679)

Telemetry

  • telemetry: version distribution over time (#10625)
  • telemetry: put the version pie back beside the stacked chart (#10626)
  • telemetry: count erasure-coded volumes in the reported totals (#10632)

Helm and deployment

  • helm: mark filer db-init ConfigMap volume optional (#10596)
  • helm: enterprise license Secret, and a persistent-claim option for master data (#10601)
  • helm: add support for schedulerName (#10716)

Tests and CI

  • test: EC lifecycle chaos harness, with four fixes it found (#10763)
  • test: systematic EC interruption verification, exhaustive model check plus deterministic kill matrix (#10764)
  • test: re-lock and retry every chaos command, not just the balance (#10770)
  • test: walk an EC volume through a multi-disk node's whole life (#10721)
  • test: drive ec.encode/balance/rebuild E2E with a byte-identical payload check (#10722)
  • test: assert EC shard identity and empty-view in multi-disk lifecycle tests (#10723)
  • s3tables: add ClickHouse iceberg catalog integration test (#10637)
  • clickhouse catalog test: cover latest ClickHouse and catalog-side CREATE TABLE (#10707)
  • ci: run the gated redis store tests (#10746)
  • test: let the vacuum shell session outlive the vacuum (#10682)
  • mount: absorb the WinFsp metadata cache window in the concurrent-reader test (#10636)
  • skiplist: fix TestFindGreaterOrEqual flake, compare against largest key, not value (#10757)

Docs

  • docs: update example link (#10725)

Dependencies

  • bump github/codeql-action from 4.37.4 to 4.37.6 (#10699)
  • bump github.com/aws/aws-sdk-go-v2/credentials from 1.19.32 to 1.19.34 (#10698)
  • bump cloud.google.com/go/kms from 1.31.0 to 1.33.0 (#10697)
  • bump modernc.org/sqlite from 1.53.0 to 1.56.0 (#10696)
  • bump github.com/pierrec/lz4/v4 from 4.1.27 to 4.1.28 (#10695)
  • bump github.com/ydb-platform/ydb-go-sdk/v3 from 3.146.3 to 3.147.1 (#10694)

New Contributors

Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.41...4.42

2 days ago
fluent-bit

Fluent Bit 5.1.1

https://fluentbit.io/announcements/v5.1.1/

What's Changed

New Contributors

Full Changelog: https://github.com/fluent/fluent-bit/compare/v5.1.0...v5.1.1

2 days ago
rustfs

RustFS 1.0.0-rc.2 (rc)

What's Changed

New Contributors

Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-rc.1...1.0.0-rc.2

2 days ago
rustfs

RustFS 1.0.0-rc.2-preview.1 (preview)

What's Changed

New Contributors

Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-rc.1...1.0.0-rc.2-preview.1

2 days ago
cas

v8.0.1

⭐ Release Notes

👫 Contributions

Special thanks to the following individuals for their excellent contributions:

  • @Minei3oat
  • @floriannari
  • @hdeadman
  • @leleuj
  • @mmoayyed
  • @ribafish
3 days ago
nginx-prometheus-exporter
3 days ago
openobserve

Release v0.92.1

📦 Download Binaries from https://openobserve.ai/downloads

What's Changed

Full Changelog: https://github.com/openobserve/openobserve/compare/v0.92.0...v0.92.1

3 days ago
higress

v2.2.4

Higress Console

📋 Overview of This Release

This release includes 18 updates, covering feature enhancements, bug fixes, and performance optimizations.

Distribution of Updates

  • New Features: 7 items
  • Bug Fixes: 9 items
  • Documentation Updates: 2 items

📝 Full Change Log

🚀 New Features (Features)

  • Related PR: #621
    Contributor: @Thomas-Eliot
    Change Log: Enhanced MCP Server interaction capabilities: added support for automatic Host header rewriting for DNS backends; improved transport selection and full-path configuration in direct routing scenarios; refined DSN special-character (e.g., @) parsing logic for DB-to-MCP Server scenarios.
    Feature Value: Improves flexibility and compatibility when integrating with MCP Servers, enabling users to configure diverse backend types more easily, avoiding path ambiguity and authentication-character parsing failures—thus reducing operational complexity and enhancing system stability.

  • Related PR: #608
    Contributor: @Libres-coder
    Change Log: Added plugin display functionality to the AI Route Management page: extended AI route rows to show enabled plugins, added an "Enabled" label to the configuration page, and implemented frontend i18n support along with plugin-query logic adaptation.
    Feature Value: Enables users to intuitively view and manage enabled plugins directly from the AI Route Management interface, aligning with conventional route functionality—improving transparency and operational consistency of AI route configurations and lowering learning and operational overhead.

  • Related PR: #604
    Contributor: @CH3CHO
    Change Log: Introduced regex-based path rewrite functionality, supporting complex path matching and replacement via the higress.io/rewrite-target annotation; extended the rewrite configuration parsing logic in KubernetesModelConverter; added regex rewrite type identifiers to frontend and backend i18n resources.
    Feature Value: Empowers users to define fine-grained path rewrite rules using regular expressions, significantly enhancing route matching precision and forwarding flexibility—ideal for multi-version API management, dynamic path mapping, and similar use cases—thereby improving gateway adaptability and operational efficiency.

  • Related PR: #603
    Contributor: @CH3CHO
    Change Log: Added a constant STATIC_SERVICE_PORT = 80 to the static service source form component and displayed this fixed port in the UI, making it explicit to users that static services default to port 80—improving configuration transparency and consistency.
    Feature Value: Users can clearly see the preconfigured port 80 when configuring static service sources, preventing service deployment failures caused by port misinterpretation—reducing adoption barriers and improving configuration accuracy and operational efficiency.

  • Related PR: #602
    Contributor: @CH3CHO
    Change Log: Added search functionality to the upstream service selector component for AI routes, enabling frontend input-based filtering of the service list to accelerate service selection. Modified the RouteForm component to include a search input field and filtering logic—achieving enhanced interactivity with minimal code changes.
    Feature Value: Allows users to rapidly filter target upstream services during AI route configuration—eliminating manual scrolling through large service lists—significantly boosting configuration efficiency and user experience, especially in production environments with extensive microservice inventories.

  • Related PR: #566
    Contributor: @OuterCyrex
    Change Log: Added support for Qwen (Tongyi Qwen) large language model (LLM) services, including custom service endpoints, internet search enablement, and file ID upload capabilities; introduced QwenLlmProviderHandler; completed configuration item and i18n adaptations on both frontend and backend.
    Feature Value: Enables convenient web-based configuration of private or third-party Qwen services, expanding AI capability extensibility; internet search and file ID upload support enhance LLM invocation flexibility and practicality across real-world business scenarios.

  • Related PR: #552
    Contributor: @lcfang
    Change Log: Added vport attribute support for service virtual port configuration; extended V1RegistryConfig and ServiceSource models; introduced VPort class; integrated vport field mapping into Kubernetes model conversion logic—resolving routing failures caused by inconsistent instance ports in service registries.
    Feature Value: Users can now specify virtual ports for services registered via Eureka/Nacos, ensuring routing rules remain effective despite dynamic backend instance port changes—enhancing stability and compatibility of service discovery and traffic scheduling while reducing operational configuration complexity.

🐛 Bug Fixes (Bug Fixes)

  • Related PR: #620
    Contributor: @CH3CHO
    Change Log: Fixed a typographical error in the sortWasmPluginMatchRules logic, correcting variable names or logical errors that could cause unexpected sorting anomalies—ensuring WASM plugin match rules are prioritized and sorted as intended.
    Feature Value: Prevents rule-ordering inconsistencies due to typos, guaranteeing that WASM plugins are applied at the correct priority within the gateway—improving reliability and consistency of traffic routing and policy enforcement.

  • Related PR: #619
    Contributor: @CH3CHO
    Change Log: Fixed duplicate version information persistence when converting AiRoute to ConfigMap: removed the version field from the data JSON payload, retaining version metadata solely in the ConfigMap metadata—eliminating data redundancy and potential inconsistency.
    Feature Value: Enhances configuration consistency and reliability, preventing parsing errors or deployment anomalies caused by duplicated version fields—delivering a more stable Kubernetes resource management experience for AiRoute users.

  • Related PR: #618
    Contributor: @CH3CHO
    Change Log: Refactored API authorization logic in SystemController, introducing an @AllowAnonymous annotation mechanism to uniformly handle unauthenticated endpoints and removing hardcoded path whitelists—improving maintainability and security of authorization policies.
    Feature Value: Resolves potential security vulnerabilities in the system controller, preventing unauthorized access to sensitive APIs and enhancing overall platform security; users benefit from stronger access protection without additional configuration—reducing exposure to malicious exploitation.

  • Related PR: #617
    Contributor: @CH3CHO
    Change Log: Fixed three critical frontend console issues: missing unique key props causing rendering warnings, Content Security Policy (CSP) blocking image loading, and incorrect type definition for Consumer.name (corrected from boolean to string).
    Feature Value: Improves application stability and user experience—eliminating console errors that disrupt development debugging, ensuring proper avatar and list rendering, and fixing data types to prevent runtime type errors—strengthening frontend code robustness.

  • Related PR: #614
    Contributor: @lc0138
    Change Log: Fixed a type-definition error for the type field in the ServiceSource class and added dictionary-value validation logic—ensuring only valid registry types are permitted and preventing runtime type mismatches.
    Feature Value: Enhances robustness and security of service-source configuration, preventing service registration failures or system exceptions caused by invalid type values—ensuring stability and reliability when configuring heterogeneous service sources.

  • Related PR: #613
    Contributor: @lc0138
    Change Log: Fixed a frontend Content Security Policy (CSP) configuration defect by correctly injecting meta tags and security headers in the Document component—preventing XSS and other client-side script injection attacks and improving overall web application security.
    Feature Value: Significantly reduces the risk of cross-site scripting (XSS) and related security exploits on the frontend, strengthening user data and session security, ensuring production environment compliance, and elevating platform trustworthiness and user confidence.

  • Related PR: #612
    Contributor: @zhwaaaaaa
    Change Log: Added hop-to-hop header (e.g., Transfer-Encoding) ignore logic in DashboardServiceImpl, adhering to RFC 2616—preventing reverse proxy forwarding of chunked encoding headers from disrupting Grafana dashboard rendering and resolving frontend rendering failures caused by HTTP header passthrough.
    Feature Value: Fixes inability to load Grafana monitoring pages, enhancing stability of console-backend integration; users gain RFC-compliant proxy behavior out-of-the-box—no manual proxy filtering rules required—improving operational experience and system observability.

  • Related PR: #609
    Contributor: @CH3CHO
    Change Log: Corrected the type definition for the name field in the Consumer interface—from boolean to string—resolving potential runtime errors and TypeScript compilation issues caused by type mismatch.
    Feature Value: Ensures Consumer.name correctly represents a string-typed username, improving type safety and API consistency—preventing front-end logic misinterpretation and data rendering anomalies—and enhancing system stability and developer experience.

  • Related PR: #605
    Contributor: @SaladDay
    Change Log: Refined the regex validation rule for AI route names to permit periods (.) and restrict characters to lowercase letters; synchronized Chinese/English error messages to ensure UI prompts accurately reflect actual validation logic—fixing erroneous rejection of valid route names (e.g., api.v1).
    Feature Value: Improves AI route configuration experience—enabling correct usage of period-containing names—while eliminating form submission failures due to inconsistent validation—enhancing system reliability and user trust.

📚 Documentation Updates (Documentation)

  • Related PR: #611
    Contributor: @qshuai
    Change Log: Corrected the Swagger API documentation summary description for the @PostMapping endpoint in LlmProvidersController, replacing the inaccurate "Add a new route" with a precise functional description—improving API documentation accuracy and readability.
    Feature Value: Aligns API documentation with actual behavior, helping developers quickly grasp endpoint purpose—reducing misuse risk—and improving development experience and integration efficiency for the console’s AI service module.

  • Related PR: #610
    Contributor: @heimanba
    Change Log: Updated frontend-gray plugin documentation: marked rewrite, backendVersion, and enabled fields as optional; updated rules.name reference path to grayDeployments[].name; synchronized field descriptions and terminology across Chinese/English READMEs and spec.yaml—enhancing configuration guidance accuracy and consistency.
    Feature Value: Increases flexibility of gray-scale configuration for diverse deployment scenarios—lowering user configuration barriers; standardized documentation terminology and linkage logic—reducing configuration errors stemming from ambiguous documentation—and improving developer understanding and reliable plugin usage.


📊 Release Statistics

  • 🚀 New Features: 7 items
  • 🐛 Bug Fixes: 9 items
  • 📚 Documentation Updates: 2 items

Total: 18 changes

Thank you to all contributors for your hard work! 🎉

3 days ago
superset

superset-helm-chart-0.22.6

Apache Superset is a modern, enterprise-ready business intelligence web application

4 days ago
MeiliSearch

🖇️​ v1.53.1

✨ Enhancement

Add an env var to change the task queue readers

by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6587

Control the maximum number of LMDB read transactions at the same time for the task queue.

The following environment variable can be exported to specify the maximum number of simultaneous read transactions:

# Only the environment variable can set this parameter
MEILI_EXPERIMENTAL_TASK_QUEUE_MAX_READERS=100

Product discussion: https://github.com/orgs/meilisearch/discussions/806

🔩 Miscellaneous

Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.53.0...v1.53.1