Support PHP 8.5 (#5746)

This commit is contained in:
Kevin Papst
2025-12-25 16:44:11 +01:00
committed by GitHub
parent 26f8abfcc6
commit 26361da873
7 changed files with 31 additions and 28 deletions

View File

@@ -53,6 +53,7 @@ body:
attributes: attributes:
label: Which PHP version are you using? label: Which PHP version are you using?
options: options:
- "8.5"
- "8.4" - "8.4"
- "8.2" - "8.2"
- "8.3" - "8.3"

View File

@@ -22,7 +22,7 @@ version-resolver:
- 'translation' - 'translation'
default: patch default: patch
template: | template: |
**Compatible with PHP 8.1 to 8.4** **Compatible with PHP 8.1 to 8.5**
$CHANGES $CHANGES

View File

@@ -87,7 +87,7 @@ jobs:
MAILER_URL: null://localhost MAILER_URL: null://localhost
- name: Full test-suite - name: Full test-suite
if: matrix.php != '8.2' if: matrix.php != '8.5'
run: vendor/bin/phpunit tests/ run: vendor/bin/phpunit tests/
env: env:
DATABASE_URL: mysql://root:kimai@127.0.0.1:${{ job.services.mysql.ports['3306'] }}/kimai?charset=utf8mb4&serverVersion=8.0.35 DATABASE_URL: mysql://root:kimai@127.0.0.1:${{ job.services.mysql.ports['3306'] }}/kimai?charset=utf8mb4&serverVersion=8.0.35
@@ -95,7 +95,7 @@ jobs:
MAILER_URL: null://localhost MAILER_URL: null://localhost
- name: Full test-suite with coverage - name: Full test-suite with coverage
if: matrix.php == '8.2' if: matrix.php == '8.5'
run: vendor/bin/phpunit tests/ --coverage-clover=coverage.xml run: vendor/bin/phpunit tests/ --coverage-clover=coverage.xml
env: env:
DATABASE_URL: mysql://root:kimai@127.0.0.1:${{ job.services.mysql.ports['3306'] }}/kimai?charset=utf8mb4&serverVersion=8.0.35 DATABASE_URL: mysql://root:kimai@127.0.0.1:${{ job.services.mysql.ports['3306'] }}/kimai?charset=utf8mb4&serverVersion=8.0.35
@@ -103,7 +103,7 @@ jobs:
MAILER_URL: null://localhost MAILER_URL: null://localhost
- name: Upload code coverage - name: Upload code coverage
if: matrix.php == '8.2' if: matrix.php == '8.5'
uses: codecov/codecov-action@v5 uses: codecov/codecov-action@v5
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -29,7 +29,7 @@ and so much more.
### Requirements ### Requirements
- PHP 8.1.3 minimum (support for PHP 8.2, 8.3, 8.4) - PHP 8.1.3 minimum with support for 8.2, 8.3, 8.4, 8.5
- MariaDB or MySQL - MariaDB or MySQL
- A webserver and subdomain (subdirectory is not supported) - A webserver and subdomain (subdirectory is not supported)
- PHP extensions: `gd`, `intl`, `json`, `mbstring`, `pdo`, `tokenizer`, `xml`, `xsl`, `zip` - PHP extensions: `gd`, `intl`, `json`, `mbstring`, `pdo`, `tokenizer`, `xml`, `xsl`, `zip`
@@ -44,7 +44,7 @@ and so much more.
There are more documented ways for [on-premise hosting](https://www.kimai.org/documentation/chapter-on-premise.html). There are more documented ways for [on-premise hosting](https://www.kimai.org/documentation/chapter-on-premise.html).
And if you don't want to host Kimai, you can use [the Cloud version](https://www.kimai.cloud/) of it. And if you don't want to host Kimai, you can use the [Cloud version](https://www.kimai.cloud/) of it.
### Updating Kimai ### Updating Kimai

View File

@@ -13,6 +13,8 @@ Perform EACH version specific task between your version and the new one, otherwi
### Developer ### Developer
Do not use method chaining: all fluent interface, especially in Entities, are no longer supported.
Removed translations: Removed translations:
- `action.edit`: use `edit` instead - `action.edit`: use `edit` instead
- `my.profile`: use `user_profile` instead - `my.profile`: use `user_profile` instead

View File

@@ -14,7 +14,7 @@
} }
], ],
"require": { "require": {
"php": "8.1.*||8.2.*||8.3.*||8.4.*", "php": "8.1.*||8.2.*||8.3.*||8.4.*||8.5.*",
"ext-gd": "*", "ext-gd": "*",
"ext-intl": "*", "ext-intl": "*",
"ext-json": "*", "ext-json": "*",

42
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "9f49e3cfd10e3bdd29e6bd67968ec19b", "content-hash": "4f02c81fc72ab3bd887f6e8cf1361757",
"packages": [ "packages": [
{ {
"name": "azuyalabs/yasumi", "name": "azuyalabs/yasumi",
@@ -775,16 +775,16 @@
}, },
{ {
"name": "doctrine/doctrine-bundle", "name": "doctrine/doctrine-bundle",
"version": "2.18.1", "version": "2.18.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/DoctrineBundle.git", "url": "https://github.com/doctrine/DoctrineBundle.git",
"reference": "b769877014de053da0e5cbbb63d0ea2f3b2fea76" "reference": "0ff098b29b8b3c68307c8987dcaed7fd829c6546"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/b769877014de053da0e5cbbb63d0ea2f3b2fea76", "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/0ff098b29b8b3c68307c8987dcaed7fd829c6546",
"reference": "b769877014de053da0e5cbbb63d0ea2f3b2fea76", "reference": "0ff098b29b8b3c68307c8987dcaed7fd829c6546",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -876,7 +876,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/DoctrineBundle/issues", "issues": "https://github.com/doctrine/DoctrineBundle/issues",
"source": "https://github.com/doctrine/DoctrineBundle/tree/2.18.1" "source": "https://github.com/doctrine/DoctrineBundle/tree/2.18.2"
}, },
"funding": [ "funding": [
{ {
@@ -892,7 +892,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-11-05T14:42:10+00:00" "time": "2025-12-20T21:35:32+00:00"
}, },
{ {
"name": "doctrine/doctrine-migrations-bundle", "name": "doctrine/doctrine-migrations-bundle",
@@ -4138,16 +4138,16 @@
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "5.6.5", "version": "5.6.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "90614c73d3800e187615e2dd236ad0e2a01bf761" "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/90614c73d3800e187615e2dd236ad0e2a01bf761", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"reference": "90614c73d3800e187615e2dd236ad0e2a01bf761", "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4157,7 +4157,7 @@
"phpdocumentor/reflection-common": "^2.2", "phpdocumentor/reflection-common": "^2.2",
"phpdocumentor/type-resolver": "^1.7", "phpdocumentor/type-resolver": "^1.7",
"phpstan/phpdoc-parser": "^1.7|^2.0", "phpstan/phpdoc-parser": "^1.7|^2.0",
"webmozart/assert": "^1.9.1" "webmozart/assert": "^1.9.1 || ^2"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "~1.3.5 || ~1.6.0", "mockery/mockery": "~1.3.5 || ~1.6.0",
@@ -4196,9 +4196,9 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.5" "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.6"
}, },
"time": "2025-11-27T19:50:05+00:00" "time": "2025-12-22T21:13:58+00:00"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
@@ -12686,16 +12686,16 @@
}, },
{ {
"name": "react/child-process", "name": "react/child-process",
"version": "v0.6.6", "version": "v0.6.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/reactphp/child-process.git", "url": "https://github.com/reactphp/child-process.git",
"reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", "url": "https://api.github.com/repos/reactphp/child-process/zipball/970f0e71945556422ee4570ccbabaedc3cf04ad3",
"reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -12749,7 +12749,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/reactphp/child-process/issues", "issues": "https://github.com/reactphp/child-process/issues",
"source": "https://github.com/reactphp/child-process/tree/v0.6.6" "source": "https://github.com/reactphp/child-process/tree/v0.6.7"
}, },
"funding": [ "funding": [
{ {
@@ -12757,7 +12757,7 @@
"type": "open_collective" "type": "open_collective"
} }
], ],
"time": "2025-01-01T16:37:48+00:00" "time": "2025-12-23T15:25:20+00:00"
}, },
{ {
"name": "react/dns", "name": "react/dns",
@@ -14544,7 +14544,7 @@
"prefer-stable": false, "prefer-stable": false,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": "8.1.*||8.2.*||8.3.*||8.4.*", "php": "8.1.*||8.2.*||8.3.*||8.4.*||8.5.*",
"ext-gd": "*", "ext-gd": "*",
"ext-intl": "*", "ext-intl": "*",
"ext-json": "*", "ext-json": "*",