v1.51.0 👽
-
Add filter condition to DSRs by @dureuill in https://github.com/meilisearch/meilisearch/pull/6505
Dynamic search rules (DSR) can now declare a new
filtercondition: it contains a singlevalueskey, whose value is a JSON object. The keys of thisvaluesJSON 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
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.
Dynamic search rules returned by
GET /dynamic-search-rules/{:ruleUid}andPOST /dynamic-search-rulescontain an additionallastUpdatedAtfield.This field is automatically updated with the
enqueuedAtvalue of the last task that modified the rule.POST /dynamic-search-rulesnow lists rules in descendinglastUpdatedAtorder, meaning that the most recently updated rules will be listed first.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 shapeMEILI_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 shapeMEILI_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-upgradeis 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⚠️ - Replication parameters: removing
--experimental-replication-parametersbecause outdated. We now have another way to handle replication. - Import dumps with old document indexer fallback: removing
--experimental-no-edition-2024-for-dumps. This flag existed to prevent bugs related to our new indexer, which is now stable. - No snapshot compression: removing
--experimental-no-snapshot-compactionbecause it's not useful anymore.
- Replication parameters: removing
- Make sure legacy attribute patterns work by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6531
- Missing support for the shorthand filterable attributes syntax
- Add missing logs in multisearch by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6529
- Docs: Fix stale pre-v1.0 supported versions statement by @vishnujayvel in https://github.com/meilisearch/meilisearch/pull/6524
- Bump sigstore/cosign-installer from 4.1.1 to 4.1.2 by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6427
- Bump actions/github-script from 7 to 9 by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6425
- Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6428
- @vishnujayvel made their first contribution in https://github.com/meilisearch/meilisearch/pull/6524
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.
- 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 增量检查
- #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 配置忽略的网络接口
- #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 提取
- 默认 JSON 栈向 Jackson 收敛,使用 fastjson1 自定义配置需评估迁移
- 虚拟线程可通过配置全局开启,JDK 版本需满足项目要求
- tomcat-embed-core 升级至 9.0.117
- Tag commit:
49fef81747c3f7afd9ec0ae054e5a4aece83e5ac(v2.7.0, includes #8184) - Branch: https://github.com/apache/incubator-seata/tree/2.7.0
- Full changelog: https://github.com/apache/incubator-seata/blob/2.7.0/changes/zh-cn/2.x.md
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.
- 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 增量检查
- #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 配置忽略的网络接口
- #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 提取
- 默认 JSON 栈向 Jackson 收敛,使用 fastjson1 自定义配置需评估迁移
- 虚拟线程可通过配置全局开启,JDK 版本需满足项目要求
- tomcat-embed-core 升级至 9.0.117
- Tag commit:
49fef81747c3f7afd9ec0ae054e5a4aece83e5ac(v2.7.0, includes #8184) - Branch: https://github.com/apache/incubator-seata/tree/2.7.0
- Full changelog: https://github.com/apache/incubator-seata/blob/2.7.0/changes/zh-cn/2.x.md
superset-helm-chart-0.22.3
Apache Superset is a modern, enterprise-ready business intelligence web application
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.
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
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
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
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.
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
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
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
8.6.5
SECURITY: There are security fixes in the release.
- 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
- RedisBloom/RedisBloom#1021 Replicate
CF.LOADCHUNKdata chunks to prevent silent Cuckoo Filter data loss on failover
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.
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
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
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
8.4.5
SECURITY: There are security fixes in the release.
- Use-after-free when loading a stream consumer group via
RESTOREmay 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
- RedisBloom/RedisBloom#1020 Replicate
CF.LOADCHUNKdata chunks to prevent silent Cuckoo Filter data loss on failover