Releases: MarcelBolten/phpeggy
Releases · MarcelBolten/phpeggy
PHPeggy-2.0.1
Version 2.0.1
Released: 2023-03-21
Minor Changes
- Downgrade package-lock.json to lockfile version 2
Developer
- use typescript 5
PHPeggy-2.0.0
Version 2.0.0
Released: 2023-03-20
Breaking Changes
- node ≥14 is required
- PHP ≥8.0 is required
- The initializer code is not added to Parser->parse() anymore. Instead the code will be added to Parser and a method initialize() will be called if it is provided:
class Parser { + initializer code block + it may contain + function initialize() {...} + public function parse() { ... - initializer code block + if (method_exists($this, 'initialize')) { + $this->initialize(); + } ... } }
Major Changes
- Use types in PHP wherever possible.
- Keep up with Peggy development up to version 3.0.0:
Implementation of global initializer blocks, plucking (see Peggy 1.1.0 changelog), and repetition operator (see Peggy 3.0.0 changelog). - Add custom header to generated parser via PHPeggyOptions
phpeggy: { header: '/* My custom header */' }
.
Developer
- Switch form Travis to GitHub Actions
- Added ESLint
- Use PHP-CS-Fixer to check generated PHP parsers
- Use Psalm and PHPStan for static analysis
- Split generate-php.js into several files
- Cleanup bytecode generator, PHP code is now exclusively in
generate-php.js
. - The attempt to use
mbstring
extension-dependent features with optionmbstringAllowed: false
will now throw an error inpasses.check
and notpasses.generate
.