Skip to content

Bump dalli from 4.3.3 to 5.0.5#276

Merged
mateuscruz merged 2 commits into
mainfrom
dependabot/bundler/dalli-5.0.5
Jun 2, 2026
Merged

Bump dalli from 4.3.3 to 5.0.5#276
mateuscruz merged 2 commits into
mainfrom
dependabot/bundler/dalli-5.0.5

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jun 2, 2026

Bumps dalli from 4.3.3 to 5.0.5.

Changelog

Sourced from dalli's changelog.

5.0.5

Performance:

  • Batch multi-key commands into a single write to reduce packet overhead (#1107)

    • With TCP_NODELAY set on sockets, each write call emits a separate packet; the meta protocol was calling write up to 3 times per key in multi-key operations (get_multi, set_multi, delete_multi), significantly increasing network traffic compared to the old binary protocol
    • Multi-key request paths now buffer all per-key commands into a single binary string and flush once; single-key paths combine the write and flush into one flushed_write call
    • Thanks to Jean Boussier for this contribution
  • Avoid repeated RUBY_ENGINE checks on every socket read (#1103)

    • Moved the JRuby branch from a runtime if inside ConnectionManager#read to a class-level conditional method definition, so the check happens once at load time rather than on every read call
    • Thanks to Jean Boussier for this contribution
  • Eliminate per-call array allocations in ResponseProcessor (#1104)

    • Token sets passed to error_on_unexpected! (e.g. [VA, EN, HD]) were allocated as new arrays on every invocation; replaced with frozen constants defined once at class load time
    • Thanks to Jean Boussier for this contribution
  • Avoid string copies when building request commands in RequestFormatter (#1106)

    • Changed cmd + TERMINATOR to cmd << TERMINATOR; since cmd is always a mutable string, the in-place append avoids copying the entire command string just to append two bytes
    • Thanks to Jean Boussier for this contribution

5.0.4

Bug fixes:

  • Fix string_fastpath flag collision with compression (#1099)

    • ValueSerializer::FLAG_UTF8 and ValueCompressor::FLAG_COMPRESSED were both 0x2, causing Dalli::UnmarshalError on any UTF-8 string written with string_fastpath: true when compression is enabled, and silent encoding corruption for binary strings
    • Introduces Dalli::Flags to centralise bit flag constants; UTF8 is reassigned to 0x4
    • Adds regression test covering short/long UTF-8, binary, and cross-client read scenarios
    • Thanks to Jean Boussier and Mikael Henriksson for the fix and regression test
  • Fix client-level string_fastpath: true being silently ignored (#1101)

    • Dalli::Client.new(servers, string_fastpath: true) had no effect; the fast path was only taken when string_fastpath: true was passed as a per-request option on each set call
    • Per-request option continues to take precedence over the client-level setting in both directions

5.0.3

Performance:

  • Eliminate double array allocation in Client#perform (#1093)
    • Changed method signature from perform(*all_args) with destructuring to perform(op, key, *args), letting Ruby decompose arguments directly without intermediate array allocations
    • Reduces benchmark time by ~39% across all Dalli operations (get, set, delete, etc.)
    • Thanks to Sam Obeid for this contribution

Features:

  • Support connect_timeout: keyword argument with resolv-replace >= 0.2.0, which now correctly forwards keyword arguments through its TCPSocket patch (#1096)

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code labels Jun 2, 2026
@mateuscruz
Copy link
Copy Markdown
Member

@dependabot recreate

Bumps [dalli](https://github.com/petergoldstein/dalli) from 4.3.3 to 5.0.5.
- [Changelog](https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md)
- [Commits](petergoldstein/dalli@v4.3.3...v5.0.5)

---
updated-dependencies:
- dependency-name: dalli
  dependency-version: 5.0.5
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/bundler/dalli-5.0.5 branch from fced5b9 to 743e2ec Compare June 2, 2026 15:22
@mateuscruz mateuscruz merged commit f1d7489 into main Jun 2, 2026
38 of 49 checks passed
@mateuscruz mateuscruz deleted the dependabot/bundler/dalli-5.0.5 branch June 2, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants