Releases: xp-framework/core
Releases · xp-framework/core
9.8.0: I/O
Bugfixes
- Fixed
io.streams.MemoryOutputStreamto behave like files when writing
beyond stream end: Content is padded with"\0".
(@thekid) - Fixed
io.FileUtil::write()to overwrite open files' contents instead
of simply appending the bytes given
(@thekid) - Fixed
io.File::truncate()to retain the file offset on Windows, this
way behaving the same as Unix systems.
(@thekid)
Features
- Changed
io.streams.FileOutputStreamto implementSeekableinterface
(@thekid) - Added
io.FileUtil::append()to complement thewrite()method.
(@thekid) - Added optional bytes arg to
io.streams.MemoryOutputStreamconstructor
(@thekid) - Added
read()andwrite()methods toio.FileUtilas replacements
forgetContents()andsetContents()
(@thekid) - Added
io.streams.MemoryOutputStream::bytes()method w/o get prefix
(@thekid) - Added
io.TempFile::persistent()method to keep temporary files even
after they are garbage-collected
(@thekid) - Added destructor to file ensuring file handles are closed when
io.File
are garbage-collected
(@thekid) - Added
io.TempFile::containing()method to easily create temporary
files and write content to them in one step
(@thekid) - Merged PR #204: Deprecate
util.PropertyManager- @thekid
9.7.0: Timezone API improvements
- Multiple API improvements in the
util.TimeZoneclass.- Deprecated
getName()in favor of the shortername()method - Deprecated
getOffset()in favor ofdifference(); and the method
getOffsetInSeconds()in favor ofoffset(); making the TimeZone
API consistent with TimeZoneTransition.
(@thekid)
- Deprecated
- Multiple API improvements in the
util.TimeZoneTransitionclass.- Added
difference()method toutil.TimeZoneTransitionwhich returns
the offset in the "[+-]HHMM" format. - Changed
previous()andnext()to return the calculated transition
instead of returning void. - Deprecated
getTz()in favor oftimezone(); andgetDate()in favor
ofdate(); making the API more consistent.
(@thekid)
- Added
9.6.0: Proc::terminate()
9.5.4: PHP 7.4 forward compatibility
9.5.3: Int casting fix
9.5.2: Octal and hexadecimal literals fix
Bugfixes
- Fixed forward compatibility with PHP 7.3, which deprecates string search
with non-string needles: https://wiki.php.net/rfc/deprecations_php_7_3
(@thekid) - Fixed
Primitive::$INT->cast()andPrimitive::$INT->newInstance()for
strings containing hexadecimal or octal numbers.
(@thekid) - Fixed octal and hexadecimal literals in annotations (@thekid)
9.5.1: Path fixes
9.5.0: Files & streams
Features
- Merged pull request #199: Add DateUtil::add() and DateUtil::subtract()
(@thekid) - Changed
io.Fileto allow URIs created withio.streams.Streams
(@thekid) - Added
io.streams.MemoryInputStream::size()accessor (@thekid)
Bugfixes
- Fixed
io.File::size()to work when the instance has been created with
a file descriptor, e.g. fromStreams::readableFd().
(@thekid)
9.4.1: StringReader fixes
Bugfixes
- Fixed
StringReader::readLine()calling underlying stream'sread()
method too often, resulting in hanging when reading from the console.
(@thekid)
9.4.0: IDisposable
RFCs
- Implemented xp-framework/rfc#329: Deprecate io.sys (@thekid)
- Implemented xp-framework/rfc#328: IDisposable (@thekid)
Features
- Upgraded bundled unittest library to 9.4.1 (@thekid)