Releases: ApiGen/ApiGen
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
Released version 5.0 RC1
Added
- #863 Added
Annotation
package - Added
Element
package - Added
ModularConfiguration
package - Added
Reflection
package - #858 Added
StringRouting
package - Added
.editorconfig
to the project - #704 Added support for
static
type - #731 Added bitcoin link support via
@link bitcoin:address
- Added
theme
option to load theme from directory - Added phpDocumentor/TypeResolver for type resolving
- Added phpDocumentor/ReflectionDocBlock for annotation parsing
- Added Symplify/EasyCodingStandard to make coding standard powerful
- Added phpstan for static analysis checks
Changed
- #827 Changed PHP Token Reflection library from
andrewsville/php-token-reflection
toroave/better-reflection
- Minimum PHP requirement was increased from
5.4
to7.1
- #880 Change DI library from
Nette\DI
to Symfony\DependencyInjection due to Symfony 3.3 new features and PSR-11 - Project is now
PSR-2
compatible - #64 UTF-8 is now a standard/default charset. [ApiGen] will expect UTF-8 encoded files by default
- #771 Only relevant classes are generated in sidebar and source code pages
- Enabled autocomplete for methods and properties
- #814 #862
ThemeDefault
andThemeBootstrap
merged to one local theme, with support of Bootstrap 3
and mobile-friendly design - #823
@internal
annotation cannot be ignored now - #826 Long and short description merged to one, since there was thin and not clear line between them
- #818 #827
Class<Generator,Reflection>
split toClass
,Trait
andInterface
with own type-specific methods - #845 #845
SourceCodeGenerator
dropped and moved to particular reflection generators (ClassGenerator...) - #855 Indirect and direct users/implementers/inheritors merged to one group
- #858 Tree and Namespace filters simplified
- #862 Standardize use of annotations
- #860 Left sidebar removed, it duplicated main content and had complicated tree structures
- #749 Don't fully qualify local members
Fixed
- #520 Fixed an issue with temporary files not being removed upon exit (in cases where failure happens)
- #631 Fixed an issue with
generate
command throwing an error - #804 Fixed tests (and hopefully compatibility) on Windows OS
- Fixed deprecation checks when generating docs
- Fixed issues with exception handling in low-level parser
- Fixed an error on generating docs for non-existent traits
- #668 Fixed an issue with handling paths on different OS. The paths should now be normalized and work on Windows
- #740 Fixed an issue where ApiGen sometimes would incorrectly resolve return typehints for functions
- #734 Fixed an issue when docblocks marked with
@internal
would be documented - #750 Fixed support of
$this
as return type hint - #848 Fixed missing methods in class
- #717 Fixed duplicated function source code
PHP 5.5, 5.6 and 7 and parsing related Fixes
- #620 Fixed composed trait methods
- #774 Fixed default constant value and
__DIR__
constant parsing - #751 Fixed broken function definition
- #680 Fixed
::class
parsing
Removed
- #826
--main
option dropped - #813 Magic elements dropped
--charset
CLI option has been dropped (expectingUTF-8
now by default)--skip-doc-path
CLI option has ben dropped- #827
--template-config
and--template-theme
dropped - #853
--exclude
and--extensions
options dropped (useFinderInterface
implementation instead) - Removed various deprecated generators (Robots, Sitemap) which weren't used
- #809
Tree
generator dropped - Dropped Zip generator, internet is quite fast nowadays.
- Dropped PHAR support.
- #827
Exception
element dropped - Dropped element js toggling in page, was bugged and was causing confused page jumps.
- Dropped support for global constant documentation, as BetterReflection doesn't support it out of the box yet.
Full diff: v4.1.2...v5.0.0-RC1
Released version 4.1.2
Minor fixes
Full diff: v4.1.1...v4.1.2