Skip to content

Releases: MarcelBolten/phpeggy

PHPeggy-2.0.1

21 Mar 19:31
Compare
Choose a tag to compare

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

20 Mar 20:35
Compare
Choose a tag to compare

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 option mbstringAllowed: false
    will now throw an error in passes.check and not passes.generate.

PHPeggy-1.0.1

25 Feb 22:05
Compare
Choose a tag to compare

Version 1.0.1

Released: 2022-02-25

  • Fix php string concatenation (#1)