forked from rebillar/site-accueil-insa
8.4 KiB
8.4 KiB
CHANGELOG
v3.6.2, 2021.04.09
- Fixed string interpolation
v3.6.1, 2020.11.07
- Fixed serialization error #84
v3.6.0, 2020.10.12
- Initial PHP 8 Support #67.
v3.5.7, 2020.09.06
v3.5.6, 2020.08.11
- Fixed issue #70
v3.5.5, 2020.06.17
- Fixed a false-positive when using
Opis\Closure\ReflectionClosure::isScopeRequiredmethod
v3.5.4, 2020.06.07
- Fixed a false-positive when using
Opis\Closure\ReflectionClosure::isScopeRequiredmethod - Fixed a bug related to
T_STRING_VARNAME
v3.5.3, 2020.05.25
- Improved parser
- The class scope optimisation is no longer used. We always bind now to the closure's original class scope.
When the class scope was
null, the optimisation failed to work as expected and kept the wrongSerializableClosurescope.
v3.5.2, 2020.05.21
- Removed extra semicolon in short closures, since is not part of the closure's body.
v3.5.1, 2019.11.30
- Bugfix. See #47
v3.5.0, 2019.11.29
- Added support for short closures (arrow functions)
- Added
isShortClosuremethod toOpis\Closure\ReflectionClosure
v3.4.2, 2019.11.29
- Added
stream_set_option()
v3.4.1, 2019.10.19
- Fixed a bug that prevented serialization to work correctly.
v3.4.0, 2019.09.03
- Added
createClosurestatic method inOpis\Closure\SerializableClosure. This method creates a new closure from arbitrary code, emulatingcreate_function, but without using eval
v3.3.1, 2019.07.10
- Use
sha1instead ofmd5for hashing file names inOpis\Closure\ReflectionClosureclass
v3.3.0, 2019.05.31
- Fixed a bug that prevented signed closures to properly work when the serialized string
contains invalid UTF-8 chars. Starting with this version
json_encodeis no longer used when signing a closure. Backward compatibility is maintained and all closures that were previously signed using the old method will continue to work.
v3.2.0, 2019.05.05
- Since an unsigned closure can be unserialized when no security provider is set,
there is no reason to treat differently a signed closure in the same situation.
Therefore, the
Opis\Closure\SecurityExceptionexception is no longer thrown when unserializing a signed closure, if no security provider is set.
v3.1.6, 2019.02.22
- Fixed a bug that occurred when trying to set properties of classes that were not defined in user-land. Those properties are now ignored.
v3.1.5, 2019.01.14
- Improved parser
v3.1.4, 2019.01.14
- Added support for static methods that are named using PHP keywords or magic constants.
Ex:
A::new(),A::use(),A::if(),A::function(),A::__DIR__(), etc. - Used
@internalto mark classes & methods that are for internal use only and backward compatibility is not guaranteed.
v3.1.3, 2019.01.07
- Fixed a bug that prevented traits to be correctly resolved when used by an anonymous class
- Fixed a bug that occurred when
$thiskeyword was used inside an anonymous class
v3.1.2, 2018.12.16
- Fixed a bug regarding comma trail in group-use statements. See issue 23
v3.1.1, 2018.10.02
- Fixed a bug where
parentkeyword was treated like a class-name and scope was not added to the serialized closure - Fixed a bug where return type was not properly handled for nested closures
- Support for anonymous classes was improved
v3.1.0, 2018.09.20
- Added
transformUseVariablesandresolveUseVariablestoOpis\Closure\SerializableClosureclass. - Added
removeSecurityProviderstatic method toOpis\Closure\SerializableClosureclass. - Fixed some security related issues where a user was able to unserialize an unsigned closure, even when a security provider was in use.
v3.0.12, 2018.02.23
- Bugfix. See issue 20
v3.0.11, 2018.01.22
- Bugfix. See issue 18
v3.0.10, 2018.01.04
- Improved support for PHP 7.1 & 7.2
v3.0.9, 2018.01.04
- Fixed a bug where the return type was not properly resolved. See issue 17
- Added more tests
v3.0.8, 2017.12.18
- Fixed a bug. See issue 16
v3.0.7, 2017.10.31
- Bugfix: static properties are ignored now, since they are not serializable
v3.0.6, 2017.10.06
- Fixed a bug introduced by accident in 3.0.5
v3.0.5, 2017.09.18
- Fixed a bug related to nested references
v3.0.4, 2017.09.18
- [internal] Refactored
SerializableClosure::mapPointersmethod - [internal] Added a new optional argument to
SerializableClosure::unwrapClosures - [internal] Removed
SerializableClosure::getClosurePointermethod - Fixed various bugs
v3.0.3, 2017.09.06
- Fixed a bug related to nested object references
- [internal]
Opis\Closure\ClosureScopenow extendsSplObjectStorage - [internal] The
storageproperty was removed fromOpis\Closure\ClosureScope - [internal] The
instancesandobjectsproperties were removed fromOpis\Closure\ClosureContext
v3.0.2, 2017.08.28
- Fixed a bug where
$thisobject was not handled properly inside theSerializableClosre::serializemethod.
v3.0.1, 2017.04.13
- Fixed a bug in 'ignore_next' state
v3.0.0, 2017.04.07
- Dropped PHP 5.3 support
- Moved source files from
libtosrcfolder - Removed second parameter from
Opis\Closure\SerializableClosure::frommethod and from constructor - Removed
Opis\Closure\{SecurityProviderInterface, DefaultSecurityProvider, SecureClosure}classes - Refactored how signed closures were handled
- Added
wrapClosuresandunwrapClosuresstatic methods toOpis\Closure\SerializableClosureclass - Added
Opis\Colosure\serializeandOpis\Closure\unserializefunctions - Improved serialization. You can now serialize arbitrary objects and the library will automatically wrap all closures
v2.4.0, 2016.12.16
- The parser was refactored and improved
- Refactored
Opis\Closure\SerializableClosure::__invokemethod Opis\Closure\{ISecurityProvider, SecurityProvider}were addedOpis\Closure\{SecurityProviderInterface, DefaultSecurityProvider, SecureClosure}were deprecated and they will be removed in the next major versionsetSecretKeyandaddSecurityProviderstatic methods were added toOpis\Closure\SerializableClosure
v2.3.2, 2016.12.15
- Fixed a bug that prevented namespace resolution to be done properly
v2.3.1, 2016.12.13
- Hotfix. See PR
v2.3.0, 2016.11.17
- Added
isBindingRequiredandisScopeRequiredto theOpis\Closure\ReflectionClosureclass - Automatically detects when the scope and/or the bound object of a closure needs to be serialized.
v2.2.1, 2016.08.20
- Fixed a bug in
Opis\Closure\ReflectionClosure::fetchItems
v2.2.0, 2016.07.26
- Fixed CS
Opis\Closure\ClosureContext,Opis\Closure\ClosureScope,Opis\Closure\SelfReferenceandOpis\Closure\SecurityExceptionclasses were moved into separate files- Added support for PHP7 syntax
- Fixed some bugs in
Opis\Closure\ReflectionClosureclass - Improved closure parser
- Added an analyzer for SuperClosure library
v2.1.0, 2015.09.30
- Added support for the missing
__METHOD__,__FUNCTION__and__TRAIT__magic constants - Added some security related classes and interfaces:
Opis\Closure\SecurityProviderInterface,Opis\Closure\DefaultSecurityProvider,Opis\Closure\SecureClosure,Opis\Closure\SecurityException. - Fiexed a bug in
Opis\Closure\ReflectionClosure::getClassesmethod - Other minor bugfixes
- Added support for static closures
- Added public
isStaticmethod toOpis\Closure\ReflectionClosureclass
v2.0.1, 2015.09.23
- Removed
branch-aliasproperty fromcomposer.json - Bugfix. See issue #6
v2.0.0, 2015.07.31
- The closure parser was improved
- Class names are now automatically resolved
- Added support for the
#trackmedirective which allows tracking closure's residing source
v1.3.0, 2014.10.18
- Added autoload file
- Changed README file
Opis Closure 1.2.2
- Started changelog