The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.25.0 (2019-01-01)
- PHP 7.3 to TravisCI config (
.travis.yml
). .htaccess
to.gitignore
. Pull request #228. Thanks to @jwmwalrus..gitattributes
config.- Global options
directory
for all plugins (build_settings.derectory
). Pull request #240. Thanks to @vinpel. - Plugins options
binary_path
andbinary name
(and newpriority_path
variant:priority_path
) for use your own alternative executable file for plugin. Pull request #240. Thanks to @vinpel. - Relative path resolving and interpolation for
directory
andignore
plugin options. Issue #245. - Dependencies for notification plugins (Slack, Hipchat and Flowdock) to the project. Issue #233.
- Build total errors count to web interface.
- Plugins: Telegram and DeployerOrg to repository.
- Improved documentation.
- Upgrade SensioLabs Security Checker version (v4 -> v5. See: https://twitter.com/fabpot/status/1067085006542118913.
- Unified plugins options (
path
->directory
etc.). Old options is DEPRECATED and will be deleted in v2.0. Pull request #240. Thanks to @vinpel. - Improved issue/pull request templates and etc Github stuff.
- Improved Codecov config (
.codecov.yml
). - Updated dependencies.
- Very verbose flag (
-vvv
) from Codeception's command by default. Pull request #248. Thanks to @jwmwalrus.
- Worker freezing after long commands (Codeception plugin). Issue #217. Pull request #229. Thanks to @jwmwalrus.
- Codeception plugin command for execution (Moved the
--xml
flag to the end of the command). Pull request #230. Thanks to @jwmwalrus. - Logging for builds in debug mode.
- Error messages for PHPDocBlockChecker plugin. Issue #234.
- Nullable types for PHPDocBlockChecker plugin. Issue #235.
- Migrations from scratch. Pull request #238. Thanks to @vinpel.
- CopyBuild plugin working with files with first '.' in the name. Issue #242.
- PHPDocblockChecker notices. Issue #246.
0.24.0 (2018-11-04)
- "Rebuild with debug" button. Issue #208.
- Index for
build
tablehash
column. Pull request #214. Thanks to @Dave13h. - Buttons to project page for removing all/old project builds (App config option
php_censor.build.keep_builds
(int) is define quantity of keeping builds. Issue #209. - Force rewind for worker loop if queue job isn't existing (It needs for cronjob-like works in the worker).
- Implementation of periodical builds in Worker and Cronjob with rich configuration (New
app/periodical.yml
config). - Russian documentation.
skip-signatures
option for plugin PhpDocblockChecker. Pull request #225. Thanks to @ismaail.
- Improved HTML filtering for links.
- Refactored worker, build status and worker logging.
- Improved docs.
- Improved project configuration doc. Pull requests #219, #220, #221, #222, #226. Thanks to @Ultra9.
- Useless web notifications. Issue #156.
- Useless quiet mode from
CommandExecutor
.
- Files rights for PHP Censor sources in the Git.
LocalBuild
paths. Issue #207.- SSH port for project cloning. Issue #213.
- User list page. Pull request #215. Thanks to @Dave13h.
0.23.0 (2018-07-29)
- New SensioLabsInsight plugin. Thanks to @EugenGanshorn. Pull request #203, #204.
- Triggers
pullrequest:approved
andpullrequest:fulfilled
(Merged) for BitBucket webhook. Issue #176. - Error reporting for PHPCsFixer plugin. Thanks to @caouecs and @StudioMaX. Pull request #193, #195, #197.
- General webhook for Hg (Mercurial) like we have for Git. Issue #194.
- Ability to get current stage into plugins (
Builder::getCurrentStage()
method). Issue #200.
- Improved documentation for HipChat, Slack and Flowdock plugins. Thanks to @underthecocotree. Pull request #177.
- Improved Phan plugin localization in quality trends chart. Thanks to @caouecs. Pull request #192.
- Improved
directory
option for TechnicalDebt plugin. Thanks to @nickel715. Pull request #198. - Improved PHP PhpDocblockChecker plugin (forked PHPDoc Checker with fixes for PHP 7.1 nullable params). Issue #188.
- Updated PHPCodeSniffer package version to
~3.2.0
. Thanks to @underthecocotree. Pull request #178.
- Build timeout (
php-censor.build.failed_after
config option). Issue #190.
- XML-report loading for Codeception plugin. Issue #182.
- Content type check for Gogs webhook route. Issue #185.
- Repository links for Gogs build. Thanks to @simmstein. Pull request #186.
- Webhook info position in BitBucket build source documentation. Thanks to @bochkovprivate. Pull request #189.
- Path for Local build source. Thanks to @caouecs. Pull request #191.
0.22.0 (2018-05-02)
- Global application options
php-censor.ssh.strength
andphp-censor.ssh.comment
for SSH key generation. Issue #154. - Pull request remote branch to GUI.
- PHPDocBlockChecker plugin detailed error log. Thanks to @Dave13h. Pull request #159.
- More unit/integration tests for DB logic (Connections, Stores, Models).
- PHPUnit code coverage log output and chart in information tab for PHPUnit coverage. Issue #148.
- Global application option
php-censor.build.allow_public_artifacts
for allow/deny to generate public artifacts (PHPUnit code coverage html report, Pdepend html reports). Issue #107. - Web notifications (Initial frontend part). Web notifications are disabled by default (Global application option
php-censor.notifications.enabled
). Issue #156. Thanks to @prezire. Pull request #167. - Github Enterprise support (Improved Github build type). Issue #163.
- Ability to merge in-database project config over in-repository config (
.php-censor.yml
) instead of overwrite only (Checkbox in the project add/edit page). Issues: #14, #70, #106, #121. - Phan plugin. Thanks to @caouecs. Pull requests #171, #175.
- New command
php-censor:check-localizations
for search missing translated strings for non-english languages. Thanks to @caouecs. Pull requests #173, #174.
- Improved coverage report by Codecov (edited
.codecov.yml
config file in application). - Massive refactored: pull requests, models, stores, database, config, controllers, application, forms, views etc. Changed project structure.
- Code style fixes: replaced
func_get_args()
by...$params
(PHP 5.6+),Lang::out
toLang::get
etc. - RemoteGitBuild (
remote
) renamed to GitBuild (git
), MercurialBuild (hg
) renamed to HgBuild (hg
), SubversionBuild (svn
) renamed to SvnBuild (svn
), BitbucketHgBuild (bitbuckethg
) renamed to BitbucketHgBuild (bitbucket-hg
). DB data will refresh by migration automatically. - Merged PostgreSQL and MySQL tests inti one PHPUnit XML config.
- Documentation improvements.
- Improved translations for Russian and French. Thanks to @caouecs. Pull requests #167, #169, #172.
- Improvements for PHPUnit plugin. Thanks to @SimonHeimberg. Pull request #160.
- Useless field
last_commit
from tableproject
.
- PhpCodeSniffer plugin
path
option. Thanks to @AlexisFinn. Issue #153. Pull requests #155. - TechnicalDebt plugin
allowed_errors
option. Thanks to @glennmcewan. Pull requests #158. - Build creation by webhook. Issue #162.
- Rebuild project. Thanks to @Caffe1neAdd1ct. Issue #164. Pull request #166.
- Project directory path for SSH key generation. Issue #165.
- SVN build type additional options (Like:
username
,password
etc.). Issue #70. - PHPDockblockChecker plugin error on
count
function for PHP 7.2. Issue #170.
0.21.0 (2018-02-21)
- Gogs pull request webhook for manage environments branches. Thanks to @ss-gxp. Pull request #142.
- Access to Pdepend plugin artifacts. Issue #107.
- Code coverage report for PHPUnit plugin. Issue #86.
- PHP Censor logo and version to console and web interfaces.
- Small improvements in README.md. Thanks to @lex111. Pull request #144.
- Renamed 'Webhook' to 'Webhook (Push)' in according to 'Webhook (Pull request)'.
- Improved small-box block icon appearance.
- Improved Pdepend plugin documentation. Issue #143.
- Code style fixes.
- Updated dependencies.
- Application Cache class and replaced by Symfony/Cache component.
- Useless Template class and refactored View.
- User model from
$_SESSION
.
- Versions of dependencies.
- PHPUnit assert calls from public to static.
- Error page (Only admin access to error page now).
- Build log for non-unicode characters. Issue #145. Thanks to @SimonHeimberg. Pull request #146, #149.
- PhpUnitJson fail on empty trace and unfinished tests. Thanks to @SimonHeimberg. Pull request #147.
- PhpParallelLint Short tags Option. Thanks to @Dave13h. Pull request #151.
- Exception handler for PHP7+.
0.20.0 (2018-01-10)
- "New" label for build errors in "Errors" tab, filtration by "New" label and new errors count indicators on dashboard and builds list. The feature partial based on @dancryer's code in PHPCI.
- PHP 7.2 to TravisCI config.
- Committer email updating after cloning for Git builds (Like commit massage and commit hash before).
- New build source "Webhook (Pull request)" for builds.
- Application config options
github.status.commit
andbitbucket.status.commit
for allow/deny to post build status to Github/Bitbucket.
- Allowed public build status for archived projects.
- Refactored and improved TechnicalDebt plugin. Issue #82. Thanks to @vinpel. Pull request #141.
- Improved CHANGELOG.md file (See: Keep a Changelog).
- Updated dependencies.
- Useless Image class.
0.19.0 (2017-11-18)
- Paginator helper. Issue #123.
- Paginator for build errors. Issue #85.
- Filtration for errors by severity and plugin. Issue #85.
- Links to errors from summary block (Information tab). Issue #85.
- New dashboard widget with only failed projects (See documentation). Thanks to @ss-gxp. Pull request #131.
- Ability to call Git webhook by project name instead id. Thanks to @ss-gxp. Pull request #132.
- Dashboard on the index page, now dashboard more flexible and include separated widgets (See documentation). Thanks to @ss-gxp. Pull request #131.
- Error with build log. Issue #130.
- Excessive build meta inserts in the DB.
- Bootstrap grid responsive classes for dashboard.
0.18.0 (2017-10-22)
- Mage v3 plugin for deployment. See documentation. Thanks to @ss-gxp. PullRequest #118.
- The option to pass the short tags (-s) argument to PHP Parallel Lint so that files using PHP Short Tags can be linted. Used @Dave13h code.
- Checkbox to build only the default branch specified in the project. Used @suwalski code.
- Command to schedule tasks if not ran for a specified X days. Thanks to @Vincentv92. PullRequest #126.
- Column for Build
source
instead of 'Manual' word incommit_id
andcommit_message
. - Column
user_id
tobuild
table (created by) + Renamed columnscreated
->create_date
,started
->start_date
andfinished
->finish_date
. - Columns
user_id
(created by) andcreate_date
toproject_group
table. - Columns
user_id
(created by) andcreate_date
toproject
table.
- Improved documentation for SystemD worker, Nginx virtual host.
- Improved GUI for Codeception plugin, PHPSpec plugin and charts.
- Updated dependencies.
- File
console.bat
for Windows installation. - Useless '/' from build status cache path.
- Useless
project_id
column frombuild_meta
table, removed useless code from models.
- Environments - omit checkout exact commit. Thanks to @ss-gxp. PullRequest #119.
- Non-unicode binary log output. Issue #116.
- Queue's parameter
lifetime
in installation. - Installation command. Thanks to @lscortesc. PullRequest #128.
0.17.0 (2017-09-03)
- Ability to create comments on Bitbucket for commits and pull requests (Like on Github). Thanks to @StudioMaX. PullRequest #112.
- "Remember me" functionality on login page. Issue #81.
- Daily rotate logger for console commands. Issue #108.
- Param
priority_path
(For all plugins) for control paths priority when we search plugin binary. Issue #104. - Regex pattern for branch specific config. Issue #97.
- JUnit result parser for PHPUnit plugin (for PHPUnit >= 6.0). Thanks to @SimonHeimberg. PullRequest #102, #105.
- New PHP Censor logo.
- Improved public status page UI (Added environment and duration, fixed table cell height).
- Improved Shell plugin documentation. Thanks to @SimonHeimberg. PullRequest #103.
- Improved documentation. Thanks to @SimonHeimberg. PullRequest #110, #111.
- Improved Worker (Daemon) documentation about
nohug
andsystemd
. Thanks to @ketchoop. PullRequest #98, #100. - Improved documentation about PHP Censor update.
- Updated dependencies.
- Build stages workflow. If
setup
,test
ordeploy
stage failed then next stages (setup
,test
ordeploy
) skip. - Failures for notification plugins (Now notification failures doesn't fail all build). Thanks to @SimonHeimberg. PullRequest #113.
- Error with
allowed_errors
/allowed_warnings
in PhpCodeSniffer plugin. Thanks to @SimonHeimberg. PullRequest #101.
0.16.0 (2017-07-16)
- Config option
php-censor.build.writer_buffer_size
for configuringBuildErrorWriter->buffer_size
property (Count of inserts in the one SQL query). Default value: 500. Thanks to @LEXASOFT for the idea. - Params 'email' and 'message' for
php-censor:create-build
console command. Thanks to @SimonHeimberg. PullRequest #92.
- Improved build log build directory appearence ('/' -> './'). Thanks to @SimonHeimberg. PullRequest #93.
- Improved documentation. Thanks to @SimonHeimberg. PullRequest #83, #84, #96. Issue #2.
- Improved email address format for notifications (Field 'from').
- Updated dependencies. Issue #79.
- HttpClient class and changed it to Guzzle library.
- Project create/edit form fields order.
- Debug mode for 'Build now' button.
FileLink
for builds (Link to branch -> link to commit). Thanks to @SimonHeimberg. PullRequest #90.- Error in
sendStatusPostback
in the build. - Column
build_meta.meta_value
type (TEXT
->LONGTEXT
) for MySQL. Issue #94.
0.15.0 (2017-06-10)
- Improved logging configuration (Now logging autostart without special config
loggerconfig.php
). Issue #59. - Improved build-status/view page (Added build links, icons, date etc.). Issue #23.
- Improved default branch for SVN (Added ability to set branch full name like
branches/branch-1
or/branch/branch-2
). Issue #67.
- PollCommand console command.
- Application config option
using_custom_file
(app/config.yml
).
- Worker fail with eternal log writing. Issue #68.
- Bulk error writing error (
SQLSTATE[HY000]: General error: 7 number of parameters must be between 0 and 65535
). Issue #66. - PDO PostgreSQL connection without installed
pdo_mysql
extension. Issue #73. - Directory
/app
in Git repository. Issue #73. - Branches for SVN build. Issue #65.
- PhpCsFixer plugin
directory
option. Issue #75. - Webhook for GitHub pull requests from private repositories. Thanks to @StudioMaX. PullRequest #76, #78.
0.14.0 (2017-05-15)
- Text wrap for build log.
- Improved webhook for GitHub: builds only one head commit per push.
- Improved webhook for GitHub: added tag build and UI information about tag.
- Improved error page.
- Improved UI and code style.
- Build branch in dashboard timeline. Thanks to @JoolsMcFly. PullRequest #62.
- Project clone to working directory in Alpine Linux 3.5. Issue #61.
- Environment field in build table.
Database::lastInsertId
call for PostgreSQL.- SensioLabs Security Checker warning: squizlabs/php_codesniffer (2.7.1) - Arbitrary shell execution (Updated squizlabs/php_codesniffer).
- Pagination for environments in project/view page and ajax builds update.
- Builds for branches with special chars (like '#, /' etc.).
- Plugin PhpCsFixer. Issue #63.
0.13.0 (2017-04-10)
-
Environments. Thanks to @ss-gxp. PullRequest #41, #47, #52. For details see documentation.
-
Write cache for build log (It's increase build speed). Thanks to @ss-gxp. PullRequest #45, #48.
-
Write cache for build errors (It's increase build speed). Thanks to @ss-gxp. Issue #49. PullRequest #50.
-
SensioLabs Security Checker Plugin (This plugin is "zero-config" and used in builds without config). Issue #27. Config example:
test: security_checker: allowed_warnings: -1
-
Allowed fail status for plugins (See build summary in the build page).
-
suggest
section tocomposer.json
. Issue #53.
- Improved plugins code.
- Improved UI.
- Build execution with many workers. Thanks to @ss-gxp. PullRequest #51.
- Build view (Added html encoding for build errors output). Thanks to @ss-gxp. PullRequest #54.
- Exception when plugin runs without options (Like "php_parallel_lint: "). Issue #44.
- TechnicalDebt Plugin configuration parameters. Thanks to @bochkovprivate. PullRequest #55.
- PHPCpd plugin documentation. Thanks to @bochkovprivate. PullRequest #56.
0.12.0 (2017-03-25)
-
Stage 'deploy' for build. Thanks to @ss-gxp. PullRequest #34. Build config example:
test: ... deploy: deployer: webhook_url: "http://deployer.local/deploy/xxxxx" reason: "PHP Censor Build #%BUILD% - %COMMIT_MESSAGE%" update_only: true
-
Magallanes (Mage) deployment plugin. Thanks to @ss-gxp. PullRequest #36, #40. Build config example:
deploy: mage: env: production bin: /usr/local/bin/mage
-
Build duration on Dashboard Timeline. Thanks to @JoolsMcFly. PullRequest #33
-
Support for Mercurial (Hg) based repos in Bitbucket (BitbucketHgBuild). Used @bochkovprivate code.
- Code style fixes, fixes for tests, improvements for documentation
- Improved PhpCodeSniffer plugin. Thanks to @ValerioOnGithub. PullRequest #31, #35, #42
- Improved French localization. Thanks to @JoolsMcFly. PullRequest #39
- Useless daterangepicker and datepicker. Issue #37
- Parameter 'CommitterEmail' in bitbucket webhook. Used @bochkovprivate code.
- Parameter 'branch' in Mercurial (Hg) build. Used @bochkovprivate code.
- Language select on user/edit page.
- Localization for 'project_group' string. Thanks to @JoolsMcFly. PullRequest #39.
- PHPUnit plugin behavior for case without tests.
0.11.0 (2017-03-12)
- Duration column to the project page.
- Code style fixes.
- Improved README, Docs and CHANGELOG.
build.log
column size for MySQL (removed "NOT NULL").- PhpCpd ignore option. Used @ZinitSolutionsGmbH code.
- Shell plugin execution. Issue #30.
- Pagination position in the project view (UI).
- Branch link in the timeline (UI).
0.10.0 (2017-02-24)
- 'Build with debug' button to the project page (For admin user). Issue #22.
- Improved Gogs support. Thanks to @vinpel. PullRequest #25.
- Improved TravisCI build settings (Added DB tests for PostgreSQL and MySQL).
- Improved README.
- Quoting for database entities.
- Project config reload for worker between builds. Issue #17.
- Problem with runtime/status_cache directory. Issue #19.
- Add/edit project page. Issue #21.
- Form name pattern. Thanks to @ket4yii. PullRequest #24.
build.log
column size for MySQL (text -> longtext). Issue #26.build_error.message
column size (varchar(255) -> text).- Profile language saving. Issue #11.
- Builds for branches which start with a hash character. Used @soulflyman code.
0.9.0 (2017-02-11)
- Yaml highlight for build config in project page.
- Multiple install command execution (Now admin and project group don't duplicate).
0.8.0 (2017-02-09)
-
Parameter
config-from-file
for installing application with prepared config:cd ./php-censor.local # Non-interactive installation with prepared config.yml file ./bin/console php-censor:install --config-from-file=yes --admin-name=admin --admin-password=admin --admin-email='[email protected]'
-
Parameters for non-interactive admin creating:
cd ./php-censor.local # Non-interactive admin creating ./bin/console php-censor:create-admin --admin-name=admin --admin-password=admin --admin-email='[email protected]'
-
Caching for public build status badge. Issue #15.
-
Build from Gogs (build type and webhook). The feature is based on @denji's code. Issue #13.
- Refactored console/commands. Removed localization from logs.
- Improved README and Documentation.
- Improved Codeception plugin. Thanks to @vinpel. PullRequest #16.
- Updated French translation. Thanks to @vinpel. PullRequest #16.
- Hacks for Windows (IS_WIN constant). Because it doesn't work on Windows normally anyway.
- Init language. Issue #9.
0.7.0 (2017-01-29)
-
PostgreSQL support as application DB. Changed DB configuration. The old way to configure DB:
b8: database: servers: read: 'localhost:3306' write: 'localhost:3306' name: php-censor-db username: php-censor-user password: php-censor-password
And a new way:
b8: database: servers: read: - host: localhost port: 3306 write: - host: localhost port: 3306 type: mysql name: php-censor-db username: php-censor-user password: php-censor-password
Type of DB (
type
) should bemysql
orpgsql
.
-
Application closed for search robots.
-
Renamed application configuration (
app/config.yml
) section for work with queue. The old way to configure queue:php-censor: worker: host: localhost queue: php-censor-queue job_timeout: 600
And a new way:
php-censor: queue: host: localhost name: php-censor-queue lifetime: 600
-
Improved README.md and added CHANGELOG.md file.
0.6.0 (2017-01-22)
-
Added pluggable authentication and LDAP authentication provider:
php-censor: security: auth_providers: internal: type: internal ldap-php-censor: type: ldap data: host: 'ldap.php-censor.local' port: 389 base_dn: 'dc=php-censor,dc=local' mail_attribute: mail
If you enter by new LDAP-user, the record in the DB will be created automatically. The basement of the feature is @Adirelle and @dzolotov code.
-
Unified application configuration (
app/config.yml
) authentication options.The old way to disable authentication:
php-censor: autentication_settings: state: true user_id: 1
And a new way:
php-censor: security: disable_auth: true default_user_id: 1
0.5.0 (2017-01-21)
-
Option to the application configuration (
app/config.yml
) to allow/deny removing the build directory after build (php-censor.build.remove_builds
):php-censor: build: remove_builds: true
-
Options to the application configuration (
app/config.yml
) to allow/deny sending errors in the commits/pull requests as comments on Github (php-censor.github.comments.commit
andphp-censor.github.comments.pull_request
):php-censor: github: token: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' comments: commit: false pull_request: false
- Improved plugin Codeception
-
Agent/worker Daemon mode (You should use Worker mode instead).
-
pluginconfig
configuration file (You should use plugin full name including the namespace):test: \PluginNamespace\Plugin: allow_failures: true
- Fixed projects archive (Archived projects can not be built and projects moved to the archive section).
0.4.0 (2017-01-15)
- Ajax update for the main page (Dashboard).
- Public status information to the project page.
- UI and localizations.
- Delete confirmation for all items.
0.3.0 (2017-01-11)
- Improved UI.
- Updated dependencies.
- Updated PHPUnit from 4.8 to 5.7.
- Improved build without config.
0.2.0 (2017-01-07)
- Login by name (name or email).
- Improved PHPUnit plugin.
- Improved UI.
- Fixed public build status page.
0.1.0 (2017-01-04)
Initial release. Changes from PHPCI v1.7.1:
- More debug info into the build log.
- Item per page parameter for build list.
- Moved CSS/JS dependencies from sources to Composer dependencies (asset-packagist.org).
- Redesigned project structure.
- Upped PHP minimal version from 5.3 to 5.6.
- Tests and other small fixes.
Project started.