Skip to content

Commit

Permalink
Merge pull request #74 from bumble-tech/2.x
Browse files Browse the repository at this point in the history
v2.0
  • Loading branch information
seanmcn authored Apr 5, 2024
2 parents d0ee8d3 + 09782d2 commit 9347e83
Show file tree
Hide file tree
Showing 595 changed files with 68,663 additions and 64,217 deletions.
51 changes: 44 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,52 @@
# Changelog
# [1.6.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.6.0)
## [2.0.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.6.0)
### Features
- Adds the ability to generate HTML documentation + live mode for previewing changes.
- Templates now use Frontmatter instead of variables

### Breaking Changes
- ⚠️ Minimum PHP version is now 8.1
- ⚠️ Changes when working with templates:
- Variable `phpClassEntityCollection` renamed to `phpEntities`
- Instead of variables in the template with title and previous page, the Front Matter block is used
- ⚠️ PHP ReflectionAPI has been completely changed. See information about the current version here: [ReflectionAPI](https://github.com/bumble-tech/bumble-doc-gen/tree/master/docs/tech/2.parser/reflectionApi)
- The BetterReflection library and classes that depend on it in the code have been removed:
- `\BumbleDocGen\Core\Cache\SourceLocatorCacheItemPool`
- `\BumbleDocGen\Core\Plugin\Event\Parser\OnLoadSourceLocatorsCollection`
- `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException`
- `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper`
- `\BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\AsyncSourceLocator`
- `\BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\CustomSourceLocatorInterface`
- `\BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\Internal\CachedSourceLocator`
- `\BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\Internal\SystemAsyncSourceLocator`
- Class `\BumbleDocGen\LanguageHandler\Php\Parser\ComposerParser` renamed to `\BumbleDocGen\LanguageHandler\Php\Parser\ComposerHelper`
- Doc block parsing has been removed:
- `\Roave\BetterReflection\Reflection\ReflectionMethod::getDocBlockReturnTypes()`
- `\Roave\BetterReflection\Reflection\ReflectionFunction::getDocBlockReturnTypes()`
- `\Roave\BetterReflection\Reflection\ReflectionParameter::getDocBlockTypes()`
- `\Roave\BetterReflection\Reflection\ReflectionParameter::getDocBlockTypeStrings()`
- `\Roave\BetterReflection\Reflection\ReflectionProperty::getDocBlockTypes()`
- `\Roave\BetterReflection\Reflection\ReflectionProperty::getDocBlockTypeStrings()`
- Method `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity::hasAnnotationKey()` has been removed.
- Method `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity::getExtends()` has been removed.
- Method `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity::getInterfacesString()` has been removed.
- Now documentation for built classes does not load automatically
- Removed the `async_source_loading_enabled` configuration option (Method `\BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings::asyncSourceLoadingEnabled()`)
- Class `\BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\AfterLoadingClassEntityCollection` has been removed. Use `\BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\AfterLoadingPhpEntitiesCollection` instead.
- Class `\BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad` has been removed. Use `\BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsEntityCanBeLoaded`
- Method `\BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings::getComposerInstalledFile()` renamed to `\BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings::getComposerVendorDir()`

## [1.6.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.6.0)
- Updating composer scripts [#66](https://github.com/bumble-tech/bumble-doc-gen/pull/66)
- Configuration console command [#54](https://github.com/bumble-tech/bumble-doc-gen/pull/54)

# [1.5.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.5.0)
## [1.5.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.5.0)
- Caching system refactoring [#62](https://github.com/bumble-tech/bumble-doc-gen/pull/62)
- Ai refactor [#61](https://github.com/bumble-tech/bumble-doc-gen/pull/61)
- Optimization of the caching and error handling [#63](https://github.com/bumble-tech/bumble-doc-gen/pull/63)
- Fixing generation problems [#64](https://github.com/bumble-tech/bumble-doc-gen/pull/64)

# [1.4.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.4.0)
## [1.4.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.4.0)
- Fixed config errors [#52](https://github.com/bumble-tech/bumble-doc-gen/pull/52)
- Fixed method type getter bug [#53](https://github.com/bumble-tech/bumble-doc-gen/pull/53)
- Changed errors output [#55](https://github.com/bumble-tech/bumble-doc-gen/pull/55)
Expand All @@ -18,14 +55,14 @@
- Changed default plugins list [#57](https://github.com/bumble-tech/bumble-doc-gen/pull/57)
- Fixed link finder errors [#59](https://github.com/bumble-tech/bumble-doc-gen/pull/59)

# [1.3.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.3.0)
## [1.3.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.3.0)
- Add Unit Tests for BumbleDocGen\Core\Configuration\ValueTransformer [#45](https://github.com/bumble-tech/bumble-doc-gen/pull/45)
- Add Unit Tests for ValueResolver Namespace [#47](https://github.com/bumble-tech/bumble-doc-gen/pull/47)
- Adding entity doc generation modes [#46](https://github.com/bumble-tech/bumble-doc-gen/pull/46)
- Adding new filter condition [#50](https://github.com/bumble-tech/bumble-doc-gen/pull/50)
- Removing empty doc dirs [#49](https://github.com/bumble-tech/bumble-doc-gen/pull/49)

# [1.2.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.2.0)
## [1.2.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.2.0)
- Fixing contributing rules [#9](https://github.com/bumble-tech/bumble-doc-gen/pull/9)
- Adds issue templates for Bug reports & feature requests [#13](https://github.com/bumble-tech/bumble-doc-gen/pull/13)
- Adds Code of Conduct & PR template [#15](https://github.com/bumble-tech/bumble-doc-gen/pull/15)
Expand All @@ -39,10 +76,10 @@
- Removing ocramius proxy manager [#37](https://github.com/bumble-tech/bumble-doc-gen/pull/37)
- Use shared cache option [#38](https://github.com/bumble-tech/bumble-doc-gen/pull/38)

# [1.1.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.1.0)
## [1.1.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.1.0)
- Implementation of the ability to add custom commands to a standard console application [#4](https://github.com/bumble-tech/bumble-doc-gen/pull/4)
- Fixing console app bugs [#5](https://github.com/bumble-tech/bumble-doc-gen/pull/5)
- Adding new console commands [#6](https://github.com/bumble-tech/bumble-doc-gen/pull/6)

# [1.0.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.0.0)
## [1.0.0](https://github.com/bumble-tech/bumble-doc-gen/releases/tag/v1.0.0)
- First public version of documentation generator.
41 changes: 26 additions & 15 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,37 @@
# Security Policy

Your security is of utmost importance to us. This document outlines our commitment to ensuring that our software remains secure, how we handle vulnerabilities, and what you can do if you find one.
Your security is of utmost importance to us. This document outlines our commitment to ensuring that our software remains
secure, how we handle vulnerabilities, and what you can do if you find one.

## Supported Versions

Security updates will be applied to certain versions of our software. Please refer to the table below to understand which versions are currently supported for security patches.
Security updates will be applied to certain versions of our software. Please refer to the table below to understand
which versions are currently supported for security patches.

| Version | Supported | Notes |
|---------|--------------------|----------------------------------------|
| 1.6.x | :white_check_mark: | Current version, fully supported. |
| 1.5.x | :x: | Not supported, please upgrade to 1.6.x |
| 1.4.x | :x: | Not supported, please upgrade to 1.6.x |
| 1.3.x | :x: | Not supported, please upgrade to 1.6.x |
| 1.2.x | :x: | Not supported, please upgrade to 1.6.x |
| 1.1.x | :x: | Not supported, please upgrade to 1.6.x |
| 1.0.x | :x: | Not supported, please upgrade to 1.6.x |
| 2.0.x | :white_check_mark: | Current version, fully supported. |
| 1.6.x | :x: | Not supported, please upgrade to 2.0.x |
| 1.5.x | :x: | Not supported, please upgrade to 2.0.x |
| 1.4.x | :x: | Not supported, please upgrade to 2.0.x |
| 1.3.x | :x: | Not supported, please upgrade to 2.0.x |
| 1.2.x | :x: | Not supported, please upgrade to 2.0.x |
| 1.1.x | :x: | Not supported, please upgrade to 2.0.x |
| 1.0.x | :x: | Not supported, please upgrade to 2.0.x |

## Reporting a Vulnerability

We appreciate the effort of security researchers and the general public in helping us maintain the security of our software. Here’s how you can report a vulnerability:
We appreciate the effort of security researchers and the general public in helping us maintain the security of our
software. Here’s how you can report a vulnerability:

1. **Creating an Issue**: Visit our GitHub repository and [create an issue](https://github.com/bumble-tech/bumble-doc-gen/issues) detailing the vulnerability. Please label the issue as "security" for quicker identification.
2. **Details Matter**: When reporting, please provide as much detail as possible. This includes steps to reproduce, potential impact, and any other information that might help us understand the severity and nature of the vulnerability.
3. **Stay Responsible**: Avoid disclosing public details about the vulnerability until we've had a chance to address it. This ensures that our users remain protected.
1. **Creating an Issue**: Visit our GitHub repository
and [create an issue](https://github.com/bumble-tech/bumble-doc-gen/issues) detailing the vulnerability. Please label
the issue as "security" for quicker identification.
2. **Details Matter**: When reporting, please provide as much detail as possible. This includes steps to reproduce,
potential impact, and any other information that might help us understand the severity and nature of the
vulnerability.
3. **Stay Responsible**: Avoid disclosing public details about the vulnerability until we've had a chance to address it.
This ensures that our users remain protected.

## Our Commitment

Expand All @@ -31,7 +40,8 @@ Upon receiving a security vulnerability report:
1. We will confirm the receipt of the report and begin an initial assessment.
2. We will work to verify the vulnerability and ascertain its potential impact.
3. If required, we will release patches for the affected versions.
4. We will recognize your efforts in our changelog and other public communications, unless you prefer to remain anonymous.
4. We will recognize your efforts in our changelog and other public communications, unless you prefer to remain
anonymous.

## Further Recommendations

Expand All @@ -43,4 +53,5 @@ We recommend all users to:

---

Your security is a collaborative effort, and we are grateful for your trust and participation in keeping our library safe and reliable.
Your security is a collaborative effort, and we are grateful for your trust and participation in keeping our library
safe and reliable.
35 changes: 35 additions & 0 deletions UPGRADE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Upgrade Documentation

This document serves as a reference for updating your current version of the BumbleDocGen library regarding deprecation or backward compatibility issues.

## Upgrading from BumbleDocGen 1.6.0 to 2.0.0

* Updating the minimum PHP version to 8.1
* Changes when working with templates: variable `phpClassEntityCollection` renamed to `phpEntities`
* Now, instead of variables in the template with title and previous page, the Front Matter block is used
* The BetterReflection library and classes that depend on it in the code have been removed:
* `\BumbleDocGen\Core\Cache\SourceLocatorCacheItemPool`
* `\BumbleDocGen\Core\Plugin\Event\Parser\OnLoadSourceLocatorsCollection`
* `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException`
* `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Reflection\ReflectorWrapper`
* `\BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\AsyncSourceLocator`
* `\BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\CustomSourceLocatorInterface`
* `\BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\Internal\CachedSourceLocator`
* `\BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\Internal\SystemAsyncSourceLocator`
* Class `\BumbleDocGen\LanguageHandler\Php\Parser\ComposerParser` renamed to `\BumbleDocGen\LanguageHandler\Php\Parser\ComposerHelper`
* Doc block parsing has been removed:
* `\Roave\BetterReflection\Reflection\ReflectionMethod::getDocBlockReturnTypes()`
* `\Roave\BetterReflection\Reflection\ReflectionFunction::getDocBlockReturnTypes()`
* `\Roave\BetterReflection\Reflection\ReflectionParameter::getDocBlockTypes()`
* `\Roave\BetterReflection\Reflection\ReflectionParameter::getDocBlockTypeStrings()`
* `\Roave\BetterReflection\Reflection\ReflectionProperty::getDocBlockTypes()`
* `\Roave\BetterReflection\Reflection\ReflectionProperty::getDocBlockTypeStrings()`
* Method `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity::hasAnnotationKey()` has been removed.
* Method `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity::getExtends()` has been removed.
* Method `\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity::getInterfacesString()` has been removed.
* Now documentation for built classes does not load automatically
* Removed the `async_source_loading_enabled` configuration option (Method `\BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings::asyncSourceLoadingEnabled()`)
* Class `\BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\AfterLoadingClassEntityCollection` has been removed. Use `\BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\AfterLoadingPhpEntitiesCollection`
* Class `\BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad` has been removed. Use `\BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsEntityCanBeLoaded`
* ⚠️**PHP ReflectionAPI has been completely changed. See information about the current version here:** [ReflectionAPI](https://github.com/bumble-tech/bumble-doc-gen/tree/master/docs/tech/2.parser/reflectionApi)
* Method `\BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings::getComposerInstalledFile()` renamed to `\BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings::getComposerVendorDir()`
2 changes: 1 addition & 1 deletion bumble_doc_gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ language_handlers:
class: \BumbleDocGen\LanguageHandler\Php\PhpHandler
settings:
file_source_base_url: 'https://github.com/bumble-tech/bumble-doc-gen/blob/master'
async_source_loading_enabled: true
source_locators:
- class: \BumbleDocGen\Core\Parser\SourceLocator\RecursiveDirectoriesSourceLocator
arguments:
Expand All @@ -21,6 +20,7 @@ twig_functions:
- class: \SelfDocConfig\Twig\CustomFunction\FindEntitiesClassesByCollectionClassName
- class: \SelfDocConfig\Twig\CustomFunction\PrintClassCollectionAsGroupedTable
- class: \SelfDocConfig\Twig\CustomFunction\GetConfigParametersDescription
- class: \SelfDocConfig\Twig\CustomFunction\GetConsoleCommands
plugins:
- class: \SelfDocConfig\Plugin\TwigFilterClassParser\TwigFilterClassParserPlugin
- class: \SelfDocConfig\Plugin\TwigFunctionClassParser\TwigFunctionClassParserPlugin
Expand Down
12 changes: 6 additions & 6 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,26 @@
"issues": "https://github.com/bumble-tech/bumble-doc-gen/issues"
},
"require": {
"php": "^8.0.0",
"php": "^8.1.0",
"ext-zlib": "*",
"ext-mbstring": "*",
"symfony/console": "^6.0",
"symfony/finder": "^6.0",
"twig/twig": "^3.3",
"roave/better-reflection": "^5.5",
"nikic/php-parser": "^4.13",
"phpdocumentor/reflection-docblock": "^5.3",
"doctrine/annotations": "^1.13",
"nette/php-generator": "^4.0",
"monolog/monolog": "^2.5",
"monolog/monolog": "^3.0",
"bramus/monolog-colored-line-formatter": "^3.0",
"symfony/cache": "^6.0",
"symfony/event-dispatcher": "^6.0",
"php-di/php-di": "^7.0",
"symfony/yaml": "^6.0",
"hassankhan/config": "^3.1",
"guzzlehttp/guzzle": "^7.8",
"symfony/filesystem": "^6.0"
"symfony/filesystem": "^6.0",
"daux/daux.io": "^0.22.1"
},
"require-dev": {
"roave/security-advisories": "dev-latest",
Expand Down Expand Up @@ -68,7 +68,7 @@
],
"scripts": {
"test": "vendor/bin/phpunit",
"phpcs": "vendor/bin/phpcs --standard=psr12 src demo tests --warning-severity=0 --error-severity=1",
"phpcbf": "vendor/bin/phpcbf --standard=psr12 src demo tests"
"phpcs": "vendor/bin/phpcs --standard=psr12 src demo tests selfdoc --warning-severity=0 --error-severity=1",
"phpcbf": "vendor/bin/phpcbf --standard=psr12 src demo tests selfdoc"
}
}
Loading

0 comments on commit 9347e83

Please sign in to comment.