Releases: ApiGen/ApiGen
v7.0.0-alpha.6
Improved parallelization
- supports parallel analysis in addition to parallel rendering
- no longer requires
pcntl
extension - works on Windows as well
Other Improvements
Bugfixes
v7.0.0-alpha.5
Improvements
- support default types for generic parameters
- support @template-contravariant tags
- print variance information of generic types
- print sealed information of array shapes
- print kind information of array shapes
- resolve 'parent' and 'self' keyword
- support more keywords when resolving php doc
- add robots=noindex to pages of non-primary elements
- render sitemap.xml
- emit error when source file is not UTF-8 encoded
Bugfixes
- fix error when Index was empty
- fix highlight 'match' as keyword
- fix various missing spaces when printing type
v7.0.0-alpha.4
v7.0.0-alpha.3
Full PHP 8.2 Support
- fetching enum properties in constant expressions
- readonly classes
- disjunctive normal types
- constant in traits
- standalone true, false and null types
Other Improvements
v7.0.0-alpha.2
7.0.0-alpha
Rewritten to be based on nikic/php-parser and phpstan/phpdoc-parser with full support of PHP 8.1 features.
Features
- phpDoc
- PHP 8.1
- PHP 8.0
- PHP 7.4
Install
With Docker
ApiGen is available as apigen/apigen Docker image which you can directly use.
docker run --rm --interactive --tty --volume "$PWD:$PWD" --workdir "$PWD" \
apigen/apigen \
src --output docs
With Phar
This will install ApiGen phar binary to tools/apigen
.
mkdir -p tools
curl -L https://github.com/ApiGen/ApiGen/releases/download/v7.0.0-alpha/apigen.phar -o tools/apigen
chmod +x tools/apigen
tools/apigen src --output docs
With Composer
This will install ApiGen to tools/apigen
directory with executable entry point available in tools/apigen/bin/apigen
.
composer create-project --no-dev apigen/apigen:^7.0@alpha tools/apigen
tools/apigen/bin/apigen src --output docs
Released version 5.0 RC5
If you are interested in ApiGen behind-scene @TomasVotruba wrote a post about ApiGen 5 revival process: https://www.tomasvotruba.cz/blog/2017/09/04/how-apigen-survived-its-own-death/
Added
-
@vlastavesely added as a co-maintainer, thanks to his great additions to the project 👏
-
#971 Added resolving parent classes, Thanks to @vlastavesely
-
#987 Improve parsing by BetterReflection by Caching, make use of Roave/BetterReflection#312; also decouple
BetterReflection
subpackage and turn static to DI
Changed
- #977, #978 Updated to EasyCodingStandard 2.2.6 with new checkers
- #990 Improve ProjectVendorSourceLocatorFactory readability, Thanks @simara-svatopluk
Fixed
- #974 Deprecate all subelements of deprecated classes, interfaces and traits, Thanks to @vlastavesely
- #980 Fixed line wraps in source code (css), Thanks to @vlastavesely
- #972 Fixed
__CLASS__
parsing, see Roave/BetterReflection#298, Thanks to @vlastavesely
Full diff: v5.0.0-RC4...v5.0.0-RC5
Released version 5.0 RC4 - DEMO is Back!
Added
- #926 Initial support for ReflectionConstant, Thanks @POPSuL also for extensive PR to BetterReflection repository
- #959 Added ValueDumper, Thanks @vlastavesely
- #958 Added support for interface constants, Thanks @vlastavesely
- #970 Added ApiGen Docs DEMO - to be found at https://apigen.github.io/ApiGen
Changed
- #956 Reflection: allowed nullable filenames for internal reflections, Thanks @vlastavesely
- #969 Upgraded to EasyCodingStandard 2.2
Fixed
- #955 RelativePathResolver: fix for functions loaded from file source, Thanks @vlastavesely
- #957 Parser: fixed file source loader, Thanks @vlastavesely
- #954 Deprecated methods of deprecated interface, Thanks @vlastavesely
- #969 Lock Roave\BetterReflection to specific commit to prevent breaking the code
Full diff: v5.0.0-RC3...v5.0.0-RC4
Released version 5.0 RC3
Huge thanks to @vlastavesely for dozens of PR to this release!
Your work is pushing this repository fast forward.
Added
- #944 Added support for
FileLocator
; Thanks to @vlastaveselyvendor/bin/apigen generate src/Directory src/SomeClass.php --destination /api
- #940 Added support for traits with properties; Thanks to @vlastavesely
- #916 Added support different vendor analysis by adding a ComposerSourceLocator; Thanks to @vlastavesely
- #946 Added highlighting of method's param default value; Thanks to @vlastavesely
- #932 Added autocomplete search; Thanks to @vlastavesely and also to @POPSuL
Changed
- #934 Disabled function param sorting + fixed function.latte; Thanks to @vlastavesely
- #943 Minor improvement in 'finished' msg; Thanks to @nelson6e65
- #933 Use local copy of jQuery; Thanks to @vlastavesely
Fixed
- #950 Fixed link generation for type hints; Thanks to @vlastavesely
- #952 Fixed @see/@link annotation for links and not elements.
- #941 Fixed improper parent class retrieval; Thanks to @vlastavesely
- #939 #953 Fixed
strike outsfor deprecated elements; Thanks to @vlastavesely - #925 Theme: fixed whitespace wrapping for long description; Thanks to @vlastavesely
- #927 Fixed console progressbar overflow; Thanks to @vlastavesely
Full diff: v5.0.0-RC2...v5.0.0-RC3
Released version 5.0 RC2
Added
- #888 more informative information added on
--version
call in CLI; Thanks to @brunoaugusto - #895 implemented
TraitMethodReflection::isDeprecated()
; Thanks to @vlastavesely - #923 used local Bootstrap CSS for more flexible local development; Thanks to @vlastavesely
- #919 added exception standalone page via
ExceptionGenerator
+ separation from classes inNamespaceGenerator
; Thanks to @vlastavesely
Changed
- #918 use Coveralls for coverage over Scrutinizer
Fixed
- #917 fixed removing internal classes for
NamespaceGenerator
- #905
StepCounter
improvements; Thanks to @vlastavesely - #898 fixed source code highlighting templates; Thanks to @vlastavesely
- #921, #892, #904 fixed autoloading for
composer create-project ...
andcomposer global require ...
command and added tests for them; Thanks to @brunoaugusto and @nelson6e65 - #891, #893 fixed trait name in template; Thanks to @vlastavesely
Thank you all guys for great work. I'm very happy to see such activity around this project! ❤️
Full diff: v5.0.0-RC1...v5.0.0-RC2