Skip to content

Bump dalli from 4.3.3 to 5.0.5 - #2692

Merged
soutaro merged 2 commits into
mainfrom
dependabot/bundler/dalli-5.0.5
Aug 4, 2026
Merged

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

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor

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 compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [dalli](https://github.com/petergoldstein/dalli) from 4.3.3 to 5.0.5.
- [Release notes](https://github.com/petergoldstein/dalli/releases)
- [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:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Aug 3, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner August 3, 2026 21:44
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Aug 3, 2026
@soutaro
soutaro merged commit 69b3323 into main Aug 4, 2026
17 checks passed
@soutaro
soutaro deleted the dependabot/bundler/dalli-5.0.5 branch August 4, 2026 02:27
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.

1 participant