Skip to content

Bump dalli from 3.2.8 to 5.0.4 - #6529

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/bundler/dalli-5.0.4
Closed

Bump dalli from 3.2.8 to 5.0.4#6529
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/bundler/dalli-5.0.4

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 19, 2026

Copy link
Copy Markdown
Contributor

Bumps dalli from 3.2.8 to 5.0.4.

Changelog

Sourced from dalli's changelog.

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)

  • Add Dalli::Instrumentation.disable! to allow disabling OpenTelemetry instrumentation at runtime (#1088)

    • Also exposes Dalli::Instrumentation.tracer= for setting a custom tracer

5.0.2

Performance:

  • Add single-server fast path for get_multi, set_multi, and delete_multi (#1077)
    • When only one memcached server is configured, bypass the Pipelined* machinery (IO.select, response buffering, server grouping) and issue all quiet meta requests inline followed by a noop terminator
    • get_multi shows ~1.5x improvement at 10 keys and ~1.75x at 100–500 keys compared to the PipelinedGetter path
    • Thanks to Dan Mayer (Shopify) for this contribution

Development:

  • Add bin/benchmark_branch script for benchmarking against the current branch

5.0.1

Performance:

... (truncated)

Commits
  • 988f611 Merge pull request #1102 from petergoldstein/release/5.0.4
  • c0c5aa6 Prepare 5.0.4 release
  • 91e3756 Merge pull request #1101 from petergoldstein/fix/client-level-string-fastpath
  • 8ea68f4 Add CHANGELOG entry for client-level string_fastpath fix
  • 60c9dca Fix client-level string_fastpath: true being silently ignored
  • 5837ca2 Merge pull request #1099 from petergoldstein/fix/string-fastpath-flag-collision
  • a85c980 Add CHANGELOG entry for string_fastpath flag collision fix
  • 6ae5a54 Add regression test for string_fastpath/compression flag collision
  • 3ef5b7b Fix the string_fastpath option to not comflict with compression
  • 405cdda Merge pull request #1097 from petergoldstein/release/5.0.3
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels May 19, 2026
@dependabot
dependabot Bot force-pushed the dependabot/bundler/dalli-5.0.4 branch 2 times, most recently from 3e30b9c to 7eeea2a Compare May 20, 2026 11:24
Bumps [dalli](https://github.com/petergoldstein/dalli) from 3.2.8 to 5.0.4.
- [Changelog](https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md)
- [Commits](petergoldstein/dalli@v3.2.8...v5.0.4)

---
updated-dependencies:
- dependency-name: dalli
  dependency-version: 5.0.4
  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.4 branch from 7eeea2a to 5ea3d8d Compare May 21, 2026 00:26
@larouxn

larouxn commented May 23, 2026

Copy link
Copy Markdown
Contributor

If I remember correctly this upgrade is generally fine gem wise, it's the underlying memcached version we're using that is the source of incompatibility since Dalli 5 contains changes that makes it a requirement to be on memcached 1.6+, IIRC.

@dependabot @github

dependabot Bot commented on behalf of github May 26, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #6557.

@dependabot dependabot Bot closed this May 26, 2026
@dependabot
dependabot Bot deleted the dependabot/bundler/dalli-5.0.4 branch May 26, 2026 21:40
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