The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
2.5.0  Mon, 24 Jan 2011 11:03:38 +1000
  Doc Fixes
  * Update the Artistic License link to one that works. (Schwern)

  New Features
  * Added $class->mc->symbol_table to get a class's symbol table (Schwern)
  * Added $obj->mo->methods to get the methods available to an object (Schwern)
    [github 170]


2.4.1  Wed Nov 24 16:35:39 EST 2010
  Bug Fixes
  * The lexical nature of the improved error message was implemented
    wrong and caused it to leak out or not work. [github 99] (Schwern)


2.4.0  Fri Aug 27 19:18:45 PDT 2010
  New Features
  * You no longer have to put a true value at the end of a module.
    Thanks to chocolateboy's true.pm!

  Bug Fixes
  * Bumped the dependency on indirect.pm to avoid a seg fault in
    @{[ $x->$y ]} when $x and $y are undefined. [github 164]
    Thanks to Tokuhiro Matsuno and Vincent Pit.
  * The improved error message for failing to load a module is now
    a lexical feature.  This prevents it messing up things that
    parse that error message, like base.pm.  This makes perl5i
    play nice with Class::DBI amongst a lot of other things.
    [github 165] (Chad)


2.3.1  Fri Jul 30 18:14:38 PDT 2010
  No changes from 2.3.0_03.


2.3.0_03  Wed Jul 28 20:32:36 PDT 2010
  Incompatible Changes (only with this alpha series)
  * Signature->num_params is now Signature->num_positional_params because
    we'll add named params eventually and you generally only care about
    how many positional params a function takes. (Schwern)
  * Remove ngrep, nmap and nfor.  Replaced by @array->foreach( def($x,$y) ) {}
    and @array->map( def($x) {} );
  * def has been removed.  Consensus is emerging for func.

  New Features
  * Added child() to make forking easier. [github 150] (Chad)
  * @array->foreach now takes a function with variable arguments and DWIM
  * $number->is_even and is_odd [github 143] (Eric A. Zarko)

  Bug Fixes
  * Anonymous functions were getting a new signature each time they're
    declared even though its the same code reference. (Schwern)


2.3.0_02  Thu Jul 15 19:13:22 PDT 2010
  New Features
  * Signature introspection, via $code->signature, for subroutines defined
    with C<def>, C<func> and C<method>.

  Documentation
  * Anonymous methods and functions (they always worked)


2.3.0_01  Mon Jul 12 16:15:05 PDT 2010
  New Features
  * ngrep and nmap are like grep and map but you can name the $_ variable.
    (Chad) [github 36]
  * nfor is like for but you can specify it to loop over any number of
    elements at a time. (Chad) [github 40]
  * "method" declares a method and does the "my $self = shift" for you.
    (Schwern) [github 19]
  * "def" and "func" provide basic subroutine signatures. (Schwern)
    [github 19]
  * The error message upon not being able to load a module has been
    improved for human readability. (Chad) [github 99]

  Test Fixes
  * Clean up dangling temp files. (Avar) [github 139]


2.2.2  Mon May 17 16:34:52 PDT 2010
  Bug Fixes
  * Let perl5i::1 load without Time::y2038 if Perl is already y2038 safe
    just like perl5i::2 does.

  Test Fixes
  * Possible failure of t/command_line_wrapper.t if perl5i isn't
    already installed.


2.2.1  Sun May 16 22:52:01 PDT 2010
  Bug Fixes
  * Greatly reduced the amount of clashes when loading perl5i::1 and
    perl5i::2.
  * Make meta objects on read only strings and numbers work with
    non-threaded perls. [github 131]
  * Bumped to a version of indirect which does not leak out of scope.
    [rt.cpan.org 50570]


2.2.0  Sun May  9 13:22:56 PDT 2010
  New Features
  * $thing->mo->is_tainted, along with untaint and taint, are now callable
    on everything to provide a unified interface. [github 89]
  * Added $number->commify and $number->group_digits to turn 1000 into 1,000.
    [github 128]
  * Added $obj->mo->id, a universal unique object identifier.

  Deprecation Warnings
  * $thing->is_tainted, untaint and taint will be removed in v3.
    Please use $thing->mo->is_tainted and friends. [github 89]

  Bug Fixes
  * $class->can($method) now works as it should (previously autoboxing
    would interfere). [github 112]


2.1.1  Tue Apr 27 21:34:04 PDT 2010
  Fixes
  * Upgrade dependency on autovivification so Regexp::Common works
    with perl5i. [github 32]


2.1.0  Fri Apr 16 12:15:10 EEST 2010
  New Features
  * trim, ltrim and rtrim now work on arrays.  [github 121] (Nick Patch)

  Fixes
  * Quiet a warning in DateTime.pm on systems where gmtime() returns
    undef for out of bound times (mostly Windows).
  * Fix the perl5i command line tool on stock OS X 5.10.0 [github 116]
  * Fix perl5i.bat on Windows.
  * perl5i can load after List::MoreUtils (and thus things like Moose)
    [github 127]
  * Fix is_integer() and is_decimal() for things like 1.0 and 1.
    [github 123]
  * Fix rounding of negative numbers. [github 118]

  Test Fixes
  * Quiet the autodie test on Windows [github 126]
  * Fix the quoting of command_line_wrapper.t for Windows [github 126]


2.0.3  Fri Mar 19 13:57:37 PDT 2010
  Fixes
  * Forgot to require B before using a B routine in the JSON dump.

  Build Fixes
  * Forgot to require Digest::SHA1 for checksum()

  Test Fixes
  * Removed use of Test::Exception which may have been causing the
    "Bizarre copy of HASH" errors in 5.11.5.


2.0.2  Wed Mar 17 12:21:00 PDT 2010
  Build Fixes
  * Ensure non META.yml savy CPAN shells see the configure_requires
    for Module::Build.
  * Forgot to require indirect.pm, JSON and YAML::Any

  Test Fixes
  * Don't run the v1 and v0 sanity tests unless Time::y2038 is installed.
  * autobox 2.60 changed how isa() works and broke 42->isa("UNIVERSAL").
    Will fix for real later.


2.0.1  Wed Mar 17 11:10:54 PDT 2010
  Fixes
  * Quick fix to handle not always having Time::y2038.


2.0.0  Tue Mar 16 23:34:22 PDT 2010
  Incompatible Changes
  * In general, methods which return a list return an array in
    list context and an array ref in scalar context.  This enables
    chaining of autoboxed methods.
  * $module->load() is now $module->require() with simpler semantics.
    [github 107] [schwern]
  * Indirect object syntax (ie. $obj = new Class) is now a compile time
    syntax error.
  * $thing->mo now always returns a meta instance object.  This allows
    the meta object to DWIM on plain strings which previously would be
    treated as classes and return the meta class object.
  * The guaranteed range of gm/localtime() has been reduced to avoid
    depending on Time::y2038 if possible.
  * $thing->perl is now $thing->mo->perl and works on everything.

  New Features
  * $thing->mo->is_equal($other) universal equality method. [brunov]
  * $thing->mc has been added to always return a meta class object.
    This allows disambiguation when $thing could be considered a
    class name.
  * new autoboxed methods: %hash->diff() and %hash->intersect() [brunov]
  * Added $thing->mo->dump to dump objects in multiple formats
    including YAML and JSON.

  Fixes
  * Update dep on autovivification to one that works on 5.11 [schwern]
  * Update autobox::Core dep to clarify scalar vs list context returns.
  * Fix taint test failing with Test::More 0.95_01. [schwern]
  * Fix time compat test failing because of unknown time zones. [schwern]
  * Time::y2038 is only required if the built in time functions
    are not up to task. [schwern]

  Optimizations
  * Optimize @array->intersect() and @array->diff() when @array contains no refs.
    [brunov]


1.1.0  Tue Mar  2 19:09:49 PST 2010
  New Features
  * print() and say() now work on hashes, time(), localtime() and gmtime().
  * $obj->mo->checksum will return a checksum for the contents of any object.
  * Added $path->path2module and $module->module2path

  Bugs
  * alias() was still being exported.
  * Work around DateTime::TimeZone not being able to determine the local
    time zone on FreeBSD and possibly others.
  * localtime() is less suseptable to the DateTime distant year DOS attack.

  Docs
  * Document that carp() and croak() are exported.


1.0.0  Thu Feb 25 21:56:47 PST 2010
  New Features
  * @array->first() now takes a regex like @array->grep() [github 93] (brunov)
  * All autoboxed objects now respond to is_number() and friends.  They
    always return false. [github 100] (brunov)
  * All applicable array and hash methods now return arrays in list context
    and array refs in scalar context. (brunov)
  * diff() now works on nested data structures and honors overloaded objects
    (brunov)
  * Add a basic $number->round() [github 95]
  * Added @array->intersect() (brunov)

  Docs
  * Wrote perl5ifaq for all your frequently asked questions.
  * Document the perl5i command line utility. [github 31]

  Bug Fixes
  * Ensure the DateTime objects coming from time(), gmtime() and localtime()
    compare with eq and ==


0.2.2  Fri Feb 19 14:56:36 PST 2010
  Other
  * Some modules got the wrong version.


0.2.1  Fri Feb 19 04:23:58 PST 2010
  Bug Fixes
  * round_up() and round_down() didn't work


0.2.0  Fri Feb 19 03:48:36 PST 2010
  Incompatible Changes
  * "use perl5i" no longer works.  You must instead "use perl5i::0" to
    protect against future incompatibilities.  "use perl5i::latest" for
    the adventurous.
  * We no longer export rreturn() or lnoreturn() from Want.
    This can wait if we tackle lvalue subroutines.
  * load() is now a scalar method, so its $module->load not load($module)
  * alias() is now an autoboxed method rather than a function.

  New Features
  * try/catch support via Try::Tiny (brunov)
  * caller() now returns an object via Perl6::Caller (schwern, Timothy Totten)
  * Everything has a Meta object (perl5i::Meta) accessable via $thing->mo
  * Added meta object methods to handle tainting.
    mo->is_tainted(), mo->taint(), mo->untaint().
  * Added mo->reftype to get the bare reference type of anything.
  * Added mo->class to get the class of anything.
  * Added mo->ISA to return @ISA.
  * Added mo->super to call a method in a super class.
  * Added mo->linear_isa to get the object's inheritance path.
  * Introduced perl5i::latest to use the latest version.
  * Added %hash->flip() and %hash->merge() (brunov)
  * @array->grep now takes a regex
  * Select methods from List::MoreUtils added as ARRAY methods.
    all, any, none, true, false, uniq, minmax, mesh.
  * Added @array->diff() (brunov)
  * "use utf8" is on by default.
  * STDOUT, STDIN, STDERR and all opened filehandles have utf8 encoding on.
  * @ARGV is encoded as UTF8
  * Added methods to determine if a scalar is a number and what kind it
    is.
  * Added ceil()/floor() and round_up()/round_down() synonyms.

  Docs
  * Various POD fixes (chromatic, Richard Soderberg)
  * Collected together the autoboxed methods

  Other
  * Look, a changes document!
  * Added a patching policy.  See the PATCHING file.
  * We have a mailing list now.  http://groups.google.com/group/perl5i


0.1.0  Sat Jan 23 14:55:52 2010 -0800
  * Return to CPAN after deleting 20090424
  * New versioning scheme so we can declare incompatibilities, see
    semver.org for details.  If you have perl5i installed you must
    force an upgrade.
  * Thanks to the Open Source Bridge perl5i Hackathon!

  Incompatible Changes
  * Switched to DateTime from Time::Piece

  New Features
  * List::Util now autoboxed (Chas)
  * time() returns a DateTime object (schwern)
  * Added alias() (schwern)
  * Now y2038 safe (schwern)
  * die always returns 255 regardless of $! or $? (Chas)
  * Added a perl5i command line program (dap)
  * Add $CWD for localized chdir'ing via File::chdir (schwern)
  * Add $scalar->center() (chromatic, benh)
  * Add $scalar->ltrim(), ->rtrim() and trim() (benh)
  * Add $scalar->wrap() via Text::Wrap (brunov)
  * Automatic "use English" (schwern)
  * Automatic "use IO::Handle" so things like autoflush are available (schwern)
  * Automatic "use Want" (Jeff Lavallee)
  * Automatic "no autovivification" (schwern)

  Bug Fixes
  * stat() works in list context (schwern)


20090424  Fri Apr 24 11:38:24 2009 -0700
  * First release