28 KiB
Change Log
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.21.0 (2018-02-21)
Added
- 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.
Changed
- 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.
Removed
- Application Cache class and replaced by Symfony/Cache component.
- Useless Template class and refactored View.
- User model from
$_SESSION
.
Fixed
- 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)
Added
- "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.
Changed
- 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.
Removed
- Useless Image class.
Fixed
0.19.0 (2017-11-18)
Added
- 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.
Changed
- Dashboard on the index page, now dashboard more flexible and include separated widgets (See documentation). Thanks to @ss-gxp. Pull request #131.
Fixed
- 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)
Added
- 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.
Changed
- Improved documentation for SystemD worker, Nginx virtual host.
- Improved GUI for Codeception plugin, PHPSpec plugin and charts.
- Updated dependencies.
Removed
- File
console.bat
for Windows installation. - Useless '/' from build status cache path.
- Useless
project_id
column frombuild_meta
table, removed useless code from models.
Fixed
- 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)
Added
- 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.
Changed
- 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.
Fixed
- 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)
Added
- 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.
Changed
- 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.
Removed
- HttpClient class and changed it to Guzzle library.
Fixed
- 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)
Changed
- 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.
Removed
- PollCommand console command.
- Application config option
using_custom_file
(app/config.yml
).
Fixed
- 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)
Added
- Text wrap for build log.
Changed
- 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.
Fixed
- 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)
Added
-
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.
Changed
- Improved plugins code.
- Improved UI.
Fixed
- 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)
Added
-
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.
Changed
- 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
Removed
- Useless daterangepicker and datepicker. Issue #37
Fixed
- 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)
Added
- Duration column to the project page.
Changed
- Code style fixes.
- Improved README, Docs and CHANGELOG.
Fixed
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)
Added
- 'Build with debug' button to the project page (For admin user). Issue #22.
Changed
- Improved Gogs support. Thanks to @vinpel. PullRequest #25.
- Improved TravisCI build settings (Added DB tests for PostgreSQL and MySQL).
- Improved README.
Fixed
- 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)
Added
- Yaml highlight for build config in project page.
Changed
Fixed
- Multiple install command execution (Now admin and project group don't duplicate).
0.8.0 (2017-02-09)
Added
-
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='admin@php-censor.local'
-
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='admin@php-censor.local'
-
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.
Changed
- 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.
Removed
- Hacks for Windows (IS_WIN constant). Because it doesn't work on Windows normally anyway.
Fixed
- Init language. Issue #9.
0.7.0 (2017-01-29)
Added
-
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
.
Changed
-
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
-
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.
Changed
-
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)
Added
-
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
Changed
- Improved plugin Codeception
Removed
-
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
- Fixed projects archive (Archived projects can not be built and projects moved to the archive section).
0.4.0 (2017-01-15)
Added
- Ajax update for the main page (Dashboard).
- Public status information to the project page.
Fixed
- UI and localizations.
- Delete confirmation for all items.
0.3.0 (2017-01-11)
Changed
- Improved UI.
- Updated dependencies.
- Updated PHPUnit from 4.8 to 5.7.
- Improved build without config.
0.2.0 (2017-01-07)
Added
- Login by name (name or email).
Changed
- Improved PHPUnit plugin.
- Improved UI.
Fixed
- Fixed public build status page.
0.1.0 (2017-01-04)
Initial release. Changes from PHPCI v1.7.1:
Added
- More debug info into the build log.
- Item per page parameter for build list.
Changed
- 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.
Fixed
- Tests and other small fixes.
0.0.0 (2016-06-23)
Project started.