tp6混合easyswoole DLL 多应用模式 修改版
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

220 lines
7.2 KiB

5 years ago
  1. CHANGELOG
  2. ---------
  3. ### v3.5.1, 2019.11.30
  4. - Bugfix. See #47
  5. ### v3.5.0, 2019.11.29
  6. - Added support for short closures (arrow functions)
  7. - Added `isShortClosure` method to `Opis\Closure\ReflectionClosure`
  8. ### v3.4.2, 2019.11.29
  9. - Added `stream_set_option()`
  10. ### v3.4.1, 2019.10.19
  11. - Fixed a [bug](https://github.com/opis/closure/issues/40) that prevented serialization to work correctly.
  12. ### v3.4.0, 2019.09.03
  13. - Added `createClosure` static method in `Opis\Closure\SerializableClosure`.
  14. This method creates a new closure from arbitrary code, emulating `create_function`,
  15. but without using eval
  16. ### v3.3.1, 2019.07.10
  17. - Use `sha1` instead of `md5` for hashing file names in `Opis\Closure\ReflectionClosure` class
  18. ### v3.3.0, 2019.05.31
  19. - Fixed a bug that prevented signed closures to properly work when the serialized string
  20. contains invalid UTF-8 chars. Starting with this version `json_encode` is no longer used
  21. when signing a closure. Backward compatibility is maintained and all closures that were
  22. previously signed using the old method will continue to work.
  23. ### v3.2.0, 2019.05.05
  24. - Since an unsigned closure can be unserialized when no security provider is set,
  25. there is no reason to treat differently a signed closure in the same situation.
  26. Therefore, the `Opis\Closure\SecurityException` exception is no longer thrown when
  27. unserializing a signed closure, if no security provider is set.
  28. ### v3.1.6, 2019.02.22
  29. - Fixed a bug that occurred when trying to set properties of classes that were not defined in user-land.
  30. Those properties are now ignored.
  31. ### v3.1.5, 2019.01.14
  32. - Improved parser
  33. ### v3.1.4, 2019.01.14
  34. - Added support for static methods that are named using PHP keywords or magic constants.
  35. Ex: `A::new()`, `A::use()`, `A::if()`, `A::function()`, `A::__DIR__()`, etc.
  36. - Used `@internal` to mark classes & methods that are for internal use only and
  37. backward compatibility is not guaranteed.
  38. ### v3.1.3, 2019.01.07
  39. - Fixed a bug that prevented traits to be correctly resolved when used by an
  40. anonymous class
  41. - Fixed a bug that occurred when `$this` keyword was used inside an anonymous class
  42. ### v3.1.2, 2018.12.16
  43. * Fixed a bug regarding comma trail in group-use statements. See [issue 23](https://github.com/opis/closure/issues/23)
  44. ### v3.1.1, 2018.10.02
  45. * Fixed a bug where `parent` keyword was treated like a class-name and scope was not added to the
  46. serialized closure
  47. * Fixed a bug where return type was not properly handled for nested closures
  48. * Support for anonymous classes was improved
  49. ### v3.1.0, 2018.09.20
  50. * Added `transformUseVariables` and `resolveUseVariables` to
  51. `Opis\Closure\SerializableClosure` class.
  52. * Added `removeSecurityProvider` static method to
  53. `Opis\Closure\SerializableClosure` class.
  54. * Fixed some security related issues where a user was able to unserialize an unsigned
  55. closure, even when a security provider was in use.
  56. ### v3.0.12, 2018.02.23
  57. * Bugfix. See [issue 20](https://github.com/opis/closure/issues/20)
  58. ### v3.0.11, 2018.01.22
  59. * Bugfix. See [issue 18](https://github.com/opis/closure/issues/18)
  60. ### v3.0.10, 2018.01.04
  61. * Improved support for PHP 7.1 & 7.2
  62. ### v3.0.9, 2018.01.04
  63. * Fixed a bug where the return type was not properly resolved.
  64. See [issue 17](https://github.com/opis/closure/issues/17)
  65. * Added more tests
  66. ### v3.0.8, 2017.12.18
  67. * Fixed a bug. See [issue 16](https://github.com/opis/closure/issues/16)
  68. ### v3.0.7, 2017.10.31
  69. * Bugfix: static properties are ignored now, since they are not serializable
  70. ### v3.0.6, 2017.10.06
  71. * Fixed a bug introduced by accident in 3.0.5
  72. ### v3.0.5, 2017.09.18
  73. * Fixed a bug related to nested references
  74. ### v3.0.4, 2017.09.18
  75. * \[*internal*\] Refactored `SerializableClosure::mapPointers` method
  76. * \[*internal*\] Added a new optional argument to `SerializableClosure::unwrapClosures`
  77. * \[*internal*\] Removed `SerializableClosure::getClosurePointer` method
  78. * Fixed various bugs
  79. ### v3.0.3, 2017.09.06
  80. * Fixed a bug related to nested object references
  81. * \[*internal*\] `Opis\Closure\ClosureScope` now extends `SplObjectStorage`
  82. * \[*internal*\] The `storage` property was removed from `Opis\Closure\ClosureScope`
  83. * \[*internal*\] The `instances` and `objects` properties were removed from `Opis\Closure\ClosureContext`
  84. ### v3.0.2, 2017.08.28
  85. * Fixed a bug where `$this` object was not handled properly inside the
  86. `SerializableClosre::serialize` method.
  87. ### v3.0.1, 2017.04.13
  88. * Fixed a bug in 'ignore_next' state
  89. ### v3.0.0, 2017.04.07
  90. * Dropped PHP 5.3 support
  91. * Moved source files from `lib` to `src` folder
  92. * Removed second parameter from `Opis\Closure\SerializableClosure::from` method and from constructor
  93. * Removed `Opis\Closure\{SecurityProviderInterface, DefaultSecurityProvider, SecureClosure}` classes
  94. * Refactored how signed closures were handled
  95. * Added `wrapClosures` and `unwrapClosures` static methods to `Opis\Closure\SerializableClosure` class
  96. * Added `Opis\Colosure\serialize` and `Opis\Closure\unserialize` functions
  97. * Improved serialization. You can now serialize arbitrary objects and the library will automatically wrap all closures
  98. ### v2.4.0, 2016.12.16
  99. * The parser was refactored and improved
  100. * Refactored `Opis\Closure\SerializableClosure::__invoke` method
  101. * `Opis\Closure\{ISecurityProvider, SecurityProvider}` were added
  102. * `Opis\Closure\{SecurityProviderInterface, DefaultSecurityProvider, SecureClosure}` were deprecated
  103. and they will be removed in the next major version
  104. * `setSecretKey` and `addSecurityProvider` static methods were added to `Opis\Closure\SerializableClosure`
  105. ### v2.3.2, 2016.12.15
  106. * Fixed a bug that prevented namespace resolution to be done properly
  107. ### v2.3.1, 2016.12.13
  108. * Hotfix. See [PR](https://github.com/opis/closure/pull/7)
  109. ### v2.3.0, 2016.11.17
  110. * Added `isBindingRequired` and `isScopeRequired` to the `Opis\Closure\ReflectionClosure` class
  111. * Automatically detects when the scope and/or the bound object of a closure needs to be serialized.
  112. ### v2.2.1, 2016.08.20
  113. * Fixed a bug in `Opis\Closure\ReflectionClosure::fetchItems`
  114. ### v2.2.0, 2016.07.26
  115. * Fixed CS
  116. * `Opis\Closure\ClosureContext`, `Opis\Closure\ClosureScope`, `Opis\Closure\SelfReference`
  117. and `Opis\Closure\SecurityException` classes were moved into separate files
  118. * Added support for PHP7 syntax
  119. * Fixed some bugs in `Opis\Closure\ReflectionClosure` class
  120. * Improved closure parser
  121. * Added an analyzer for SuperClosure library
  122. ### v2.1.0, 2015.09.30
  123. * Added support for the missing `__METHOD__`, `__FUNCTION__` and `__TRAIT__` magic constants
  124. * Added some security related classes and interfaces: `Opis\Closure\SecurityProviderInterface`,
  125. `Opis\Closure\DefaultSecurityProvider`, `Opis\Closure\SecureClosure`, `Opis\Closure\SecurityException`.
  126. * Fiexed a bug in `Opis\Closure\ReflectionClosure::getClasses` method
  127. * Other minor bugfixes
  128. * Added support for static closures
  129. * Added public `isStatic` method to `Opis\Closure\ReflectionClosure` class
  130. ### v2.0.1, 2015.09.23
  131. * Removed `branch-alias` property from `composer.json`
  132. * Bugfix. See [issue #6](https://github.com/opis/closure/issues/6)
  133. ### v2.0.0, 2015.07.31
  134. * The closure parser was improved
  135. * Class names are now automatically resolved
  136. * Added support for the `#trackme` directive which allows tracking closure's residing source
  137. ### v1.3.0, 2014.10.18
  138. * Added autoload file
  139. * Changed README file
  140. ### Opis Closure 1.2.2
  141. * Started changelog