Releases: TYPO3/phar-stream-wrapper
Adjust .gitattributes export behavior
v2.1.4 [TASK] Adjust .gitattributes export behavior
PHP 7.4 compatibility
Resolved Issues
- #49: Ensure PHP 7.4 compatibility
PHP 7.4 compatibility
Resolved Issues
- #49: Ensure PHP 7.4 compatibility
Notice
Branch v2
is not considered to be dramatically changed in order to be compatible with future PHP versions anymore. Albeit this branch now should be working for PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3 and 7.4 we'd like to encourage projects to switch to the master
branch and v3.1.3
or any later version - which is considered to be adjusted for future PHP versions as well.
tl;dr: No guarantee v2
branch will be maintained for upcoming PHP 7.4.x and PHP 8 versions
Handling mime-type & Windows paths
Handling mime-type & Windows paths
Phar Alias Handling & Performance
Phar Alias Handling & Performance
Phar Alias Handling
Description
Releases v3.1.0 and v.2.1.0 aim to overcome drawbacks in Phar's alias resolving (either by Phar archives using Phar::setAlias()
in meta-data or Phar::mapPhar()
in stub code).
Merged pull-requests
Migration
In case custom Assertable
interceptors have been used, path resolving has to be adjusted in order to make use of alias resolving features.
before - example in v3.0.1
$baseFile = Helper::determineBaseFile($path);
after - example in v3.1.0
$invocation = Manager::instance()->resolve($path);
$baseName = $invocation->getBaseName(); // previously called $baseFile
Open Issues
There have been reports about flaws using stream_select()
and according stream_cast()
in PharStreamWrapper
. Since it was not possible to reproduce the behavior in an isolated scenario and specific platform requiresments were not clear, these aspects have not been covered by these releses - see #8 and #19 for details.
Features
- added low-level
Phar\Reader
for stub & meta-data (incl. alias) and their model representations - added
Resolver\PharInvocationResolver
in order to resolve/handle alias names - added
Interceptor\ConjunctionInterceptor
for combining multiple interceptors - added
Interceptor\PharMetaDataInterceptor
for actually testing against insecure deserialization in meta-data of Phar archives
Phar Alias Handling
Description
Releases v3.1.0 and v.2.1.0 aim to overcome drawbacks in Phar's alias resolving (either by Phar archives using Phar::setAlias()
in meta-data or Phar::mapPhar()
in stub code).
Merged pull-requests
Migration
In case custom Assertable
interceptors have been used, path resolving has to be adjusted in order to make use of alias resolving features.
before - example in v3.0.1
$baseFile = Helper::determineBaseFile($path);
after - example in v3.1.0
$invocation = Manager::instance()->resolve($path);
$baseName = $invocation->getBaseName(); // previously called $baseFile
Open Issues
There have been reports about flaws using stream_select()
and according stream_cast()
in PharStreamWrapper
. Since it was not possible to reproduce the behavior in an isolated scenario and specific platform requiresments were not clear, these aspects have not been covered by these releses - see #8 and #19 for details.
Features
- added low-level
Phar\Reader
for stub & meta-data (incl. alias) and their model representations - added
Resolver\PharInvocationResolver
in order to resolve/handle alias names - added
Interceptor\ConjunctionInterceptor
for combining multiple interceptors - added
Interceptor\PharMetaDataInterceptor
for actually testing against insecure deserialization in meta-data of Phar archives