Skip to content

Releases: dg/bypass-finals

Released version 1.10.1

01 Jun 13:43
@dgdg

Choose a tag to compare

✨ New Features

  • bootstrap.php – activate BypassFinals at the earliest possible moment, before vendor/autoload.php loads, so nothing slips through unmodified (#74, #58)

🐛 Bug Fixes

  • Fixed proc_open() when given a ['file', ...] descriptor spec – the native wrapper no longer chokes on file-based descriptors (#43)
  • Fixed premature EOF: stream_eof() now waits for an actual empty read before reporting end-of-stream, preventing truncated reads (#75, #50)
  • The cache directory is now created recursively, so deeply nested cache paths just work out of the box (#70, #66)
  • Cleared the stat cache after the is_dir() check in stream_open(), fixing stale filesystem state on cache writes (#69, #67)
  • Fixed debugInfo() output so bypass tokens are reported correctly (#68)
  • NativeWrapper::stream_seek() now detects whether the underlying stream is actually seekable instead of blindly seeking (#63)
  • Final-token removal now preserves constant names, so identifiers that happen to look like the final keyword survive untouched (#64)
  • Added a T_READONLY constant polyfill for PHP < 8.1, keeping older runtimes happy (51736af)
  • Consolidated all cache I/O into a single native stream-wrapper cycle, simplifying the read/write path and reducing wrapper churn (#71, #55)

Released version 1.9.0

16 Jan 00:42
@dgdg

Choose a tag to compare

  • Make PHPUnitExtension configurable (#59)
  • added BypassFinals::debugInfo()

Released version 1.8.0

08 Jul 08:38
@dgdg

Choose a tag to compare

  • BypassFinals: added allowPaths() & denyPath()
  • PHPUnitExtension: denies path 'vendor/phpunit'

Released version 1.7.0

16 May 22:48
@dgdg

Choose a tag to compare

  • add settings to cache hash [Closes #53]
  • fixed throwing errors in exists-check functions (#54) [Closes #52]
  • open_stream fail when $path is directory (#56)

Released version 1.6.0

14 Feb 07:13
@dgdg

Choose a tag to compare

  • added PHPUnitExtension
  • NativeWrapper: implemented stream_set_option()
  • MutatingWrapper has been separated from BypassFinals

Released version 1.5.1

16 Sep 09:16
@dgdg

Choose a tag to compare

DG\BypassFinals::enable(bypassReadOnly: false);

Released version 1.5.0

23 Aug 11:10
@dgdg

Choose a tag to compare

  • removes keyword 'readonly' too [Closes #39]

Released version 1.4.0

13 Sep 01:01
@dgdg

Choose a tag to compare

  • implemented cache
  • calls previous wrapper if one was set [Closes #9]
  • divided into classes BypassFinals & NativeWrapper
  • fixed some bugs
  • tested in PHP 8.2

Released version 1.3.1

13 Sep 01:00
@dgdg

Choose a tag to compare

fixed some bugs #28, #25

Released version 1.2.0

15 Sep 13:45
@dgdg

Choose a tag to compare

  • requires PHP 7.1
  • Add setWhitelist() method to allow controlling which files get replaced. (#7)