Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jan 12, 2026

This PR contains the following updates:

Package Change Age Confidence
dalli (changelog) 3.2.84.2.0 age confidence

Release Notes

petergoldstein/dalli (dalli)

v4.2.0

Compare Source

==========

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

v4.1.0

Compare Source

==========

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

v4.0.1

Compare Source

==========

  • Add :raw client option to skip serialization entirely, returning raw byte strings
  • Handle OpenSSL::SSL::SSLError in connection manager

v4.0.0

Compare Source

==========

BREAKING CHANGES:

  • Require Ruby 3.1+ (dropped support for Ruby 2.6, 2.7, and 3.0)
  • Removed Dalli::Server deprecated alias - use Dalli::Protocol::Binary instead
  • Removed :compression option - use :compress instead
  • Removed close_on_fork method - use reconnect_on_fork instead

Other changes:

  • Add security warning when using default Marshal serializer (silence with silence_marshal_warning: true)
  • Add defense-in-depth input validation for stats command arguments
  • Add string_fastpath option to skip serialization for simple strings (byroot)
  • Meta protocol set performance improvement (danmayer)
  • Fix connection_pool 3.0 compatibility for Rack session store
  • Fix session recovery after deletion (stengineering0)
  • Fix cannot read response data included terminator \r\n when use meta protocol (matsubara0507)
  • Support SERVER_ERROR response from Memcached as per the memcached spec (grcooper)
  • Update Socket timeout handling to use Socket#timeout= when available (nickamorim)
  • Serializer: reraise all .load errors as UnmarshalError (olleolleolle)
  • Reconnect gracefully when a fork is detected instead of crashing (PatrickTulskie)
  • Update CI to test against memcached 1.6.40

Configuration

📅 Schedule: Branch creation - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@coveralls
Copy link

coveralls commented Jan 12, 2026

Coverage Status

coverage: 99.072%. remained the same
when pulling e46f2aa on renovate/dalli-4.x-lockfile
into 9df5c26 on main.

@mitlib mitlib temporarily deployed to mit-bento-renovate-dall-zotq48 January 12, 2026 02:00 Inactive
@renovate renovate bot force-pushed the renovate/dalli-4.x-lockfile branch 2 times, most recently from 50113ba to 27ed736 Compare January 26, 2026 05:49
@renovate renovate bot force-pushed the renovate/dalli-4.x-lockfile branch from 27ed736 to e46f2aa Compare January 27, 2026 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants