2 hours ago
zuul

v3.6.13

What's Changed

Full Changelog: https://github.com/Netflix/zuul/compare/v3.6.12...v3.6.13

2 hours ago
questdb

9.4.3

QuestDB 9.4.3

QuestDB 9.4.3 brings some key bug-fixes, along with parquet-native tables and new parquet-querying performance enhancements, with order-of-magnitude speedups for ORDER BY ... LIMIT queries.

For any questions or feedback, please join us on Slack or on Discourse.

See also our prettier release notes page.

Breaking changes 💥

  • Two-bound LIMIT null semantics changed, aligning LIMIT lo, hi with LIMIT n:
    • LIMIT null, n now returns the first N rows (previously the full sorted set)
    • LIMIT n, null now returns the empty result (previously all rows).
    • LIMIT null is unchanged, and returns the full result set.
  • EXPLAIN plan output rewording for encodable sorts:
    • There was inconsistency in the rendering for 'encoding sorts'; this plan node will now render consistently as Encode sort light.
    • If you assert any particular query plan shapes in your regression suite, you will need to update the assertions.

Highlights

Table-level Parquet format

Tables can now store partitions in PARQUET format by default, rather than only NATIVE. Previously, you would need to:

  • Run ALTER TABLE ... CONVERT PARTITION ... TO PARQUET queries to synchronously convert partitions in QuestDB OSS.
  • Enable STORAGE POLICY to asynchronously convert partitions in QuestDB Enterprise.
CREATE TABLE trades (ts TIMESTAMP, price DOUBLE, sym SYMBOL)
TIMESTAMP(ts) PARTITION BY DAY FORMAT PARQUET WAL;

ALTER TABLE trades SET FORMAT PARQUET;
ALTER TABLE trades SET FORMAT NATIVE;

Please note that:

  • FORMAT PARQUET can only be set on partitioned write-ahead-log (WAL) tables.
  • When applying FORMAT PARQUET via ALTER TABLE, historical partitions will not be automatically converted.
  • FORMAT NATIVE remains the default format for tables in QuestDB.
  • Out-of-order writes are more expensive when applied to parquet partitions.

Memory-budgeted Parquet decode cache

There is a fine balance of memory budget versus CPU time when scanning and decoding parquet row groups. A fixed number of decode slots was an inflexible way to balance these two concerns.

Therefore, we have introduced a new memory-budget configuration and deprecated the old slot-based config:

  • New: cairo.sql.parquet.cache.memory.size
    • This is a per-cursor byte budget for decoded row groups (default 256 MB).
  • Deprecated: cairo.sql.parquet.frame.cache.capacity
    • This is still accepted, but not used.

Faster ORDER BY ... LIMIT N

The query engine has a number of optimisations based on the native-format data layout. We've revised the long top-K query path for parquet partitions, by removing a sorting tree and pruning projected columns earlier in the process. This is most valuable for queries over wide tables, with a significant sort plus limit workload.

This dramatically reduces unnecessary row-group decoding, and thus improves the scalability of this query shape for larger limits:

latency_questdb

Concurrent ILP/TCP stale-writes fix

ILP/TCP is a mostly-deprecated ingestion path, though maintained for backwards compatibility. As part of this maintenance, we have fixed a bug which could cause stale data to be written to a table, affecting DECIMAL, LONG256 and implicit casts from BINARY to SYMBOL. This only impacted concurrent writes, so a straightforward single worker TCP stream was unaffected.

Thank you to our users who continue to use this feature and give us valuable feedback that helps us to keep it well-maintained.

With the upcoming QuestDB 10.0 release, we recommend planning an upgrade to our new ingestion API, which brings dramatically better performance and usability across the board.

Changelog

Features

  • feat(sql): add is_end_of_month SQL function by @Dracylfrr in #7214
  • feat(core): add periodic memory usage logging by @jerrinot in #7042
  • feat(core): support parquet format table level by @ideoma in #7107
  • feat(sql): add a memory-budgeted cache for Parquet random access by @puzpuzpuz in #7230

Performance

  • perf(sql): speed up ORDER BY ... LIMIT N queries by @kafka1991 in #7222
  • perf(sql): speed up parallel ORDER BY ... LIMIT N queries with encoded sort keys by @kafka1991 in #7241
  • perf(sql): skip parquet decoding of rows that LIMIT discards by @kafka1991 in #7215
  • perf(sql): push down filters into joins wrapped in views and subqueries by @ideoma in #7244
  • perf(parquet): speed up partition-to-parquet conversion and reduce file size by @RaphDal in #7206

Fixes

  • fix(sql): fix internal error when a dotted name follows an operator by @bluestreak01 in #7260
  • fix(core): fix NATIVE_INDEX_READER leak when a posting-index row cursor is closed after its reader by @bluestreak01 in #7256
  • fix(sql): fix wrong results in splice, right and full outer joins with a left-table filter by @puzpuzpuz in #7225
  • fix(core): fix unexpected logout during HTTP session rotation by @brunocalza in #7249
  • fix(sql): fix internal error when an IN subquery contains a join, and handle declared variables in join ON clauses by @puzpuzpuz in #7211
  • fix(core): fix snapshot restore accepting truncated parquet partitions when _pm sidecar exists by @bluestreak01 in #7243
  • fix(core): fix POSTING-indexed symbol queries returning wrong rows or crashing by @bluestreak01 in #7253
  • fix(wal): fix symbol value corruption when skipping replaced transactions across DDL by @jovfer in #7248
  • fix(core): fix Parquet crashes on malformed files and data corruption on partial reads by @glasstiger in #7223
  • fix(ilp): fix data corruption in concurrent ILP over TCP by @jerrinot in #7240
  • fix(sql): fix wrong first/last results in parallel GROUP BY by @ideoma in #7224
  • fix(core): fix posting index crash and wrong covered reads after rollback by @bluestreak01 in #7229
  • fix(qwp): fix unresponsive network I/O under heavy QWP ingestion by @jerrinot in #7231
  • fix(core): fix crash and native memory overrun in covering index out-of-order commits by @bluestreak01 in #7227

Full Changelog: 9.4.2...9.4.3

11 hours ago
MeiliSearch

v1.47.0 🦇

🌈 Enhancements

Search personalization on federated search

We now support using the search personalization feature on federated search requests.

Like page/hitPerPage or limit/offset, the personalization option must be specified in the federation attribute to work properly. Otherwise, an error will be returned reminding you to move the attribute in federation.

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

The new settings indexer is feature complete 🎉

  • We now better support the tokenizer-related settings
  • We improved the quality of the new settings indexer to enhance the engine's performance when changing the locales, the dictionary, synonyms, stop words, separator, and non-separator tokens.
  • This makes the new settings indexer feature-complete, meaning that, unless you set the MEILI_EXPERIMENTAL_NO_EDITION_2024_FOR_SETTINGS environment variable to true, all settings tasks can now be handled by the new settings indexer, bringing a better scaling behavior, much faster cancellation, and a more precise progress view.

By @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6409

Observability improvements

We expose more Prometheus metrics to improve observability, specifically to show more metrics on document throughput and ease debugging.

By @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6430

🦋 Fixes

🔒 Security

🔩 Misc. changes

Search implementation refactor

Refactor the search pipeline to mutualize the code. The new implementation will always perform a federated search under the hood, and then the output will be transformed into the expected route's output.

Noticeable changes from the user perspective:

  • Some error messages have been modified
  • Small breaking change: a few error codes change, such as MultiSearch<Error> <--> Search<Error>

Other changes

New Contributors

Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.46.1...v1.47.0

13 hours ago
seaweedfs

4.34

What's Changed

Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.33...4.34

3 days ago
zuul

v3.6.12

  • Fix for vulnerability where callers could see content meant for other callers if the origin returns an HTTP 1xx response #2137
3 days ago
dgraph

v25.3.5

What's Changed

Full Changelog: https://github.com/dgraph-io/dgraph/compare/v25.3.4...v25.3.5

3 days ago
dgraph

v25.3.5

What's Changed

Full Changelog: https://github.com/dgraph-io/dgraph/compare/v25.3.4...v25.3.5

4 days ago
spring-cloud-gateway

5.0.2

⭐ New Features

  • Enable body filter codec encoding customization via CodecCustomizer #4151
  • Adds StripContextPath filter #4089

🐞 Bug Fixes

  • RewriteFunction nullability in Spring Boot 4 #4061
  • AbstractProxyExchange takes into account MediaType parameters #3948

📔 Documentation

  • docs(server-webflux): updating gateway actuator documentation as per … #4163
  • Fix typos in DiscoveryLocatorProperties documentation, make terms consistent, remove already implemented TODO #4123
  • Spring Cloud Gateway docs contain wrong configuration properties #4103
  • Spring Cloud Docs has wrong references in "How It Works" section for Server MVC #4098
  • [doc] Fix broken link to GatewayFilter #4073
  • Documentation mismatch: Route configuration path incorrect for Spring Cloud Gateway Server WebFlux #4047
  • Docs: Fix broken GitHub links in Server WebMvc "How It Works" docs #3928
  • CONTRIBUTING references CLA, but this appears to have been replaced with DCO #3884
  • Document TLS/SSL Configuration for Spring Cloud MVC Gateway #3654
  • Better docs about naming convention in PredicateDefinition: Path receives pattern key and it works? #3523

❤️ Contributors

Thank you to all the contributors who worked on this release:

@03hjain, @AahilRafiq, @RenanMarques, @Yuri-Costa09, @dependabot[bot], @garvit-joshi, @jerolba, @qnnn, and @ryanjbaxter

4 days ago
spring-cloud-gateway

4.3.5

⭐ New Features

  • MVC ProxyExchange does not provide observability of URI template #3458
  • Add support for empty path prefixes #3201

📔 Documentation

  • docs: add ReadBody route predicate factory documentation #4138

❤️ Contributors

Thank you to all the contributors who worked on this release:

@dependabot[bot], @mhalbritter, @pachat-pacifique, and @ryanjbaxter