Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
5089cd0
Drop support of PHP 8.1
ArnaudLigny Oct 8, 2025
7deece6
Update composer.lock
ArnaudLigny Oct 8, 2025
7ce44e9
Adapt code for PHP 8.2
ArnaudLigny Oct 8, 2025
3755325
Update phpunit.xml.dist
ArnaudLigny Oct 8, 2025
4cfb850
fix: minor fix
ArnaudLigny Oct 8, 2025
5c05381
feat: prepare packages build
ArnaudLigny Oct 8, 2025
1c9d555
Update composer.json
ArnaudLigny Oct 8, 2025
96a0a3c
Update cecil
ArnaudLigny Oct 8, 2025
2b838ce
chore: update deps
ArnaudLigny Oct 10, 2025
14e561b
feat: enhance phpacker
ArnaudLigny Oct 10, 2025
3ad973f
Update composer.lock
ArnaudLigny Oct 11, 2025
8f9ca1b
Update phpacker.json
ArnaudLigny Oct 11, 2025
bd2a5b1
Update composer.json
ArnaudLigny Oct 11, 2025
bd3a52b
feat: add desktop notification
ArnaudLigny Oct 16, 2025
522f32a
Apply fixes from StyleCI (#2233)
ArnaudLigny Oct 16, 2025
51d1049
Merge branch 'master' into php-8.2
ArnaudLigny Nov 3, 2025
64a1930
Update deps
ArnaudLigny Nov 3, 2025
1091f73
Update PHP doc
ArnaudLigny Nov 3, 2025
740e9c4
Cleaning code
ArnaudLigny Nov 3, 2025
328f089
Update phpunit.xml.dist
ArnaudLigny Nov 3, 2025
82284d7
Update phpunit.xml.dist
ArnaudLigny Nov 4, 2025
db45760
Update composer.json
ArnaudLigny Nov 4, 2025
4d05d1b
Update composer.json
ArnaudLigny Nov 4, 2025
8be602e
Update phpunit.xml.dist
ArnaudLigny Nov 4, 2025
4d4dfea
Update phpunit.xml.dist
ArnaudLigny Nov 4, 2025
aedb7e6
Update phpunit.xml.dist
ArnaudLigny Nov 4, 2025
8e30a9e
Update phpunit.xml.dist
ArnaudLigny Nov 4, 2025
e33dbe6
Update composer.json
ArnaudLigny Nov 4, 2025
f2166a2
Update .gitignore
ArnaudLigny Nov 4, 2025
d56d2c1
Update composer.json
ArnaudLigny Nov 4, 2025
179554b
Update phpunit.xml.dist
ArnaudLigny Nov 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: circleci/php:8.1-cli
- image: circleci/php:8.2-cli
steps:
- run:
name: Switch timezone to Europe/Paris
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
php: ['8.2', '8.3', '8.4']
os: [ubuntu-latest, macos-latest, windows-latest]
type: ['']
exclude:
Expand Down
13 changes: 7 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
vendor/
# if you run Cecil here
_site/
.cache/
.cecil/

.vscode/
vendor/
.phpunit.result.cache
coverage/
.php-cs-fixer.cache
.phpmd.result-cache.php
phpdoc
.phpdoc/cache/

# if you run Cecil here
_site/
.cache/
.cecil/
2 changes: 1 addition & 1 deletion .phpmd-rules.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<exclude-pattern>*Parsedown.php</exclude-pattern>
<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
<properties>
<property name="reportLevel" value="33" />
<property name="reportLevel" value="34" />
<property name="showClassesComplexity" value="true" />
<property name="showMethodsComplexity" value="true" />
</properties>
Expand Down
2 changes: 1 addition & 1 deletion .scrutinizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ build:
environment:
timezone: 'Europe/Paris'
php:
version: 8.1
version: 8.2
#compile_options: '--with-config-file-path=/home/scrutinizer/.phpenv/versions/7.4.27/etc --with-config-file-scan-dir=/home/scrutinizer/.phpenv/versions/7.4.27/etc/conf.d --prefix=/home/scrutinizer/.phpenv/versions/7.4.27 --libexecdir=/home/scrutinizer/.phpenv/versions/7.4.27/libexec --enable-intl --with-openssl --with-gd --enable-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --enable-exif --with-libzip --with-zlib --with-zlib-dir=/usr --enable-xmlreader --with-xsl --enable-pcntl --with-readline --enable-mbstring --with-curl --with-gettext --with-bz2 --enable-bcmath --with-libdir=lib --with-pear=/home/scrutinizer/.phpenv/versions/7.4.27/pear --with-webp-dir=/usr -with-vpx-dir=/usr'
ini:
xdebug.mode: coverage
Expand Down
2 changes: 1 addition & 1 deletion .styleci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
risky: false
version: 8.1
version: 8.2
preset: psr12
tab-width: 4
use-tabs: false
Expand Down
19 changes: 19 additions & 0 deletions .symfony.insight.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
php_version: 8.2
commit_failure_conditions:
- "project.severity.critical > 0"
global_exclude_dirs:
- dist
- docs
- tests
exclude_patterns:
- .*
- resources/server/router.php
- resources/skeleton/static/*
rules:
missing_e_o_l:
enabled: false
# temp
php.invalid_return_typehint:
enabled: false
php.invalid_typehint:
enabled: false
24 changes: 16 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ curl -LO https://github.com/Cecilapp/Cecil/releases/latest/download/cecil.phar
```

> [!IMPORTANT]
> [PHP](https://www.php.net) 8.1+ is required.
> [PHP](https://www.php.net) 8.2+ is required.

## Usage

Expand Down Expand Up @@ -104,19 +104,27 @@ npx all-contributors generate

## Development

### Build binary
### Build binaries

Build the `cecil.phar` binary with [Box](https://github.com/box-project/box/):
Build binaries with [Box](https://github.com/box-project/box/) and [phpacker](https://github.com/phpacker/phpacker):

```bash
# Install Box globally
# Install globally
composer global require humbug/box
# Add Box to your PATH
composer global require phpacker/phpacker
# Add to your PATH
export PATH=~/.composer/vendor/bin:$PATH
# Build the phar file
composer build
# Check the phar file
```

```bash
# Build the PHAR file
composer build:phar
# Check the PHAR file
php dist/cecil.phar about
# Build the package (with PHP binary included)
composer build:package
# Check the package
./dist/build/<os>/<os>-<arch> about
```

### Build API documentation
Expand Down
4 changes: 2 additions & 2 deletions bin/cecil
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* file that was distributed with this source code.
*/

if (PHP_SAPI !== 'cli' && PHP_SAPI !== 'phpdbg') {
if (PHP_SAPI !== 'cli' && PHP_SAPI !== 'phpdbg' && PHP_SAPI !== 'micro') {
printf('Warning: Cecil should be invoked via the CLI version of PHP, not the %s SAPI.%s', PHP_SAPI, PHP_EOL);
}

Expand All @@ -31,7 +31,7 @@ if (getenv('CECIL_DEBUG') == 'true') {

$name = 'Cecil';
$version = '@git_version@';
$phpMinimumVersion = '8.1.0';
$phpMinimumVersion = '8.2.0';
$phpRequiredExtensions = ['fileinfo', 'gd', 'mbstring'];

// checks PHP minimal version
Expand Down
59 changes: 32 additions & 27 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
}
],
"require": {
"php": "^8.1||^8.2||^8.3||^8.4",
"php": "^8.2||^8.3||^8.4",
"ext-fileinfo": "*",
"ext-gd": "*",
"ext-mbstring": "*",
Expand All @@ -29,32 +29,33 @@
"erusev/parsedown-extra": "^0.8",
"intervention/image": "^3.11",
"james-heinrich/getid3": "^1.9",
"jolicode/jolinotif": "^3.2",
"laravel-zero/phar-updater": "^1.4",
"matthiasmullie/minify": "^1.3",
"performing/twig-components": "^0.6",
"performing/twig-components": "^0.7",
"psr/log": "^3.0",
"psr/simple-cache": "^3.0",
"scrivo/highlight.php": "^9.18",
"scssphp/scssphp": "^2.0",
"spatie/image-optimizer": "^1.8",
"symfony/config": "^6.4",
"symfony/console": "^6.4",
"symfony/filesystem": "^6.4",
"symfony/finder": "^6.4",
"symfony/mime": "^6.4",
"symfony/config": "^7.3",
"symfony/console": "^7.3",
"symfony/filesystem": "^7.3",
"symfony/finder": "^7.3",
"symfony/mime": "^7.3",
"symfony/polyfill-intl-icu": "^1.33",
"symfony/process": "^6.4",
"symfony/property-access": "^6.4",
"symfony/serializer": "^6.4",
"symfony/translation": "^6.4",
"symfony/twig-bridge": "^6.4",
"symfony/validator": "^6.4",
"symfony/var-dumper": "^6.4",
"symfony/yaml": "^6.4",
"twig/cache-extra": "^3.21",
"twig/intl-extra": "^3.21",
"twig/string-extra": "^3.21",
"twig/twig": "^3.21",
"symfony/process": "^7.3",
"symfony/property-access": "^7.3",
"symfony/serializer": "^7.3",
"symfony/translation": "^7.3",
"symfony/twig-bridge": "^7.3",
"symfony/validator": "^7.3",
"symfony/var-dumper": "^7.3",
"symfony/yaml": "^7.3",
"twig/cache-extra": "^3.22",
"twig/intl-extra": "^3.22",
"twig/string-extra": "^3.22",
"twig/twig": "^3.22",
"voku/html-min": "^4.5",
"wapmorgan/mp3info": "^0.1",
"yosymfony/toml": "^1.0"
Expand All @@ -63,9 +64,9 @@
"ergebnis/composer-normalize": "^2.48",
"friendsofphp/php-cs-fixer": "^3.89",
"phpmd/phpmd": "^2.15",
"phpstan/phpstan": "^1.12",
"phpunit/phpunit": "^9.6",
"squizlabs/php_codesniffer": "^3.13"
"phpstan/phpstan": "^2.1",
"phpunit/phpunit": "^11.5",
"squizlabs/php_codesniffer": "^4.0"
},
"provide": {
"psr/log-implementation": "3.0",
Expand All @@ -80,7 +81,7 @@
"ergebnis/composer-normalize": true
},
"platform": {
"php": "8.1.32"
"php": "8.2.29"
},
"sort-packages": true
},
Expand Down Expand Up @@ -108,6 +109,9 @@
"post-install-cmd": "cd ./tests/fixtures/website && composer install",
"post-update-cmd": "cd ./tests/fixtures/website && composer update",
"build": "box compile",
"build:phar": "@build",
"build:package": "phpacker build",
"build:package:download": "phpacker download \"Cecilapp/php-bin\"",
"code": ["@code:analyse", "@code:md", "@code:fix", "@code:style"],
"code:analyse": ["phpstan analyse ./src/ --memory-limit=1G --level=2 --no-progress --error-format=raw"],
"code:analyse:gh": ["phpstan analyse ./src/ --memory-limit=1G --level=2 --no-progress --error-format=github"],
Expand All @@ -118,20 +122,21 @@
"test": "@test:integration",
"test:integration": "phpunit -c ./ --testsuite=IntegrationTests",
"test:cli": "phpunit -c ./ --testsuite=IntegrationCliTests",
"test:coverage": "phpunit -c ./ --testsuite=IntegrationTests --coverage-text --coverage-clover=build/logs/clover.xml",
"test:coverage": "XDEBUG_MODE=coverage phpunit -c ./ --testsuite=IntegrationTests --coverage-text --coverage-clover=coverage/clover.xml",
"test:coverage:install": [
"wget -c -nc --retry-connrefused --tries=0 https://github.com/php-coveralls/php-coveralls/releases/download/v2.5.3/php-coveralls.phar -O coveralls.phar",
"chmod +x coveralls.phar",
"php coveralls.phar --version"
],
"test:coverage:upload": "php coveralls.phar -v",
"test:coverage:upload": "php coveralls.phar -v --coverage_clover=coverage/clover.xml",
"test:bin": "cd bin && php cecil --version && mkdir demo && php cecil new:site demo --demo -f -n && php cecil new:page demo -f -n && php cecil build demo -v && rm -rf demo",
"test:phar": "box compile && cd dist && php cecil.phar --version && mkdir demo && php cecil.phar new:site demo --demo -f -n && php cecil.phar new:page demo -f -n && php cecil.phar build demo -v && php cecil.phar show:content demo && rm -rf demo"
},
"scripts-descriptions": {
"post-install-cmd": "Install dependencies for the test website",
"post-update-cmd": "Update dependencies for the test website",
"build": "Builds cecil.phar",
"build:phar": "Alias of build",
"build:package": "Builds the package with phpacker",
"build:package:download": "Downloads php binary for phpacker",
"code": "Runs code quality checks",
"code:analyse": "Analyses code with PHPStan",
"code:md": "Look for several potential problems in code with PHP Mess Detector",
Expand Down
Loading
Loading