6 hours ago
incubator-shenyu

v2.7.1

What's Changed

New Contributors

Full Changelog: https://github.com/apache/shenyu/compare/v2.7.0.3...v2.7.1

6 hours ago
shenyu

v2.7.1

What's Changed

New Contributors

Full Changelog: https://github.com/apache/shenyu/compare/v2.7.0.3...v2.7.1

7 hours ago
zuul

v4.0.0

Zuul 4.0.0 replaces the RxJava Observable based async filter execution with CompletableFuture. RxJava 1.x is long past end-of-life, and moving to CompletableFuture lets the filter runner drop its custom RxJava Scheduler and Observer for plain JDK primitives.

Breaking changes

  • ZuulFilter.applyAsync now returns CompletableFuture<O> instead of Observable<O>. The Observable-based method is renamed to applyAsyncObservable and deprecated. Both have default bridge implementations on the interface, so a filter can override either one (#2075)
  • The debugRouting / debugRequest infrastructure is removed (#2078)
  • Connection draining is now event-based rather than channel-attribute based (#2161). Zuul-core fires a ConnectionCloseEvent down the pipeline instead of setting a channel attribute that every write has to check, so a graceful shutdown starts immediately on the event instead of waiting for the next response (an idle HTTP/1.1 connection can be closed right away), and OOS closes get random jitter to spread them out. The close handlers were reworked and CLOSE_AFTER_RESPONSE was removed - see Connection draining below
  • SessionContext no longer extends HashMap<String, Object>; it now wraps one via composition (#2171) and is @NullMarked (#2174). The common Map methods are re-exposed directly, but code that relied on it being a Map needs updating, and nullmarking turns the accessors @Nullable which can surface new NullAway warnings in consumers. The getRouteHost / setRouteHost / removeRouteHost accessors are removed - use the generic get/set with your own Key<T>.

Migrating a filter

A filter overriding applyAsync to return an Observable will not compile against 4.0.0. The minimal fix is a one-line rename:

Before:

@Override
public Observable<HttpResponseMessage> applyAsync(HttpRequestMessage request) {
    return service.call(request).map(this::toResponse);
}

After:

@Override
public Observable<HttpResponseMessage> applyAsyncObservable(HttpRequestMessage request) {
    return service.call(request).map(this::toResponse);
}

The default applyAsync bridges applyAsyncObservable back to a CompletableFuture, so the rest of the filter keeps working unchanged. The filter should be rewritten to return a CompletableFuture directly and delete applyAsyncObservable. applyAsyncObservable will be removed entirely in a later 4.x release.

Connection draining

Consumers that build their own channel pipelines need small updates:

  • The close and expiry handlers moved to the com.netflix.netty.common.close package
  • HTTP/2 connection close now lives on the connection pipeline, not the stream - drop any stream-level close-handler wiring
  • CLOSE_AFTER_RESPONSE / the allow_then_close rejection type is gone; throttled connections just close

Additional Changes

Also in this release: lazy hashCode caching (#2085), Objects.requireNonNull / @NonNull over preconditions (#2090), removal of unused classes (#2153), and a switch to typed SessionContext.Key<T> keys instead of stringly-typed context keys, both in the filter runner (#2167) and across SessionContext's own internal state (#2174).

Full Changelog: https://github.com/Netflix/zuul/compare/v3.6.21...v4.0.0

9 hours ago
zuul

v3.6.21

What's Changed

Full Changelog: https://github.com/Netflix/zuul/compare/v3.6.20...v3.6.21

2 days ago
seaweedfs

4.38

What's Changed

Erasure Coding & Scrub

The largest theme — Rust volume-server scrub parity plus EC correctness.

EC scrub

  • #10130 Fix scrubbing of deleted needles on EC volumes
  • #10144 EC LOCAL needle walk (split from FULL)
  • #10147 suppress deleted-needle size mismatch in EC LOCAL scrub
  • #10149 EC FULL scrub — distributed local+remote needle walk
  • #10152 correct EC FULL scrub for deleted needles, shard-location cache, parity coverage
  • #10154 EC bitrot CHECKSUM scrub on the Rust volume server
  • #10172 reject oversized bitrot payload before narrowing to u32
  • #10176 expose force_deleted_needles_check in ScrubEcVolume RPC and shell

Volume scrub (Rust parity)

  • #10141 correct backwards FULL/LOCAL mode comments in Rust
  • #10142 align Rust INDEX scrub to Go's idx.CheckIndexFile
  • #10143 walk the on-disk .idx in Volume::scrub
  • #10148 don't flag offset-0 logical tombstones

EC storage / read paths

  • #10140 honor wide EC ratios in Rust read_ec_shard_config
  • #10145 search sibling disk locations when rebuilding missing EC shards + .ecx
  • #10187 read chunk-manifest chunks stored on EC volumes (Rust)
  • #10217 detect truncated .ecx instead of treating it as clean EOF

Rust volume server (non-scrub)

  • #10128 parse master lookup when publicUrl is omitted
  • #10139 test coverage for type=replicate fan-out writes
  • #10189 compare live compaction_revision instead of stale last_compact_revision
  • #10233 pin rustls to aws-lc-rs so TLS gRPC startup doesn't panic

Topology, balancing & placement

  • #10161 keep physical disk 0 distinct in SplitByPhysicalDisk
  • #10166 report empty disks (per-disk type + capacity in heartbeat)
  • #10162 volume.balance: gate on real physical disk usage
  • #10167 skip physically near-full disks when placing EC shards
  • #10169 share replica-placement logic between shell and worker
  • #10171 worker: project the moved volume when gating on disk fullness
  • #10174 extract the bytes-aware density metric to a shared package

Master

  • #10202 let the growth initiator wait instead of shedding itself
  • #10226 repair the lookup index after a vacuum that raced a disconnect

Volume server (Go)

  • #10185 drop stale volume-location cache on under-replication
  • #10229 bound intra-cluster HTTP so an unresponsive peer can't hang reads/writes

S3 API

  • #10156 invalidate stale reader-cache locations on chunk read failure
  • #10186 return IncompleteBody instead of 500 for truncated PUT bodies
  • #10192 embedded IAM inline policy honors prefix-scoped resources
  • #10207 surface transient store errors during multipart resume/copy
  • #10213 lazy, bounded, entry-free per-bucket caches
  • #10214 paginate ListBuckets and serve from a bucket owner index
  • #10224 enforce bucket quota on logical size + read-only state in Admin UI
  • #10225 answer directory-path probes like AWS (Flink savepoint restore)
  • #10236 FULL_OBJECT checksumming for CRC

Filer

  • #10158 use DROP TABLE IF EXISTS in SQL stores
  • #10190 avoid ReaderCache WaitGroup reuse race between reads and destroy
  • #10196 applyStorageDefaultsToEntry before CreateEntry
  • #10203 stream offloaded metadata-log entries to fix concurrent-write OOM
  • #10232 default filemeta CREATE TABLE for postgres2/mysql2 when unset
  • #10234 default cassandra2 timeout and ydb prefix for env-var configs

Admin UI

  • #10150 remove non-functional EC repair button
  • #10155 restore cluster volume page CSV export
  • #10170 respect filerGroup for cluster discovery
  • #10175 fix 'send on closed channel' panic in worker gRPC server
  • #10227 browse Iceberg table data

Shell commands

  • #10126 avoid duplicate volume.list parent headers
  • #10129 collection pattern to delete empty volumes
  • #10159 honor explicit fs.mergeVolumes from/to direction
  • #10204 add ec.shard.unmount command
  • #10219 pass collection in ec.shard.unmount --delete request

Remote storage & sync

  • #10151 remote/gcs: tolerate already-deleted object in DeleteFile
  • #10184 remote.meta.sync: sync directories and remove remote-deleted files
  • #10228 add -delete option to remote.copy.local
  • #10177 filer.sync.verify: reclassify chunk-slice-order ETag diffs as CHUNK_REORDER

Kubernetes / Helm

  • #10198 add certificates.dnsNames for custom SANs in cert-manager certs
  • #10205 filer HTTP + gRPC ingress for the Helm chart
  • #10223 Traefik IngressRouteTCP for gRPC with TLS passthrough

KMS

  • #10173 cache decrypted data keys so cache_enabled/cache_ttl take effect

Core / networking / util

  • #10164 centralize genUploadUrl in UploadOption
  • #10212 don't let the activity timeout clobber externally-set conn deadlines

Tests & CI

  • #10208 fuse-tests: don't declare mount ready before it is mounted
  • #10215 fuse-tests: pass glog flags before the mount subcommand
  • #10209 keep mini-allocated ports below the ephemeral floor

New Contributors

Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.37...4.38

2 days ago
orientdb

3.2.54

Small patch release with fixes in query engine and hardening in the binary protocol

Changes

Core

  • fix: correctly handled null position when execute order by using indexes, issue #10807

Remote

  • Hardening of binary protocol, directly close connection in case of first request miss authentication

Artifacts

orientdb-community-3.2.54.tar.gz orientdb-community-3.2.54.zip

orientdb-tp3-3.2.54.tar.gz orientdb-tp3-3.2.54.zip

agent-3.2.54.jar

3 days ago
zuul

v3.6.20

What's Changed

Full Changelog: https://github.com/Netflix/zuul/compare/v3.6.19...v3.6.20