Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 27, 2026

Bumps dalli from 4.0.0 to 4.2.0.

Changelog

Sourced from dalli's changelog.

4.2.0

Performance:

  • Buffered I/O: Use socket.sync = false with explicit flush to reduce syscalls for pipelined operations
  • get_multi optimizations: Use Set for O(1) server tracking lookups
  • Raw mode optimization: Skip bitflags request in meta protocol when in raw mode (saves 2 bytes per request)

New Features:

  • OpenTelemetry tracing support: Automatically instruments operations when OpenTelemetry SDK is present
    • Zero overhead when OpenTelemetry is not loaded
    • Traces get, set, delete, get_multi, set_multi, delete_multi, get_with_metadata, and fetch_with_lock
    • Spans include db.system: memcached and db.operation attributes
    • Single-key operations include server.address attribute
    • Multi-key operations include db.memcached.key_count attribute
    • get_multi spans include db.memcached.hit_count and db.memcached.miss_count for cache efficiency metrics
    • Exceptions are automatically recorded on spans with error status

4.1.0

New Features:

  • Add set_multi for efficient bulk set operations using pipelined requests
  • Add delete_multi for efficient bulk delete operations using pipelined requests
  • Add fetch_with_lock for thundering herd protection using meta protocol's vivify/recache flags (requires memcached 1.6+)
  • Add thundering herd protection support to meta protocol (requires memcached 1.6+):
    • N (vivify) flag for creating stubs on cache miss
    • R (recache) flag for winning recache race when TTL is below threshold
    • Response flags W (won recache), X (stale), Z (lost race)
    • delete_stale method for marking items as stale instead of deleting
  • Add get_with_metadata for advanced cache operations with metadata retrieval (requires memcached 1.6+):
    • Returns hash with :value, :cas, :won_recache, :stale, :lost_recache
    • Optional :return_hit_status returns :hit_before (true/false for previous access)
    • Optional :return_last_access returns :last_access (seconds since last access)
    • Optional :skip_lru_bump prevents LRU update on access
    • Optional :vivify_ttl and :recache_ttl for thundering herd protection

Deprecations:

  • Binary protocol is deprecated and will be removed in Dalli 5.0. Use protocol: :meta instead (requires memcached 1.6+)
  • SASL authentication is deprecated and will be removed in Dalli 5.0. Consider using network-level security or memcached's TLS support

4.0.1

  • Add :raw client option to skip serialization entirely, returning raw byte strings
  • Handle OpenSSL::SSL::SSLError in connection manager
Commits
  • 62f694f Add readfull->read optimization to v5.0 roadmap
  • 2aa84d1 Revert IO#read change due to Ruby 3.1 and JRuby hangs
  • 4dd583e Bump version to 4.2.0
  • c8b8ae6 Deprecate Socket#readfull method
  • 4de9b35 Use IO#read instead of manual readfull loop
  • 3d9cbf7 Update CI improvements section in roadmap
  • 35bf5c9 Add implementation plans for #1034 and #776/#941
  • 0f1f663 Update v4.3.0 roadmap with detailed issue research
  • a3a8e76 Enhance RDoc documentation for Instrumentation module
  • 4e2a1f6 Add tests for raw mode and thundering herd flags, update roadmap
  • Additional commits viewable in compare view

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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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.0.0 to 4.2.0.
- [Changelog](https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md)
- [Commits](petergoldstein/dalli@v4.0.0...v4.2.0)

---
updated-dependencies:
- dependency-name: dalli
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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 Jan 27, 2026
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.

0 participants