Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROADMAP-v5.4 #266

Closed
22 of 24 tasks
llaville opened this issue Jul 9, 2020 · 11 comments
Closed
22 of 24 tasks

ROADMAP-v5.4 #266

llaville opened this issue Jul 9, 2020 · 11 comments
Assignees
Milestone

Comments

@llaville
Copy link
Owner

llaville commented Jul 9, 2020

New minor version 5.4 :

Must Have

Nice to have

Release Schedule

  • 5.4.0 stable planned for September 9 (later), 2020
@llaville llaville self-assigned this Jul 9, 2020
@llaville llaville pinned this issue Jul 9, 2020
@llaville
Copy link
Owner Author

Reorganization of compatibility analyser code to accept sniffs is now acheived to 90%. Should be push to branch 5.4 tomorrow and allows to keep continue to solve issue like #186

@llaville
Copy link
Owner Author

Reorganization of compatibility analyser code to accept sniffs is now acheived to 100% (see commit 2e5c720)

Unit Tests (upgraded to PHP 7 syntax, see commit 0cfb9f5) pass at 100%

Now, a second optimization phase should be apply to extract code and transform to standalone sniff.
Previous phase allowed to reduce compatibility analyser code by about 300 lines.

@llaville
Copy link
Owner Author

Before to continue to integrate Sniffs to detect each single features, I'll rework base code of compatibility analyser to use an OOP mechanism like Symfony Profiler/Profile/DataCollector

@llaville
Copy link
Owner Author

llaville commented Aug 3, 2020

I've begin to rewrite the full documentation in MarkDown format (rather than AsciiDoc).
Elements that I consider stable are the node visitors of the new architecture (see commit 0d7bf79) explained in the docs folder.

Code refactoring is still on way, and spliting features by sniffs rather that includes in monolitic compatibility analyser.

@llaville
Copy link
Owner Author

llaville commented Aug 4, 2020

First issue on ParentContextVisitor was fixed with commit ffa1146.

I've also decided to add part of PHP_Reflect code into CompatInfo Application to make it more decoupled especially for analyser run command. It will allow to make change to CompatInfo without need to release a new PHP_Reflect version.
The code will look like a bit ugly, but it will help me to prepare a better core architecture for v5.4 and future v6.0

Tomorrow I'll push on repository a running 5.4 application, not yet optimised, but in good way, and of course with a better PHP 7 features detection. At least more than 5.2 / 5.3

@llaville
Copy link
Owner Author

llaville commented Aug 5, 2020

ReturnTypeDeclarationSniff must be fixed fixed with commit 3cc348f to solve #273

@llaville
Copy link
Owner Author

llaville commented Aug 5, 2020

There is lot of work to do :

  • refactor all remaining leave methods (prefixed by _) to deactivated code temporary
  • and decouple Reflect part from CompatInfo (but this huge work is for v6.0). Currently code added allow to run the analyser:run command with compatibility analyser

All commands are not reintegrated, but only the minimum required:

        _            ____                            _   ___        __
  _ __ | |__  _ __  / ___|___  _ __ ___  _ __   __ _| |_|_ _|_ __  / _| ___
 | '_ \| '_ \| '_ \| |   / _ \| '_ ` _ \| '_ \ / _` | __|| || '_ \| |_ / _ \
 | |_) | | | | |_) | |__| (_) | | | | | | |_) | (_| | |_ | || | | |  _| (_) |
 | .__/|_| |_| .__/ \____\___/|_| |_| |_| .__/ \__,_|\__|___|_| |_|_|  \___/
 |_|         |_|                        |_|

phpCompatInfo version 5.4.x-dev DB version 2.16.0 built Jul 11 2020 08:19:48 UTC

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --no-plugins      Disables all plugins.
      --profile         Display timing and memory usage information.
      --progress        Show progress bar.
      --output=OUTPUT   Write results to file or URL.
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  help            Displays help for a command
  list            Lists commands
 analyser
  analyser:list   List all analysers available.
  analyser:run    Analyse a data source and display results.
 reference
  reference:list  List all references supported.
  reference:show  Show information about a reference.
  • fix all unit tests
  • and probably lot more ...

I'll appreciate a lot if some of you can give me some feedback. Feel free to post issue, if you found or need new Sniff for PHP 7 features detection.

Thanks.

=> The first beta code running of 5.4 is available in this repository (branch 5.4)

@llaville
Copy link
Owner Author

The release candidate for 5.4 is canceled. As I've received no feedback since the version on branch 5.4 is available and pretty stable, I think its useless to publish an RC.
Final version stable is always planned for September 9.

@llaville llaville added this to the 5.4 milestone Aug 25, 2020
@llaville
Copy link
Owner Author

Major release 6.0.0 (that should come after 5.4.0) will have a Command Line Interface revisited (and simplified by removing PHP Reflect dependency)
With this goal, i've begin to reduced useless features in API v5 :

  • command analyser:list was removed
  • plugins system was removed
  • configuration file phpcompatinfo.json and env var BARTLETT_SCAN_DIR and BARTLETTRC were removed

See commit c0959a1

@llaville
Copy link
Owner Author

Nice to have tasks will be add in v6.0, not v5.4 (sorry)

Last task to finish is to fix issue #274. I should be able to fix it tomorrow and release v5.4.0 final stable Wednesday 30 september.

Last chance, if somebody will give a feedback of current version in branch 5.4 / CHANGELOG should up-to-date now !

@llaville
Copy link
Owner Author

llaville commented Oct 1, 2020

I'm proud to announce after 3 months of active development that the final release 5.4.0 (stable) is on way !
Will be publish in few minutes now.

@llaville llaville closed this as completed Oct 1, 2020
@llaville llaville unpinned this issue Oct 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant