Update dependency dalli to v5 #1484
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.2.8→5.0.0Release Notes
petergoldstein/dalli (dalli)
v5.0.0Compare Source
==========
Breaking Changes:
Removed binary protocol - The meta protocol is now the only supported protocol
:protocoloption is no longer usedRemoved SASL authentication - The meta protocol does not support authentication
Ruby 3.3+ required - Dropped support for Ruby 3.1 and 3.2
Performance:
IO#readinstead of customreadfullimplementationIO#timeout=supportreadfullfor compatibilityOpenTelemetry:
db.systemrenamed todb.system.namedb.operationrenamed todb.operation.nameserver.addressnow contains hostname only;server.portis a separate integer attributeget_with_metadataandfetch_with_locknow includeserver.address/server.portdb.query.textspan attribute with configurable modes:otel_db_statementoption::include,:obfuscate, ornil(default: omitted)peer.servicespan attribute:otel_peer_serviceoption for logical service namingInternal:
lib/dalli/protocol/meta/*tolib/dalli/protocol/require 'set'(autoloaded in Ruby 3.3+)v4.3.2Compare Source
v4.3.1Compare Source
==========
Bug Fixes:
Fix socket compatibility with gems that monkey-patch TCPSocket (#996, #1012)
socksifyandresolv-replacemodifyTCPSocket#initialize, breaking Ruby 3.0+'sconnect_timeout:keyword argumentTimeout.timeoutwhen monkey-patching is detectedFix network retry bug with
socket_max_failures: 0(#1065)socket_max_failures: 0could still cause retries due to error handlingRetryableNetworkErrorsubclass to distinguish retryable vs non-retryable errorsdown!now raises non-retryableNetworkError,reconnect!raisesRetryableNetworkErrorFix "character class has duplicated range" Ruby warning (#1067)
KeyManager::VALID_NAMESPACE_SEPARATORSthat caused warnings on newer Ruby versionsImprovements:
Add StrictWarnings test helper to catch Ruby warnings early (#1067)
Use bulk attribute setter for OpenTelemetry spans (#1068)
Fix double recording of exceptions on OpenTelemetry spans (#1069)
in_spanmethod already records exceptions and sets error status automaticallyv4.3.0Compare Source
==========
New Features:
namespace_separatoroption to customize the separator between namespace and key (#1019):for backward compatibility:,/,|,.)Dalli::Client.new(servers, namespace: 'myapp', namespace_separator: '/')Bug Fixes:
Fix architecture-dependent struct timeval packing for socket timeouts (#1034)
Fix get_multi hanging with large key counts (#776, #941)
Breaking: Enforce string-only values in raw mode (#1022)
set(key, nil, raw: true)now raisesMarshalErrorinstead of storing""set(key, 123, raw: true)now raisesMarshalErrorinstead of storing"123"raw: truemodeset('counter', '0', raw: true)CI:
v4.2.1Compare Source
v4.2.0Compare Source
==========
Performance:
socket.sync = falsewith explicit flush to reduce syscalls for pipelined operationsNew Features:
get,set,delete,get_multi,set_multi,delete_multi,get_with_metadata, andfetch_with_lockdb.system: memcachedanddb.operationattributesserver.addressattributedb.memcached.key_countattributeget_multispans includedb.memcached.hit_countanddb.memcached.miss_countfor cache efficiency metricsv4.1.0Compare Source
==========
New Features:
set_multifor efficient bulk set operations using pipelined requestsdelete_multifor efficient bulk delete operations using pipelined requestsfetch_with_lockfor thundering herd protection using meta protocol's vivify/recache flags (requires memcached 1.6+)N(vivify) flag for creating stubs on cache missR(recache) flag for winning recache race when TTL is below thresholdW(won recache),X(stale),Z(lost race)delete_stalemethod for marking items as stale instead of deletingget_with_metadatafor advanced cache operations with metadata retrieval (requires memcached 1.6+)::value,:cas,:won_recache,:stale,:lost_recache:return_hit_statusreturns:hit_before(true/false for previous access):return_last_accessreturns:last_access(seconds since last access):skip_lru_bumpprevents LRU update on access:vivify_ttland:recache_ttlfor thundering herd protectionDeprecations:
protocol: :metainstead (requires memcached 1.6+)v4.0.1Compare Source
==========
:rawclient option to skip serialization entirely, returning raw byte stringsOpenSSL::SSL::SSLErrorin connection managerv4.0.0Compare Source
==========
BREAKING CHANGES:
Dalli::Serverdeprecated alias - useDalli::Protocol::Binaryinstead:compressionoption - use:compressinsteadclose_on_forkmethod - usereconnect_on_forkinsteadOther changes:
silence_marshal_warning: true)string_fastpathoption to skip serialization for simple strings (byroot)\r\nwhen use meta protocol (matsubara0507)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.
This PR was generated by Mend Renovate. View the repository job log.