Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Mojo-Redis for openSUSE:Factory
checked in at 2026-06-11 17:29:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojo-Redis (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojo-Redis.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojo-Redis"
Thu Jun 11 17:29:51 2026 rev:8 rq:1358713 version:3.310.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojo-Redis/perl-Mojo-Redis.changes
2022-03-11 11:50:01.846891562 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Mojo-Redis.new.1981/perl-Mojo-Redis.changes
2026-06-11 17:31:17.524221856 +0200
@@ -1,0 +2,14 @@
+Sun Jun 7 00:39:44 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 3.310.0 (3.31)
+ see /usr/share/doc/packages/perl-Mojo-Redis/Changes
+
+ 3.31 2026-06-04T10:49:00
+ - Allow TLS-related query params in Redis URL #80 #84
+ Contributor: Alexander Karelas, hazemkmammu
+
+ 3.30 2026-06-04T10:37:00
+ - Fix connecting through sentinels #78
+ Contributor: Jan "Yenya" Kasprzak
+
+-------------------------------------------------------------------
Old:
----
Mojo-Redis-3.29.tar.gz
New:
----
Mojo-Redis-3.31.tar.gz
README.md
_scmsync.obsinfo
build.specials.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojo-Redis.spec ++++++
--- /var/tmp/diff_new_pack.EkkVO0/_old 2026-06-11 17:31:18.300254405 +0200
+++ /var/tmp/diff_new_pack.EkkVO0/_new 2026-06-11 17:31:18.304254573 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Mojo-Redis
#
-# Copyright (c) 2022 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
@@ -18,21 +18,32 @@
%define cpan_name Mojo-Redis
Name: perl-Mojo-Redis
-Version: 3.29
+Version: 3.310.0
Release: 0
+# 3.31 -> normalize -> 3.310.0
+%define cpan_version 3.31
License: Artistic-2.0
Summary: Redis driver based on Mojo::IOLoop
URL: https://metacpan.org/release/%{cpan_name}
-Source0:
https://cpan.metacpan.org/authors/id/J/JH/JHTHORSEN/%{cpan_name}-%{version}.tar.gz
+Source0:
https://cpan.metacpan.org/authors/id/J/JH/JHTHORSEN/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
+Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Mojolicious) >= 8.50
-BuildRequires: perl(Protocol::Redis::Faster) >= 0.002
+BuildRequires: perl(Mojolicious) >= 8.500
+BuildRequires: perl(Protocol::Redis::Faster) >= 0.2
BuildRequires: perl(Test::More) >= 0.88
-Requires: perl(Mojolicious) >= 8.50
-Requires: perl(Protocol::Redis::Faster) >= 0.002
+Requires: perl(Mojolicious) >= 8.500
+Requires: perl(Protocol::Redis::Faster) >= 0.2
+Provides: perl(Mojo::Redis) = %{version}
+Provides: perl(Mojo::Redis::Cache)
+Provides: perl(Mojo::Redis::Connection)
+Provides: perl(Mojo::Redis::Connection::Offline)
+Provides: perl(Mojo::Redis::Cursor)
+Provides: perl(Mojo::Redis::Database)
+Provides: perl(Mojo::Redis::PubSub)
+%undefine __perllib_provides
%{perl_requires}
%description
@@ -53,7 +64,7 @@
'[email protected]'.
%prep
-%autosetup -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version} -p1
%build
perl Makefile.PL INSTALLDIRS=vendor
++++++ Mojo-Redis-3.29.tar.gz -> Mojo-Redis-3.31.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/Changes new/Mojo-Redis-3.31/Changes
--- old/Mojo-Redis-3.29/Changes 2022-02-23 06:56:18.000000000 +0100
+++ new/Mojo-Redis-3.31/Changes 2026-06-04 03:48:51.000000000 +0200
@@ -1,5 +1,13 @@
Revision history for perl distribution Mojo-Redis
+3.31 2026-06-04T10:49:00
+ - Allow TLS-related query params in Redis URL #80 #84
+ Contributor: Alexander Karelas, hazemkmammu
+
+3.30 2026-06-04T10:37:00
+ - Fix connecting through sentinels #78
+ Contributor: Jan "Yenya" Kasprzak
+
3.29 2022-02-23T14:56:18+0900
- Fix use of "defined" in unit test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/MANIFEST new/Mojo-Redis-3.31/MANIFEST
--- old/Mojo-Redis-3.29/MANIFEST 2022-02-23 06:56:19.000000000 +0100
+++ new/Mojo-Redis-3.31/MANIFEST 2026-06-04 03:49:05.000000000 +0200
@@ -13,7 +13,7 @@
Makefile.PL
MANIFEST This list of files
README.md
-t/00-basic.t
+t/00-project.t
t/benchmark.t
t/cache-offline.t
t/cache.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/META.json
new/Mojo-Redis-3.31/META.json
--- old/Mojo-Redis-3.29/META.json 2022-02-23 06:56:19.000000000 +0100
+++ new/Mojo-Redis-3.31/META.json 2026-06-04 03:49:04.000000000 +0200
@@ -4,7 +4,7 @@
"Jan Henning Thorsen <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 7.62, CPAN::Meta::Converter
version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter
version 2.150010",
"license" : [
"artistic_2"
],
@@ -53,10 +53,10 @@
"web" : "https://github.com/jhthorsen/mojo-redis"
}
},
- "version" : "3.29",
+ "version" : "3.31",
"x_contributors" : [
"Jan Henning Thorsen <[email protected]>",
"Dan Book <[email protected]>"
],
- "x_serialization_backend" : "JSON::PP version 4.06"
+ "x_serialization_backend" : "JSON::PP version 4.16"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/META.yml new/Mojo-Redis-3.31/META.yml
--- old/Mojo-Redis-3.29/META.yml 2022-02-23 06:56:18.000000000 +0100
+++ new/Mojo-Redis-3.31/META.yml 2026-06-04 03:49:04.000000000 +0200
@@ -7,7 +7,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.62, CPAN::Meta::Converter version
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter version
2.150010'
license: artistic_2
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -25,8 +25,8 @@
bugtracker: https://github.com/jhthorsen/mojo-redis/issues
homepage: https://github.com/jhthorsen/mojo-redis
repository: https://github.com/jhthorsen/mojo-redis.git
-version: '3.29'
+version: '3.31'
x_contributors:
- 'Jan Henning Thorsen <[email protected]>'
- 'Dan Book <[email protected]>'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.020'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/Makefile.PL
new/Mojo-Redis-3.31/Makefile.PL
--- old/Mojo-Redis-3.29/Makefile.PL 2022-02-23 06:56:18.000000000 +0100
+++ new/Mojo-Redis-3.31/Makefile.PL 2026-06-04 03:36:09.000000000 +0200
@@ -9,18 +9,9 @@
VERSION_FROM => 'lib/Mojo/Redis.pm',
EXE_FILES => [qw()],
OBJECT => '',
- BUILD_REQUIRES => {}
-,
- TEST_REQUIRES => {
- 'Test::More' => '0.88'
-}
-,
- PREREQ_PM => {
- 'Mojolicious' => '8.50',
- 'Protocol::Redis::Faster' => '0.002',
- 'perl' => '5.016'
-}
-,
+ BUILD_REQUIRES => {},
+ TEST_REQUIRES => {'Test::More' => '0.88'},
+ PREREQ_PM => {'Mojolicious' => '8.50', 'Protocol::Redis::Faster' =>
'0.002', 'perl' => '5.016'},
META_MERGE => {
'dynamic_config' => 0,
'meta-spec' => {version => 2},
@@ -33,11 +24,7 @@
web => 'https://github.com/jhthorsen/mojo-redis',
},
},
- 'x_contributors' => [
- 'Jan Henning Thorsen <[email protected]>',
- 'Dan Book <[email protected]>'
-]
-,
+ 'x_contributors' => ['Jan Henning Thorsen <[email protected]>', 'Dan Book
<[email protected]>'],
},
test => {TESTS => (-e 'META.yml' ? 't/*.t' : 't/*.t xt/*.t')},
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/README.md
new/Mojo-Redis-3.31/README.md
--- old/Mojo-Redis-3.29/README.md 2022-02-23 06:56:18.000000000 +0100
+++ new/Mojo-Redis-3.31/README.md 2026-06-04 03:49:01.000000000 +0200
@@ -135,6 +135,10 @@
$redis = Mojo::Redis->new(\%attrs);
$redis = Mojo::Redis->new(%attrs);
+ # TLS options
+ $redis = Mojo::Redis->new("redis://localhost:6379/1?tls=1");
+ $redis =
Mojo::Redis->new("redis://localhost:6379/1?ca=ca.pem&cert=cert.pem&key=key.pem&SSL_alpn_protocols=foo");
+
Object constructor. Can coerce a string into a
[Mojo::URL](https://metacpan.org/pod/Mojo%3A%3AURL) and set ["url"](#url)
if present.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/lib/Mojo/Redis/Connection.pm
new/Mojo-Redis-3.31/lib/Mojo/Redis/Connection.pm
--- old/Mojo-Redis-3.29/lib/Mojo/Redis/Connection.pm 2021-11-20
02:05:45.000000000 +0100
+++ new/Mojo-Redis-3.31/lib/Mojo/Redis/Connection.pm 2026-06-04
03:49:01.000000000 +0200
@@ -13,6 +13,7 @@
has ioloop => sub { Carp::confess('ioloop is required in constructor') };
has protocol => sub { Carp::confess('protocol is required in constructor') };
has url => sub { Carp::confess('url is required in constructor') };
+has [qw/ tls tls_ca tls_cert tls_key tls_options /];
sub DESTROY {
my $self = shift;
@@ -58,7 +59,14 @@
delete $self->{master_url}; # Make sure we forget master_url so we can
reconnect
$self->protocol->on_message($self->_parse_message_cb);
$self->{id} = $self->ioloop->client(
- $self->_connect_args($url, {port => 6379, timeout => CONNECT_TIMEOUT}),
+ $self->_connect_args(
+ $url,
+ {
+ port => 6379,
+ timeout => CONNECT_TIMEOUT,
+ map { ($_ => $self->$_) } grep defined $self->{$_}, qw/ tls tls_ca
tls_cert tls_key tls_options /
+ }
+ ),
sub {
return unless $self;
my ($loop, $err, $stream) = @_;
@@ -95,6 +103,8 @@
}
$args{timeout} = $defaults->{timeout} || CONNECT_TIMEOUT;
+
+ $args{$_} = $defaults->{$_} foreach grep /^tls/, keys %$defaults;
return \%args;
}
@@ -120,7 +130,7 @@
$stream->on(read => $self->_on_read_cb);
$self->{stream} = $stream;
- my $p = Mojo::Promise->new;
+ my $p = Mojo::Promise->new->ioloop($self->ioloop);
unshift @{$self->{write}}, undef; # prevent _write() from writing
commands
unshift @{$self->{write}}, [$self->_encode(SENTINEL =>
'get-master-addr-by-name', $self->url->host), $p];
unshift @{$self->{write}}, [$self->_encode(AUTH => $url->password)]
if length $url->password;
@@ -330,6 +340,41 @@
Holds a protocol object, such as L<Protocol::Redis::Faster> that is used to
generate and parse Redis messages.
+=head2 tls
+
+ my $tls = $conn->tls;
+ $conn = $conn->tls(1);
+
+See L<Mojo::IOLoop::Client/tls>
+
+=head2 tls_ca
+
+ my $tls_ca = $conn->tls_ca;
+ $conn = $conn->tls_ca('/etc/tls/ca.crt');
+
+See L<Mojo::IOLoop::Client/tls_ca>
+
+=head2 tls_cert
+
+ my $tls_cert = $conn->tls_cert;
+ $conn = $conn->tls_cert('/etc/tls/client.crt');
+
+See L<Mojo::IOLoop::Client/tls_cert>
+
+=head2 tls_key
+
+ my $tls_key = $conn->tls_key;
+ $conn = $conn->tls_key('/etc/tls/client.key');
+
+See L<Mojo::IOLoop::Client/tls_key>
+
+=head2 tls_options
+
+ my $tls_options = $conn->tls_options;
+ $conn = $conn->tls_options({SSL_alpn_protocols => ['foo', 'bar'],
SSL_verify_mode => 0x00});
+
+See L<Mojo::IOLoop::Client/tls_options>
+
=head2 url
$url = $conn->url;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/lib/Mojo/Redis/PubSub.pm
new/Mojo-Redis-3.31/lib/Mojo/Redis/PubSub.pm
--- old/Mojo-Redis-3.29/lib/Mojo/Redis/PubSub.pm 2022-02-21
07:39:33.000000000 +0100
+++ new/Mojo-Redis-3.31/lib/Mojo/Redis/PubSub.pm 2026-06-04
03:49:01.000000000 +0200
@@ -250,8 +250,8 @@
=head2 redis
- $conn = $pubsub->connection;
- $pubsub = $pubsub->connection(Mojo::Redis->new);
+ $conn = $pubsub->redis;
+ $pubsub = $pubsub->redis(Mojo::Redis->new);
Holds a L<Mojo::Redis> object used to create the connections to talk with
Redis.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/lib/Mojo/Redis.pm
new/Mojo-Redis-3.31/lib/Mojo/Redis.pm
--- old/Mojo-Redis-3.29/lib/Mojo/Redis.pm 2022-02-23 06:56:18.000000000
+0100
+++ new/Mojo-Redis-3.31/lib/Mojo/Redis.pm 2026-06-04 03:49:01.000000000
+0200
@@ -9,7 +9,7 @@
use Mojo::Redis::PubSub;
use Scalar::Util 'blessed';
-our $VERSION = '3.29';
+our $VERSION = '3.31';
$ENV{MOJO_REDIS_URL} ||= 'redis://localhost:6379';
@@ -49,11 +49,21 @@
my ($self, %args) = @_;
$args{ioloop} ||= Mojo::IOLoop->singleton;
+ my %tls_args;
+ if (my %url_args = %{$self->url->query->to_hash}) {
+ @tls_args{qw/ tls tls_ca tls_cert tls_key /} = @url_args{qw/ tls ca cert
key /};
+ delete @tls_args{grep !defined $tls_args{$_}, keys %tls_args};
+ my %tls_options = map { ($_, $url_args{$_}) } grep /^SSL_/, keys %url_args;
+ $tls_options{$_} = [split /,/, $tls_options{$_}]
+ foreach grep /^SSL_(psk|(npn|alpn)_protocols)\z/, keys %tls_options;
+ $tls_args{tls_options} = \%tls_options if %tls_options;
+ $tls_args{tls} //= 1 if %tls_args;
+ }
my $conn = Mojo::Redis::Connection->new(
encoding => $self->encoding,
protocol => $self->protocol_class->new(api => 1),
url => $self->url->clone,
- %args
+ %args, %tls_args
);
Scalar::Util::weaken($self);
@@ -236,6 +246,10 @@
$redis = Mojo::Redis->new(\%attrs);
$redis = Mojo::Redis->new(%attrs);
+ # TLS options
+ $redis = Mojo::Redis->new("redis://localhost:6379/1?tls=1");
+ $redis =
Mojo::Redis->new("redis://localhost:6379/1?ca=ca.pem&cert=cert.pem&key=key.pem&SSL_alpn_protocols=foo");
+
Object constructor. Can coerce a string into a L<Mojo::URL> and set L</url>
if present.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/t/00-basic.t
new/Mojo-Redis-3.31/t/00-basic.t
--- old/Mojo-Redis-3.29/t/00-basic.t 2018-10-23 04:35:51.000000000 +0200
+++ new/Mojo-Redis-3.31/t/00-basic.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-use Test::More;
-use File::Find;
-
-if(($ENV{HARNESS_PERL_SWITCHES} || '') =~ /Devel::Cover/) {
- plan skip_all => 'HARNESS_PERL_SWITCHES =~ /Devel::Cover/';
-}
-if(!eval 'use Test::Pod; 1') {
- *Test::Pod::pod_file_ok = sub { SKIP: { skip "pod_file_ok(@_) (Test::Pod is
required)", 1 } };
-}
-if(!eval 'use Test::Pod::Coverage; 1') {
- *Test::Pod::Coverage::pod_coverage_ok = sub { SKIP: { skip
"pod_coverage_ok(@_) (Test::Pod::Coverage is required)", 1 } };
-}
-if(!eval 'use Test::CPAN::Changes; 1') {
- *Test::CPAN::Changes::changes_file_ok = sub { SKIP: { skip "changes_ok(@_)
(Test::CPAN::Changes is required)", 4 } };
-}
-
-find(
- {
- wanted => sub { /\.pm$/ and push @files, $File::Find::name },
- no_chdir => 1
- },
- -e 'blib' ? 'blib' : 'lib',
-);
-
-plan tests => @files * 3 + 4;
-
-for my $file (@files) {
- my $module = $file; $module =~ s,\.pm$,,; $module =~ s,.*/?lib/,,; $module
=~ s,/,::,g;
- ok eval "use $module; 1", "use $module" or diag $@;
- Test::Pod::pod_file_ok($file);
- Test::Pod::Coverage::pod_coverage_ok($module, { also_private => [
qr/^[A-Z_]+$/ ], });
-}
-
-Test::CPAN::Changes::changes_file_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/t/00-project.t
new/Mojo-Redis-3.31/t/00-project.t
--- old/Mojo-Redis-3.29/t/00-project.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Mojo-Redis-3.31/t/00-project.t 2026-06-04 03:36:09.000000000 +0200
@@ -0,0 +1,197 @@
+use Test::More;
+use File::Find;
+
+plan skip_all => 'No such directory: .git' unless $ENV{TEST_ALL} or -d '.git';
+plan skip_all => 'HARNESS_PERL_SWITCHES =~ /Devel::Cover/' if
+($ENV{HARNESS_PERL_SWITCHES} || '') =~ /Devel::Cover/;
+
+for (qw(
+ Test::CPAN::Changes::changes_file_ok+VERSION!4
+ Test::Pod::Coverage::pod_coverage_ok+VERSION!1
+ Test::Pod::pod_file_ok+VERSION!1
+ Test::Spelling::pod_file_spelling_ok+has_working_spellchecker!1
+))
+{
+ my ($fqn, $module, $sub, $check, $skip_n) = /^((.*)::(\w+))\+(\w+)!(\d+)$/;
+ next if eval "use $module;$module->$check";
+ no strict qw(refs);
+ no warnings qw(redefine);
+ *$fqn = sub {
+ SKIP: { skip "$sub(@_) ($module is required)", $skip_n }
+ };
+}
+
+my @files;
+find({wanted => sub { /\.pm$/ and push @files, $File::Find::name }, no_chdir
=> 1}, -e 'blib' ? 'blib' : 'lib');
+plan tests => @files * 4 + 4;
+
+Test::Spelling::add_stopwords(<DATA>)
+ if Test::Spelling->can('has_working_spellchecker') &&
Test::Spelling->has_working_spellchecker;
+
+for my $file (@files) {
+ my $module = $file;
+ $module =~ s,\.pm$,,;
+ $module =~ s,.*/?lib/,,;
+ $module =~ s,/,::,g;
+ ok eval "use $module; 1", "use $module" or diag $@;
+ Test::Pod::pod_file_ok($file);
+ Test::Pod::Coverage::pod_coverage_ok($module, {also_private =>
[qr/^[A-Z_]+$/]});
+ Test::Spelling::pod_file_spelling_ok($file);
+}
+
+Test::CPAN::Changes::changes_file_ok();
+
+__DATA__
+ADDR
+AUTH
+GETKEYS
+GETNAME
+HSCAN
+Henning
+HyperLogLog
+HyperLogLogs
+Lua
+PSUBSCRIBE
+Pipelining
+SETNAME
+SKIPME
+SSCAN
+Thorsen
+XRANGE
+ZSCAN
+bgrewriteaof
+bgsave
+bitcount
+bitop
+bitpos
+blpop
+brpop
+brpoplpush
+bzpopmax
+bzpopmin
+cardinality
+dbsize
+decr
+decrby
+del
+differnet
+entires
+evalsha
+expireat
+flushall
+flushdb
+geoadd
+geodist
+geohash
+geopos
+georadius
+georadiusbymember
+geospatial
+getbit
+getrange
+getset
+hdel
+hexists
+hget
+hgetall
+hincrby
+hincrbyfloat
+hkeys
+hlen
+hmget
+hmset
+hset
+hsetnx
+hstrlen
+hvals
+incr
+incrby
+incrbyfloat
+ioloop
+keyspace
+lastsave
+lindex
+linsert
+llen
+lpop
+lpush
+lpushx
+lrange
+lrem
+lset
+ltrim
+mget
+mset
+msetnx
+pexpire
+pexpireat
+pfadd
+pfcount
+pfmerge
+psetex
+psubscribe
+pttl
+pubsub
+randomkey
+readonly
+readwrite
+redis
+redis
+renamenx
+resends
+rpop
+rpoplpush
+rpush
+rpushx
+sadd
+scard
+sdiff
+sdiffstore
+setbit
+setex
+setnx
+setrange
+sinter
+sinterstore
+sismember
+slaveof
+slowlog
+smembers
+smove
+spop
+srandmember
+srem
+sunion
+sunionstore
+ttl
+unlisten
+unwatch
+usecase
+xadd
+xlen
+xpending
+xrange
+xread
+xreadgroup
+xrevrange
+zadd
+zcard
+zcount
+zincrby
+zinterstore
+zlexcount
+zpopmax
+zpopmin
+zrange
+zrangebylex
+zrangebyscore
+zrank
+zrem
+zremrangebylex
+zremrangebyrank
+zremrangebyscore
+zrevrange
+zrevrangebylex
+zrevrangebyscore
+zrevrank
+zscore
+zunionstore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-Redis-3.29/t/connection.t
new/Mojo-Redis-3.31/t/connection.t
--- old/Mojo-Redis-3.29/t/connection.t 2019-02-09 13:13:57.000000000 +0100
+++ new/Mojo-Redis-3.31/t/connection.t 2026-06-04 03:47:06.000000000 +0200
@@ -130,4 +130,45 @@
isnt $db->connection(1)->ioloop, $db->connection(0)->ioloop,
'blocking connection does not share non-blocking connection ioloop';
+note 'Without TLS options';
+$db = $redis->db;
+$conn = $db->connection;
+is $conn->tls, undef, 'tls disabled';
+is $conn->tls_ca, undef, 'no custom tls ca certificate';
+is $conn->tls_cert, undef, 'no custom client tls certificate';
+is $conn->tls_key, undef, 'no custom client tls key';
+is $conn->tls_options, undef, 'no custom tls options';
+
+note 'TLS options passed on to connection';
+$redis = Mojo::Redis->new(
+
'redis://redis.localhost?ca=/var/mojo/app/ca.crt&cert=/var/mojo/app/client.crt&key=/var/mojo/app/client.key&SSL_alpn_protocols=foo',
+);
+$db = $redis->db;
+$conn = $db->connection;
+is $conn->tls, 1, 'tls enabled';
+is $conn->tls_ca, '/var/mojo/app/ca.crt', 'custom tls ca certificate';
+is $conn->tls_cert, '/var/mojo/app/client.crt', 'custom client tls
certificate';
+is $conn->tls_key, '/var/mojo/app/client.key', 'custom client tls key';
+is $conn->tls_options->{SSL_alpn_protocols}[0], 'foo', 'custom tls options';
+
+note 'TLS Options passed on to Mojo::IOLoop::Client';
+my $original_ioloop_client_connect_ref = \&Mojo::IOLoop::Client::connect;
+my $ioloop_client_connect_args;
+Mojo::Util::monkey_patch('Mojo::IOLoop::Client', 'connect' => sub {
$ioloop_client_connect_args = $_[1] });
+
+$conn->_connect;
+is_deeply $ioloop_client_connect_args, {
+ address => 'redis.localhost',
+ port => 6379,
+ timeout => 10,
+ tls => 1,
+ tls_ca => '/var/mojo/app/ca.crt',
+ tls_cert => '/var/mojo/app/client.crt',
+ tls_key => '/var/mojo/app/client.key',
+ tls_options => {
+ SSL_alpn_protocols => ['foo']
+ }
+}, 'connect args';
+Mojo::Util::monkey_patch('Mojo::IOLoop::Client', 'connect' =>
$original_ioloop_client_connect_ref);
+
done_testing;
++++++ README.md ++++++
## Build Results
Current state of perl in openSUSE:Factory is

The current state of perl in the devel project build (devel:languages:perl)

++++++ _scmsync.obsinfo ++++++
mtime: 1780792784
commit: 1a4d316bf7d735990c6822a189b6a984ff5d2d00a5b66187fbf58454bd06418c
url: https://src.opensuse.org/perl/perl-Mojo-Redis
revision: 1a4d316bf7d735990c6822a189b6a984ff5d2d00a5b66187fbf58454bd06418c
projectscmsync: https://src.opensuse.org/perl/_ObsPrj
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-06-07 02:39:44.000000000 +0200
@@ -0,0 +1 @@
+.osc