Skip to content

Releases: xp-framework/core

9.8.0: I/O

02 Oct 16:54

Choose a tag to compare

Bugfixes

  • Fixed io.streams.MemoryOutputStream to 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.FileOutputStream to implement Seekable interface
    (@thekid)
  • Added io.FileUtil::append() to complement the write() method.
    (@thekid)
  • Added optional bytes arg to io.streams.MemoryOutputStream constructor
    (@thekid)
  • Added read() and write() methods to io.FileUtil as replacements
    for getContents() and setContents()
    (@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

06 Sep 21:05

Choose a tag to compare

  • Multiple API improvements in the util.TimeZone class.
    • Deprecated getName() in favor of the shorter name() method
    • Deprecated getOffset() in favor of difference(); and the method
      getOffsetInSeconds() in favor of offset(); making the TimeZone
      API consistent with TimeZoneTransition.
      (@thekid)
  • Multiple API improvements in the util.TimeZoneTransition class.
    • Added difference() method to util.TimeZoneTransition which returns
      the offset in the "[+-]HHMM" format.
    • Changed previous() and next() to return the calculated transition
      instead of returning void.
    • Deprecated getTz() in favor of timezone(); and getDate() in favor
      of date(); making the API more consistent.
      (@thekid)

9.6.0: Proc::terminate()

13 Aug 09:15

Choose a tag to compare

Features

  • Merged pull request #203: Implement Process::terminate() (@thekid)

9.5.4: PHP 7.4 forward compatibility

12 Aug 11:36

Choose a tag to compare

Features

  • Ensured compatibility with PHP 7.3 beta (@thekid)
  • Merged PR #202: PHP 7.4 forward compatiblity (@thekid)

9.5.3: Int casting fix

07 Aug 11:19

Choose a tag to compare

Bugfixes

  • Fixed issue #201: Casting to int: Uninitialized string offset: 1
    (@thekid)

9.5.2: Octal and hexadecimal literals fix

27 Jul 09:30

Choose a tag to compare

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() and Primitive::$INT->newInstance() for
    strings containing hexadecimal or octal numbers.
    (@thekid)
  • Fixed octal and hexadecimal literals in annotations (@thekid)

9.5.1: Path fixes

27 Jul 09:29

Choose a tag to compare

Bugfixes

9.5.0: Files & streams

07 Jun 23:38

Choose a tag to compare

Features

  • Merged pull request #199: Add DateUtil::add() and DateUtil::subtract()
    (@thekid)
  • Changed io.File to allow URIs created with io.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. from Streams::readableFd().
    (@thekid)

9.4.1: StringReader fixes

27 May 07:08

Choose a tag to compare

Bugfixes

  • Fixed StringReader::readLine() calling underlying stream's read()
    method too often, resulting in hanging when reading from the console.
    (@thekid)

9.4.0: IDisposable

02 Apr 12:22

Choose a tag to compare

RFCs

Features

  • Upgraded bundled unittest library to 9.4.1 (@thekid)