Skip to content

Bump dalli from 3.2.8 to 5.0.2#6302

Open
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/bundler/dalli-5.0.2
Open

Bump dalli from 3.2.8 to 5.0.2#6302
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/bundler/dalli-5.0.2

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

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

Bumps dalli from 3.2.8 to 5.0.2.

Changelog

Sourced from dalli's changelog.

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:

  • Reduce object allocations in pipelined get response processing (#1072, #1078)
    • Offset-based ResponseBuffer: track a read offset instead of slicing a new string after every parsed response; compact only when the consumed portion exceeds 4KB and more than half the buffer
    • Inline response processor parsing: avoid intermediate array allocations from split-based header parsing
    • Block-based pipeline_next_responses: yield (key, value, cas) directly when a block is given, avoiding per-call Hash allocation
    • PipelinedGetter: replace Hash-based socket-to-server mapping with linear scan (faster for typical 1-5 server counts); use Process.clock_gettime(CLOCK_MONOTONIC) instead of Time.now
  • Add cross-version benchmark script (bin/compare_versions) for reproducible performance comparisons across Dalli versions

Bug Fixes:

  • Rescue IOError in connection manager write/flush methods (#1075)
    • Prevents unhandled exceptions when a connection is closed mid-operation
    • Thanks to Graham Cooper (Shopify) for this fix

Development:

  • Add rubocop-thread_safety for detecting thread-safety issues (#1076)
  • Add CONTRIBUTING.md with AI contribution policy (#1074)

5.0.0

Breaking Changes:

  • Removed binary protocol - The meta protocol is now the only supported protocol

    • The :protocol option is no longer used
    • Requires memcached 1.6+ (for meta protocol support)
    • Users on older memcached versions must upgrade or stay on Dalli 4.x
  • Removed SASL authentication - The meta protocol does not support authentication

    • Use network-level security (firewall rules, VPN) or memcached's TLS support instead
    • Users requiring SASL authentication must stay on Dalli 4.x with binary protocol

... (truncated)

Commits
  • d93d9da Merge pull request #1083 from petergoldstein/release/5.0.2
  • f73d29a Bump version to 5.0.2 and update CHANGELOG
  • 3c45c42 Merge pull request #1077 from danmayer/single-server-get-multi-fast-path
  • 623dac9 Merge pull request #1082 from petergoldstein/add-claude-github-actions-177179...
  • 86caa3c "Update Claude Code Review workflow"
  • 27b5f0d "Update Claude PR Assistant workflow"
  • d0fd3d1 Add single-server fast path for set_multi and delete_multi
  • a85e041 Merge pull request #1080 from petergoldstein/add-claude-github-actions-177171...
  • 7a7dff4 "Claude Code Review workflow"
  • de9d5bb "Claude PR Assistant workflow"
  • Additional commits viewable in compare view

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Mar 2, 2026
@dependabot dependabot Bot force-pushed the dependabot/bundler/dalli-5.0.2 branch from d9d8849 to c56248f Compare March 3, 2026 00:06
@dependabot dependabot Bot force-pushed the dependabot/bundler/dalli-5.0.2 branch 3 times, most recently from 7e1d470 to 9a08319 Compare March 23, 2026 20:28
Bumps [dalli](https://github.com/petergoldstein/dalli) from 3.2.8 to 5.0.2.
- [Changelog](https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md)
- [Commits](petergoldstein/dalli@v3.2.8...v5.0.2)

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

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot Bot force-pushed the dependabot/bundler/dalli-5.0.2 branch from 9a08319 to b8c366e Compare March 30, 2026 00:09
@larouxn
Copy link
Copy Markdown
Contributor

larouxn commented Apr 1, 2026

This should be a nice upgrade performance wise. However Dalli 5 contains changes that makes it a requirement to be on memcached 1.6+. @colby-swandale, any idea what version of memchached we're using?

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

Development

Successfully merging this pull request may close these issues.

1 participant