10 hours ago
MeiliSearch

v1.35.0

🌈 Improvements

Observe the search performance

The search routes accept a new field named showPerformanceDetails. When set to ù true`, the search response contains a performance trace, allowing the user to better understand what takes time during a search query.

impacted routes:

  • POST /indexes/<index_uid>/search
  • GET /indexes/<index_uid>/search
  • POST /multi-search
  • POST /indexes/<index_uid>/similar
  • GET /indexes/<index_uid>/similar

Search

routes: POST /indexes/<index_uid>/search and GET /indexes/<index_uid>/search

Request

new request parameters:

  • showPerformanceDetails: true/false (boolean)
example
{
	"q": "glass",
	"showPerformanceDetails": true
}

Response

new response field:

  • performanceDetails: {"<span>": "<human_duration>", .. } (map)
example
{
	"hits": [
		// hits ..
	],
	"query": "glass",
	"processingTimeMs": 5,
	"limit": 20,
	"offset": 0,
	"estimatedTotalHits": 1,
	"requestUid": "<uuid>",
	"performanceDetails": {
		"wait for permit": "295.29µs",
		"search > tokenize": "436.67µs",
		"search > resolve universe": "649.00µs",
		"search > keyword search": "515.71µs",
		"search > format": "288.54µs",
		"search": "3.56ms"
	}
}

Multi-search

route: /multi-search

Request

new request parameters:

  • queries.showPerformanceDetails: true/false (boolean)
example
"queries": [
	{
		"indexUid": "<index_uid>",
		"q": "glass",
		"showPerformanceDetails": true
	}
]

Response

new response field:

  • results.performanceDetails: {"<span>": "<human_duration>", .. } (map)
example
{
	"results": [
		{
			"indexUid": "<index_uid>",
			"hits": [
				// hits ..
			],
			"query": "glass",
			"processingTimeMs": 5,
			"limit": 20,
			"offset": 0,
			"estimatedTotalHits": 1,
			"requestUid": "<uuid>",
			"performanceDetails": {
				"wait for permit": "295.29µs",
				"search > tokenize": "436.67µs",
				"search > resolve universe": "649.00µs",
				"search > keyword search": "515.71µs",
				"search > format": "288.54µs",
				"search": "3.56ms"
			}
		}
	]
}

Federated Search

route: /multi-search

Request

new request parameters:

  • federation.showPerformanceDetails: true/false (boolean)
example
{
	"federation": { "showPerformanceDetails": true },
	"queries": [
		{
			"indexUid": "<index_uid>",
			"q": "glass"
		}
	]
}

Response

new response field:

  • performanceDetails: {"<span>": "<human_duration>", .. } (map)
example
{
	"hits": [
		// hits ..
	],
	"query": "glass",
	"processingTimeMs": 5,
	"limit": 20,
	"offset": 0,
	"estimatedTotalHits": 1,
	"requestUid": "<uuid>",
	"performanceDetails": {
		"wait for permit": "213.83µs",
		"search > tokenize": "171.67µs",
		"search > resolve universe": "257.63µs",
		"search > keyword search": "577.71µs",
		"search > format": "114.96µs",
		"search > federation > wait for remote results": "62.71µs",
		"search > federation > merge results": "120.04µs",
		"search > federation > merge facets": "53.42µs",
		"search > federation": "237.04µs",
		"search": "289.08ms"
	}
}

Similar

route: /indexes/<index_uid>/similar

Request

new request parameters:

  • showPerformanceDetails: true/false (boolean)
example
{
	"id": 143,
	"embedder": "manual",
	"showPerformanceDetails": true
}

Response

new response field:

  • performanceDetails: {"<span>": "<human_duration>", .. } (map)
example
{
	"hits": [
		// hits ..
	],
	"id": "143",
	"processingTimeMs": "[duration]",
	"limit": 20,
	"offset": 0,
	"estimatedTotalHits": 4,
	"performanceDetails": {
		"search > format": "244.92µs",
		"search": "1.25ms"
	}
}

By @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6132

What's Changed (changelog in progress)

New Contributors

Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.34.3...v1.35.0

2 days ago
pingora

Pingora 0.7.0

0.7.0 - 2026-01-30

Highlights

  • Extensible SslDigest to save user-defined TLS context
  • Add ConnectionFilter trait for early TCP connection filtering

🚀 Features

  • Add ConnectionFilter trait for early TCP connection filtering
  • Introduce a virtual L4 stream abstraction
  • Add support for verify_cert and verify_hostname using rustls
  • Exposes the HttpProxy struct to allow external crates to customize the proxy logic.
  • Exposes a new_mtls method for creating a HttpProxy with a client_cert_key to enable mtls peers.
  • Add SSLKEYLOGFILE support to rustls connector
  • Allow spawning background subrequests from main session
  • Allow Extensions in cache LockCore and user tracing
  • Add body-bytes tracking across H1/H2 and proxy metrics
  • Allow setting max_weight on MissFinishType::Appended
  • Allow adding SslDigestExtensions on downstream and upstream
  • Add Custom session support for encapsulated HTTP

🐛 Bug Fixes

  • Use write timeout consistently for h2 body writes
  • Prevent downstream error prior to header from canceling cache fill
  • Fix debug log and new tests
  • Fix size calculation for buffer capacity
  • Fix cache admission on header only misses
  • Fix duplicate zero-size chunk on cache hit
  • Fix chunked trailer end parsing
  • Lock age timeouts cause lock reacquisition
  • Fix transfer fd compile error for non linux os

Sec

  • Removed atty
  • Upgrade lru to >= 0.16.3 crate version because of RUSTSEC-2026-0002

Everything Else

  • Add tracing to log reason for not caching an asset on cache put
  • Evict when asset count exceeds optional watermark
  • Remove trailing comma from Display for HttpPeer
  • Make ProxyHTTP::upstream_response_body_filter return an optional duration for rate limiting
  • Restore daemonize STDOUT/STDERR when error log file is not specified
  • Log task info when upstream header failed to send
  • Check cache enablement to determine cache fill
  • Update meta when revalidating before lock release
  • Add ForceFresh status to cache hit filter
  • Pass stale status to cache lock
  • Bump max multipart ranges to 200
  • Downgrade Expires header warn to debug log
  • CI and effective msrv bump to 1.83
  • Add default noop custom param to client Session
  • Use static str in ErrorSource or ErrorType as_str
  • Use bstr for formatting byte strings
  • Tweak the implementation of and documentation of connection_filter feature
  • Set h1.1 when proxying cacheable responses
  • Add or remove accept-ranges on range header filter
  • Update msrv in github ci, fixup .bleep
  • Override request keepalive on process shutdown
  • Add shutdown flag to proxy session
  • Add ResponseHeader in pingora_http crate's prelude
  • Add a configurable upgrade for pingora-ketama that reduces runtime cpu and memory
  • Add to cache api spans
  • Increase visibility of multirange items
  • Use seek_multipart on body readers
  • Log read error when reading trailers end
  • Re-add the warning about cache-api volatility
  • Default to close on downstream response before body finish
  • Ensure idle_timeout is polled even if idle_timeout is unset so notify events are registered for h2 idle pool, filter out closed connections when retrieving from h2 in use pool.
  • Add simple read test for invalid extra char in header end
  • Allow customizing lock status on Custom NoCacheReasons
  • Close h1 conn by default if req header unfinished
  • Add configurable retries for upgrade sock connect/accept
  • Deflake test by increasing write size
  • Make the version restrictions on rmp and rmp-serde more strict to prevent forcing consumers to use 2024 edition
  • Rewind preread bytes when parsing next H1 response
  • Add epoch and epoch_override to CacheMeta
2 days ago
zuul

v3.3.6

What's Changed

Full Changelog: https://github.com/Netflix/zuul/compare/v3.3.5...v3.3.6

3 days ago
zuul

v3.3.4

What's Changed

Full Changelog: https://github.com/Netflix/zuul/compare/v3.3.3...v3.3.4

3 days ago
rustfs

1.0.0-alpha.82

What's Changed

New Contributors

Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.81...1.0.0-alpha.82