- New upstream release 0.142
Deprecations
- Tilde expansion is deprecated due to inconsistent and bug-prone behavior
Bug fixes
- Prevent expansion of tildes that are not the very first character (e.g.
"./~foo")
- Prevent unintentional tilde expansion during internal path processing
- Escape non-tilde glob characters before tilde expansion
- Fixed spew/edit to a long filename approaching the filesystem length limit
- Internal calls to 'print' are checked for possible errors
- Internal read calls are checked for errors
Changes
- Path stringification now adds "./" in front of paths starting with literal
tilde so they will round-trip; FREEZE updated to use this stringification
rule as well
- 'move' now uses File::Copy::move internally instead of the built-in
'rename', allowing it to work across filesystems; it also returns an object
for the moved location, allowing chaining
- edit_lines_raw now uses a buffered raw I/O layer
- edit_lines_utf8 now prefers PerlIO::utf8_strict, if available
- lines_utf8 now consistently uses a buffered I/O layer
- open*_utf8 now prefers PerlIO::utf8_strict, if available
- slurp_utf8 now consistently uses an unbuffered I/O layer
Documented
- Changed all raw/UTF-8 layer descriptions in method documentation to match
the code
- Fixed SYNOPSIS syntax
- Documented how to disable TMPDIR when making temp files/dirs
Testing
- Add additional tilde stringification testing
- Fixed tilde expansion tests on Windows
- Skip a problematic test case on Cygwin
- New upstream release 0.128
- Added 'mkdir' to replace 'mkpath', but returning the path object for
chaining
- The 'mkpath' method is deprecated in favor of 'mkdir'
- Added 'has_same_bytes' to efficiently compare the contents of two files
- Edited SYNOPSIS in the POD
- New upstream release 0.122
- Adds 'size' and 'size_human' methods; the latter gives 'ls -lh' style
output, with options to choose base2 or base10 forms
- New upstream release 0.120
- The 'tempdir' and 'tempfile' methods may be called on a Path::Tiny object
representing a directory, in which case the directory will be used as the
container for the temporary object (as if the 'DIR' argument were used)
- New upstream release 0.118
- Skip symlink tests on Windows by actually testing symlinks, as Perl 5.33.5
adds notional support but it's not possible without elevated privileges
- New upstream release 0.106
- The PERL_PATH_TINY_NO_FLOCK environment variable has been added to allow
users to disable file locking (and any associated warnings)
- Detection of unsupported 'flock' is no longer BSD-specific; this allows
detecting and warning, for example, with the Luster filesystem on Linux
- Improve reliability and diagnostics of tests run via 'do'
- New upstream release 0.104
- The 'absolute' method now always returns an absolute path, even if a user
provided a relative path for the base path; the old, odd behavior was
documented, but people often don't read docs so the new behavior avoids
surprises
- Added 'cached_temp' method
- New upstream release 0.100
- Fixed tests for eventual removal of '.' from @INC in Perl
- Fixed filehandle mode doc typo
- Fixed doc typo in relative() that mentioned rel2abs instead of abs2rel
- New upstream release 0.094
- Path::Tiny will prefer PerlIO::utf8_strict over encoding(UTF-8) if
available and Unicode::UTF8 is not installed
- The 'touch' method can now set the current time on files that aren't owned,
as long as they are writeable
- Improved consistency of symlink support inspection; now always looks at
$Config{d_symlink}
- Skips impossible test on 'msys' platform.
- BR: perl-generators where possible
- Drop redundant Group: tag