Skip to content

0.10.0

Compare
Choose a tag to compare
@sergeyklay sergeyklay released this 10 Oct 20:06
· 2675 commits to development since this release

Changed

  • Improved code quality
  • Allow install Zephir Parser on Scrutinizer
  • Refactored and improved Config class to implement ArrayAccess and JsonSerializable
  • Fully refactored Zephir\Bootstrap to reduce cyclomatic complexity and drop static calls
  • Cleaned commands and improved commands description
  • Move Zephir\CompilerException to Zephir\Compiler\CompilerException

Added

  • Introduced the Config::fromServer factory method to allow create and populate a Config instance from the $_SERVER['argv']
  • Introduced Zephir\Commands\Manager to proper and clear managing command stack
  • Introduced domain exceptions to throw more specific errors
  • Introduced Zephir\Commands\CommandInterface::getCommandsManager to allow drop any static Bootstrap calls
  • Introduced Zephir\Commands\CommandInterface::getSynopsis to provide command synopsis
  • Introduced ExceptionInterface::getExtra and ExceptionInterface::getErrorRegion to follow common interface for all Zephir exceptions:
    • ExceptionInterface::getExtra: Gets extra info.
    • ExceptionInterface::getErrorRegion: Returns the code block in which the error occurred.
  • Added Zephir\Fcall\FcallManagerInterface and Zephir\Fcall\FcallAwareInterface to introduce more common backend API
  • Added --help|-h command option to each command to provide per command help and reduce first level help

Fixed

  • Fixed CI script installer and populating CI-related cache
  • Fixed Logger' file contents cache
  • Removed unused imports

Removed

  • Removed enable_dl command option. This deprecated feature will certainly be removed in the future from PHP. Actually we no longer need this directive at all.
  • Removed safe_mode PHP option. The Safe Mode removed from PHP 5.4, and generates a fatal E_CORE_ERROR level error when enabled.
  • Removed no longer needed Zephir\FileSystem\Apc storage. APC creates a new memory pool when a CLI process is created so this adapter is useless.
  • Removed no longer used bundled parser #1471