Revision history for Perl module List::Objects::WithUtils

2.002003 2013-12-06

  - Bad import args now die rather than warn

  - Optimize methods returning arrays

  - Allow hash->new() to match array->new()

  - Test coverage improvements

2.002002 2013-11-22

  - Drop Hash::Util in favor of tied immutable hashes;
    these now work just like immutable array types
    (and no longer throw an exception on unknown key fetches)

2.002001 2013-10-27

  - Add ->is_mutable / ->is_immutable methods

  - Add array->kv()

  - Add array->elements()
    (This is the same as '->all', but it's natural for people coming from
    Moose and similar to the perl6 'elems' method.)

2.001001 2013-10-03

  - Import all constructor functions by default
    (via 'use List::Objects::WithUtils')

  - Add 'immhash' immutable hashes

  - Add 'immarray_of' and 'immhash_of' immutable type-checking lists

  - New array methods: delete_when(), end(), inflate()

  - hash()->clear returns the hash object

  - Immutable array behavior should now work consistently across any
    perl version; no longer mucking about with Internals::SvREADONLY

  - Immutable & type-checking behavior moved to roles

  - Role::WithJunctions moved to Role::Array::WithJunctions

  - t/ reorganized to be slightly more managable

1.012001 2013-09-16

  - Add hash->kv_sort()

1.011001 2013-09-08

  - Depend on newer Type::Tie (we need SPLICE)

1.011000 2013-09-05

  - Add 'hash_of' (List::Objects::WithUtils::Hash::Typed)
     (Toby Inkster - github PR #3)
    These hashes perform type-checking on their values via Type::Tie.

  - List::Objects::WithUtils/Lowu now accept ':functions' import tag
    (':all' without autobox)

  - Array::Type now uses a Type::Tie tied array
     (Toby Inkster - github PR #2)
    This is faster (no more overload or method overrides), and allows for
    'push @$typedarr, $foo' with type coercion/checking.

1.010002 2013-09-04

  - Fix array->tuples() to skip adding unnecessary undefs

  - Fix immarray->tuples()

1.010001 2013-09-01

  - Fix array_of() assertions on non-coercible types

1.010000 2013-09-01

  - Add 'array_of' (List::Objects::WithUtils::Array::Typed)
    These array-type objects perform Type::Tiny-compatible type-checking
    against their elements (when constructed and when elements are added).

  - Add array()->tuples (with Type::Tiny support)

  - Add array()->validated($type)

1.009005 2013-09-01

  - Add array()->mapval (borrowed from Data::Munge)

  - Drop minimum Perl prereq to perl-5.6

1.009004 2013-08-23

  - Pass tests on 5.19.3

  - carp() on unknown import tags

1.009003 2013-08-10

  - Fix ->flatten(_all) on 5.8

1.009002 2013-08-09

  - No code changes.
    Fix 'Changes' to match CPAN::Changes::Spec,
    courtesy of Sergey Romanov ->
    https://github.com/avenj/list-objects-withutils/pull/1

1.009001 2013-08-09

  - Fix ->flatten(_all) behavior regarding ARRAY-type objects;
    consumers of List::Objects::WithUtils::Role::Array are flattened,
    other ARRAY-type objects should be left alone.`

1.009000 2013-08-02

  - Add array()->random

  - POD fixes

1.008000 2013-07-06

  - Add array()->flatten($depth)

1.007000 2013-06-30

  - Backwards incompatible change; the return value of hash->set() is now the
    object, in order to be consistent with array->set()

  - Fix hash->get(@keys) return value

  - Add array()->flatten_all

  - Reorganize Role::Array POD

1.006001 2013-06-22

  - Fix ->inflate() on autoboxed hashes; add test for same.

1.006000 2013-06-22

  - Add hash->inflate() to simplify creating little struct-like objects out of
    hashes.

  - Add a ->TO_JSON method to array and hash objects.  (Serializing these
    objects to JSON is a pretty common use case for me.)

1.005000 2013-06-21

  - Turn junctions into List::Objects::WithUtils::Array subclasses,
    allowing easier junction manipulation.

  - Minor ->sort() optimization.

1.004000 2013-06-19

  - Implement streamlined junctions.
    This removes Sub::Exporter from the dependency chain;
    additionally, we do not need the extra methods - and probably do not
    want the smart-match support - provided by Perl6::Junction and
    Syntax::Keyword::Junction.

1.003001 2013-06-16

  - Missing dep on 'parent'

1.003000 2013-06-16

  - Add 'use Lowu;' shortcut to import all available functionality.

  - Add autoboxing support via List::Objects::WithUtils::Autobox and
    make autoboxing available via "use List::Objects::WithUtils 'autobox'"
    (as well as the 'use Lowu;' shortcut)

  - More flexible import() in List::Objects::WithUtils; allows for exporting
    selected functionality to designated target packages.

  - Added 'all'/':all' import tags to List::Objects::WithUtils;
    bare import list still just enables array/immarray/hash,
    'all' adds autoboxing.

  - Add array()->export to line up with hash()->export.

  - POD improvements.

1.002002 2013-06-15

  - Fix CarpLevel for unimplemented immutable array object methods

1.002001 2013-06-03

  - Simplify read-only array constructor

  - Cleanups / test tweaks

1.002000 2013-06-03

  - Add immarray() immutable array objects

  - Add hash->copy() to match array->copy()

  - Add array->head(), array->tail() methods

  - POD, test fixups

1.001001 2013-06-02

  - Sanity check ->mesh() arguments.

  - Other minor cleanups.

1.001000 2013-06-02

  - Add array->part()

1.000003 2013-06-02

  - Add array->mesh()

1.000002 2013-05-19

  - Documentation tweaks.

1.000001 2013-05-10

  - Minor documentation fix
    (->natatime's iterator returns a list, not an ARRAY)

1.000000 2013-05-05

  - Documentation shuffle.

  - No functional changes.

0.003000 2013-03-16

  - Add hash->sliced()

0.002004 2013-03-14

  - Documentation fixes.

0.002003 2013-03-10

  - Fix missing POD for array->natatime with coderef callback.

0.002002 2013-03-10

  - POD cleanups, some small fixes.

  - New release tests and rectify missing test for array->join

0.002001 2013-03-10

  - Missing dependency in dist.ini

0.002000 2013-03-10

  - Add Junctions via Role::WithJunctions
    ( array->any_items / array->all_items )

0.001001 2013-03-10

  - Initial release
