The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for FunctionalPerl

0.72.48 2021-4-8
    - Abstract/Sequence: change min, max to use a comparison function
    - Array: add array_take_upto, array_last_upto
    - Repl: fix history reading when $/ is localized
    - Repl: change to save history as individual files, immediately
    - add `repl2test` script; add `FP::RegexMatch`

0.72.47 2021-3-30
    - add `group` to the Sequence interface
    - add `hashkey`, `mesh` and `ziphash` to FP::Hash
    - add add stdin_utf8, stdout_utf8, stderr_utf8 to Chj::xIOUtil

0.72.46 2021-3-26
    - examples/treestat: depend on JSON instead of JSON::PP, add begin
      of merging functionality, add contents hash
    - update FP::TransparentLazy to follow FP::Lazy developments
    - Lazy: add `lazyT`; properly implement lazyLight; add
      `is_forced`; handle nested promises correctly
    - Updates for lazyT:
        - FP::List: make final, stop using shortcut for `cdr`
        - Stream,IOStream: use `lazyT`
    - StrictList: make `is_proper_sequence` O(1)

0.72.45 2021-3-21
    - make examples/treestat work with older JSON::PP releases

0.72.44 2021-3-19
    - Abstract/Sequence: add for_each_with_islast
    - xgetfile_utf8: check encoding strictly
    - add examples/treestat

0.72.43 2021-1-18
    - missed cases in glob conversion, and update docs
    - add links to testing frameworks

0.72.42 2021-1-6
    - a test fix for Windows
    - big move from globs to \& for passing function references

0.72.41 2020-12-22
    - fixes in meta/code-reformat, apply more FP:Carp bits
    - work on examples/hiring-without-whiteboards and
      examples/sendprepare
    - xIO: add `with_output_to_file`, HashSet: add
      `array_to_countedhashset`, IO/File: add `xreadchar` method,
      IOStream: add `xfile_chars`
    - some fixes

0.72.40 2020-12-1
    - FP::Carp: improve docs, rename fp_croak_nargs to fp_croak_arity,
      and report number of arguments actually passed
    - FunctionalPerl: consistent tag naming

0.72.39 2020-11-30
    - some remaining "EXPORT" style fixes
    - don't use subroutine prototypes anymore except in rare cases
      (complete)
    - don't use globs for referencing subs anymore (partial)
    - don't use wantarray in list_rtake_while and list_take_while
    - add FP::Carp, use it consistently (mostly complete)
    - meta/pre-commit: some fixes, but it's still broken for partial
      commits
    - pointer_eq: safely handle non-pointer values

0.72.38 2020-11-16
    - fix some newly introduced brokenness (dependency in a test,
      broken `successes` and `failures` change, missed updates in pod
      snippets because of using a new dev machine without all of the
      optional modules installed)
    - add `meta/install-development-dependencies-on-debian` so the
      last subitem is less likely to happen again

0.72.37 2020-11-16
    - another Windows fix
    - a fix for Solaris
    - big formatting revamp:
        - use perltidy (I haven't looked into adapting my Emacs
          configuration yet, so there may be more changes ahead)
        - move EXPORT variables after `use strict`
        - use experimental "signatures" instead of
          Function::Parameters
    - some cleanup
    - don't use EXPORT style without `our` anymore
    - remove usage of UNIVERSAL::{isa,can} except those checking for
      `CODE` and similar
    - some nice new tools in meta/

0.72.36 2020-10-29
    - make Chj::xhome hopefully finally work on Windows

0.72.35 2020-10-29
    - test suite fixes for "Makefile.PL: move more things to
      TEST_REQUIRES"
    - fixes for Windows
    - fixes in hiring-without-whiteboards, test

0.72.34 2020-10-17
    - more fix time zone; more "use $^X directly"
    - attempts at fixing recommends in Makefile.PL
    - add `take_while_and_rest`, fix `take_while` method
    - Interfaces: make sure interface definitions are loaded
    - sequences: implement missing type conversion methods, add test
    - small improvements in Array_sort and IOStream
    - extend examples/hiring-without-whiteboards

0.72.33 2020-09-20
    - fix time zone (summer time) related bug in test suite

0.72.32 2020-09-11
    - Sequences: rename map_with_i to map_with_index and add to
      Sequence interface
    - Add FP::Abstract::Compare, sortCompare
    - Sequence: add `mean`, `median`
    - Struct: error reporting improvements
    - Chj::xperlfunc, Chj::IO::Command: fixes

0.72.31 2019-12-23
    - only documentation changes (bundling as a release just in case
      someone wants to read those locally)

0.72.30 2019-12-23
    - doc fixes, and document "recommends" handling
    - install the `fperl` and `perlrepl` scripts

0.72.29 2019-12-22
    - work on FP::AST::Perl
    - rename bin/repl+ to bin/fperl, bin/repl to bin/perlrepl, and
      make bin/fperl use the "fperl" namespace (including updates
      everywhere)

0.72.28 2019-12-22
    - Dependencies: hopefully fixes #131217 on rt.cpan.org
    - POD formatting and doc fixes

0.72.27 2019-12-21
    - Rename FP::uncurry module to FP::Currying
    - add `curry` (in spite of other CPAN modules offering it)
    - Sequence: rename `join` to `intersperse`
    - Sequence: add new `join` base method as alias to strings_join

0.72.26 2019-12-18
    - List: add `cons_`; use it in `examples/functional-classes`

0.72.25 2019-12-8
    - t/pod_snippets.t: Trap to repl if running test in a terminal
    - AutoTrap: add possibly_activate (used for the above)
    - WithRepl: WithRepl_eval*: avoid lexical variable capture
    (An attempt at moving away from globs in FP::AST::Perl failed (see
    Git history).)

0.72.24 2019-12-8
    - proper POD formatting in some modules, move tests to POD
    - Struct: make immutable if is_pure
    - Struct: do not automatically inherit FP::Abstract::Pure anymore,
      update other modules
    - update/implement Show, Pure etc. in various modules
    - rename Chj::Destructor::_ to Chj::_::Destructor
    - Create FP::Combinators2
    - FP::AST::Perl: semicolons, Let

0.72.23 2019-12-7
    - Ops: rename `string` to `stringify`
    - create FP::Struct::Equal
    - create (the beginnings of) FP::AST::Perl
    - some doc improvements

0.72.22 2019-12-6
    - FP::Repl::Repl: ,p as shortcut for ,package (,P for print)
    - FP::Repl::Repl: alias `set_package` for `set_maybe_package`
      etc. (so that `repl package=> 'Foo::Bar'` works instead of just
      `repl maybe_package=> 'Foo::Bar'`)
    - FP::Repl::Repl: transparently try to force promises then getting
      completions on values
    - Chj::ruse: export "p" as shortcut
    - Chj::ruse: fix %INC iteration (make copy)
    - Chj::Backtrace: detect when loaded after FP::Repl::Trace
      etc. and inactivate

0.72.21 2019-12-4
    - fix: avoid running into an error when reporting an error in Lazy
    - fix Repl,WithRepl to use show when showing a backtrace or exception
    - Sequence,Predicates: add is_proper_sequence
    - fix List's ->stream (oh; that could use a compile time warning)
    - Stream,Sequence: add chunks_of and strictly_chunks_of
    - update docs, more exahhhmples in README

0.72.20 2019-12-3
    - fix "fix tests: add the new htmlgen modules to ::Dependencies"
    - fix dependency on Perl::Tidy

0.72.19 2019-12-3
    - fix tests: add the new htmlgen modules to ::Dependencies
    - Rename `is_string_not_number` -> `is_nonnumeric_string`

0.72.18 2019-12-2
    - some doc improvements
    - website: link modules to CPAN url (over Github) if available;
      fix bug due to sub prototype
    - Predicates: add `is_string_not_number`, but is probably of no
      use

0.72.17 2019-12-2
    - tests: avoid the word 'failed' in messages checking dependencies
    - tests: fix(?) for Windows: do not use -x
    - tests: more "make Inf properly version independent"
    - dependencies: htmlgen/gen: depend on Trap only if --trap given
    - documentation improvements (markdown files)
    - Predicates: fix: remove hand inlining of 'force'; add `is_seq`
    - Repl fix accessing values in boolean context
    - Show,Lazy: show location information in unevaluated promises
    - Show: do not show sub/promise details when running in test suite
    - avoid using PFLANZE:: namespaces (there are still some in meta)
    - create (beginnings of) FP::PureHash, FP::Abstract::Map
    - export `pointer_eq`
    - create FP::Docstring
    - htmlgen: cleanups, docstrings, pod snippets, use PXML::XHTML
      (making code more worthy to look at)
    - htmlgen: add capability to use PerlTidy
    - Sequence: add `split_at`; Stream: make `append` n-ary
    - create meta/update-pod

0.72.16 2019-11-29
    - declare dependency on new example script (d'oh)

0.72.15 2019-11-29
    - documentation improvements, add functional-classes example
    - fix test failure involving TailExpand's pod snippets
    - rename method fp_interface_method_names ->
      FP_Interface__method_names

0.72.14 2019-11-28
    - fix test failure with "Inf" vs. "inf"
    - add FP::Mixin::Utils with a `F` utility method, added to Show
      protocol and FP::Lazy-derived promises
    - Makefile.PL: increase minimal Perl version to avoid Perl bugs
    - Lazy: overload to error-describing exception to prevent
      accidental use
    - some docs

0.72.13 2019-11-27
    - documentation improvements
    - fix for Windows
    - Chj::TEST run_tests_ fix
    - handle missing module dependencies in pod snippets correctly

0.72.12 2019-11-26
    - More Windows support work
    - add relaxedequal to FP::Equal
    - change Chj::TEST to use FP::Equal'relaxedequal instead of
      dumperequal
    - add `string` function to Ops
    - create FP::BigInt
    - change examples/fib to bigint to solve test failures due to
      unreliable number implementation in base Perl
    - workaround for failed TEST TAP location hack

0.72.11 2019-11-26
    - reimplement repl+ in Perl for Windows
    - clean up tail expansion dependencies during testing, hopefully
      fixes test failures when run out of alphabetic order
    - fix for #131081 (t/skip-leak.t fails on BSD systems)
    - change Chj::TEST to use TAP so that subtest failure details can
      be seen in CPAN tester reports

0.72.10 2019-11-24
    - fix #131073 (Can't exec /bin/bash at website/gen line 1.)
    - fixes for Windows (find-perl.pl; more system calls)
    - more curing of unnecessary loading of FP::Repl
    - FunctionalPerl: do not die on module load errors
    - Chj::TEST::run_tests returns an object now with success number
      as well; can't manage to merge numbers with Test::More's though.
    - fix test.pl deletion: re-introduce $ENV{TEST}=1
    - move csvstreams.t to t-slow/ (will look into how to do this
      properly later)

0.72.9 2019-11-24
    - fix handling of autobox dependency (both making it optional in
      tests as well as making it a hard dependency for now)
    - hopefully fix "Bug #131047 for FunctionalPerl: Some tests run
      with the wrong perl"
    - do not use tail-expanded files from meta/ in t/pod-snippets.t
      (there might be more such breakage, todo check)

0.72.8 2019-11-24
    - FunctionalPerl.pm: use proper pod formatting with links

0.72.7 2019-11-24
    - add FP::autobox
    - clean up Windows skipping, eliminate top-level test.pl script
    - add group import feature to FunctionalPerl module
    - fix in Array: report out of range errors (todo: there are more of these)

0.72.6 2019-11-22
    - attempt to fix CPAN testers issues missing even "Test::Requires"
      itself

0.72.5 2019-11-22
    - improved regex_*substitute, eliminate line numbers from tests
    - more Windows fixing
    - Lots of updating in intro/basic
    - enable more tests
    
0.72.4 2019-11-21
    - more "fix skipping over tests that require missing dependencies"
    - exclude some tests on Windows
    - other test fixes
    - silence a load time warning on Windows
    - docs fixes and improvements

0.72.3 2019-11-21
    - renames for better names of packages, config and settings files
    - fix skipping over tests that require missing dependencies
    - fix some warnings at testing time
    - Makefile.PL improvements
    - more improvements for CPAN indexing

0.72.2 2019-11-20
    - rename some modules to fix unauthorized namespace use
    - other improvements for CPAN indexing incl. POD fixes
    (Deleted again to prevent old Chj::HTTP::Daemon from being
    preferred due to higher version.)

0.72.1 2019-11-20
    - first release to CPAN
    (Deleted again to free up namespaces that weren't intended to be
    allocated.)