Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Set-Tiny for openSUSE:Factory 
checked in at 2024-08-29 15:43:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Set-Tiny (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Set-Tiny.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Set-Tiny"

Thu Aug 29 15:43:56 2024 rev:3 rq:1197310 version:0.60.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Set-Tiny/perl-Set-Tiny.changes      
2024-06-27 16:03:58.332087944 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Set-Tiny.new.2698/perl-Set-Tiny.changes    
2024-08-29 15:44:54.037052934 +0200
@@ -1,0 +2,11 @@
+Wed Aug 21 05:30:59 UTC 2024 - Tina Müller <timueller+p...@suse.de>
+
+- updated to 0.60.0 (0.06)
+   see /usr/share/doc/packages/perl-Set-Tiny/Changes
+
+  0.06    2024-08-20
+    - Revised Dist::Zilla packaging
+    - Reduced minumum perl version
+    - Fixed contains method to always return a single boolean value.
+
+-------------------------------------------------------------------

Old:
----
  Set-Tiny-0.05.tar.gz

New:
----
  Set-Tiny-0.06.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Set-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.2v3Zf7/_old  2024-08-29 15:44:54.453070207 +0200
+++ /var/tmp/diff_new_pack.2v3Zf7/_new  2024-08-29 15:44:54.457070373 +0200
@@ -18,17 +18,18 @@
 
 %define cpan_name Set-Tiny
 Name:           perl-Set-Tiny
-Version:        0.50.0
+Version:        0.60.0
 Release:        0
-# 0.05 -> normalize -> 0.50.0
-%define cpan_version 0.05
+# 0.06 -> normalize -> 0.60.0
+%define cpan_version 0.06
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        Simple sets of strings
 URL:            https://metacpan.org/release/%{cpan_name}
-Source0:        
https://cpan.metacpan.org/authors/id/A/AR/ARFREITAS/%{cpan_name}-%{cpan_version}.tar.gz
+Source0:        
https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{cpan_version}.tar.gz
 BuildArch:      noarch
 BuildRequires:  perl
 BuildRequires:  perl-macros
+BuildRequires:  perl(Test::More) >= 0.88
 Provides:       perl(Set::Tiny) = %{version}
 %undefine       __perllib_provides
 %{perl_requires}
@@ -57,6 +58,6 @@
 %perl_gen_filelist
 
 %files -f %{name}.files
-%doc Changes examples README README.md
+%doc Changes examples README
 %license LICENSE
 

++++++ Set-Tiny-0.05.tar.gz -> Set-Tiny-0.06.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/.mailmap new/Set-Tiny-0.06/.mailmap
--- old/Set-Tiny-0.05/.mailmap  1970-01-01 01:00:00.000000000 +0100
+++ new/Set-Tiny-0.06/.mailmap  2024-08-20 22:36:17.000000000 +0200
@@ -0,0 +1,3 @@
+Stanis Trendelenburg <stanis.trendelenb...@gmail.com>
+Ricky Morse <remo...@mgh.harvard.edu> <remo...@partners.org>
+Alberto Manuel Brandão Simões <a...@cpan.org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/.perlcriticrc 
new/Set-Tiny-0.06/.perlcriticrc
--- old/Set-Tiny-0.05/.perlcriticrc     1970-01-01 01:00:00.000000000 +0100
+++ new/Set-Tiny-0.06/.perlcriticrc     2024-08-20 22:36:17.000000000 +0200
@@ -0,0 +1,86 @@
+severity = 1
+verbose  = 9
+only = 1
+
+[BuiltinFunctions::ProhibitComplexMappings]
+[BuiltinFunctions::ProhibitLvalueSubstr]
+[BuiltinFunctions::ProhibitShiftRef]
+[BuiltinFunctions::ProhibitSleepViaSelect]
+[BuiltinFunctions::ProhibitStringyEval]
+[BuiltinFunctions::ProhibitUniversalCan]
+[BuiltinFunctions::ProhibitUniversalIsa]
+[BuiltinFunctions::ProhibitVoidGrep]
+[BuiltinFunctions::ProhibitVoidMap]
+[BuiltinFunctions::RequireGlobFunction]
+[BuiltinFunctions::RequireSimpleSortBlock]
+[ClassHierarchies::ProhibitOneArgBless]
+[CodeLayout::ProhibitHardTabs]
+[CodeLayout::RequireConsistentNewlines]
+[ControlStructures::ProhibitCascadingIfElse]
+[ControlStructures::ProhibitDeepNests]
+[ControlStructures::ProhibitLabelsWithSpecialBlockNames]
+[ControlStructures::ProhibitMutatingListFunctions]
+[ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions]
+[ControlStructures::ProhibitUnreachableCode]
+[ControlStructures::ProhibitYadaOperator]
+[ErrorHandling::RequireCheckingReturnValueOfEval]
+[InputOutput::ProhibitBacktickOperators]
+[InputOutput::ProhibitBarewordFileHandles]
+[InputOutput::ProhibitExplicitStdin]
+[InputOutput::ProhibitInteractiveTest]
+[InputOutput::ProhibitJoinedReadline]
+[InputOutput::ProhibitOneArgSelect]
+[InputOutput::ProhibitReadlineInForLoop]
+[InputOutput::ProhibitTwoArgOpen]
+[InputOutput::RequireBriefOpen]
+[InputOutput::RequireCheckedOpen]
+[InputOutput::RequireEncodingWithUTF8Layer]
+[Miscellanea::ProhibitFormats]
+[Miscellanea::ProhibitUnrestrictedNoCritic]
+[Modules::ProhibitAutomaticExportation]
+[Modules::ProhibitConditionalUseStatements]
+[Modules::ProhibitEvilModules]
+[Modules::ProhibitExcessMainComplexity]
+[Modules::RequireBarewordIncludes]
+[Modules::RequireEndWithOne]
+[Modules::RequireExplicitPackage]
+[Modules::RequireFilenameMatchesPackage]
+[NamingConventions::ProhibitAmbiguousNames]
+[Objects::ProhibitIndirectSyntax]
+[RegularExpressions::ProhibitCaptureWithoutTest]
+[RegularExpressions::ProhibitComplexRegexes]
+[RegularExpressions::ProhibitUnusedCapture]
+[Subroutines::ProhibitBuiltinHomonyms]
+[Subroutines::ProhibitExcessComplexity]
+max_mccabe = 30
+[Subroutines::ProhibitExplicitReturnUndef]
+[Subroutines::ProhibitManyArgs]
+[Subroutines::ProhibitNestedSubs]
+[Subroutines::ProhibitReturnSort]
+[Subroutines::ProhibitSubroutinePrototypes]
+[Subroutines::ProhibitUnusedPrivateSubroutines]
+[Subroutines::ProtectPrivateSubs]
+[TestingAndDebugging::ProhibitProlongedStrictureOverride]
+[TestingAndDebugging::RequireTestLabels]
+[TestingAndDebugging::RequireUseStrict]
+[TestingAndDebugging::RequireUseWarnings]
+[ValuesAndExpressions::ProhibitCommaSeparatedStatements]
+[ValuesAndExpressions::ProhibitComplexVersion]
+[ValuesAndExpressions::ProhibitImplicitNewlines]
+[ValuesAndExpressions::ProhibitLeadingZeros]
+[ValuesAndExpressions::ProhibitMismatchedOperators]
+[ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters]
+[ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator]
+[ValuesAndExpressions::ProhibitVersionStrings]
+[ValuesAndExpressions::RequireQuotedHeredocTerminator]
+[Variables::ProhibitAugmentedAssignmentInDeclaration]
+allow_our = 1
+[Variables::ProhibitConditionalDeclarations]
+[Variables::ProhibitMatchVars]
+[Variables::ProhibitReusedNames]
+[Variables::ProhibitUnusedVariables]
+[Variables::ProtectPrivateVars]
+[Variables::RequireInitializationForLocalVars]
+[Variables::RequireLexicalLoopIterators]
+[Variables::RequireLocalizedPunctuationVars]
+[Variables::RequireNegativeIndices]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/Changes new/Set-Tiny-0.06/Changes
--- old/Set-Tiny-0.05/Changes   2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/Changes   2024-08-20 22:36:17.000000000 +0200
@@ -1,22 +1,27 @@
 Revision history for Set-Tiny
 
+0.06    2024-08-20
+  - Revised Dist::Zilla packaging
+  - Reduced minumum perl version
+  - Fixed contains method to always return a single boolean value.
+
 0.05    2024-06-17
-        Migration from Makefile.PL to Dist::Zilla.
-        Enabled warnings pragma.
-        Replaced test files with Dist::Zilla extensions.
-        Minor refactorings to more "modern" Perl.
-        Forcing minimum Perl version.
+  - Migration from Makefile.PL to Dist::Zilla.
+  - Enabled warnings pragma.
+  - Replaced test files with Dist::Zilla extensions.
+  - Minor refactorings to more "modern" Perl.
+  - Forcing minimum Perl version.
 
 0.04    2016-02-22
-        Updated convenience initializer:
-            - If you pass a Set::Tiny, it will return a clone of that Set::Tiny
-            - The test for passing an arrayref is stricter, so it won't do 
weird things to hashrefs.
+  - Updated convenience initializer:
+    - If you pass a Set::Tiny, it will return a clone of that Set::Tiny
+    - The test for passing an arrayref is stricter, so it won't do weird 
things to hashrefs.
 
 0.03    2015-08-26
-        Faster intersection. Thanks to Alberto Simões.
+  - Faster intersection. Thanks to Alberto Simões.
 
 0.02    2014-09-24
-        Added convenience initializer `set`. Thanks to Ricky Morse.
+  - Added convenience initializer `set`. Thanks to Ricky Morse.
 
 0.01    2009-03-18
-        First version, released on an unsuspecting world.
+  - First version, released on an unsuspecting world.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/MANIFEST new/Set-Tiny-0.06/MANIFEST
--- old/Set-Tiny-0.05/MANIFEST  2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/MANIFEST  2024-08-20 22:36:17.000000000 +0200
@@ -1,4 +1,6 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.032.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.031.
+.mailmap
+.perlcriticrc
 Changes
 LICENSE
 MANIFEST
@@ -6,14 +8,26 @@
 META.yml
 Makefile.PL
 README
-README.md
-cpanfile
 dist.ini
 examples/benchmark.pl
 lib/Set/Tiny.pm
+t/00-compile.t
+t/00-report-prereqs.dd
+t/00-report-prereqs.t
 t/set.t
 t/set_init.t
+weaver.ini
 xt/author/critic.t
+xt/author/distmeta.t
+xt/author/eol.t
+xt/author/mojibake.t
+xt/author/no-tabs.t
 xt/author/pod-coverage.t
+xt/author/pod-spell.t
 xt/author/pod-syntax.t
+xt/author/portability.t
+xt/author/test-version.t
+xt/release/changes_has_content.t
+xt/release/cpan-changes.t
 xt/release/kwalitee.t
+xt/release/meta-json.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/META.json new/Set-Tiny-0.06/META.json
--- old/Set-Tiny-0.05/META.json 2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/META.json 2024-08-20 22:36:17.000000000 +0200
@@ -4,7 +4,7 @@
       "Stanis Trendelenburg <trend...@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 6.032, CPAN::Meta::Converter version 
2.150010",
+   "generated_by" : "Dist::Zilla version 6.031, CPAN::Meta::Converter version 
2.150010",
    "license" : [
       "perl_5"
    ],
@@ -16,53 +16,78 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "0",
-            "perl" : "5.012000"
+            "ExtUtils::MakeMaker" : "0"
+         },
+         "suggests" : {
+            "JSON::PP" : "2.27300"
          }
       },
       "develop" : {
          "requires" : {
             "Pod::Coverage::TrustPod" : "0",
+            "Test::CPAN::Changes" : "0.19",
+            "Test::CPAN::Meta" : "0",
+            "Test::CPAN::Meta::JSON" : "0.16",
+            "Test::EOL" : "0",
             "Test::Kwalitee" : "1.21",
+            "Test::Mojibake" : "0",
             "Test::More" : "0.88",
+            "Test::NoTabs" : "0",
             "Test::Perl::Critic" : "0",
             "Test::Pod" : "1.41",
-            "Test::Pod::Coverage" : "1.08"
+            "Test::Pod::Coverage" : "1.08",
+            "Test::Portability::Files" : "0",
+            "Test::Spelling" : "0.12",
+            "Test::Version" : "1"
          }
       },
       "runtime" : {
          "requires" : {
-            "Exporter" : "0",
-            "perl" : "5.012000"
+            "perl" : "5.006000"
          }
       },
       "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "2.120900"
+         },
          "requires" : {
-            "Test::More" : "0",
-            "perl" : "5.012000"
+            "ExtUtils::MakeMaker" : "0",
+            "File::Spec" : "0",
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
+            "Test::More" : "0.88"
          }
       }
    },
    "provides" : {
       "Set::Tiny" : {
          "file" : "lib/Set/Tiny.pm",
-         "version" : "0.05"
+         "version" : "0.06"
       }
    },
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
-         "web" : "https://github.com/glasswalk3r/set-tiny/issues";
+         "web" : "https://github.com/haarg/Set-Tiny/issues";
       },
       "repository" : {
          "type" : "git",
-         "url" : "https://github.com/glasswalk3r/set-tiny.git";,
-         "web" : "https://github.com/glasswalk3r/set-tiny";
+         "url" : "https://github.com/haarg/Set-Tiny.git";,
+         "web" : "https://github.com/haarg/Set-Tiny";
       }
    },
-   "version" : "0.05",
+   "version" : "0.06",
+   "x_contributors" : [
+      "Alberto Manuel Brand\u00e3o Sim\u00f5es <a...@cpan.org>",
+      "Alceu Rodrigues de Freitas Junior <glasswal...@yahoo.com.br>",
+      "brian greenfield <bri...@cpan.org>",
+      "Graham Knop <ha...@haarg.org>",
+      "Ricky Morse <remo...@mgh.harvard.edu>",
+      "Stanis Trendelenburg <stanis.trendelenb...@gmail.com>"
+   ],
    "x_generated_by_perl" : "v5.38.2",
-   "x_serialization_backend" : "Cpanel::JSON::XS version 4.38",
-   "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
+   "x_serialization_backend" : "Cpanel::JSON::XS version 4.37",
+   "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later",
+   "x_use_unsafe_inc" : 0
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/META.yml new/Set-Tiny-0.06/META.yml
--- old/Set-Tiny-0.05/META.yml  2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/META.yml  2024-08-20 22:36:17.000000000 +0200
@@ -3,13 +3,15 @@
 author:
   - 'Stanis Trendelenburg <trend...@cpan.org>'
 build_requires:
-  Test::More: '0'
-  perl: '5.012000'
+  ExtUtils::MakeMaker: '0'
+  File::Spec: '0'
+  IO::Handle: '0'
+  IPC::Open3: '0'
+  Test::More: '0.88'
 configure_requires:
   ExtUtils::MakeMaker: '0'
-  perl: '5.012000'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.032, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'Dist::Zilla version 6.031, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -18,14 +20,21 @@
 provides:
   Set::Tiny:
     file: lib/Set/Tiny.pm
-    version: '0.05'
+    version: '0.06'
 requires:
-  Exporter: '0'
-  perl: '5.012000'
+  perl: '5.006000'
 resources:
-  bugtracker: https://github.com/glasswalk3r/set-tiny/issues
-  repository: https://github.com/glasswalk3r/set-tiny.git
-version: '0.05'
+  bugtracker: https://github.com/haarg/Set-Tiny/issues
+  repository: https://github.com/haarg/Set-Tiny.git
+version: '0.06'
+x_contributors:
+  - 'Alberto Manuel Brandão Simões <a...@cpan.org>'
+  - 'Alceu Rodrigues de Freitas Junior <glasswal...@yahoo.com.br>'
+  - 'brian greenfield <bri...@cpan.org>'
+  - 'Graham Knop <ha...@haarg.org>'
+  - 'Ricky Morse <remo...@mgh.harvard.edu>'
+  - 'Stanis Trendelenburg <stanis.trendelenb...@gmail.com>'
 x_generated_by_perl: v5.38.2
 x_serialization_backend: 'YAML::Tiny version 1.74'
 x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
+x_use_unsafe_inc: 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/Makefile.PL 
new/Set-Tiny-0.06/Makefile.PL
--- old/Set-Tiny-0.05/Makefile.PL       2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/Makefile.PL       2024-08-20 22:36:17.000000000 +0200
@@ -1,8 +1,8 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker 
v6.032.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker 
v6.031.
 use strict;
 use warnings;
 
-use 5.012000;
+use 5.006000;
 
 use ExtUtils::MakeMaker;
 
@@ -14,15 +14,17 @@
   },
   "DISTNAME" => "Set-Tiny",
   "LICENSE" => "perl",
-  "MIN_PERL_VERSION" => "5.012000",
+  "MIN_PERL_VERSION" => "5.006000",
   "NAME" => "Set::Tiny",
-  "PREREQ_PM" => {
-    "Exporter" => 0
-  },
+  "PREREQ_PM" => {},
   "TEST_REQUIRES" => {
-    "Test::More" => 0
+    "ExtUtils::MakeMaker" => 0,
+    "File::Spec" => 0,
+    "IO::Handle" => 0,
+    "IPC::Open3" => 0,
+    "Test::More" => "0.88"
   },
-  "VERSION" => "0.05",
+  "VERSION" => "0.06",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -30,8 +32,11 @@
 
 
 my %FallbackPrereqs = (
-  "Exporter" => 0,
-  "Test::More" => 0
+  "ExtUtils::MakeMaker" => 0,
+  "File::Spec" => 0,
+  "IO::Handle" => 0,
+  "IPC::Open3" => 0,
+  "Test::More" => "0.88"
 );
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/README new/Set-Tiny-0.06/README
--- old/Set-Tiny-0.05/README    2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/README    2024-08-20 22:36:17.000000000 +0200
@@ -1,12 +1,198 @@
-This archive contains the distribution Set-Tiny,
-version 0.05:
+NAME
+    Set::Tiny - Simple sets of strings
 
-  Simple sets of strings
+SYNOPSIS
+        use Set::Tiny;
 
-This software is copyright (c) 2024 by Stanis Trendelenburg.
+        my $s1 = Set::Tiny->new(qw( a b c ));
+        my $s2 = Set::Tiny->new(qw( b c d ));
 
-This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
+        my $u  = $s1->union($s2);
+        my $i  = $s1->intersection($s2);
+        my $s  = $s1->symmetric_difference($s2);
 
+        print $u->as_string; # (a b c d)
+        print $i->as_string; # (b c)
+        print $s->as_string; # (a d)
+
+        print "i is a subset of s1"   if $i->is_subset($s1);
+        print "u is a superset of s1" if $u->is_superset($s1);
+
+        # or using the shorter initializer:
+
+        use Set::Tiny qw( set );
+
+        my $s1 = set(qw( a b c ));
+        my $s2 = set([1, 2, 3]);
+
+DESCRIPTION
+    Set::Tiny is a thin wrapper around regular Perl hashes to perform often
+    needed set operations, such as testing two sets of strings for equality,
+    or checking whether one is contained within the other.
+
+    For a more complete implementation of mathematical set theory, see
+    Set::Scalar. For sets of arbitrary objects, see Set::Object.
+
+  Why Set::Tiny?
+    Convenience
+        "Set::Tiny" aims to provide a convenient interface to commonly used
+        set operations, which you would usually implement using regular
+        hashes and a couple of "for" loops (in fact, that's exactly what
+        "Set::Tiny" does).
+
+    Speed
+        The price in performance you pay for this convenience when using a
+        full-featured set implementation like Set::Scalar is way too high if
+        you don't actually need the advanced functionality it offers. Run
+        examples/benchmark.pl for a (non-representative) comparison between
+        different "Set::" modules.
+
+    Ease of use
+        Set::Object offers better performance than Set::Scalar, but needs a
+        C compiler to install. "Set::Tiny" has no dependencies and contains
+        no C code.
+
+EXPORTABLE FUNCTIONS
+  set( [*list or arrayref*] )
+    If you request it, Set::Tiny can export a function set(), which lets you
+    create a Set::Tiny instance in a more compact form.
+
+    Unlike the constructor, this function also accepts the set elements as
+    an array reference.
+
+    If you pass an existing Set::Tiny to the initializer, it creates a clone
+    of the set and returns that.
+
+METHODS
+    Note that all methods that expect a *list* of set elements stringify
+    their arguments before inserting them into the set.
+
+  new( [*list*] )
+    Class method. Returns a new Set::Tiny object, initialized with the
+    strings in *list*, or the empty set if *list* is empty.
+
+  clone
+  copy
+    Returns a new set with the same elements as this one.
+
+  insert( [*list*] )
+    Inserts the elements in *list* into the set.
+
+  delete( [*list*] )
+  remove( [*list*] )
+    Removes the elements in *list* from the set. Elements that are not
+    members of the set are ignored.
+
+  invert( [*list*] )
+    For each element in *list*, if it is already a member of the set,
+    deletes it from the set, else insert it into the set.
+
+  clear
+    Removes all elements from the set.
+
+  as_string
+    Returns a string representation of the set.
+
+  elements
+  members
+    Returns the (unordered) list of elements.
+
+  size
+    Returns the number of elements.
+
+  has( [*list*] )
+  contains( [*list*] )
+    Returns true if all of the elements in *list* are members of the set. If
+    *list* is empty, returns true.
+
+  element( [*string*] )
+  member( [*string*] )
+    Returns the string if it is contained in the set.
+
+  is_null
+  is_empty
+    Returns true if the set is the empty set.
+
+  union( *set* )
+    Returns a new set containing both the elements of this set and *set*.
+
+  intersection( *set* )
+    Returns a new set containing the elements that are present in both this
+    set and *set*.
+
+  intersection2( *set* )
+    Like intersection(), but orders the sets by size before comparing their
+    elements. This results in a small overhead for small, evenly sized sets,
+    but a large speedup when comparing bigger (~ 100 elements) and very
+    unevenly sized sets.
+
+  difference( *set* )
+    Returns a new set containing the elements of this set with the elements
+    of *set* removed.
+
+  unique( *set* )
+  symmetric_difference( *set* )
+    Returns a new set containing the elements that are present in either
+    this set or *set*, but not in both.
+
+  is_equal( *set* )
+    Returns true if this set contains the same elements as *set*.
+
+  is_disjoint( *set* )
+    Returns true if this set has no elements in common with *set*. Note that
+    the empty set is disjoint to any other set.
+
+  is_properly_intersecting( *set* )
+    Returns true if this set has elements in common with *set*, but both
+    also contain elements that they have not in common with each other.
+
+  is_proper_subset( *set* )
+    Returns true if this set is a proper subset of *set*.
+
+  is_proper_superset( *set* )
+    Returns true if this set is a proper superset of *set*.
+
+  is_subset( *set* )
+    Returns true if this set is a subset of *set*.
+
+  is_superset( *set* )
+    Returns true if this set is a superset of *set*.
+
+AUTHOR
+    Stanis Trendelenburg, "<trendels at cpan.org>"
+
+CREDITS
+    Thanks to Adam Kennedy for advice on how to make this module "Tiny".
+
+SEE ALSO
+    *   Set::Scalar
+
+BUGS
+    Please report any bugs or feature requests on the bugtracker website
+    <https://github.com/haarg/Set-Tiny/issues>
+
+    When submitting a bug or request, please include a test-file or a patch
+    to an existing test-file that illustrates the bug or desired feature.
+
+CONTRIBUTORS
+    *   Alberto Manuel Brandão Simões <a...@cpan.org>
+
+    *   Alceu Rodrigues de Freitas Junior <glasswal...@yahoo.com.br>
+
+    *   brian greenfield <bri...@cpan.org>
+
+    *   Graham Knop <ha...@haarg.org>
+
+    *   Ricky Morse <remo...@mgh.harvard.edu>
+
+    *   Stanis Trendelenburg <stanis.trendelenb...@gmail.com>
+
+AUTHOR
+    Stanis Trendelenburg <trend...@cpan.org>
+
+COPYRIGHT AND LICENSE
+    This software is copyright (c) 2024 by Stanis Trendelenburg.
+
+    This is free software; you can redistribute it and/or modify it under
+    the same terms as the Perl 5 programming language system itself.
 
-This README file was generated by Dist::Zilla::Plugin::Readme v6.032.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/README.md new/Set-Tiny-0.06/README.md
--- old/Set-Tiny-0.05/README.md 2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/README.md 1970-01-01 01:00:00.000000000 +0100
@@ -1,43 +0,0 @@
-# Set-Tiny
-
-`Set::Tiny` is a thin wrapper around regular Perl hashes to perform often 
needed
-set operations, such as testing two sets of strings for equality, or checking
-whether one is contained within the other.
-
-## Installation
-
-The best way to install this module is to use `cpan` or `cpanm`:
-
-```
-cpanm install Set::Tiny
-```
-
-Since `Set::Tiny` is available at [CPAN](https://metacpan.org/).
-
-Another option is to use your package manager (if the module is available).
-
-As a last resource (not recommended) you can download the tarball, unpackt it
-and run the following commands:
-
-```
-perl Makefile.PL
-make
-make test
-make install
-```
-
-## Support and documentation
-
-After installing, you can find documentation for this module with the
-`perldoc` program:
-
-```
-perldoc Set::Tiny
-```
-
-## Copyright and license
-
-Copyright (C) 2009 Stanis Trendelenburg.
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/cpanfile new/Set-Tiny-0.06/cpanfile
--- old/Set-Tiny-0.05/cpanfile  2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/cpanfile  1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-# This file is generated by Dist::Zilla
-# Prereqs are detected automatically. You do not need to edit this file
-
-requires "Exporter" => "0";
-requires "perl" => "5.012000";
-
-on 'test' => sub {
-  requires "Test::More" => "0";
-  requires "perl" => "5.012000";
-};
-
-on 'configure' => sub {
-  requires "ExtUtils::MakeMaker" => "0";
-  requires "perl" => "5.012000";
-};
-
-on 'develop' => sub {
-  requires "Pod::Coverage::TrustPod" => "0";
-  requires "Test::Kwalitee" => "1.21";
-  requires "Test::More" => "0.88";
-  requires "Test::Perl::Critic" => "0";
-  requires "Test::Pod" => "1.41";
-  requires "Test::Pod::Coverage" => "1.08";
-};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/dist.ini new/Set-Tiny-0.06/dist.ini
--- old/Set-Tiny-0.05/dist.ini  2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/dist.ini  2024-08-20 22:36:17.000000000 +0200
@@ -1,56 +1,77 @@
-name = Set-Tiny
-version = 0.05
-author = Stanis Trendelenburg <trend...@cpan.org>
-license = Perl_5
+name             = Set-Tiny
+author           = Stanis Trendelenburg <trend...@cpan.org>
+license          = Perl_5
 copyright_holder = Stanis Trendelenburg
-[GatherDir]
+
+;;; Gather
+[Git::GatherDir]
+include_dotfiles = 1
+exclude_match = ^\.git
 exclude_filename = cpanfile
-[CPANFile]
-comment = This file is generated by Dist::Zilla
-comment = Prereqs are detected automatically. You do not need to edit this file
-[PruneCruft]
-[ManifestSkip]
-[MetaYAML]
+exclude_filename = README.md
+
+;;; Metadata
+[Git::Contributors]
+
+[MetaProvides::Package]
+
+[MetaResources]
+bugtracker.web    = https://github.com/haarg/Set-Tiny/issues
+repository.url    = https://github.com/haarg/Set-Tiny.git
+repository.web    = https://github.com/haarg/Set-Tiny
+repository.type   = git
+
+[Prereqs::FromCPANfile]
+
+[UseUnsafeInc]
+dot_in_INC = 0
+
+;;; Modification
+[PodWeaver]
+; authordep Pod::Weaver::Section::Contributors
+; authordep Pod::Weaver::Section::ReplaceVersion
+; authordep Pod::Weaver::Plugin::StopWords
+
+;;; Extra Files
 [License]
-[Readme]
-[TestRelease]
-[MakeMaker]
+[MetaJSON]
+[MetaYAML]
 [Manifest]
+[Pod2Readme]
+
+;;; Installer
+[MakeMaker]
+
+;;; Release
+[TestRelease]
+[RunExtraTests]
 [ConfirmRelease]
 [UploadToCPAN]
-[MetaJSON]
-[MetaProvides::Package]
-[PodWeaver]
-[AutoPrereqs]
-skip = ^base
-skip = ^warnings
-skip = ^strict
-skip = ^constant
-skip = ^UNIVERSAL
-[OurPkgVersion]
-[MinimumPerl]
-perl = 5.012000
-[MetaResources]
-repository      = https://github.com/glasswalk3r/set-tiny
-bugtracker.web  = https://github.com/glasswalk3r/set-tiny/issues
-repository.url  = https://github.com/glasswalk3r/set-tiny.git
-repository.web  = https://github.com/glasswalk3r/set-tiny
-repository.type = git
-[Test::Perl::Critic]
+
+[Git::Check]
+[Git::Remote::Check]
+branch = master
+[@Git::VersionManager]
+-remove = Prereqs
+NextRelease.format = %-6v  %{yyyy-MM-dd}d%{ (TRIAL RELEASE)}T
+[Git::Push]
+
+;;; Tests
+[MetaTests]
+[MojibakeTests]
 [PodCoverageTests]
 [PodSyntaxTests]
+[Test::CPAN::Changes]
+[Test::CPAN::Meta::JSON]
+[Test::ChangesHasContent]
+[Test::Compile]
+[Test::EOL]
 [Test::Kwalitee]
-; authordep Dist::Zilla::Plugin::Test::Perl::Critic
-; authordep Dist::Zilla::Plugin::AutoPrereqs
-; authordep Dist::Zilla::Plugin::MetaResources
-; authordep Dist::Zilla::Plugin::MinimumPerl
-; authordep Dist::Zilla::Plugin::OurPkgVersion
-; authordep Dist::Zilla::Plugin::Prereqs
-; authordep Dist::Zilla::Plugin::Test::Kwalitee
-; authordep Dist::Zilla::PluginBundle::Basic
-; authordep Software::License::Perl_5
-; authordep Dist::Zilla::Plugin::MetaProvides
-; authordep Dist::Zilla::Plugin::MetaJSON
-; authordep Dist::Zilla::Plugin::RunExtraTests
-; authordep Test::Perl::Critic
-; authordep Dist::Zilla::Plugin::CPANFile
+;[Test::MinimumVersion]   # can't exclude files
+[Test::NoTabs]
+[Test::Perl::Critic]
+critic_config = .perlcriticrc
+[Test::PodSpelling]
+[Test::Portability]
+[Test::ReportPrereqs]
+[Test::Version]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/examples/benchmark.pl 
new/Set-Tiny-0.06/examples/benchmark.pl
--- old/Set-Tiny-0.05/examples/benchmark.pl     2024-06-17 14:54:18.000000000 
+0200
+++ new/Set-Tiny-0.06/examples/benchmark.pl     2024-08-20 22:36:17.000000000 
+0200
@@ -114,7 +114,7 @@
 );
 
 print "running benchmarks with sets of size ",
-  scalar @a, " and ", scalar @b, "\n";
+    scalar @a, " and ", scalar @b, "\n";
 for my $test ( sort keys %tests ) {
     print "\n$test:\n";
     cmpthese(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/lib/Set/Tiny.pm 
new/Set-Tiny-0.06/lib/Set/Tiny.pm
--- old/Set-Tiny-0.05/lib/Set/Tiny.pm   2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/lib/Set/Tiny.pm   2024-08-20 22:36:17.000000000 +0200
@@ -1,13 +1,11 @@
 package Set::Tiny;
-
-use warnings;
 use strict;
-use Exporter 'import';
-our @EXPORT_OK = qw(set);
+use warnings;
 
-our $VERSION = '0.05'; # VERSION
+our $VERSION = '0.06';
 
-# ABSTRACT: Simple sets of strings
+use Exporter 'import';
+our @EXPORT_OK = qw(set);
 
 sub new {
     my $class = shift;
@@ -16,7 +14,7 @@
     return bless \%self, $class;
 }
 
-sub set {
+sub set { ## no critic (NamingConventions::ProhibitAmbiguousNames)
     if ( ref( $_[0] ) eq 'Set::Tiny' ) {
         return $_[0]->clone();
     }
@@ -38,8 +36,8 @@
 
 sub contains {
     my $self = shift;
-    exists $self->{$_} or return for @_;
-    return 1;
+    exists $self->{$_} or return !!0 for @_;
+    return !!1;
 }
 
 sub clone {
@@ -88,8 +86,8 @@
 
 sub is_properly_intersecting {
     !$_[0]->is_disjoint( $_[1] )
-      && $_[0]->difference( $_[1] )->size
-      && $_[1]->difference( $_[0] )->size;
+        && $_[0]->difference( $_[1] )->size
+        && $_[1]->difference( $_[0] )->size;
 }
 
 sub difference { $_[0]->clone->remove( keys %{ $_[1] } ) }
@@ -107,7 +105,7 @@
 sub intersection2 {
     my $class = ref $_[0];
     my ( $a, $b ) =
-      $_[0]->size > $_[1]->size ? ( $_[0], $_[1] ) : ( $_[1], $_[0] );
+        $_[0]->size > $_[1]->size ? ( $_[0], $_[1] ) : ( $_[1], $_[0] );
     return $class->new( grep { exists( $a->{$_} ) } keys %{$b} );
 }
 
@@ -131,14 +129,12 @@
 
 =encoding UTF-8
 
+=for :stopwords Stanis Trendelenburg superset
+
 =head1 NAME
 
 Set::Tiny - Simple sets of strings
 
-=head1 VERSION
-
-version 0.05
-
 =head1 SYNOPSIS
 
     use Set::Tiny;
@@ -356,6 +352,47 @@
 
 =back
 
+=head1 BUGS
+
+Please report any bugs or feature requests on the bugtracker website
+L<https://github.com/haarg/Set-Tiny/issues>
+
+When submitting a bug or request, please include a test-file or a
+patch to an existing test-file that illustrates the bug or desired
+feature.
+
+=head1 CONTRIBUTORS
+
+=for stopwords Alberto Manuel Brandão Simões Alceu Rodrigues de Freitas 
Junior brian greenfield Graham Knop Ricky Morse Stanis Trendelenburg
+
+=over 4
+
+=item *
+
+Alberto Manuel Brandão Simões <a...@cpan.org>
+
+=item *
+
+Alceu Rodrigues de Freitas Junior <glasswal...@yahoo.com.br>
+
+=item *
+
+brian greenfield <bri...@cpan.org>
+
+=item *
+
+Graham Knop <ha...@haarg.org>
+
+=item *
+
+Ricky Morse <remo...@mgh.harvard.edu>
+
+=item *
+
+Stanis Trendelenburg <stanis.trendelenb...@gmail.com>
+
+=back
+
 =head1 AUTHOR
 
 Stanis Trendelenburg <trend...@cpan.org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/t/00-compile.t 
new/Set-Tiny-0.06/t/00-compile.t
--- old/Set-Tiny-0.05/t/00-compile.t    1970-01-01 01:00:00.000000000 +0100
+++ new/Set-Tiny-0.06/t/00-compile.t    2024-08-20 22:36:17.000000000 +0200
@@ -0,0 +1,60 @@
+use 5.006;
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058
+
+use Test::More;
+
+plan tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+
+my @module_files = (
+    'Set/Tiny.pm'
+);
+
+
+
+# no fake home requested
+
+my @switches = (
+    -d 'blib' ? '-Mblib' : '-Ilib',
+);
+
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
+
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
+
+my @warnings;
+for my $lib (@module_files)
+{
+    # see L<perlfaq8/How can I capture STDERR from an external command?>
+    my $stderr = IO::Handle->new;
+
+    diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . 
$str . q{'} }
+            $^X, @switches, '-e', "require q[$lib]"))
+        if $ENV{PERL_COMPILE_TEST_DEBUG};
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', 
"require q[$lib]");
+    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+    my @_warnings = <$stderr>;
+    waitpid($pid, 0);
+    is($?, 0, "$lib loaded ok");
+
+    shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
+        and not eval { +require blib; blib->VERSION('1.01') };
+
+    if (@_warnings)
+    {
+        warn @_warnings;
+        push @warnings, @_warnings;
+    }
+}
+
+
+
+is(scalar(@warnings), 0, 'no warnings found')
+    or diag 'got warnings: ', ( Test::More->can('explain') ? 
Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if 
$ENV{AUTHOR_TESTING};
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/t/00-report-prereqs.dd 
new/Set-Tiny-0.06/t/00-report-prereqs.dd
--- old/Set-Tiny-0.05/t/00-report-prereqs.dd    1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/t/00-report-prereqs.dd    2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,48 @@
+do { my $x = {
+       'configure' => {
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '0'
+                                      },
+                        'suggests' => {
+                                        'JSON::PP' => '2.27300'
+                                      }
+                      },
+       'develop' => {
+                      'requires' => {
+                                      'Pod::Coverage::TrustPod' => '0',
+                                      'Test::CPAN::Changes' => '0.19',
+                                      'Test::CPAN::Meta' => '0',
+                                      'Test::CPAN::Meta::JSON' => '0.16',
+                                      'Test::EOL' => '0',
+                                      'Test::Kwalitee' => '1.21',
+                                      'Test::Mojibake' => '0',
+                                      'Test::More' => '0.88',
+                                      'Test::NoTabs' => '0',
+                                      'Test::Perl::Critic' => '0',
+                                      'Test::Pod' => '1.41',
+                                      'Test::Pod::Coverage' => '1.08',
+                                      'Test::Portability::Files' => '0',
+                                      'Test::Spelling' => '0.12',
+                                      'Test::Version' => '1'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'perl' => '5.006000'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '2.120900'
+                                   },
+                   'requires' => {
+                                   'ExtUtils::MakeMaker' => '0',
+                                   'File::Spec' => '0',
+                                   'IO::Handle' => '0',
+                                   'IPC::Open3' => '0',
+                                   'Test::More' => '0.88'
+                                 }
+                 }
+     };
+  $x;
+ }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/t/00-report-prereqs.t 
new/Set-Tiny-0.06/t/00-report-prereqs.t
--- old/Set-Tiny-0.05/t/00-report-prereqs.t     1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/t/00-report-prereqs.t     2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,197 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.029
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec;
+
+# from $version::LAX
+my $lax_version_re =
+    qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
+            |
+            (?:\.[0-9]+) (?:_[0-9]+)?
+        ) | (?:
+            v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
+            |
+            (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
+        )
+    )/x;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_pre = "CPAN::Meta::Prereqs";
+my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" 
&& eval "require $cpan_meta_pre"; ## no critic
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _max {
+    my $max = shift;
+    $max = ( $_ > $max ) ? $_ : $max for @_;
+    return $max;
+}
+
+sub _merge_prereqs {
+    my ($collector, $prereqs) = @_;
+
+    # CPAN::Meta::Prereqs object
+    if (ref $collector eq $cpan_meta_pre) {
+        return $collector->with_merged_prereqs(
+            CPAN::Meta::Prereqs->new( $prereqs )
+        );
+    }
+
+    # Raw hashrefs
+    for my $phase ( keys %$prereqs ) {
+        for my $type ( keys %{ $prereqs->{$phase} } ) {
+            for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
+                $collector->{$phase}{$type}{$module} = 
$prereqs->{$phase}{$type}{$module};
+            }
+        }
+    }
+
+    return $collector;
+}
+
+my @include = qw(
+
+);
+
+my @exclude = qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do './t/00-report-prereqs.dd';
+
+# Merge all prereqs (either with ::Prereqs or a hashref)
+my $full_prereqs = _merge_prereqs(
+    ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
+    $static_prereqs
+);
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+my $cpan_meta_error;
+if ( $source && $HAS_CPAN_META
+    && (my $meta = eval { CPAN::Meta->load_file($source) } )
+) {
+    $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
+}
+else {
+    $cpan_meta_error = $@;    # capture error from 
CPAN::Meta->load_file($source)
+    $source = 'static metadata';
+}
+
+my @full_reports;
+my @dep_errors;
+my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
+
+# Add static includes into a fake section
+for my $mod (@include) {
+    $req_hash->{other}{modules}{$mod} = 0;
+}
+
+for my $phase ( qw(configure build test runtime develop other) ) {
+    next unless $req_hash->{$phase};
+    next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
+
+    for my $type ( qw(requires recommends suggests conflicts modules) ) {
+        next unless $req_hash->{$phase}{$type};
+
+        my $title = ucfirst($phase).' '.ucfirst($type);
+        my @reports = [qw/Module Want Have/];
+
+        for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
+            next if grep { $_ eq $mod } @exclude;
+
+            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;
+                push @reports, [$mod, $want, $have];
+
+                if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 
'requires' ) {
+                    if ( $have !~ /\A$lax_version_re\z/ ) {
+                        push @dep_errors, "$mod version '$have' cannot be 
parsed ($req_string)";
+                    }
+                    elsif ( ! $full_prereqs->requirements_for( $phase, $type 
)->accepts_module( $mod => $have ) ) {
+                        push @dep_errors, "$mod version '$have' is not in 
required range '$want'";
+                    }
+                }
+            }
+            else {
+                push @reports, [$mod, $want, "missing"];
+
+                if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+                    push @dep_errors, "$mod is not installed ($req_string)";
+                }
+            }
+        }
+
+        if ( @reports ) {
+            push @full_reports, "=== $title ===\n\n";
+
+            my $ml = _max( map { length $_->[0] } @reports );
+            my $wl = _max( map { length $_->[1] } @reports );
+            my $hl = _max( map { length $_->[2] } @reports );
+
+            if ($type eq 'modules') {
+                splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl];
+                push @full_reports, map { sprintf("    %*s %*s\n", -$ml, 
$_->[0], $hl, $_->[2]) } @reports;
+            }
+            else {
+                splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
+                push @full_reports, map { sprintf("    %*s %*s %*s\n", -$ml, 
$_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
+            }
+
+            push @full_reports, "\n";
+        }
+    }
+}
+
+if ( @full_reports ) {
+    diag "\nVersions for all modules listed in $source (including optional 
ones):\n\n", @full_reports;
+}
+
+if ( $cpan_meta_error || @dep_errors ) {
+    diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING 
WARNING ***\n";
+}
+
+if ( $cpan_meta_error ) {
+    my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+    diag "\nCPAN::Meta->load_file('$orig_source') failed with: 
$cpan_meta_error\n";
+}
+
+if ( @dep_errors ) {
+    diag join("\n",
+        "\nThe following REQUIRED prerequisites were not satisfied:\n",
+        @dep_errors,
+        "\n"
+    );
+}
+
+pass('Reported prereqs');
+
+# vim: ts=4 sts=4 sw=4 et:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/t/set.t new/Set-Tiny-0.06/t/set.t
--- old/Set-Tiny-0.05/t/set.t   2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/t/set.t   2024-08-20 22:36:17.000000000 +0200
@@ -2,7 +2,7 @@
 use strict;
 use Test::More tests => 60;
 
-use_ok 'Set::Tiny';
+use Set::Tiny;
 
 my $a = Set::Tiny->new;
 my $b = Set::Tiny->new(qw( a b c ));
@@ -26,12 +26,14 @@
 is_deeply [ $a->elements ],      [],            "elements() of emtpy set";
 is_deeply [ sort $b->elements ], [qw( a b c )], "elements()";
 is_deeply [ sort $b->members ], [qw( a b c )],
-  "members() is an alias for elements()";
+    "members() is an alias for elements()";
 
 ok $b->contains(qw( a c )), to_s( $b, " contains 'a' and 'c'" );
 ok $b->has(qw( a c )),      "has() is an alias for contains()";
 ok !$a->contains('b'),      to_s( $a, " does not contain 'b'" );
 ok $a->contains(),          to_s( $a, " contains the empty list" );
+my @contains = $b->contains('z');
+is_deeply \@contains, [''], 'false contains return is boolean false';
 
 ok $a->is_null,  to_s( $a, " is empty" );
 ok !$b->is_null, to_s( $b, " is not empty" );
@@ -66,23 +68,23 @@
 ok !$b->is_disjoint($b), to_s( $b, " and ", $b, " are not disjoint" );
 
 ok !$a->is_properly_intersecting($b),
-  to_s( $a, " is not properly intersecting ", $b );
+    to_s( $a, " is not properly intersecting ", $b );
 ok !$a->is_properly_intersecting($a),
-  to_s( $a, " is not properly intersecting ", $a );
+    to_s( $a, " is not properly intersecting ", $a );
 ok !$b->is_properly_intersecting($b),
-  to_s( $b, " is not properly intersecting ", $b );
+    to_s( $b, " is not properly intersecting ", $b );
 
 my $c = Set::Tiny->new(qw( c d e ));
 ok $b->is_properly_intersecting($c),
-  to_s( $b, " is properly intersecting ", $c );
+    to_s( $b, " is properly intersecting ", $c );
 
 my $d1 = $b->difference($c);
 my $d2 = $c->difference($b);
 
 is $d1->as_string, '(a b)',
-  to_s( "difference of ", $b, " and ", $c, " is ", $d1 );
+    to_s( "difference of ", $b, " and ", $c, " is ", $d1 );
 is $d2->as_string, '(d e)',
-  to_s( "difference of ", $c, " and ", $b, " is ", $d2 );
+    to_s( "difference of ", $c, " and ", $b, " is ", $d2 );
 
 my $u  = $b->union($c);
 my $i  = $b->intersection($c);
@@ -90,17 +92,17 @@
 my $s  = $b->symmetric_difference($c);
 
 is $u->as_string, '(a b c d e)',
-  to_s( "union of ", $b, " and ", $c, " is ", $u );
+    to_s( "union of ", $b, " and ", $c, " is ", $u );
 is $i->as_string, '(c)',
-  to_s( "intersection of ", $b, " and ", $c, " is ", $i );
+    to_s( "intersection of ", $b, " and ", $c, " is ", $i );
 is $i2->as_string, '(c)',
-  to_s( "intersection2 of ", $b, " and ", $c, " is ", $i2 );
+    to_s( "intersection2 of ", $b, " and ", $c, " is ", $i2 );
 is $s->as_string, '(a b d e)',
-  to_s( "symmetric difference of ", $b, " and ", $c, " is ", $s );
+    to_s( "symmetric difference of ", $b, " and ", $c, " is ", $s );
 
 $s = $b->unique($c);
 is $s->as_string, '(a b d e)',
-  "unique() is an alias for symmetric_difference()";
+    "unique() is an alias for symmetric_difference()";
 
 $b->clear;
 is $b->as_string, "()", "clear()";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/t/set_init.t 
new/Set-Tiny-0.06/t/set_init.t
--- old/Set-Tiny-0.05/t/set_init.t      2024-06-17 14:54:18.000000000 +0200
+++ new/Set-Tiny-0.06/t/set_init.t      2024-08-20 22:36:17.000000000 +0200
@@ -1,10 +1,10 @@
 use warnings;
 use strict;
-use Test::More tests => 7;
+use Test::More tests => 6;
 
 # test to make sure that the short initializer (`set()`) works
 
-use_ok 'Set::Tiny', qw(set);
+use Set::Tiny qw(set);
 
 my $a = set();
 my $b = set(qw( a b c ));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/weaver.ini new/Set-Tiny-0.06/weaver.ini
--- old/Set-Tiny-0.05/weaver.ini        1970-01-01 01:00:00.000000000 +0100
+++ new/Set-Tiny-0.06/weaver.ini        2024-08-20 22:36:17.000000000 +0200
@@ -0,0 +1,12 @@
+[@CorePrep]
+[-SingleEncoding]
+[-StopWords]
+
+[Generic / NAME]
+
+[Leftovers]
+
+[Bugs]
+[Contributors]
+[Authors]
+[Legal]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/critic.t 
new/Set-Tiny-0.06/xt/author/critic.t
--- old/Set-Tiny-0.05/xt/author/critic.t        2024-06-17 14:54:18.000000000 
+0200
+++ new/Set-Tiny-0.06/xt/author/critic.t        2024-08-20 22:36:17.000000000 
+0200
@@ -3,5 +3,5 @@
 use strict;
 use warnings;
 
-use Test::Perl::Critic (-profile => "perlcritic.rc") x!! -e "perlcritic.rc";
+use Test::Perl::Critic (-profile => ".perlcriticrc") x!! -e ".perlcriticrc";
 all_critic_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/distmeta.t 
new/Set-Tiny-0.06/xt/author/distmeta.t
--- old/Set-Tiny-0.05/xt/author/distmeta.t      1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/xt/author/distmeta.t      2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,7 @@
+#!perl
+# This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
+use strict;
+use warnings;
+use Test::CPAN::Meta;
+
+meta_yaml_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/eol.t 
new/Set-Tiny-0.06/xt/author/eol.t
--- old/Set-Tiny-0.05/xt/author/eol.t   1970-01-01 01:00:00.000000000 +0100
+++ new/Set-Tiny-0.06/xt/author/eol.t   2024-08-20 22:36:17.000000000 +0200
@@ -0,0 +1,19 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19
+
+use Test::More 0.88;
+use Test::EOL;
+
+my @files = (
+    'lib/Set/Tiny.pm',
+    't/00-compile.t',
+    't/00-report-prereqs.dd',
+    't/00-report-prereqs.t',
+    't/set.t',
+    't/set_init.t'
+);
+
+eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/mojibake.t 
new/Set-Tiny-0.06/xt/author/mojibake.t
--- old/Set-Tiny-0.05/xt/author/mojibake.t      1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/xt/author/mojibake.t      2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,9 @@
+#!perl
+
+use strict;
+use warnings qw(all);
+
+use Test::More;
+use Test::Mojibake;
+
+all_files_encoding_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/no-tabs.t 
new/Set-Tiny-0.06/xt/author/no-tabs.t
--- old/Set-Tiny-0.05/xt/author/no-tabs.t       1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/xt/author/no-tabs.t       2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,19 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.15
+
+use Test::More 0.88;
+use Test::NoTabs;
+
+my @files = (
+    'lib/Set/Tiny.pm',
+    't/00-compile.t',
+    't/00-report-prereqs.dd',
+    't/00-report-prereqs.t',
+    't/set.t',
+    't/set_init.t'
+);
+
+notabs_ok($_) foreach @files;
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/pod-spell.t 
new/Set-Tiny-0.06/xt/author/pod-spell.t
--- old/Set-Tiny-0.05/xt/author/pod-spell.t     1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/xt/author/pod-spell.t     2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,39 @@
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007005
+use Test::Spelling 0.12;
+use Pod::Wordlist;
+
+
+add_stopwords(<DATA>);
+all_pod_files_spelling_ok( qw( bin lib ) );
+__DATA__
+Alberto
+Alceu
+Brandão
+Freitas
+Graham
+Junior
+Knop
+Manuel
+Morse
+Ricky
+Rodrigues
+Set
+Simões
+Stanis
+Tiny
+Trendelenburg
+ambs
+brian
+briang
+de
+glasswalk3r
+greenfield
+haarg
+lib
+remorse
+stanis
+trendels
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/portability.t 
new/Set-Tiny-0.06/xt/author/portability.t
--- old/Set-Tiny-0.05/xt/author/portability.t   1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/xt/author/portability.t   2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,8 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+use Test::Portability::Files;
+
+run_tests();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/test-version.t 
new/Set-Tiny-0.06/xt/author/test-version.t
--- old/Set-Tiny-0.05/xt/author/test-version.t  1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/xt/author/test-version.t  2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,23 @@
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::Version 1.09
+use Test::Version;
+
+my @imports = qw( version_all_ok );
+
+my $params = {
+    is_strict      => 0,
+    has_version    => 1,
+    multiple       => 0,
+
+};
+
+push @imports, $params
+    if version->parse( $Test::Version::VERSION ) >= version->parse('1.002');
+
+Test::Version->import(@imports);
+
+version_all_ok;
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/release/changes_has_content.t 
new/Set-Tiny-0.06/xt/release/changes_has_content.t
--- old/Set-Tiny-0.05/xt/release/changes_has_content.t  1970-01-01 
01:00:00.000000000 +0100
+++ new/Set-Tiny-0.06/xt/release/changes_has_content.t  2024-08-20 
22:36:17.000000000 +0200
@@ -0,0 +1,42 @@
+use Test::More tests => 2;
+
+note 'Checking Changes';
+my $changes_file = 'Changes';
+my $newver = '0.06';
+my $trial_token = '-TRIAL';
+my $encoding = 'UTF-8';
+
+SKIP: {
+    ok(-e $changes_file, "$changes_file file exists")
+        or skip 'Changes is missing', 1;
+
+    ok(_get_changes($newver), "$changes_file has content for $newver");
+}
+
+done_testing;
+
+sub _get_changes
+{
+    my $newver = shift;
+
+    # parse changelog to find commit message
+    open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!";
+    my $changelog = join('', <$fh>);
+    if ($encoding) {
+        require Encode;
+        $changelog = Encode::decode($encoding, $changelog, Encode::FB_CROAK());
+    }
+    close $fh;
+
+    my @content =
+        grep { /^$newver(?:$trial_token)?(?:\s+|$)/ ... /^\S/ } # from newver 
to un-indented
+        split /\n/, $changelog;
+    shift @content; # drop the version line
+
+    # drop unindented last line and trailing blank lines
+    pop @content while ( @content && $content[-1] =~ /^(?:\S|\s*$)/ );
+
+    # return number of non-blank lines
+    return scalar @content;
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/release/cpan-changes.t 
new/Set-Tiny-0.06/xt/release/cpan-changes.t
--- old/Set-Tiny-0.05/xt/release/cpan-changes.t 1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/xt/release/cpan-changes.t 2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,10 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::CPAN::Changes 0.012
+
+use Test::More 0.96 tests => 1;
+use Test::CPAN::Changes;
+subtest 'changes_ok' => sub {
+    changes_file_ok('Changes');
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Set-Tiny-0.05/xt/release/meta-json.t 
new/Set-Tiny-0.06/xt/release/meta-json.t
--- old/Set-Tiny-0.05/xt/release/meta-json.t    1970-01-01 01:00:00.000000000 
+0100
+++ new/Set-Tiny-0.06/xt/release/meta-json.t    2024-08-20 22:36:17.000000000 
+0200
@@ -0,0 +1,4 @@
+#!perl
+
+use Test::CPAN::Meta::JSON;
+meta_json_ok();

Reply via email to