The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
CHANGELOG

v0.29 (2011/04/15)
==================
--Perl-5.6 compatibility fix:  Socket in 5.6 doesn't export AF/PF_INET6, 
  so using Socket6's exclusively
--Perl-5.8 compatibility fix:  Perl's parser chokes on the use of 'bare
  word' imports (i.e., AF_INET), so calling them as subs.
--Optimizing regexes with code-based interpolations of constants
--Misc code adjustments

v0.28 (2011/04/12)
==================
--Updated ipInNetwork in Paranoid::Network to support IPv6 networks &
  addresses
--Added new function extractIPs to Paranoid::Network which can extract IPv4/
  IPv6 addresses from arbitrary text
--Minor tweaks to some regexes in Paranoid::Input

v0.27 (2010/06/03)
==================
--Added the ability to restrict level of indentation for pdebug messages in
  Paranoid::Debug
--Fixed pchmod so that relative permissions applied to a symlink doesn't use 
  the symlink's permissions to apply, but rather the target
--Rewrote Paranoid::Log's internals
--Added '!' as a supported scope for logging facilities
--Added more severity level aliases

v0.26 (2010/05/08)
==================
--Changed daemonize's behavior:  reopening STD* on /dev/null and chdir'ing
  to /.  Hindsight's 20/20, eh?
--Made backup/restore of SIGCHLD in pcapture dependent upon an actual
  sighandler being installed

v0.25 (2010/05/05)
==================
--Fixed tail's behavior to be consistent with documentation
--Fixed tail/sip to preserve file position and buffers when 
  reopening the file in children
--Fixed tail functionality to handle deleted, truncated, moved, or replaced
  files
--Expanded tail/sip documentation
--Added daemonize function to Paranoid::Process

v0.24 (2010/04/15)
==================

--Added Paranoid::Glob
--Major cleanup to satisfy PerlCritic and PerlTidy
--Fixed pmkdir to allow permissions that include sticky bits, etc.
--Updated filesystem functions to use Paranoid::Glob instead of pglob
--pglob is now just a wrapper around Paranoid::Glob as well
--Removed excessive external locking in Paranoid::BerkeleyDB -- hopefully
  internal CDB locking mechanism is robust enough
--Made user input validation on Paranoid::Filesystem non-fatal (handing in
  undefs as filenames, etc.)
--Removed MAXLINKS in Paranoid::Filesystem


v0.23  (2009/03/17)
===================
--Fixed tests that weren't fully supported on all platforms
--Commented out pchown tests which were failing to due to a bug
  in Perl.  A patch has been submitted to bleadperl to address it.
--Added manual detaint of TERM environment variable in psecureEnv
--Updated documentation to include Paranoid::Data
--Made getKeys in Paranoid::BerkeleyDB use finer grained locking
--Added Paranoid::Data
--Added sip, tail, and closeFile functions
--Fixed bug in preadDir that added undef records while filtering out
  symlinks (bug introduced in v0.21)

v0.21  (2009/03/04)
===================
--Massive reformat with Perl::Tidy
--Massive rewrite to accommodate Perl::Critic
--Converted all tests to use Test::More
--Converted licensing to be same as Perl
--Documentation updates
--Updated to only support Perl 5.6 or better
--Fixed bug in pcapture to return appropriate return values
--Fixed bug in pchmodR/pchownR to return correct RV (false)
  with non-existant targets
--Added Paranoid::Args

v0.20  (2008/04/28)
===================
--Misc. POD updates

Paranoid::Filesystem:
--Fixed bug in the recursion wrapper where there were errors in certain
  modes when called on a hierarchy that included an empty subdirectory
--Fixed bug in pchmod where subtracting perms (i.e., o-w) wouldn't result
  in the correct permissions
--Added automatic argument detainting for most functions
--Replaced the horrible manual kludge of pglob with an intelligent wrapper for
  the shell glob
--ptouch now supports full shell globbing, even for non-existent files.
--ptouchR can now create files, but won't automatically create subdirectories

Paranoid::Input:
--Added automatic filename detainting for slurp
--Updated filename/fileglob regexes (expanded allowed characters)

Paranoid::Log & Paranoid::Module:
--Added automatic detainting of module names

Paranoid::Log::File:
--Added automatic detainting of log filenames

v0.19  (2008/04/28)
===================
--Made the croak statements more internally consistent
--Made releasing the lockfiles and db entries in BerkeleyDB more explicit
--Updated filename regex in Input
--Added study to stringMatch
--Added pcapture function to Process

v0.18  (2008/02/29)
===================
--Fixed mail headers for Email module when there are multiple recipients
--Fixed tests to account for FreeBSD's comments in /etc/passwd, /etc/group

v0.17  (2008/02/28)
===================
--Made more tests conditional to account for more types of
  system configurations
--Made error checking more explicit for e-mail logging, and storing
  those errors in Paranoid::ERROR

v0.16  (2008/02/27)
===================
--Fixed conditional tests
--Added new function to Paranoid::Debug (psetDebug)

v0.15  (2008/02/26)
===================
--Initial public release