Revision history for Perl module MCE::Shared. 1.880 Tue Jan 03 20:00:00 EST 2023 * Bump MCE dependency to 1.883. * Improve 05_mce_hobo.t test. 1.879 Fri Dec 02 21:00:00 EST 2022 * Update the error status if MCE::Hobo died due to receiving a signal. * Improved the timeout handler in MCE::Hobo and MCE::Shared::Condvar. * Fixed private functions _quit and _trap not setting the return value. 1.878 Mon Oct 10 04:00:00 EST 2022 * Improved reliability on the Windows platform. * Added deeply-shared demonstration to POD. 1.877 Tue May 24 05:00:00 EST 2022 * Replace http with https in documentation and meta files. * Call PDL::set_autopthread_targ(1); disables PDL auto-threading. * Allow sharing additional PDL objects via class methods: pdl_sbyte, pdl_ulong, pdl_ulonglong, pdl_ldouble, pdl_grandom, and pdl_zero. 1.876 Sun Feb 20 02:30:00 EST 2022 * Improved suppressing the PDL CLONE warning. Piddles should not be naively copied into new threads. 1.875 Fri Dec 03 06:30:00 EST 2021 * Resolved edge case with _fill_index in MCE::Shared::Ordhash. Updated STORE, DELETE, and internal _fill_index. Added tests to t/07_shared_ordhash.t. 1.874 Thu Dec 02 18:00:00 EST 2021 * Bumped MCE dependency to 1.874. * MCE::Hobo update. Improved _ordhash. Renamed JOINED to REAPED in code for better clarity. Specify a percentage for max_workers. Added t/05_mce_hobo_max_workers.t 1.873 Sat Aug 01 16:00:00 EST 2020 * Resolved construction MCE::Shared->share hanging when specifying a module that does not exist. * Fixed typo in prior change log. Replaced "completed" with "feature complete". 1.872 Sun Jun 14 22:30:00 EST 2020 * Added open to required dependencies. * Set default encodings on standard filehandles in tests using UTF-8. * Added setnx method to MCE::Shared::{ Cache, Hash and Ordhash }. * Added hsetnx method to MCE::Shared::Minidb. * Updated keys, pairs, and values in MCE::Shared::{ Array, Cache, Hash and Ordhash }. * The MCE::Shared project is feature complete. 1.871 Wed May 13 05:30:00 EST 2020 * Reverted prior change. Skip unicode testing for MCE::Shared::Cache unless Perl has Scalar::Util 1.22 or later. It is too late at this stage for vendors to update Perl 5.10.1 on older Operating Systems. 1.870 Tue May 12 20:00:00 EST 2020 * Bumped minimum version required for Scalar::Util to 1.22. Has fix to preserve utf8 flag of string passed to dualvar. * Re-enabled unicode testing for MCE::Shared::Cache. 1.869 Mon May 11 22:00:00 EST 2020 * Disabled unicode testing for MCE::Shared::Cache on Perl 5.10.1. Testing for keys containing unicode is failing on RedHat 6.x, but passing in meta::cpan (smoke tests). Thank you, Paul Howarth. * Share array and hash deeply; only when using the TIE interface. This resolves an edge case for the OO interface and passing nested items during construction. Thank you, Nick Tonkin. * Bumped MCE dependency to 1.868. 1.868 Sun May 10 22:00:00 EST 2020 * Completed threads-like detach capability in MCE::Hobo. 1.867 Sun May 03 18:00:00 EST 2020 * Bug fix for UTF-8 issues during inter-process communication. This update required undoing optimizations specific to scalar args. Essentially, IPC involves serialization for everything going forward. Install Sereal::Encoder and Sereal::Decoder for better performance. * Improved MCE::Hobo with threads-like detach capability. See POD. Resolved MCE::Hobo stalling MCE::Shared::Server during global cleanup. * Improved IPC in MCE::Shared::Queue with permanent fast-like dequeue including dequeue_nb. Going forward, the fast and barrier options are silently ignored if specified (i.e. no-op). * Improved IPC performance on Linux. 1.864 Wed Dec 04 13:00:00 EST 2019 * Use monotonic clock if available in MCE::Hobo->yield. See https://www.perlmonks.org/?node_id=11109673 * Bumped MCE dependency to 1.864. 1.863 Sun Nov 26 20:00:00 EST 2019 * Use MCE::Channel for MCE::Hobo->yield to not incur unnecessary delays due to busy shared-manager process. * Re-factored recent changes regarding IPC safety in MCE::Shared::Server. This update defers signal handling for HUP, INT, PIPE, QUIT, TERM, and custom handlers during IPC without incurring a performance penalty. See POD section labled "DEFER SIGNAL" in MCE::Signal 1.863. * Reverted $hobo->exit back to sending the SIGQUIT signal in MCE::Hobo now that MCE::Shared::Server defers signal during IPC. * Improved reliability for spawning MCE::Hobo inside threads including nested parallelization, made possible using a global lock $MCE::_GMUTEX in MCE 1.863. * Updated signal handling in mce-examples/framebuffer on GitHub. * Bumped MCE dependency to 1.863. 1.862 Wed Sep 18 22:00:00 EST 2019 * Hotfix for 1.861. * Bumped MCE dependency to 1.862. 1.861 Wed Sep 18 08:30:00 EST 2019 * Hotfix for 1.849-1.860. The edge cases regarding signal handling have been finally resolved for MCE::Hobo. Thank you, Richard Kelsch for the use case involving ctrl-c. See mce-examples/framebuffer on GitHub. * Bumped MCE dependency to 1.861. 1.860 Sun Sep 15 20:00:00 EST 2019 * Signal-handling update release. * SIGINT and SIGTERM safety for shared objects during IPC. * IPC safety in MCE::Hobo during SIGINT and SIGTERM. * Method $hobo->exit in MCE::Hobo now sends the SIGINT signal for extra reliability with MCE::Shared (previously SIGQUIT). * Bumped MCE dependency to 1.860. 1.850 Mon Sep 09 12:30:00 EST 2019 * More safety around cleanup code in MCE::Shared::Server. * Bumped MCE dependency to 1.850. 1.849 Sun Sep 08 23:30:00 EST 2019 * Fixed edge case in MCE::Hobo when reaping inside a signal handler. * Guard cleanup code in MCE::Shared::Server during global destruction. * Configured extra data channel used for reaping Hobos and exporting. * Optimized reaping in MCE::Hobo when void_context is set. * Added list_pids class method to MCE::Hobo. * Added pid class method to MCE::Shared. * Bumped MCE dependency to 1.849. 1.848 Tue Sep 03 23:30:00 EST 2019 * Fixed broken examples in the MCE::Shared documentation. * Bumped MCE dependency to 1.848. 1.847 Mon Sep 02 23:30:00 EST 2019 * Obsolete RedHat MCE-Shared-1.841-Sereal-deps.patch file. This patch file is no longer needed and finally resolved with this release. * Updated PDL examples in the documentation including Cookbook on GitHub. Resolved segmentation fault in global cleanup for shared PDL objects. Added missing pdl_random class method to MCE::Shared. * Bumped MCE dependency to 1.847. 1.846 Mon Aug 26 21:30:00 EST 2019 * Fixed code tags in documentation. Thank you, Mohammad S Anwar. * Bumped MCE dependency to 1.846. 1.845 Sun Aug 25 22:00:00 EST 2019 * Improved is_joinable, is_running, list_joinable, and list_running in MCE::Hobo. Thank you, Philippe Baumgart. * Added parallel Graphics::Framebuffer demonstrations: https://github.com/marioroy/mce-examples/tree/master/framebuffer * Bumped MCE dependency to 1.845. 1.844 Wed Aug 14 21:30:00 EST 2019 * Completed validation running Kelp and Raisin apps with MCE::Shared. For example, constructing shared objects at the top of the script (i.e. MCE::Shared->scalar, MCE::Shared->cache, et cetera). Shared objects are accessible by Plack workers (i.e. Starman). * Disable internal signal handling for the shared-manager process if spawned from inside a thread or process. * MCE::Hobo workers exit immediately upon receiving a SIGSEGV signal. This safegaurds IPC from stalling inside the manager process. * Enhanced the _wait_one private function in MCE::Hobo. * Removed Prima from the list for auto-enabling the posix_exit option. Prima (since 1.52) is parallel safe during global cleanup. * Reached 100% Pod coverage. 1.843 Tue Jul 23 22:30:00 EST 2019 * Updated results in MCE::Hobo (Parallel::ForkManager-like demonstration). * Bumped MCE dependency to 1.843. 1.842 Sun Jul 21 19:00:00 EST 2019 * The Windows hack introduced in 1.841 is 2x slower for one edge case. Therefore, reverted the Windows hack in MCE::Shared::Server. * Fixed race condition abnormalities in MCE::Hobo. * Added Parallel::ForkManager-like demonstration to MCE::Hobo. * Bumped MCE dependency to 1.842. 1.841 Sun Jul 07 04:30:00 EST 2019 * IPC update; raising reliability across multiple platforms. * Improved the hack for the Windows platform in MCE::Shared::Server. * Support reading a shared handle residing in the main script without involving the IO::FDPass module. * Added barrier option to MCE::Shared::Queue allowing one to disable. * Added mutex locking for all shared objects, previously just condvars. * Added void_context option to MCE::Hobo. * Renamed POD method headers from '=item' to '=head2' in Shared classes. * Bumped MCE dependency to 1.839. * Removed MANIFEST.SKIP. 1.840 Thu Jan 03 23:30:00 EST 2019 * Improved destroy and exit cleanup in MCE::Shared::Server. 1.839 Sat Aug 25 13:00:00 EST 2018 * Seeds the Math::Random::MT::Auto generator automatically when present in MCE::Hobo, similarly to Math::Random and Math::Prime::Util, to avoid child processes sharing the same seed value as the parent and each other. The new seed is computed using the current seed. * Updated MCE::Shared::Cache to support optional argument "expires_in" for set and sugar methods. * Updated MCE::Shared documentation. * Bumped MCE dependency to 1.837. 1.838 Mon Jun 25 22:00:00 EST 2018 * Fixed exporting deeply-shared regressions. 1.837 Mon Jun 25 08:30:00 EST 2018 * Fixed deeply-shared regressions. Thank you, PerlMonks (Veltro). See https://perlmonks.pairsite.com/?node_id=1216790. * Applied small optimizations. * Bumped MCE dependency to 1.836. 1.836 Tue Mar 13 15:00:00 EST 2018 * Added chameneos demonstration to MCE::Shared::Condvar. * Load IO::Handle for extra stability, preventing workers loading uniquely. * Load Net::HTTP and Net::HTTPS before spawning if present LWP::UserAgent. See https://www.perlmonks.org/?node_id=1199760 and https://www.perlmonks.org/?node_id=1199891. * Bumped MCE dependency to 1.835. 1.835 Tue Jan 23 08:00:00 EST 2018 * Added max_workers method to MCE::Hobo. * Improved Queue await and dequeue performance on the Windows platform. * Added chameneos-redux parallel demonstrations on GitHub: https://github.com/marioroy/mce-examples/tree/master/chameneos * Bumped MCE dependency to 1.834. 1.834 Fri Dec 15 15:30:00 EST 2017 * Fixed croak handling inside MCE::Shared::Server. * Enhanced sequence (bounds_only) to return optional 3rd value (id). * Improved seconds method for _delay package inside MCE::Hobo. * Improved clear and get methods for shared objects. * Tweeked shared_cache_lru test script. 1.833 Tue Nov 21 15:30:00 EST 2017 * Condvar timedwait supports floating seconds via Time::HiRes. The documentation was correct, but not high resolution in code. * Added LWP::UserAgent to list for enabling posix_exit. * Improved number-sequence generation for big integers. * Improved exiting (CLOSE, DESTROY) during cleanup state. * Improved signal handling when server is waiting on IO. * Updated "OBJECT SHARING" section in documentation. * Bumped MCE dependency to 1.832. 1.832 Sun Oct 08 20:30:00 EST 2017 * Added STFL (Terminal UI) to list for enabling posix_exit. See https://www.perlmonks.org/?node_id=1200923. * Math::Prime::Util random numbers now unique between Hobo workers. See https://www.perlmonks.org/?node_id=1200960. * Bumped MCE dependency to 1.831. 1.831 Tue Sep 19 23:00:00 EST 2017 * Resolved crash on the Windows platform for older Perl (< v5.18). Older Perl must continue to run the shared-server as a thread. Thank you CPAN testers, CHORNY and NONAME. * Re-enabled Condvar testing on the Windows platform. 1.830 Fri Sep 15 23:00:00 EST 2017 * Disabled Condvar tests on the Windows platform. I'm unable to replicate the exit behavior reported by two smoke machines running Windows. 1.829 Thu Sep 14 23:00:00 EST 2017 * Disabled Condvar tests on Windows machine without IO::FDPass. 1.828 Wed Sep 12 23:00:00 EST 2017 * Removed an extra "=over" command in the documentation. 1.827 Tue Sep 12 17:00:00 EST 2017 [BUG FIXES] * Fixed bug in MCE::Shared::Queue. Thank you, Tomohiro Hosaka. [ENHANCEMENTS] * Refactored MCE::Hobo, MCE::Shared, and MCE::Shared::Server. * Preserve lexical type for numbers during IPC. * Added Coro and Win32::GUI to list for enabling posix_exit. * Added encoder and decoder methods for overriding serialization. * Added parallel HTTP get demonstration using AnyEvent to MCE::Hobo. * Added Inline::Python, Logger, and Tie::File demonstrations to MCE::Shared. * Added DBM-Sharing section to the POD documentation. * Added iterator method to MCE::Cache. * Improved auto-dereferencing for shared arrays, hashes, and scalars. * Improved open method for non-shared file-handles in MCE::Shared::Handle. * Improved shared-PDL support. Updated MCE::Cookbook on GitHub. * Improved signal handling, including nested parallel-sessions. * Improved running MCE::Hobo and MCE::Shared with PDL. * Improved taint mode via perl -T. * In MCE::Hobo, waitall and waitone are now aliases to wait_all and wait_one respectively for backwards compatibility. * No longer loads threads on the Windows platform in MCE::Shared::Server. This enables MCE::Hobo to spin faster, including lesser memory consumption. Threads isn't required to run MCE::Hobo. * Removed extra white-space from POD documentation. * Validated MCE::Hobo and MCE::Shared on SmartOS. * Bumped MCE dependency to 1.830. 1.826 Wed May 03 03:00:00 EST 2017 * Reduced memory consumption. * Clarified "limitations" section in MCE::Share::{ Condvar, Handle, Queue }. Clarified "extra functionality" section in MCE::Shared. Thank you, https://www.perlmonks.org/?node=zentara. * Bumped MCE dependency to 1.829. 1.825 Fri Apr 28 16:00:00 EST 2017 [BUG FIXES] * Do not enable barrier mode for Queue on the Windows platform. * Fixed MCE::Hobo on the Windows platform for older Perl < v5.16. [ENHANCEMENTS] * Added unbless option when exporting a shared object. Thank you, Nick Tonkin: https://metacpan.org/author/TONKIN * Added Curses and Prima to list for enabling the posix_exit option. * Added module option for using a class explicitly when tie'ing a variable. * Improved support for running MCE::Hobo on the NetBSD platform. * Enhanced IPC and signal handling. Reduced memory consumption. * Bumped MCE dependency to 1.828. 1.824 Thu Apr 06 18:00:00 EST 2017 * Fixed bug introduced in 1.818, syswrite data to a shared file handle. 1.823 Wed Apr 05 01:30:00 EST 2017 * Do not enable barrier mode for Queue if constructed inside a thread or for the fast => 1 option. * Fixed leaked handles during destruction; MCE::Shared::{ Condvar, Queue }. * Updated MCE::Shared to not croak when running Perl in taint mode via perl -T. Failing -T was MCE::Shared::{ Handle, Sequence, and Server }. * Bumped MCE dependency to 1.827. 1.822 Sun Apr 02 23:00:00 EST 2017 * Is now safe running MCE::Hobo with the Wx GUI toolkit (wxWidgets). * Bumped MCE dependency to 1.826. 1.821 Sun Apr 02 07:00:00 EST 2017 * Updated MCE::Shared::Queue. The following provides a comparison for the enhancements made regarding IPC during 1.818 through 1.821, in order to run on machines having "many" cores. I ran with 12, 96, and 192 workers on an 8 core box. Shared queue, dequeue 100k items. my $Q = MCE::Shared->queue(); # Must start the manager manually when IO::FDPass is missing. # This caveat applies to Condvar, Handle, and Queue. MCE::Shared->start() unless $INC{'IO/FDPass.pm'}; $Q->enqueue( 1 .. 100000 ); $Q->end(); MCE->new( max_workers => 12, 96, or 192, user_func => sub { while ( defined ( my $item = $Q->dequeue ) ) { ; } } )->run(); MCE::Shared 1.821: 12 ~ 1.325 secs 96 ~ 5.206 secs 192 ~ 8.158 secs MCE::Shared 1.825: ~ 0.913 secs ~ 1.068 secs ~ 1.560 secs * Results were captured on a fast 8 core system running CentOS Linux 7. The thing to take from this is that running many workers "no longer" results in up to 6.2x penalty regarding IPC. * When IO::FDPass is missing, croak with error if constructing a Condvar or Queue and forgotten to start the shared-manager process manually. * Bumped MCE dependency to 1.825. 1.820 Sat Apr 01 01:00:00 EST 2017 * Completed validation for running MCE on a box having 100+ cores. * Tuned the number of data-channels for IPC, similar to MCE. * Bumped MCE dependency to 1.824. 1.819 Fri Mar 31 19:30:00 EST 2017 * Calibrated the number of data-channels for IPC. * Bumped MCE dependency to 1.823. 1.818 Fri Mar 31 11:00:00 EST 2017 * Check for EINTR during sysread and syswrite. * Improved non-shared handles constructed with MCE::Shared::Handle. * Reap MCE::Hobo's from script exiting during development process. * Completed validation for using MCE::Shared with 200+ cores. * Bumped MCE dependency to 1.822. 1.817 Sun Mar 19 04:00:00 EST 2017 * Fixed broken SIG{'PIPE'} handling: e.g. script.pl | head. * Improved reliability when running MCE::Shared with threads. * Added parallel Net::Pcap and Ping demonstrations on GitHub: https://github.com/marioroy/mce-examples/tree/master/network * Default to ':raw' for BINMODE in MCE::Shared::Handle. * Optimized 'dequeue' method in MCE::Shared::Queue. * Refactored MCE::Hobo to spawn children on the Windows platform. This is necessary for Mojo::IOLoop::HoboProcess to run properly, with Mojolicous 7.25 and later. * Bumped MCE dependency to 1.821. 1.816 Mon Mar 06 13:00:00 EST 2017 * Optimized SHIFT and UNSHIFT methods in MCE::Shared::Ordhash. 1.815 Fri Mar 03 23:00:00 EST 2017 * Fixed issue with localizing AUTOFLUSH variable before autoflush handles. Thank you, Charles Hendry for raising the issue. * Bumped MCE dependency to 1.819. 1.814 Wed Mar 01 22:00:00 EST 2017 * Fixed an issue in regards to deeply sharing an array or hash. * Changed Sereal to Sereal::Decoder and Sereal::Encoder in recommends section inside Makefile and META files. * Revised limitations section in documentation, in regards to not having IO::FDPass. E.g. Condvar, Handle, and Queue. * Added 'end' method to MCE::Shared::Queue. Updated documentation on dequeue and pending. * Bumped MCE dependency to 1.818. 1.813 Wed Feb 22 18:00:00 EST 2017 * Revised the main description in MCE::Shared::Cache. Improved write performance by up to 8 percent. Fixed spelling mistakes. * Revised the description on posix_exit in MCE::Hobo. 1.812 Mon Feb 20 05:30:00 EST 2017 * Improved performance for MCE::Shared::Cache. This is now a hybrid LRU-plain cache implementation. Added parallel demonstration at the end of the documentation. * Bumped MCE dependency to 1.814 for the example to run. * Tweaked MCE::Shared::Ordhash and MCE::Shared::Server. 1.811 Wed Feb 15 17:00:00 EST 2017 * Bumped IO::FDPass dependency to 1.2 if not already installed (1.1+) and have a CC compiler on hand. IO::FDPass is optional otherwise. * Support csh redirection in Makefile.PL via bash for locating a C compiler. 1.810 Tue Feb 14 17:00:00 EST 2017 * Bumped minimum requirement for Sereal to 3.015 when available. Added check ensuring matching version for Encoder and Decoder. 1.809 Mon Feb 13 23:30:00 EST 2017 * Fixed bug in MCE::Shared::Queue (dequeue_nb) when queue has zero items. * Applied small optimization in MCE::Shared::Sequence. * Added MCE::Shared::Cache, a fast and memory-efficient LRU-cache module. * Added pipeline methods to MCE::Shared::Array, Hash, Minidb, and Ordhash. * Added recommends section to Makefile and META files: IO::FDPass, Sereal. * Added cross-platform template to MCE::Hobo for making an executable. * Added hobo_timeout option to MCE::Hobo for timeout capability. Also, imply posix_exit => 1 when Gearman::XS is present. * Added MCE::Hobo + Gearman demonstrations (xs and non-xs) on GitHub: https://github.com/marioroy/mce-examples/tree/master/gearman_xs https://github.com/marioroy/mce-examples/tree/master/gearman * Changed kilobytes and megabytes to kibiBytes (KiB) and mebiBytes (MiB) respectively inside the documentation. * Having IO::FDPass is beneficial for Condvar(s), Handle(s), and Queue(s). Thus, append IO::FDPass to PREREQ_PM if we can and not already installed. Run MCE_PREREQ_EXCLUDE_IO_FDPASS=1 perl Makefile.PL to bypass the check. * Improved documentation for QUERY STRING in various helper classes. * Updated SYNOPSIS in various helper classes. * Updated LOCKING section in MCE::Shared. 1.808 Fri Dec 09 23:30:00 EST 2016 * Optimized the barrier synchronization example in MCE::Shared::Condvar. 1.807 Wed Nov 23 16:00:00 EST 2016 * Refactored MCE::Hobo. Thank you, Hermann Mueller for test case. * Improved reliability on the Windows platform by using threads. * Bug fixes for test scripts. 1.806 Tue Nov 01 16:00:00 EST 2016 * Added a new section titled LOCKING to the MCE::Shared documentation. * Tweaked shared-manager-loop delay -- applies to MSWin32 only. 1.805 Fri Sep 23 01:00:00 EST 2016 * Fixed close method in shared-handle to work with Perl5i. Support for Perl5i is on Unix only. Do not use threads. * Bumped MCE dependency to 1.805. 1.804 Thu Sep 01 16:00:00 EST 2016 * Fixed bug in MCE::Shared::Queue. Thank you, Mary Ehlers. * Improved support for running MCE::Hobo with Tk. Added Tk demonstrations to MCE::Examples (1.805). Thank you, Götz Meyer. 1.803 Sun Jul 10 23:30:00 EST 2016 * Modified MCE::Shared::{ Base, Minidb } to pass testing with Sereal. * Re-enabled Sereal 3.008+ for Perl < v5.12.0, if available. * Optimized dequeue methods in MCE::Shared::Server. 1.802 Mon Jul 04 03:30:00 EST 2016 * Default to Storable for serialization in Perl less than v5.12.0. Sereal 3.008+, if available, is loaded automatically in Perl v5.12+. 1.801 Sun Jul 03 00:30:00 EST 2016 [BUG FIXES] * Fixed bug with MCE::Hobo for the Solaris platform. * Fixed race condition in Condvar->broadcast, ->signal, ->wait. * Fixed race condition in Queue->await. [ENHANCEMENTS] * MCE::Shared 1.801 is stable on all supported platforms. Bumped version to match MCE version. * Completed work supporting cyclical include of MCE Hobo. * Updated MCE::Shared to support Perl included with Git Bash. 1.102 Mon Jun 20 08:00:00 EST 2016 * Updated logic for obtaining caller in several MCE::Hobo methods. This was missed in the 1.101 release. 1.101 Mon Jun 20 01:00:00 EST 2016 [BUG FIXES] * Reverted a small change in Shared/Server.pm introduced in 1.100. 1.100 Sat Jun 18 16:30:00 EST 2016 [ENHANCEMENTS] * Use Sereal 3.008+ automatically if available on the box. [NEW FEATURES] * Added support for cyclical include of MCE Hobo by scoping the configuration to the local package. 1.008 Wed May 25 22:00:00 EST 2016 * Applied correction in META.json. * Bumped MCE dependency to 1.707. 1.007 Wed May 25 16:00:00 EST 2016 [NEW FEATURES] * Added chunk IO capability to READ in MCE::Shared::Handle. Both non-shared and shared handles are supported. See documentation for demonstrations. * Added assign to MCE::Shared::{ Array, Hash, and Ordhash }. Ditto, added hassign and lassign to MCE::Shared::{ Minidb }. Assign is inspired by Tie::Hash::Indexed v0.05_02. Thank you, Marcus Holland-Moritz. * Added META.json to the distribution. [ENHANCEMENTS] * Close shared file-handles when stopping the shared-manager process. * Improved exporting for shared MCE::Shared::{ Array, Hash, and Ordhash }. * Now loads PDL::IO::Storable automatically when PDL is present. PDL must come before MCE::Shared. Otherwise, load PDL::IO::Storable manually. * Specifying Sereal for serialization falls back to Storable when PDL is present. A warning is emitted indicating Sereal is not used. [API CHANGES] * Removed iterator and rewind functionality from MCE::Shared::Minidb. This was done to streamline Minidb and MCE/Shared/Server.pm. 1.006 Fri Apr 29 21:30:00 EST 2016 [BUG FIXES] * Enabled deeply sharing by default when constructing a shared array or hash. Thank you, Frank Wang. [ENHANCEMENTS] * Localized the output record separator in error and trap routines. * Optimized READ in MCE::Shared::Server. 1.005 Fri Apr 22 21:30:00 EST 2016 [ENHANCEMENTS] * Time::HiRes sleep resolution is 15 milliseconds on Windows and Cygwin. Adjusted timeout values accordingly. Thank you, Daniel Dragan. 1.004 Fri Apr 15 00:30:00 EST 2016 * Bumped version for MCE to 1.705. Thank you, smoke testers. 1.003 Thu Apr 14 10:00:00 EST 2016 * Bumped version for Test::More to 0.88. Thank you, Paul Howarth. 1.002 Thu Apr 14 05:00:00 EST 2016 [BUG FIXES] * Reached *stable* on all major platforms for MCE::Shared 1.0x. [NEW FEATURES] * MCE::Shared exports mce_open for more native feel to making a shared file handle. * Improved search functionality in MCE::Shared::{ Array, Hash, Ordhash } and MCE::Shared::Minidb. Thank you, Demian Riccardi. [ENHANCEMENTS] * Enabled freeze callbacks for Sereal. * Switched bug tracking to GitHub. * Tweaked test scripts. 1.001 Sat Mar 19 23:00:00 EST 2016 * Completed IPC optimizations for 1.0. 1.000 Tue Mar 15 22:00:00 EST 2016 * First release.