1 days ago
MeiliSearch

v1.51.0 👽

✨ Enhancement

  • Add filter condition to DSRs by @dureuill in https://github.com/meilisearch/meilisearch/pull/6505

    New filter rule activation condition

    Dynamic search rules (DSR) can now declare a new filter condition: it contains a single values key, whose value is a JSON object. The keys of this values JSON object are the facet names (e.g., color, genres, ...), while their values are the values that a filter must resolve to for these facets, so that the rule is active.

    Example of sending a DSR with a filter condition
     // PATCH /dynamic-search-rules/test-filter
     
     {
       "conditions": {
         "filter": {
           "values": {
             "color": "red",
             "category": "shirt"
           }
         }
       },
       "actions": [
         {
           "selector": { "id": "red shirt on sales" },
           "action": { "type": "pin", "position": 0 }
         }
       ]
     }
    Example of search query that enables the DSR above
     {
       "filter": "(category = shirt AND color = red) OR (category = jeans AND color = blue)"
     }

    Note that the filter only needs to have one branch resolving to all the facet values declared in the rule for the rule to be active.

    New lastUpdatedAt field

    Dynamic search rules returned by GET /dynamic-search-rules/{:ruleUid} and POST /dynamic-search-rules contain an additional lastUpdatedAt field.

    This field is automatically updated with the enqueuedAt value of the last task that modified the rule.

    Rules are listed with the most recently updated first

    POST /dynamic-search-rules now lists rules in descending lastUpdatedAt order, meaning that the most recently updated rules will be listed first.

    New environment variables

    New environment variables are defined to control the behavior of the DSR fuel:

    • MEILI_EXPERIMENTAL_DSR_FUEL_FILTER_FUEL (in range 0..4294967296): controls how many filter constraint combinations Meilisearch will attempt to resolve at search time before giving up and applying partial rules.
    • MEILI_EXPERIMENTAL_DSR_FUEL_FILTER_OR_FUEL (in range 0..65536): controls how many filter disjunctions Meilisearch will build when turning a filter to its canonical shape
    • MEILI_EXPERIMENTAL_DSR_FUEL_FILTER_AND_FUEL (in range 0..65536): controls how many filter conjunctions Meilisearch will build in total when turning a filter to its canonical shape
    • MEILI_EXPERIMENTAL_DSR_FUEL_FILTER_DEPTH_FUEL (in range 0..256): controls the maximum recursive depth that Meilisearch allows when turning a filter to its canonical shape
  • Speed up search requests by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6528 Improves Meilisearch search speed by avoiding unnecessary internal work. We drastically reduced the number of times we retrieve data from disk to a single time across the whole search pipeline. This improvement will have the greatest effect on datasets with a large number of distinct fields across documents. We have seen search speeds up to 5.4x on a dataset with more than 14k different fields.

  • Stabilize dumpless upgrade by @curquiza in https://github.com/meilisearch/meilisearch/pull/6486

    ⚠️ Breaking change following the stabilization of an experimental feature ⚠️

    The flag —-experimental-dumpless-upgrade is renamed —-upgrade-db, keeping the exact same behavior.

  • Remove unused experimental features by @curquiza in https://github.com/meilisearch/meilisearch/pull/6489

    ⚠️ Breaking change: removing the following experimental features ⚠️

🪲 Bug fixes

🔩 Miscellaneous

New Contributors

1 days ago
seata

Apache Seata (Incubating) 2.7.0 (RC)

Apache Seata (Incubating) 2.7.0 Release Candidate.

Git tag: v2.7.0 @ 49fef81747c3f7afd9ec0ae054e5a4aece83e5ac
Source / Binary (ASF SVN dev): https://dist.apache.org/repos/dist/dev/incubator/seata/2.7.0/
Maven staging (closed): https://repository.apache.org/content/repositories/orgapacheseata-1269/
CI: https://github.com/apache/incubator-seata/actions?query=branch%3A2.7.0+event%3Apush

This is a pre-release / RC for community and incubator voting. Do not treat as the final Apache release until votes pass and artifacts are promoted.


Highlights

  • Benchmark CLI 2.0:支持 AT / XA / TCC / SAGA_ANNOTATION,含 P99.9 延迟统计
  • NamingServer 可观测性:Metrics + Grafana 仪表盘
  • JSON 安全与统一:反序列化白名单、Jackson/fastjson 统一、fastjson2/jackson3 序列化器
  • 客户端注销资源:关闭 DataSourceProxy 时向 TC 发送注销通知(含 protobuf)
  • Raft Watch:HTTP/2 流推送 + HTTP 协议动态切换
  • 虚拟线程:全局虚拟线程切换(#8023)
  • 依赖与安全:tomcat 升级、console/saga npm 依赖精简、p3c 替换为 checkstyle 增量检查

Features

  • #7865 Benchmark 命令行工具
  • #8094 Benchmark XA 模式
  • #8062 Benchmark 真实 TCC 模式
  • #8052 Benchmark SAGA_ANNOTATION 模式
  • #8014 Benchmark P99.9 延迟
  • #7882 NamingServer Metrics
  • #7760 统一 Jackson/fastjson 序列化
  • #7000 多版本 codec + 注册失败原因返回
  • #7973 JSON 反序列化白名单
  • #7903 Raft Watch HTTP/2 流推送
  • #8002 NamingServer Grafana 仪表盘
  • #8020 客户端资源注销通知
  • #8044 注销协议 protobuf 序列化
  • #8046 fastjson2 / jackson3 序列化器
  • #7952 Raft Watch HTTP 协议动态切换
  • #8090 配置忽略的网络接口

Bug Fixes

  • #7929 Kingbase undo log SQL
  • #7940 Jakarta 包路径
  • #7960 控制台 API bean
  • #7956 JDK17+ JaCoCo 空报告
  • #7965 DM/Kingbase 主键索引识别
  • #7981 DataSourceProxy 关闭资源泄漏
  • #7992 分支事务状态缺少 branch type
  • #8035 GET 带 body 的 IllegalArgumentException
  • #8078 MySQL undo log 序列化
  • #8106 AOT 代理 NPE
  • #8113 控制台导出 JSON/下载
  • #8118 rollback 校验查询显式列
  • #8124 批量插入 SQL 函数 PK 提取

Refactor

  • #8023 全局虚拟线程切换
  • #8055 TCC 默认 JSON 解析器切 Jackson
  • #8103 integration RPC 模块重构
  • #8107 Spring 模块重构

Upgrade Notes

  • 默认 JSON 栈向 Jackson 收敛,使用 fastjson1 自定义配置需评估迁移
  • 虚拟线程可通过配置全局开启,JDK 版本需满足项目要求
  • tomcat-embed-core 升级至 9.0.117

Links

1 days ago
incubator-seata

Apache Seata (Incubating) 2.7.0 (RC)

Apache Seata (Incubating) 2.7.0 Release Candidate.

Git tag: v2.7.0 @ 49fef81747c3f7afd9ec0ae054e5a4aece83e5ac
Source / Binary (ASF SVN dev): https://dist.apache.org/repos/dist/dev/incubator/seata/2.7.0/
Maven staging (closed): https://repository.apache.org/content/repositories/orgapacheseata-1269/
CI: https://github.com/apache/incubator-seata/actions?query=branch%3A2.7.0+event%3Apush

This is a pre-release / RC for community and incubator voting. Do not treat as the final Apache release until votes pass and artifacts are promoted.


Highlights

  • Benchmark CLI 2.0:支持 AT / XA / TCC / SAGA_ANNOTATION,含 P99.9 延迟统计
  • NamingServer 可观测性:Metrics + Grafana 仪表盘
  • JSON 安全与统一:反序列化白名单、Jackson/fastjson 统一、fastjson2/jackson3 序列化器
  • 客户端注销资源:关闭 DataSourceProxy 时向 TC 发送注销通知(含 protobuf)
  • Raft Watch:HTTP/2 流推送 + HTTP 协议动态切换
  • 虚拟线程:全局虚拟线程切换(#8023)
  • 依赖与安全:tomcat 升级、console/saga npm 依赖精简、p3c 替换为 checkstyle 增量检查

Features

  • #7865 Benchmark 命令行工具
  • #8094 Benchmark XA 模式
  • #8062 Benchmark 真实 TCC 模式
  • #8052 Benchmark SAGA_ANNOTATION 模式
  • #8014 Benchmark P99.9 延迟
  • #7882 NamingServer Metrics
  • #7760 统一 Jackson/fastjson 序列化
  • #7000 多版本 codec + 注册失败原因返回
  • #7973 JSON 反序列化白名单
  • #7903 Raft Watch HTTP/2 流推送
  • #8002 NamingServer Grafana 仪表盘
  • #8020 客户端资源注销通知
  • #8044 注销协议 protobuf 序列化
  • #8046 fastjson2 / jackson3 序列化器
  • #7952 Raft Watch HTTP 协议动态切换
  • #8090 配置忽略的网络接口

Bug Fixes

  • #7929 Kingbase undo log SQL
  • #7940 Jakarta 包路径
  • #7960 控制台 API bean
  • #7956 JDK17+ JaCoCo 空报告
  • #7965 DM/Kingbase 主键索引识别
  • #7981 DataSourceProxy 关闭资源泄漏
  • #7992 分支事务状态缺少 branch type
  • #8035 GET 带 body 的 IllegalArgumentException
  • #8078 MySQL undo log 序列化
  • #8106 AOT 代理 NPE
  • #8113 控制台导出 JSON/下载
  • #8118 rollback 校验查询显式列
  • #8124 批量插入 SQL 函数 PK 提取

Refactor

  • #8023 全局虚拟线程切换
  • #8055 TCC 默认 JSON 解析器切 Jackson
  • #8103 integration RPC 模块重构
  • #8107 Spring 模块重构

Upgrade Notes

  • 默认 JSON 栈向 Jackson 收敛,使用 fastjson1 自定义配置需评估迁移
  • 虚拟线程可通过配置全局开启,JDK 版本需满足项目要求
  • tomcat-embed-core 升级至 9.0.117

Links

3 days ago
superset

superset-helm-chart-0.22.3

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

3 days ago
etcd

v3.7.1

Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).

For installation guides, please check out operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.

Linux
ETCD_VER=v3.7.1

# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version

# start a local etcd server
/tmp/etcd-download-test/etcd

# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.7.1

# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
Docker

etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

ETCD_VER=v3.7.1

rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-${ETCD_VER} \
  gcr.io/etcd-development/etcd:${ETCD_VER} \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new \
  --log-level info \
  --logger zap \
  --log-outputs stderr

docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo
3 days ago
etcd

v3.6.14

Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).

For installation guides, please check out operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.

Linux
ETCD_VER=v3.6.14

# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version

# start a local etcd server
/tmp/etcd-download-test/etcd

# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.6.14

# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
Docker

etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

ETCD_VER=v3.6.14

rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-${ETCD_VER} \
  gcr.io/etcd-development/etcd:${ETCD_VER} \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new \
  --log-level info \
  --logger zap \
  --log-outputs stderr

docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo
3 days ago
redis

8.8.1

SECURITY: There is a security fix in the release.

Security fixes

  • RedisBloom/RedisBloom#1044 Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution
3 days ago
redis

8.6.5

SECURITY: There are security fixes in the release.

Security fixes

  • A crafted stream RESTORE payload can make two consumers share the same NACK, leading to a use-after-free that may result in Remote Code Execution
  • RedisBloom/RedisBloom#1046 Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution

Bug fixes

  • RedisBloom/RedisBloom#1021 Replicate CF.LOADCHUNK data chunks to prevent silent Cuckoo Filter data loss on failover
3 days ago
etcd

v3.5.33

Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).

For installation guides, please check out operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.

Linux
ETCD_VER=v3.5.33

# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version

# start a local etcd server
/tmp/etcd-download-test/etcd

# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.5.33

# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64

/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
Docker

etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

ETCD_VER=v3.5.33

rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-${ETCD_VER} \
  gcr.io/etcd-development/etcd:${ETCD_VER} \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new \
  --log-level info \
  --logger zap \
  --log-outputs stderr

docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo
3 days ago
redis

8.4.5

SECURITY: There are security fixes in the release.

Security fixes

  • Use-after-free when loading a stream consumer group via RESTORE may lead to Remote Code Execution
  • RedisBloom/RedisBloom#1039 Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution

Bug fixes

  • RedisBloom/RedisBloom#1020 Replicate CF.LOADCHUNK data chunks to prevent silent Cuckoo Filter data loss on failover