Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Protocol-Redis-Faster for
openSUSE:Factory checked in at 2026-01-17 14:55:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Protocol-Redis-Faster (Old)
and /work/SRC/openSUSE:Factory/.perl-Protocol-Redis-Faster.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Protocol-Redis-Faster"
Sat Jan 17 14:55:13 2026 rev:3 rq:1327635 version:0.4.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Protocol-Redis-Faster/perl-Protocol-Redis-Faster.changes
2019-09-04 09:16:38.166927355 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Protocol-Redis-Faster.new.1928/perl-Protocol-Redis-Faster.changes
2026-01-17 14:56:25.815388922 +0100
@@ -1,0 +2,9 @@
+Thu Jan 8 05:44:55 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 0.4.0 (0.004)
+ see /usr/share/doc/packages/perl-Protocol-Redis-Faster/Changes
+
+ 0.004 2026-01-07 01:53:35 EST
+ - Deprecate and replace with an empty subclass as the optimizations have
been integrated into Protocol::Redis.
+
+-------------------------------------------------------------------
Old:
----
Protocol-Redis-Faster-0.003.tar.gz
New:
----
Protocol-Redis-Faster-0.004.tar.gz
README.md
_scmsync.obsinfo
build.specials.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Protocol-Redis-Faster.spec ++++++
--- /var/tmp/diff_new_pack.s6FW2w/_old 2026-01-17 14:56:26.595421534 +0100
+++ /var/tmp/diff_new_pack.s6FW2w/_new 2026-01-17 14:56:26.595421534 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Protocol-Redis-Faster
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# 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
@@ -16,40 +16,41 @@
#
+%define cpan_name Protocol-Redis-Faster
Name: perl-Protocol-Redis-Faster
-Version: 0.003
+Version: 0.4.0
Release: 0
-%define cpan_name Protocol-Redis-Faster
-Summary: Optimized pure-perl Redis protocol parser/encoder
+# 0.004 -> normalize -> 0.4.0
+%define cpan_version 0.004
License: Artistic-2.0
-Group: Development/Libraries/Perl
-Url: https://metacpan.org/release/%{cpan_name}
-Source0:
https://cpan.metacpan.org/authors/id/D/DB/DBOOK/%{cpan_name}-%{version}.tar.gz
+Summary: Optimized pure-perl Redis protocol parser/encoder (DEPRECATED)
+URL: https://metacpan.org/release/%{cpan_name}
+Source0:
https://cpan.metacpan.org/authors/id/D/DB/DBOOK/%{cpan_name}-%{cpan_version}.tar.gz
+Source100: README.md
BuildArch: noarch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Protocol::Redis) >= 1.0000
+BuildRequires: perl(Protocol::Redis) >= 1.0
BuildRequires: perl(Protocol::Redis::Test)
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(parent)
-Requires: perl(Protocol::Redis) >= 1.0000
+Requires: perl(Protocol::Redis) >= 1.0
Requires: perl(parent)
+Provides: perl(Protocol::Redis::Faster) = %{version}
+%undefine __perllib_provides
%{perl_requires}
%description
-This module implements the Protocol::Redis API with more optimized
-pure-perl internals. See Protocol::Redis for usage documentation.
-
-This is a low level parsing module, if you are looking to use Redis in
-Perl, try Redis, Redis::hiredis, or Mojo::Redis.
+This is an empty subclass of Protocol::Redis. The optimizations it used to
+contain have been implemented in the base class. Consider
+Protocol::Redis::XS for faster parsing.
%prep
-%setup -q -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version} -p1
%build
perl Makefile.PL INSTALLDIRS=vendor
-make %{?_smp_mflags}
+%make_build
%check
make test
@@ -60,7 +61,6 @@
%perl_gen_filelist
%files -f %{name}.files
-%defattr(-,root,root,755)
%doc Changes CONTRIBUTING.md README
%license LICENSE
++++++ Protocol-Redis-Faster-0.003.tar.gz -> Protocol-Redis-Faster-0.004.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/CONTRIBUTING.md
new/Protocol-Redis-Faster-0.004/CONTRIBUTING.md
--- old/Protocol-Redis-Faster-0.003/CONTRIBUTING.md 2019-09-01
15:42:21.000000000 +0200
+++ new/Protocol-Redis-Faster-0.004/CONTRIBUTING.md 2026-01-07
07:53:35.000000000 +0100
@@ -24,8 +24,8 @@
$ curl -L https://cpanmin.us | perl - --installdeps --with-develop .
$ wget -qO - https://cpanmin.us | perl - --installdeps --with-develop .
-Otherwise, look for either a `cpanfile` or `META.json` file for a list of
-dependencies to satisfy.
+Otherwise, look for either a `cpanfile`, `prereqs.json`/`prereqs.yml`, or
+`META.json` file for a list of dependencies to satisfy.
## Running tests
@@ -88,18 +88,17 @@
## Other notes
This distribution maintains the generated `META.json` and either `Makefile.PL`
-or `Build.PL` in the repository. This allows two things:
-[Travis CI](https://travis-ci.org/) can build and test the distribution without
-requiring Dist::Zilla, and the distribution can be installed directly from
-Github or a local git repository using `cpanm` for testing (again, not
-requiring Dist::Zilla).
+or `Build.PL` in the repository. This allows the distribution or its
+dependencies to be installed directly from GitHub or a local git repository
+without needing Dist::Zilla for testing or
+[CI](https://en.wikipedia.org/wiki/Continuous_integration).
$ cpanm git://github.com/Author/Distribution-Name.git
- $ cd Distribution-Name; cpanm .
+ $ cd Distribution-Name; cpanm --installdeps .
-Contributions are preferred in the form of a Github pull request. See
+Contributions are preferred in the form of a GitHub pull request. See
[Using pull requests](https://help.github.com/articles/using-pull-requests/)
-for further information. You can use the Github issue tracker to report issues
+for further information. You can use the GitHub issue tracker to report issues
without an accompanying patch.
# CREDITS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/Changes
new/Protocol-Redis-Faster-0.004/Changes
--- old/Protocol-Redis-Faster-0.003/Changes 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/Changes 2026-01-07 07:53:35.000000000
+0100
@@ -1,3 +1,6 @@
+0.004 2026-01-07 01:53:35 EST
+ - Deprecate and replace with an empty subclass as the optimizations have
been integrated into Protocol::Redis.
+
0.003 2019-09-01 09:42:19 EDT
- Fix parsing of empty bulk string (und3f, #1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/INSTALL
new/Protocol-Redis-Faster-0.004/INSTALL
--- old/Protocol-Redis-Faster-0.003/INSTALL 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/INSTALL 2026-01-07 07:53:35.000000000
+0100
@@ -21,8 +21,11 @@
## Manual installation
-As a last resort, you can manually install it. Download the tarball, untar it,
-install configure prerequisites (see below), then build it:
+As a last resort, you can manually install it. If you have not already
+downloaded the release tarball, you can find the download link on the module's
+MetaCPAN page: https://metacpan.org/pod/Protocol::Redis::Faster
+
+Untar the tarball, install configure prerequisites (see below), then build it:
% perl Makefile.PL
% make && make test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/MANIFEST
new/Protocol-Redis-Faster-0.004/MANIFEST
--- old/Protocol-Redis-Faster-0.003/MANIFEST 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/MANIFEST 2026-01-07 07:53:35.000000000
+0100
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest
v6.012.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest
v6.033.
CONTRIBUTING.md
Changes
INSTALL
@@ -8,9 +8,9 @@
META.yml
Makefile.PL
README
-cpanfile
dist.ini
lib/Protocol/Redis/Faster.pm
+prereqs.yml
t/00-report-prereqs.dd
t/00-report-prereqs.t
t/redis.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/META.json
new/Protocol-Redis-Faster-0.004/META.json
--- old/Protocol-Redis-Faster-0.003/META.json 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/META.json 2026-01-07 07:53:35.000000000
+0100
@@ -1,11 +1,11 @@
{
- "abstract" : "Optimized pure-perl Redis protocol parser/encoder",
+ "abstract" : "Optimized pure-perl Redis protocol parser/encoder
(DEPRECATED)",
"author" : [
"Dan Book <[email protected]>",
"Jan Henning Thorsen <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version
2.150010",
+ "generated_by" : "Dist::Zilla version 6.033, CPAN::Meta::Converter version
2.150010",
"license" : [
"artistic_2"
],
@@ -37,7 +37,6 @@
},
"runtime" : {
"requires" : {
- "Carp" : "0",
"Protocol::Redis" : "1.0000",
"parent" : "0",
"perl" : "5.008001"
@@ -58,7 +57,7 @@
"provides" : {
"Protocol::Redis::Faster" : {
"file" : "lib/Protocol/Redis/Faster.pm",
- "version" : "0.003"
+ "version" : "0.004"
}
},
"release_status" : "stable",
@@ -74,498 +73,14 @@
},
"x_IRC" : "irc://irc.perl.org/#redis"
},
- "version" : "0.003",
- "x_Dist_Zilla" : {
- "perl" : {
- "version" : "5.030000"
- },
- "plugins" : [
- {
- "class" : "Dist::Zilla::Plugin::GithubMeta",
- "name" : "@Author::DBOOK/GithubMeta",
- "version" : "0.58"
- },
- {
- "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
- "config" : {
- "Dist::Zilla::Role::FileWatcher" : {
- "version" : "0.006"
- }
- },
- "name" : "@Author::DBOOK/Readme_Github",
- "version" : "0.163250"
- },
- {
- "class" : "Dist::Zilla::Plugin::GenerateFile",
- "name" : "@Author::DBOOK/Generate_Contrib",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaConfig",
- "name" : "@Author::DBOOK/MetaConfig",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
- "config" : {
- "Dist::Zilla::Plugin::MetaProvides::Package" : {
- "finder_objects" : [
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" :
"@Author::DBOOK/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
- "version" : "6.012"
- }
- ],
- "include_underscores" : 0
- },
- "Dist::Zilla::Role::MetaProvider::Provider" : {
- "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" :
"2.002004",
- "inherit_missing" : 1,
- "inherit_version" : 1,
- "meta_noindex" : 1
- },
- "Dist::Zilla::Role::ModuleMetadata" : {
- "Module::Metadata" : "1.000036",
- "version" : "0.006"
- }
- },
- "name" : "@Author::DBOOK/MetaProvides::Package",
- "version" : "2.004003"
- },
- {
- "class" : "Dist::Zilla::Plugin::Prereqs::FromCPANfile",
- "name" : "@Author::DBOOK/Prereqs::FromCPANfile",
- "version" : "0.08"
- },
- {
- "class" : "Dist::Zilla::Plugin::Git::Contributors",
- "config" : {
- "Dist::Zilla::Plugin::Git::Contributors" : {
- "git_version" : "2.20.1",
- "include_authors" : 0,
- "include_releaser" : 1,
- "order_by" : "name",
- "paths" : []
- }
- },
- "name" : "@Author::DBOOK/Git::Contributors",
- "version" : "0.035"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaNoIndex",
- "name" : "@Author::DBOOK/MetaNoIndex",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaResources",
- "name" : "@Author::DBOOK/MetaResources",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
- "name" : "@Author::DBOOK/CheckChangesHasContent",
- "version" : "0.011"
- },
- {
- "class" : "Dist::Zilla::Plugin::Git::Check",
- "config" : {
- "Dist::Zilla::Plugin::Git::Check" : {
- "untracked_files" : "die"
- },
- "Dist::Zilla::Role::Git::DirtyFiles" : {
- "allow_dirty" : [
- "Changes",
- "README.pod",
- "dist.ini"
- ],
- "allow_dirty_match" : [],
- "changelog" : "Changes"
- },
- "Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.20.1",
- "repo_root" : "."
- }
- },
- "name" : "@Author::DBOOK/Git::Check",
- "version" : "2.046"
- },
- {
- "class" : "Dist::Zilla::Plugin::RewriteVersion",
- "config" : {
- "Dist::Zilla::Plugin::RewriteVersion" : {
- "add_tarball_name" : 0,
- "finders" : [
- ":ExecFiles",
- ":InstallModules"
- ],
- "global" : 0,
- "skip_version_provider" : 0
- }
- },
- "name" : "@Author::DBOOK/RewriteVersion",
- "version" : "0.018"
- },
- {
- "class" : "Dist::Zilla::Plugin::NextRelease",
- "name" : "@Author::DBOOK/NextRelease",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
- "config" : {
- "Dist::Zilla::Plugin::CopyFilesFromRelease" : {
- "filename" : [
- "CONTRIBUTING.md",
- "INSTALL",
- "LICENSE",
- "META.json",
- "Makefile.PL"
- ],
- "match" : []
- }
- },
- "name" : "@Author::DBOOK/CopyFilesFromRelease",
- "version" : "0.006"
- },
- {
- "class" : "Dist::Zilla::Plugin::Git::Commit",
- "config" : {
- "Dist::Zilla::Plugin::Git::Commit" : {
- "add_files_in" : [
- "/"
- ],
- "commit_msg" : "%v%n%n%c"
- },
- "Dist::Zilla::Role::Git::DirtyFiles" : {
- "allow_dirty" : [
- "CONTRIBUTING.md",
- "Changes",
- "INSTALL",
- "LICENSE",
- "META.json",
- "Makefile.PL",
- "README.pod",
- "dist.ini"
- ],
- "allow_dirty_match" : [],
- "changelog" : "Changes"
- },
- "Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.20.1",
- "repo_root" : "."
- },
- "Dist::Zilla::Role::Git::StringFormatter" : {
- "time_zone" : "local"
- }
- },
- "name" : "@Author::DBOOK/Git::Commit",
- "version" : "2.046"
- },
- {
- "class" : "Dist::Zilla::Plugin::Git::Tag",
- "config" : {
- "Dist::Zilla::Plugin::Git::Tag" : {
- "branch" : null,
- "changelog" : "Changes",
- "signed" : 0,
- "tag" : "0.003",
- "tag_format" : "%v",
- "tag_message" : "%v"
- },
- "Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.20.1",
- "repo_root" : "."
- },
- "Dist::Zilla::Role::Git::StringFormatter" : {
- "time_zone" : "local"
- }
- },
- "name" : "@Author::DBOOK/Git::Tag",
- "version" : "2.046"
- },
- {
- "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease",
- "config" : {
- "Dist::Zilla::Plugin::BumpVersionAfterRelease" : {
- "finders" : [
- ":ExecFiles",
- ":InstallModules"
- ],
- "global" : 0,
- "munge_makefile_pl" : 0
- }
- },
- "name" : "@Author::DBOOK/BumpVersionAfterRelease",
- "version" : "0.018"
- },
- {
- "class" : "Dist::Zilla::Plugin::Git::Commit",
- "config" : {
- "Dist::Zilla::Plugin::Git::Commit" : {
- "add_files_in" : [],
- "commit_msg" : "Bump version"
- },
- "Dist::Zilla::Role::Git::DirtyFiles" : {
- "allow_dirty" : [
- "Changes",
- "dist.ini"
- ],
- "allow_dirty_match" : [
- "(?^:^)"
- ],
- "changelog" : "Changes"
- },
- "Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.20.1",
- "repo_root" : "."
- },
- "Dist::Zilla::Role::Git::StringFormatter" : {
- "time_zone" : "local"
- }
- },
- "name" : "@Author::DBOOK/Commit_Version_Bump",
- "version" : "2.046"
- },
- {
- "class" : "Dist::Zilla::Plugin::Git::Push",
- "config" : {
- "Dist::Zilla::Plugin::Git::Push" : {
- "push_to" : [
- "origin"
- ],
- "remotes_must_exist" : 1
- },
- "Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.20.1",
- "repo_root" : "."
- }
- },
- "name" : "@Author::DBOOK/Git::Push",
- "version" : "2.046"
- },
- {
- "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
- "name" : "@Author::DBOOK/PodSyntaxTests",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
- "name" : "@Author::DBOOK/Test::ReportPrereqs",
- "version" : "0.027"
- },
- {
- "class" : "Dist::Zilla::Plugin::Git::GatherDir",
- "config" : {
- "Dist::Zilla::Plugin::GatherDir" : {
- "exclude_filename" : [
- "Build.PL",
- "CONTRIBUTING.md",
- "INSTALL",
- "LICENSE",
- "META.json",
- "Makefile.PL",
- "Makefile.PL"
- ],
- "exclude_match" : [],
- "follow_symlinks" : 0,
- "include_dotfiles" : 0,
- "prefix" : "",
- "prune_directory" : [],
- "root" : "."
- },
- "Dist::Zilla::Plugin::Git::GatherDir" : {
- "include_untracked" : 0
- }
- },
- "name" : "@Author::DBOOK/Git::GatherDir",
- "version" : "2.046"
- },
- {
- "class" : "Dist::Zilla::Plugin::Regenerate::AfterReleasers",
- "config" : {
- "Dist::Zilla::Plugin::Regenerate::AfterReleasers" : {
- "plugins" : [
- "@Author::DBOOK/Readme_Github",
- "@Author::DBOOK/CopyFilesFromRelease"
- ]
- },
- "Dist::Zilla::Role::Regenerator" : {
- "$Dist::Zilla::Role::Regenerator::VERSION" : "0.001001"
- }
- },
- "name" : "@Author::DBOOK/Regenerate::AfterReleasers",
- "version" : "0.001001"
- },
- {
- "class" : "Dist::Zilla::Plugin::PruneCruft",
- "name" : "@Author::DBOOK/PruneCruft",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::ManifestSkip",
- "name" : "@Author::DBOOK/ManifestSkip",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaYAML",
- "name" : "@Author::DBOOK/MetaYAML",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaJSON",
- "name" : "@Author::DBOOK/MetaJSON",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::License",
- "name" : "@Author::DBOOK/License",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
- "config" : {
- "Dist::Zilla::Role::FileWatcher" : {
- "version" : "0.006"
- }
- },
- "name" : "@Author::DBOOK/ReadmeAnyFromPod",
- "version" : "0.163250"
- },
- {
- "class" : "Dist::Zilla::Plugin::ExecDir",
- "name" : "@Author::DBOOK/ExecDir",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::ShareDir",
- "name" : "@Author::DBOOK/ShareDir",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::ExecDir",
- "name" : "@Author::DBOOK/ScriptDir",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::MakeMaker",
- "config" : {
- "Dist::Zilla::Role::TestRunner" : {
- "default_jobs" : 1
- }
- },
- "name" : "@Author::DBOOK/MakeMaker",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::RunExtraTests",
- "config" : {
- "Dist::Zilla::Role::TestRunner" : {
- "default_jobs" : 1
- }
- },
- "name" : "@Author::DBOOK/RunExtraTests",
- "version" : "0.029"
- },
- {
- "class" : "Dist::Zilla::Plugin::InstallGuide",
- "config" : {
- "Dist::Zilla::Role::ModuleMetadata" : {
- "Module::Metadata" : "1.000036",
- "version" : "0.006"
- }
- },
- "name" : "@Author::DBOOK/InstallGuide",
- "version" : "1.200013"
- },
- {
- "class" : "Dist::Zilla::Plugin::Manifest",
- "name" : "@Author::DBOOK/Manifest",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::TestRelease",
- "name" : "@Author::DBOOK/TestRelease",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::ConfirmRelease",
- "name" : "@Author::DBOOK/ConfirmRelease",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::UploadToCPAN",
- "name" : "@Author::DBOOK/UploadToCPAN",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":InstallModules",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":IncModules",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":TestFiles",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":ExtraTestFiles",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":ExecFiles",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":PerlExecFiles",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":ShareFiles",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":MainModule",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":AllFiles",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":NoFiles",
- "version" : "6.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" :
"@Author::DBOOK/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
- "version" : "6.012"
- }
- ],
- "zilla" : {
- "class" : "Dist::Zilla::Dist::Builder",
- "config" : {
- "is_trial" : 0
- },
- "version" : "6.012"
- }
- },
+ "version" : "0.004",
"x_contributors" : [
"Dan Book <[email protected]>",
"Sergey Zasenko <[email protected]>"
],
- "x_generated_by_perl" : "v5.30.0",
- "x_serialization_backend" : "Cpanel::JSON::XS version 4.12"
+ "x_deprecated" : 1,
+ "x_generated_by_perl" : "v5.40.2",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.39",
+ "x_spdx_expression" : "Artistic-2.0"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/META.yml
new/Protocol-Redis-Faster-0.004/META.yml
--- old/Protocol-Redis-Faster-0.003/META.yml 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/META.yml 2026-01-07 07:53:35.000000000
+0100
@@ -1,5 +1,5 @@
---
-abstract: 'Optimized pure-perl Redis protocol parser/encoder'
+abstract: 'Optimized pure-perl Redis protocol parser/encoder (DEPRECATED)'
author:
- 'Dan Book <[email protected]>'
- 'Jan Henning Thorsen <[email protected]>'
@@ -11,7 +11,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version
2.150010'
+generated_by: 'Dist::Zilla version 6.033, CPAN::Meta::Converter version
2.150010'
license: artistic_2
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -28,9 +28,8 @@
provides:
Protocol::Redis::Faster:
file: lib/Protocol/Redis/Faster.pm
- version: '0.003'
+ version: '0.004'
requires:
- Carp: '0'
Protocol::Redis: '1.0000'
parent: '0'
perl: '5.008001'
@@ -39,378 +38,11 @@
bugtracker: https://github.com/Grinnz/Protocol-Redis-Faster/issues
homepage: https://github.com/Grinnz/Protocol-Redis-Faster
repository: https://github.com/Grinnz/Protocol-Redis-Faster.git
-version: '0.003'
-x_Dist_Zilla:
- perl:
- version: '5.030000'
- plugins:
- -
- class: Dist::Zilla::Plugin::GithubMeta
- name: '@Author::DBOOK/GithubMeta'
- version: '0.58'
- -
- class: Dist::Zilla::Plugin::ReadmeAnyFromPod
- config:
- Dist::Zilla::Role::FileWatcher:
- version: '0.006'
- name: '@Author::DBOOK/Readme_Github'
- version: '0.163250'
- -
- class: Dist::Zilla::Plugin::GenerateFile
- name: '@Author::DBOOK/Generate_Contrib'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::MetaConfig
- name: '@Author::DBOOK/MetaConfig'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::MetaProvides::Package
- config:
- Dist::Zilla::Plugin::MetaProvides::Package:
- finder_objects:
- -
- class: Dist::Zilla::Plugin::FinderCode
- name:
'@Author::DBOOK/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
- version: '6.012'
- include_underscores: 0
- Dist::Zilla::Role::MetaProvider::Provider:
- $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004'
- inherit_missing: '1'
- inherit_version: '1'
- meta_noindex: '1'
- Dist::Zilla::Role::ModuleMetadata:
- Module::Metadata: '1.000036'
- version: '0.006'
- name: '@Author::DBOOK/MetaProvides::Package'
- version: '2.004003'
- -
- class: Dist::Zilla::Plugin::Prereqs::FromCPANfile
- name: '@Author::DBOOK/Prereqs::FromCPANfile'
- version: '0.08'
- -
- class: Dist::Zilla::Plugin::Git::Contributors
- config:
- Dist::Zilla::Plugin::Git::Contributors:
- git_version: 2.20.1
- include_authors: 0
- include_releaser: 1
- order_by: name
- paths: []
- name: '@Author::DBOOK/Git::Contributors'
- version: '0.035'
- -
- class: Dist::Zilla::Plugin::MetaNoIndex
- name: '@Author::DBOOK/MetaNoIndex'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::MetaResources
- name: '@Author::DBOOK/MetaResources'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::CheckChangesHasContent
- name: '@Author::DBOOK/CheckChangesHasContent'
- version: '0.011'
- -
- class: Dist::Zilla::Plugin::Git::Check
- config:
- Dist::Zilla::Plugin::Git::Check:
- untracked_files: die
- Dist::Zilla::Role::Git::DirtyFiles:
- allow_dirty:
- - Changes
- - README.pod
- - dist.ini
- allow_dirty_match: []
- changelog: Changes
- Dist::Zilla::Role::Git::Repo:
- git_version: 2.20.1
- repo_root: .
- name: '@Author::DBOOK/Git::Check'
- version: '2.046'
- -
- class: Dist::Zilla::Plugin::RewriteVersion
- config:
- Dist::Zilla::Plugin::RewriteVersion:
- add_tarball_name: 0
- finders:
- - ':ExecFiles'
- - ':InstallModules'
- global: 0
- skip_version_provider: 0
- name: '@Author::DBOOK/RewriteVersion'
- version: '0.018'
- -
- class: Dist::Zilla::Plugin::NextRelease
- name: '@Author::DBOOK/NextRelease'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::CopyFilesFromRelease
- config:
- Dist::Zilla::Plugin::CopyFilesFromRelease:
- filename:
- - CONTRIBUTING.md
- - INSTALL
- - LICENSE
- - META.json
- - Makefile.PL
- match: []
- name: '@Author::DBOOK/CopyFilesFromRelease'
- version: '0.006'
- -
- class: Dist::Zilla::Plugin::Git::Commit
- config:
- Dist::Zilla::Plugin::Git::Commit:
- add_files_in:
- - /
- commit_msg: '%v%n%n%c'
- Dist::Zilla::Role::Git::DirtyFiles:
- allow_dirty:
- - CONTRIBUTING.md
- - Changes
- - INSTALL
- - LICENSE
- - META.json
- - Makefile.PL
- - README.pod
- - dist.ini
- allow_dirty_match: []
- changelog: Changes
- Dist::Zilla::Role::Git::Repo:
- git_version: 2.20.1
- repo_root: .
- Dist::Zilla::Role::Git::StringFormatter:
- time_zone: local
- name: '@Author::DBOOK/Git::Commit'
- version: '2.046'
- -
- class: Dist::Zilla::Plugin::Git::Tag
- config:
- Dist::Zilla::Plugin::Git::Tag:
- branch: ~
- changelog: Changes
- signed: 0
- tag: '0.003'
- tag_format: '%v'
- tag_message: '%v'
- Dist::Zilla::Role::Git::Repo:
- git_version: 2.20.1
- repo_root: .
- Dist::Zilla::Role::Git::StringFormatter:
- time_zone: local
- name: '@Author::DBOOK/Git::Tag'
- version: '2.046'
- -
- class: Dist::Zilla::Plugin::BumpVersionAfterRelease
- config:
- Dist::Zilla::Plugin::BumpVersionAfterRelease:
- finders:
- - ':ExecFiles'
- - ':InstallModules'
- global: 0
- munge_makefile_pl: 0
- name: '@Author::DBOOK/BumpVersionAfterRelease'
- version: '0.018'
- -
- class: Dist::Zilla::Plugin::Git::Commit
- config:
- Dist::Zilla::Plugin::Git::Commit:
- add_files_in: []
- commit_msg: 'Bump version'
- Dist::Zilla::Role::Git::DirtyFiles:
- allow_dirty:
- - Changes
- - dist.ini
- allow_dirty_match:
- - (?^:^)
- changelog: Changes
- Dist::Zilla::Role::Git::Repo:
- git_version: 2.20.1
- repo_root: .
- Dist::Zilla::Role::Git::StringFormatter:
- time_zone: local
- name: '@Author::DBOOK/Commit_Version_Bump'
- version: '2.046'
- -
- class: Dist::Zilla::Plugin::Git::Push
- config:
- Dist::Zilla::Plugin::Git::Push:
- push_to:
- - origin
- remotes_must_exist: 1
- Dist::Zilla::Role::Git::Repo:
- git_version: 2.20.1
- repo_root: .
- name: '@Author::DBOOK/Git::Push'
- version: '2.046'
- -
- class: Dist::Zilla::Plugin::PodSyntaxTests
- name: '@Author::DBOOK/PodSyntaxTests'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::Test::ReportPrereqs
- name: '@Author::DBOOK/Test::ReportPrereqs'
- version: '0.027'
- -
- class: Dist::Zilla::Plugin::Git::GatherDir
- config:
- Dist::Zilla::Plugin::GatherDir:
- exclude_filename:
- - Build.PL
- - CONTRIBUTING.md
- - INSTALL
- - LICENSE
- - META.json
- - Makefile.PL
- - Makefile.PL
- exclude_match: []
- follow_symlinks: 0
- include_dotfiles: 0
- prefix: ''
- prune_directory: []
- root: .
- Dist::Zilla::Plugin::Git::GatherDir:
- include_untracked: 0
- name: '@Author::DBOOK/Git::GatherDir'
- version: '2.046'
- -
- class: Dist::Zilla::Plugin::Regenerate::AfterReleasers
- config:
- Dist::Zilla::Plugin::Regenerate::AfterReleasers:
- plugins:
- - '@Author::DBOOK/Readme_Github'
- - '@Author::DBOOK/CopyFilesFromRelease'
- Dist::Zilla::Role::Regenerator:
- $Dist::Zilla::Role::Regenerator::VERSION: '0.001001'
- name: '@Author::DBOOK/Regenerate::AfterReleasers'
- version: '0.001001'
- -
- class: Dist::Zilla::Plugin::PruneCruft
- name: '@Author::DBOOK/PruneCruft'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::ManifestSkip
- name: '@Author::DBOOK/ManifestSkip'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::MetaYAML
- name: '@Author::DBOOK/MetaYAML'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::MetaJSON
- name: '@Author::DBOOK/MetaJSON'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::License
- name: '@Author::DBOOK/License'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::ReadmeAnyFromPod
- config:
- Dist::Zilla::Role::FileWatcher:
- version: '0.006'
- name: '@Author::DBOOK/ReadmeAnyFromPod'
- version: '0.163250'
- -
- class: Dist::Zilla::Plugin::ExecDir
- name: '@Author::DBOOK/ExecDir'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::ShareDir
- name: '@Author::DBOOK/ShareDir'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::ExecDir
- name: '@Author::DBOOK/ScriptDir'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::MakeMaker
- config:
- Dist::Zilla::Role::TestRunner:
- default_jobs: 1
- name: '@Author::DBOOK/MakeMaker'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::RunExtraTests
- config:
- Dist::Zilla::Role::TestRunner:
- default_jobs: 1
- name: '@Author::DBOOK/RunExtraTests'
- version: '0.029'
- -
- class: Dist::Zilla::Plugin::InstallGuide
- config:
- Dist::Zilla::Role::ModuleMetadata:
- Module::Metadata: '1.000036'
- version: '0.006'
- name: '@Author::DBOOK/InstallGuide'
- version: '1.200013'
- -
- class: Dist::Zilla::Plugin::Manifest
- name: '@Author::DBOOK/Manifest'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::TestRelease
- name: '@Author::DBOOK/TestRelease'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::ConfirmRelease
- name: '@Author::DBOOK/ConfirmRelease'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::UploadToCPAN
- name: '@Author::DBOOK/UploadToCPAN'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':InstallModules'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':IncModules'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':TestFiles'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':ExtraTestFiles'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':ExecFiles'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':PerlExecFiles'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':ShareFiles'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':MainModule'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':AllFiles'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: ':NoFiles'
- version: '6.012'
- -
- class: Dist::Zilla::Plugin::FinderCode
- name: '@Author::DBOOK/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
- version: '6.012'
- zilla:
- class: Dist::Zilla::Dist::Builder
- config:
- is_trial: '0'
- version: '6.012'
+version: '0.004'
x_contributors:
- 'Dan Book <[email protected]>'
- 'Sergey Zasenko <[email protected]>'
-x_generated_by_perl: v5.30.0
-x_serialization_backend: 'YAML::Tiny version 1.73'
+x_deprecated: 1
+x_generated_by_perl: v5.40.2
+x_serialization_backend: 'YAML::Tiny version 1.76'
+x_spdx_expression: Artistic-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/Makefile.PL
new/Protocol-Redis-Faster-0.004/Makefile.PL
--- old/Protocol-Redis-Faster-0.003/Makefile.PL 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/Makefile.PL 2026-01-07 07:53:35.000000000
+0100
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker
v6.012.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker
v6.033.
use strict;
use warnings;
@@ -7,7 +7,7 @@
use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
- "ABSTRACT" => "Optimized pure-perl Redis protocol parser/encoder",
+ "ABSTRACT" => "Optimized pure-perl Redis protocol parser/encoder
(DEPRECATED)",
"AUTHOR" => "Dan Book <dbook\@cpan.org>, Jan Henning Thorsen
<jhthorsen\@cpan.org>",
"CONFIGURE_REQUIRES" => {
"ExtUtils::MakeMaker" => 0
@@ -17,7 +17,6 @@
"MIN_PERL_VERSION" => "5.008001",
"NAME" => "Protocol::Redis::Faster",
"PREREQ_PM" => {
- "Carp" => 0,
"Protocol::Redis" => "1.0000",
"parent" => 0
},
@@ -27,7 +26,7 @@
"Protocol::Redis::Test" => 0,
"Test::More" => "0.88"
},
- "VERSION" => "0.003",
+ "VERSION" => "0.004",
"test" => {
"TESTS" => "t/*.t"
}
@@ -35,7 +34,6 @@
my %FallbackPrereqs = (
- "Carp" => 0,
"ExtUtils::MakeMaker" => 0,
"File::Spec" => 0,
"Protocol::Redis" => "1.0000",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/README
new/Protocol-Redis-Faster-0.004/README
--- old/Protocol-Redis-Faster-0.003/README 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/README 2026-01-07 07:53:35.000000000
+0100
@@ -1,42 +1,13 @@
NAME
Protocol::Redis::Faster - Optimized pure-perl Redis protocol
- parser/encoder
-
-SYNOPSIS
-
- use Protocol::Redis::Faster;
- my $redis = Protocol::Redis::Faster->new(api => 1) or die "API v1 not
supported";
-
- $redis->parse("+foo\r\n");
-
- # get parsed message
- my $message = $redis->get_message;
- print "parsed message: ", $message->{data}, "\n";
-
- # asynchronous parsing interface
- $redis->on_message(sub {
- my ($redis, $message) = @_;
- print "parsed message: ", $message->{data}, "\n";
- });
-
- # parse pipelined message
- $redis->parse("+bar\r\n-error\r\n");
-
- # create message
- print "Get key message:\n",
- $redis->encode({type => '*', data => [
- {type => '$', data => 'string'},
- {type => '+', data => 'OK'}
- ]});
+ parser/encoder (DEPRECATED)
DESCRIPTION
- This module implements the Protocol::Redis API with more optimized
- pure-perl internals. See Protocol::Redis for usage documentation.
-
- This is a low level parsing module, if you are looking to use Redis in
- Perl, try Redis, Redis::hiredis, or Mojo::Redis.
+ This is an empty subclass of Protocol::Redis. The optimizations it used
+ to contain have been implemented in the base class. Consider
+ Protocol::Redis::XS for faster parsing.
BUGS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/cpanfile
new/Protocol-Redis-Faster-0.004/cpanfile
--- old/Protocol-Redis-Faster-0.003/cpanfile 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/cpanfile 1970-01-01 01:00:00.000000000
+0100
@@ -1,6 +0,0 @@
-requires 'perl' => '5.008001';
-requires 'Carp';
-requires 'parent';
-requires 'Protocol::Redis' => '1.0000';
-test_requires 'Protocol::Redis::Test';
-test_requires 'Test::More' => '0.88';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/dist.ini
new/Protocol-Redis-Faster-0.004/dist.ini
--- old/Protocol-Redis-Faster-0.003/dist.ini 2019-09-01 15:42:21.000000000
+0200
+++ new/Protocol-Redis-Faster-0.004/dist.ini 2026-01-07 07:53:35.000000000
+0100
@@ -5,7 +5,9 @@
copyright_holder = Dan Book
copyright_year = 2019
+[Deprecated]
+
[@Author::DBOOK]
-:version = 0.032
+:version = v1.0.3
pod_tests = syntax
irc=irc://irc.perl.org/#redis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Protocol-Redis-Faster-0.003/lib/Protocol/Redis/Faster.pm
new/Protocol-Redis-Faster-0.004/lib/Protocol/Redis/Faster.pm
--- old/Protocol-Redis-Faster-0.003/lib/Protocol/Redis/Faster.pm
2019-09-01 15:42:21.000000000 +0200
+++ new/Protocol-Redis-Faster-0.004/lib/Protocol/Redis/Faster.pm
2026-01-07 07:53:35.000000000 +0100
@@ -2,188 +2,22 @@
use strict;
use warnings;
-use Carp ();
use parent 'Protocol::Redis';
-our $VERSION = '0.003';
-
-my %simple_types = ('+' => 1, '-' => 1, ':' => 1);
-
-sub encode {
- my $self = shift;
-
- my $encoded = '';
- while (@_) {
- my $message = shift;
-
- # Order optimized for client encoding;
- # client commands are sent as arrays of bulk strings
-
- # Bulk strings
- if ($message->{type} eq '$') {
- if (defined $message->{data}) {
- $encoded .= '$' . length($message->{data}) . "\r\n" . $message->{data}
. "\r\n";
- }
- else {
- $encoded .= '$-1' . "\r\n";
- }
- }
-
- # Arrays
- elsif ($message->{type} eq '*') {
- if (defined $message->{data}) {
- $encoded .= '*' . scalar(@{$message->{data}}) . "\r\n";
- unshift @_, @{$message->{data}};
- }
- else {
- $encoded .= '*-1' . "\r\n";
- }
- }
-
- # Simple strings, errors, and integers
- elsif (exists $simple_types{$message->{type}}) {
- $encoded .= $message->{type} . $message->{data} . "\r\n";
- }
-
- # Invalid type
- else {
- Carp::croak(qq/Unknown message type $message->{type}/);
- }
- }
-
- return $encoded;
-}
-
-sub get_message { shift @{$_[0]{_messages}} }
-
-sub on_message {
- my ($self, $cb) = @_;
- $self->{_on_message_cb} = $cb;
-}
-
-sub parse {
- my ($self, $input) = @_;
- $self->{_buf} .= $input;
-
- my $buf = \$self->{_buf};
-
- CHUNK:
- while (length $$buf) {
-
- # Look for message type and get the actual data,
- # length of the bulk string or the size of the array
- if (!$self->{_curr}{type}) {
- my $pos = index $$buf, "\r\n";
- return if $pos < 0; # Wait for more data
-
- $self->{_curr}{type} = substr $$buf, 0, 1;
- $self->{_curr}{len} = substr $$buf, 1, $pos - 1;
- substr $$buf, 0, $pos + 2, ''; # Remove type + length/data + \r\n
- }
-
- # Order optimized for client decoding;
- # large array replies usually contain bulk strings
-
- # Bulk strings
- if ($self->{_curr}{type} eq '$') {
- if ($self->{_curr}{len} == -1) {
- $self->{_curr}{data} = undef;
- }
- elsif (length($$buf) - 2 < $self->{_curr}{len}) {
- return; # Wait for more data
- }
- else {
- $self->{_curr}{data} = substr $$buf, 0, $self->{_curr}{len}, '';
- substr $$buf, 0, 2, ''; # Remove \r\n
- }
- }
-
- # Simple strings, errors, and integers
- elsif (exists $simple_types{$self->{_curr}{type}}) {
- $self->{_curr}{data} = delete $self->{_curr}{len};
- }
-
- # Arrays
- elsif ($self->{_curr}{type} eq '*') {
- $self->{_curr}{data} = $self->{_curr}{len} < 0 ? undef : [];
-
- # Fill the array with data
- if ($self->{_curr}{len} > 0) {
- $self->{_curr} = {parent => $self->{_curr}};
- next CHUNK;
- }
- }
-
- # Invalid input
- else {
- Carp::croak(qq/Unexpected input "$self->{_curr}{type}"/);
- }
-
- # Fill parent array with data
- while (my $parent = delete $self->{_curr}{parent}) {
- delete $self->{_curr}{len};
- push @{$parent->{data}}, $self->{_curr};
-
- if (@{$parent->{data}} < $parent->{len}) {
- $self->{_curr} = {parent => $parent};
- next CHUNK;
- }
- else {
- $self->{_curr} = $parent;
- }
- }
-
- # Emit a complete message
- delete $self->{_curr}{len};
- if (defined $self->{_on_message_cb}) {
- $self->{_on_message_cb}->($self, delete $self->{_curr});
- } else {
- push @{$self->{_messages}}, delete $self->{_curr};
- }
- }
-}
+our $VERSION = '0.004';
1;
=head1 NAME
-Protocol::Redis::Faster - Optimized pure-perl Redis protocol parser/encoder
-
-=head1 SYNOPSIS
-
- use Protocol::Redis::Faster;
- my $redis = Protocol::Redis::Faster->new(api => 1) or die "API v1 not
supported";
-
- $redis->parse("+foo\r\n");
-
- # get parsed message
- my $message = $redis->get_message;
- print "parsed message: ", $message->{data}, "\n";
-
- # asynchronous parsing interface
- $redis->on_message(sub {
- my ($redis, $message) = @_;
- print "parsed message: ", $message->{data}, "\n";
- });
-
- # parse pipelined message
- $redis->parse("+bar\r\n-error\r\n");
-
- # create message
- print "Get key message:\n",
- $redis->encode({type => '*', data => [
- {type => '$', data => 'string'},
- {type => '+', data => 'OK'}
- ]});
+Protocol::Redis::Faster - Optimized pure-perl Redis protocol parser/encoder
(DEPRECATED)
=head1 DESCRIPTION
-This module implements the L<Protocol::Redis> API with more optimized pure-perl
-internals. See L<Protocol::Redis> for usage documentation.
-
-This is a low level parsing module, if you are looking to use Redis in Perl,
-try L<Redis>, L<Redis::hiredis>, or L<Mojo::Redis>.
+This is an empty subclass of L<Protocol::Redis>. The optimizations it used to
+contain have been implemented in the base class. Consider
+L<Protocol::Redis::XS> for faster parsing.
=head1 BUGS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/prereqs.yml
new/Protocol-Redis-Faster-0.004/prereqs.yml
--- old/Protocol-Redis-Faster-0.003/prereqs.yml 1970-01-01 01:00:00.000000000
+0100
+++ new/Protocol-Redis-Faster-0.004/prereqs.yml 2026-01-07 07:53:35.000000000
+0100
@@ -0,0 +1,9 @@
+runtime:
+ requires:
+ perl: '5.008001'
+ parent: 0
+ Protocol::Redis: '1.0000'
+test:
+ requires:
+ Protocol::Redis::Test: 0
+ Test::More: '0.88'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/t/00-report-prereqs.dd
new/Protocol-Redis-Faster-0.004/t/00-report-prereqs.dd
--- old/Protocol-Redis-Faster-0.003/t/00-report-prereqs.dd 2019-09-01
15:42:21.000000000 +0200
+++ new/Protocol-Redis-Faster-0.004/t/00-report-prereqs.dd 2026-01-07
07:53:35.000000000 +0100
@@ -11,7 +11,6 @@
},
'runtime' => {
'requires' => {
- 'Carp' => '0',
'Protocol::Redis' => '1.0000',
'parent' => '0',
'perl' => '5.008001'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-Redis-Faster-0.003/t/00-report-prereqs.t
new/Protocol-Redis-Faster-0.004/t/00-report-prereqs.t
--- old/Protocol-Redis-Faster-0.003/t/00-report-prereqs.t 2019-09-01
15:42:21.000000000 +0200
+++ new/Protocol-Redis-Faster-0.004/t/00-report-prereqs.t 2026-01-07
07:53:35.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.029
use Test::More tests => 1;
@@ -109,20 +109,24 @@
my @reports = [qw/Module Want Have/];
for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
- next if $mod eq 'perl';
next if grep { $_ eq $mod } @exclude;
- my $file = $mod;
- $file =~ s{::}{/}g;
- $file .= ".pm";
- my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
-
my $want = $req_hash->{$phase}{$type}{$mod};
$want = "undef" unless defined $want;
$want = "any" if !$want && $want == 0;
+ if ($mod eq 'perl') {
+ push @reports, ['perl', $want, $]];
+ next;
+ }
+
my $req_string = $want eq 'any' ? 'any version required' :
"version '$want' required";
+ my $file = $mod;
+ $file =~ s{::}{/}g;
+ $file .= ".pm";
+ my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
+
if ($prefix) {
my $have = MM->parse_version( File::Spec->catfile($prefix,
$file) );
$have = "undef" unless defined $have;
@@ -188,6 +192,6 @@
);
}
-pass;
+pass('Reported prereqs');
# vim: ts=4 sts=4 sw=4 et:
++++++ 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: 1767851096
commit: 17127f02caa8424bc59c077be4960f08c84a39e7141b2ed68a38382bf9d3c309
url: https://src.opensuse.org/perl/perl-Protocol-Redis-Faster.git
revision: 17127f02caa8424bc59c077be4960f08c84a39e7141b2ed68a38382bf9d3c309
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-01-15 20:48:16.000000000 +0100
@@ -0,0 +1 @@
+.osc