Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-kredis for openSUSE:Factory checked in at 2026-07-15 16:33:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-kredis (Old) and /work/SRC/openSUSE:Factory/.rubygem-kredis.new.1991 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-kredis" Wed Jul 15 16:33:56 2026 rev:2 rq:1365326 version:1.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-kredis/rubygem-kredis.changes 2024-12-13 22:34:30.680496653 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-kredis.new.1991/rubygem-kredis.changes 2026-07-15 16:50:43.009048646 +0200 @@ -1,0 +2,15 @@ +Mon Jul 13 09:45:47 UTC 2026 - Aleksei Burlakov <[email protected]> + +- new upstream release version 1.8.0: + * Note that Redis Cluster is not supported by @lewispb in #137 + * Kredis.hash fails with nil values in Redis 5+ by @swanson in #146 + * Bump actions/checkout by @m-nakamura145 in #145 + * Define a missing method #root for the development configurator by @sato11 in #147 + * Ensure Kredis.namespace is set in the thread that executes the test by @jeremy in #156 + * Test against Rails 8 by @jeremy in #157 + * Add the smove method to Kredis::Types::Set by @CoderMiguel in #160 + * Redundant limiter.poke in README.md by @ermolaev in #141 + * Update REAME - Add 'clear' method for 'unique_list' by @divagueame in #144 + * Global namespacing that applies to all threads by @jeremy in #158 + +------------------------------------------------------------------- Old: ---- kredis-1.7.0.gem New: ---- kredis-1.8.0.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-kredis.spec ++++++ --- /var/tmp/diff_new_pack.nP10tw/_old 2026-07-15 16:50:45.993150038 +0200 +++ /var/tmp/diff_new_pack.nP10tw/_new 2026-07-15 16:50:45.993150038 +0200 @@ -1,7 +1,7 @@ # # spec file for package rubygem-kredis # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,13 +24,13 @@ # Name: rubygem-kredis -Version: 1.7.0 +Version: 1.8.0 Release: 0 %define mod_name kredis %define mod_full_name %{mod_name}-%{version} -BuildRequires: ruby-macros >= 5 BuildRequires: %{ruby >= 2.7.0} BuildRequires: %{rubygem gem2rpm} +BuildRequires: ruby-macros >= 5 URL: https://github.com/rails/kredis Source: https://rubygems.org/gems/%{mod_full_name}.gem Source1: gem2rpm.yml ++++++ kredis-1.7.0.gem -> kredis-1.8.0.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MIT-LICENSE new/MIT-LICENSE --- old/MIT-LICENSE 2023-12-29 19:56:03.000000000 +0100 +++ new/MIT-LICENSE 1980-01-02 01:00:00.000000000 +0100 @@ -1,4 +1,4 @@ -Copyright (c) 2020 Basecamp +Copyright (c) 2020-2025 37signals LLC Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -17,4 +17,4 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2023-12-29 19:56:03.000000000 +0100 +++ new/README.md 1980-01-02 01:00:00.000000000 +0100 @@ -48,11 +48,13 @@ list = Kredis.list "mylist" list << "hello world!" # => RPUSH mylist "hello world!" [ "hello world!" ] == list.elements # => LRANGE mylist 0, -1 +list.clear # => DEL mylist integer_list = Kredis.list "myintegerlist", typed: :integer, default: [ 1, 2, 3 ] # => EXISTS? myintegerlist, RPUSH myintegerlist "1" "2" "3" integer_list.append([ 4, 5, 6 ]) # => RPUSH myintegerlist "4" "5" "6" integer_list << 7 # => RPUSH myintegerlist "7" [ 1, 2, 3, 4, 5, 6, 7 ] == integer_list.elements # => LRANGE myintegerlist 0 -1 +integer_list.clear # => DEL myintegerlist unique_list = Kredis.unique_list "myuniquelist" unique_list.append(%w[ 2 3 4 ]) # => LREM myuniquelist 0, "2" + LREM myuniquelist 0, "3" + LREM myuniquelist 0, "4" + RPUSH myuniquelist "2", "3", "4" @@ -61,6 +63,7 @@ unique_list << "5" # => LREM myuniquelist 0, "5" + RPUSH myuniquelist "5" unique_list.remove(3) # => LREM myuniquelist 0, "3" [ "4", "2", "1", "5" ] == unique_list.elements # => LRANGE myuniquelist 0, -1 +unique_list.clear # => DEL myuniquelist ordered_set = Kredis.ordered_set "myorderedset" ordered_set.append(%w[ 2 3 4 ]) # => ZADD myorderedset 1646131025.4953232 2 1646131025.495326 3 1646131025.4953272 4 @@ -75,6 +78,7 @@ set << DateTime.tomorrow # => SADD myset "2021-02-03 00:00:00 +0100" 2 == set.size # => SCARD myset [ DateTime.tomorrow, DateTime.yesterday ] == set.members # => SMEMBERS myset +set.clear # => DEL myset hash = Kredis.hash "myhash" hash.update("key" => "value", "key2" => "value2") # => HSET myhash "key", "value", "key2", "value2" @@ -102,6 +106,7 @@ 2 == counter.value # => GET "mycounter" sleep 6.seconds 0 == counter.value # => GET "mycounter" +counter.reset # => DEL mycounter cycle = Kredis.cycle "mycycle", values: %i[ one two three ] :one == cycle.value # => GET mycycle @@ -111,6 +116,7 @@ :three == cycle.value # => GET mycycle cycle.next # => GET mycycle + SET mycycle 0 :one == cycle.value # => GET mycycle +cycle.reset # => DEL mycycle enum = Kredis.enum "myenum", values: %w[ one two three ], default: "one" "one" == enum.value # => GET myenum @@ -166,14 +172,12 @@ 0 == limiter.value # => GET "limiter" limiter.poke # => SET limiter 0 NX + INCRBY limiter 1 limiter.poke # => SET limiter 0 NX + INCRBY limiter 1 -limiter.poke # => SET limiter 0 NX + INCRBY limiter 1 false == limiter.exceeded? # => GET "limiter" limiter.poke # => SET limiter 0 NX + INCRBY limiter 1 true == limiter.exceeded? # => GET "limiter" sleep 6 limiter.poke # => SET limiter 0 NX + INCRBY limiter 1 limiter.poke # => SET limiter 0 NX + INCRBY limiter 1 -limiter.poke # => SET limiter 0 NX + INCRBY limiter 1 false == limiter.exceeded? # => GET "limiter" ``` @@ -263,7 +267,7 @@ ### Redis support -Kredis works with Redis server 4.0+, with the [Redis Ruby](https://github.com/redis/redis-rb) client version 4.2+. +Kredis works with Redis server 4.0+, with the [Redis Ruby](https://github.com/redis/redis-rb) client version 4.2+. Redis Cluster is not supported. ### Setting SSL options on Redis Connections Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/kredis/namespace.rb new/lib/kredis/namespace.rb --- old/lib/kredis/namespace.rb 2023-12-29 19:56:03.000000000 +0100 +++ new/lib/kredis/namespace.rb 1980-01-02 01:00:00.000000000 +0100 @@ -1,14 +1,31 @@ # frozen_string_literal: true module Kredis::Namespace - def namespace=(namespace) - Thread.current[:kredis_namespace] = namespace - end + attr_accessor :global_namespace def namespace - Thread.current[:kredis_namespace] + if global_namespace + if value = thread_namespace + "#{global_namespace}:#{value}" + else + global_namespace + end + else + thread_namespace + end + end + + def thread_namespace + Thread.current[:kredis_thread_namespace] end + def thread_namespace=(value) + Thread.current[:kredis_thread_namespace] = value + end + + # Backward compatibility + alias_method :namespace=, :thread_namespace= + def namespaced_key(key) namespace ? "#{namespace}:#{key}" : key end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/kredis/railtie.rb new/lib/kredis/railtie.rb --- old/lib/kredis/railtie.rb 2023-12-29 19:56:03.000000000 +0100 +++ new/lib/kredis/railtie.rb 1980-01-02 01:00:00.000000000 +0100 @@ -5,7 +5,7 @@ initializer "kredis.testing" do ActiveSupport.on_load(:active_support_test_case) do - parallelize_setup { |worker| Kredis.namespace = "test-#{worker}" } + parallelize_setup { |worker| Kredis.global_namespace = [ Kredis.global_namespace, :test, worker ].compact.join("-") } teardown { Kredis.clear_all } end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/kredis/types/hash.rb new/lib/kredis/types/hash.rb --- old/lib/kredis/types/hash.rb 2023-12-29 19:56:03.000000000 +0100 +++ new/lib/kredis/types/hash.rb 1980-01-02 01:00:00.000000000 +0100 @@ -18,7 +18,7 @@ end def update(**entries) - hset entries.transform_values { |val| type_to_string(val, typed) } if entries.flatten.any? + hset entries.transform_values { |val| type_to_string(val, typed) }.compact if entries.flatten.any? end def values_at(*keys) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/kredis/types/set.rb new/lib/kredis/types/set.rb --- old/lib/kredis/types/set.rb 2023-12-29 19:56:03.000000000 +0100 +++ new/lib/kredis/types/set.rb 1980-01-02 01:00:00.000000000 +0100 @@ -3,10 +3,13 @@ class Kredis::Types::Set < Kredis::Types::Proxying prepend Kredis::DefaultValues - proxying :smembers, :sadd, :srem, :multi, :del, :sismember, :scard, :spop, :exists?, :srandmember + proxying :smembers, :sadd, :srem, :multi, :del, :sismember, :scard, :spop, :exists?, :srandmember, :smove attr_accessor :typed - + def move(set, member) + destination = set.respond_to?(:key) ? set.key : set + smove(destination, member) + end def members strings_to_types(smembers || [], typed).sort end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/kredis/version.rb new/lib/kredis/version.rb --- old/lib/kredis/version.rb 2023-12-29 19:56:03.000000000 +0100 +++ new/lib/kredis/version.rb 1980-01-02 01:00:00.000000000 +0100 @@ -1,3 +1,3 @@ module Kredis - VERSION = "1.7.0" + VERSION = "1.8.0" end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2023-12-29 19:56:03.000000000 +0100 +++ new/metadata 1980-01-02 01:00:00.000000000 +0100 @@ -1,15 +1,14 @@ --- !ruby/object:Gem::Specification name: kredis version: !ruby/object:Gem::Version - version: 1.7.0 + version: 1.8.0 platform: ruby authors: - Kasper Timm Hansen - David Heinemeier Hansson -autorequire: bindir: bin cert_chain: [] -date: 2023-12-29 00:00:00.000000000 Z +date: 1980-01-02 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: activesupport @@ -73,7 +72,6 @@ - - ">=" - !ruby/object:Gem::Version version: 6.0.0 -description: email: [email protected] executables: [] extensions: [] @@ -118,7 +116,6 @@ licenses: - MIT metadata: {} -post_install_message: rdoc_options: [] require_paths: - lib @@ -133,8 +130,7 @@ - !ruby/object:Gem::Version version: '0' requirements: [] -rubygems_version: 3.4.14 -signing_key: +rubygems_version: 3.6.7 specification_version: 4 summary: Higher-level data structures built on Redis. test_files: []
