diff --git a/Changes b/Changes index cde3d6c..8ffe8e5 100644 --- a/Changes +++ b/Changes @@ -3,6 +3,9 @@ Revision history for Perl extension Object::InsideOut. - - +4.04 Wed Mar 1 04:59:11 2017 + - Fix for threads::shared < 0.96 + 4.03 Sun Feb 26 17:14:40 2017 - Update to use threads::shared::is_shared diff --git a/README b/README index e1192ea..556c623 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -Object-InsideOut version 4.03 +Object-InsideOut version 4.04 ============================= This module provides comprehensive support for implementing classes using the diff --git a/examples/YAPI.pm b/examples/YAPI.pm index 4af7dc1..d138d4b 100644 --- a/examples/YAPI.pm +++ b/examples/YAPI.pm @@ -2,7 +2,7 @@ package Term::YAPI; { use strict; use warnings; - our $VERSION = '4.03'; + our $VERSION = '4.04'; ##### # @@ -22,7 +22,7 @@ package Term::YAPI; { $threaded_okay = !$@; } - use Object::InsideOut 4.03; + use Object::InsideOut 4.04; # Default progress indicator is a twirling bar my @yapi :Field diff --git a/lib/Bundle/Object/InsideOut.pm b/lib/Bundle/Object/InsideOut.pm index 8a4bc0a..3c8773f 100644 --- a/lib/Bundle/Object/InsideOut.pm +++ b/lib/Bundle/Object/InsideOut.pm @@ -3,7 +3,7 @@ package Bundle::Object::InsideOut; use strict; use warnings; -our $VERSION = '4.03'; +our $VERSION = '4.04'; $VERSION = eval $VERSION; 1; @@ -42,9 +42,9 @@ Pod::Coverage 0.23 - Used by Test::Pod::Coverage Test::Pod::Coverage 1.10 - Tests POD coverage -threads 2.12 - Support for threads +threads 2.15 - Support for threads -threads::shared 1.54 - Support for sharing objects between threads +threads::shared 1.55 - Support for sharing objects between threads Want 0.29 - :lvalue accessor support @@ -58,7 +58,7 @@ Class::Data::Inheritable 0.08 - Used by Exception::Class Exception::Class 1.42 - Error handling -Object::InsideOut 4.03 - Inside-out object support +Object::InsideOut 4.04 - Inside-out object support URI 1.71 - Used by LWP::UserAgent diff --git a/lib/Object/InsideOut.pm b/lib/Object/InsideOut.pm index 0b3eb99..3863519 100644 --- a/lib/Object/InsideOut.pm +++ b/lib/Object/InsideOut.pm @@ -5,12 +5,12 @@ require 5.006; use strict; use warnings; -our $VERSION = '4.03'; +our $VERSION = '4.04'; $VERSION = eval $VERSION; -use Object::InsideOut::Exception 4.03; -use Object::InsideOut::Util 4.03 qw(create_object hash_re is_it make_shared); -use Object::InsideOut::Metadata 4.03; +use Object::InsideOut::Exception 4.04; +use Object::InsideOut::Util 4.04 qw(create_object hash_re is_it make_shared); +use Object::InsideOut::Metadata 4.04; require B; @@ -114,6 +114,10 @@ if (! exists($GBL{'GBL_SET'})) { 'disinherit' => {'restricted' => 1}, 'heritage' => {'restricted' => 1}, }; + + if ($threads::shared::threads_shared && ($threads::shared::VERSION lt '0.96')) { + *threads::shared::is_shared = \&threads::shared::_id; + } } diff --git a/lib/Object/InsideOut.pod b/lib/Object/InsideOut.pod index 539c397..965b8f1 100644 --- a/lib/Object/InsideOut.pod +++ b/lib/Object/InsideOut.pod @@ -4,7 +4,7 @@ Object::InsideOut - Comprehensive inside-out object support module =head1 VERSION -This document describes Object::InsideOut version 4.03 +This document describes Object::InsideOut version 4.04 =head1 SYNOPSIS diff --git a/lib/Object/InsideOut/Autoload.pm b/lib/Object/InsideOut/Autoload.pm index f7de9bf..8854153 100644 --- a/lib/Object/InsideOut/Autoload.pm +++ b/lib/Object/InsideOut/Autoload.pm @@ -172,7 +172,7 @@ sub AUTOLOAD # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/Chained.pm b/lib/Object/InsideOut/Chained.pm index d855a4c..a00799b 100644 --- a/lib/Object/InsideOut/Chained.pm +++ b/lib/Object/InsideOut/Chained.pm @@ -181,7 +181,7 @@ sub create_CHAINED :Sub(Private) # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/Cumulative.pm b/lib/Object/InsideOut/Cumulative.pm index 82568a4..3ea4622 100644 --- a/lib/Object/InsideOut/Cumulative.pm +++ b/lib/Object/InsideOut/Cumulative.pm @@ -206,11 +206,11 @@ package Object::InsideOut::Results; { use strict; use warnings; -our $VERSION = '4.03'; +our $VERSION = '4.04'; $VERSION = eval $VERSION; -use Object::InsideOut 4.03; -use Object::InsideOut::Metadata 4.03; +use Object::InsideOut 4.04; +use Object::InsideOut::Metadata 4.04; my @VALUES :Field :Arg(VALUES); my @CLASSES :Field :Arg(CLASSES); @@ -260,7 +260,7 @@ add_meta('Object::InsideOut::Results', { # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/Dump.pm b/lib/Object/InsideOut/Dump.pm index 786b6bc..92d70df 100644 --- a/lib/Object/InsideOut/Dump.pm +++ b/lib/Object/InsideOut/Dump.pm @@ -206,7 +206,7 @@ sub dump # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/Dynamic.pm b/lib/Object/InsideOut/Dynamic.pm index 757891b..42607a0 100644 --- a/lib/Object/InsideOut/Dynamic.pm +++ b/lib/Object/InsideOut/Dynamic.pm @@ -179,7 +179,7 @@ sub create_field # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/Exception.pm b/lib/Object/InsideOut/Exception.pm index e1016cd..c193b17 100644 --- a/lib/Object/InsideOut/Exception.pm +++ b/lib/Object/InsideOut/Exception.pm @@ -3,7 +3,7 @@ package Object::InsideOut::Exception; { use strict; use warnings; -our $VERSION = '4.03'; +our $VERSION = '4.04'; $VERSION = eval $VERSION; # Exceptions generated by this module diff --git a/lib/Object/InsideOut/Foreign.pm b/lib/Object/InsideOut/Foreign.pm index 29a0286..1cfdcdf 100644 --- a/lib/Object/InsideOut/Foreign.pm +++ b/lib/Object/InsideOut/Foreign.pm @@ -270,7 +270,7 @@ sub inherit # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/Metadata.pm b/lib/Object/InsideOut/Metadata.pm index 604264e..02d32f6 100644 --- a/lib/Object/InsideOut/Metadata.pm +++ b/lib/Object/InsideOut/Metadata.pm @@ -3,7 +3,7 @@ package Object::InsideOut::Metadata; { use strict; use warnings; -our $VERSION = '4.03'; +our $VERSION = '4.04'; $VERSION = eval $VERSION; # Stores method metadata @@ -99,7 +99,7 @@ __DATA__ ### Object Interface ### -use Object::InsideOut 4.03; +use Object::InsideOut 4.04; my @CLASSES :Field; my @FOREIGN :Field; @@ -268,7 +268,7 @@ Object::InsideOut::Metadata - Introspection for Object::InsideOut classes =head1 VERSION -This document describes Object::InsideOut::Metadata version 4.03 +This document describes Object::InsideOut::Metadata version 4.04 =head1 SYNOPSIS diff --git a/lib/Object/InsideOut/Overload.pm b/lib/Object/InsideOut/Overload.pm index 59ac33d..003f804 100644 --- a/lib/Object/InsideOut/Overload.pm +++ b/lib/Object/InsideOut/Overload.pm @@ -83,7 +83,7 @@ sub generate_OVERLOAD :Sub(Private) # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/Secure.pm b/lib/Object/InsideOut/Secure.pm index 912d689..4814793 100644 --- a/lib/Object/InsideOut/Secure.pm +++ b/lib/Object/InsideOut/Secure.pm @@ -2,10 +2,10 @@ package Object::InsideOut::Secure; { use strict; use warnings; - our $VERSION = '4.03'; + our $VERSION = '4.04'; $VERSION = eval $VERSION; - use Object::InsideOut 4.03 ':hash_only'; + use Object::InsideOut 4.04 ':hash_only'; # Holds used IDs my %used :Field = ( 0 => undef ); diff --git a/lib/Object/InsideOut/Universal.pm b/lib/Object/InsideOut/Universal.pm index 147035d..c649377 100644 --- a/lib/Object/InsideOut/Universal.pm +++ b/lib/Object/InsideOut/Universal.pm @@ -211,7 +211,7 @@ sub install_UNIVERSAL # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/Util.pm b/lib/Object/InsideOut/Util.pm index 888765f..2b14c26 100644 --- a/lib/Object/InsideOut/Util.pm +++ b/lib/Object/InsideOut/Util.pm @@ -5,10 +5,10 @@ require 5.006; use strict; use warnings; -our $VERSION = '4.03'; +our $VERSION = '4.04'; $VERSION = eval $VERSION; -use Object::InsideOut::Metadata 4.03; +use Object::InsideOut::Metadata 4.04; ### Module Initialization ### diff --git a/lib/Object/InsideOut/attributes.pm b/lib/Object/InsideOut/attributes.pm index 02c907c..8197088 100644 --- a/lib/Object/InsideOut/attributes.pm +++ b/lib/Object/InsideOut/attributes.pm @@ -79,7 +79,7 @@ sub FETCH_CODE_ATTRIBUTES :Sub { return (FETCH_ATTRS('CODE', @_)); } # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF diff --git a/lib/Object/InsideOut/lvalue.pm b/lib/Object/InsideOut/lvalue.pm index 0c62fde..37f1fb5 100644 --- a/lib/Object/InsideOut/lvalue.pm +++ b/lib/Object/InsideOut/lvalue.pm @@ -157,7 +157,7 @@ _PRE_ # Ensure correct versioning -($Object::InsideOut::VERSION eq '4.03') +($Object::InsideOut::VERSION eq '4.04') or die("Version mismatch\n"); # EOF