Skip to content

Commit ca4e6a4

Browse files
committed
chore: require PHP 8.4
1 parent c758ade commit ca4e6a4

10 files changed

Lines changed: 26 additions & 16 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,12 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
os: [ubuntu-latest, windows-latest]
16-
php: ['8.2', '8.4']
1716
runs-on: ${{ matrix.os }}
1817
steps:
1918
- uses: actions/checkout@v5
2019
- uses: shivammathur/setup-php@v2
2120
with:
22-
php-version: ${{ matrix.php }}
21+
php-version: '8.4'
2322
coverage: none
2423
- run: composer validate --strict
2524
- run: composer install --no-interaction --no-progress

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ belongs in `docs/`.
2626

2727
## TypePHP AOT constraints
2828

29+
- PHP 8.4 is the minimum supported version for the compiler, generated
30+
programs, Zend verification and Composer consumers.
2931
- AOT calls global `main()`; Zend does not. Each example therefore keeps an AOT
3032
`main.php` and a small Zend `run-zend.php` adapter.
3133
- AOT sources are explicitly listed in `project.yml`. Do not rely on runtime

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file.
44

55
## 0.1.0-alpha.1
66

7+
- Require PHP 8.4 or newer to match the TypePHP toolchain and generated programs.
78
- Introduce the AOT-first Application and Module lifecycle.
89
- Add explicit services, configuration, events, logging and cancellation.
910
- Add Console, foreground Daemon and Windows Desktop Host adapters.

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[English](README.md) | [简体中文](README.zh-CN.md)
44

55
[![CI](https://github.com/typephp-org/native-core/actions/workflows/ci.yml/badge.svg)](https://github.com/typephp-org/native-core/actions/workflows/ci.yml)
6-
[![PHP](https://img.shields.io/badge/PHP-%3E%3D%208.2-777BB4.svg)](composer.json)
6+
[![PHP](https://img.shields.io/badge/PHP-%3E%3D%208.4-777BB4.svg)](composer.json)
77
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
88

99
An AOT-first, host-neutral application core for building CLI tools, workers,
@@ -45,7 +45,8 @@ The result is a practical split:
4545
- AOT-friendly APIs: named callback objects, concrete types, explicit sources,
4646
and no runtime code generation.
4747
- Console, foreground Daemon, and reusable Windows Desktop host contracts.
48-
- Zero runtime Composer dependencies beyond PHP `>=8.2`.
48+
- PHP `>=8.4`, matching the minimum required by the current TypePHP compiler
49+
and generated programs, with no other runtime Composer dependencies.
4950

5051
Dependency direction is always:
5152

README.zh-CN.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[English](README.md) | [简体中文](README.zh-CN.md)
44

55
[![CI](https://github.com/typephp-org/native-core/actions/workflows/ci.yml/badge.svg)](https://github.com/typephp-org/native-core/actions/workflows/ci.yml)
6-
[![PHP](https://img.shields.io/badge/PHP-%3E%3D%208.2-777BB4.svg)](composer.json)
6+
[![PHP](https://img.shields.io/badge/PHP-%3E%3D%208.4-777BB4.svg)](composer.json)
77
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
88

99
一个面向 TypePHP 与 Zend PHP 的 AOT-first、Host-neutral 应用内核,用于构建
@@ -36,7 +36,8 @@ Native Core 提供应用生命周期和可移植的服务契约,Host 负责进
3636
Channel 等小型可替换端口。
3737
- AOT-friendly API:具名回调对象、具体类型、显式 source,不做运行时代码生成。
3838
- Console、前台 Daemon 和可复用的 Windows Desktop Host 契约。
39-
- 除 PHP `>=8.2` 外没有 Composer 运行时依赖。
39+
- 要求 PHP `>=8.4`,与当前 TypePHP 编译器及生成程序的最低要求一致;没有
40+
其他 Composer 运行时依赖。
4041

4142
依赖方向始终是:
4243

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"source": "https://github.com/typephp-org/native-core"
1111
},
1212
"require": {
13-
"php": ">=8.2"
13+
"php": ">=8.4"
1414
},
1515
"autoload": {
1616
"psr-4": {

docs/capability-matrix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ not release promises.
66

77
| Capability | Status | Evidence / boundary |
88
|---|---|---|
9-
| Zend PHP lint/tests | confirmed on Windows | PHP 8.4.24, 38 assertions |
9+
| Zend PHP 8.4 lint/tests | confirmed on Windows and CI-configured on Linux | PHP 8.4.24 locally, 38 assertions |
1010
| Composer PSR-4 autoload | confirmed | Core and Windows Host load from `vendor/autoload.php` |
1111
| Hello Console on Zend | confirmed | structured log, exit 0 |
1212
| Worker cancellation | confirmed | 3 ticks, exit 0 |

docs/releasing.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ Native Core uses Semantic Versioning.
1010

1111
A release must pass:
1212

13-
1. Zend lint and tests on Windows/Linux.
13+
1. Zend PHP 8.4 lint and tests on Windows/Linux.
1414
2. TypePHP Windows Core build and AOT integration run.
1515
3. Desktop Spike compile and smoke close.
1616
4. Dependency and license inventory review.
1717
5. Package generation and SHA-256 manifest verification.
18-
6. `CHANGELOG.md` and public documentation review.
18+
6. `composer.json` still requires PHP 8.4 or newer, matching TypePHP.
19+
7. `CHANGELOG.md` and public documentation review.
1920

2021
Create the optional project source archive with an explicit version matching
2122
the immutable Git tag:
@@ -35,13 +36,16 @@ the release gate is green:
3536
```bash
3637
git tag -a v0.1.0-alpha.1 -m "TypePHP Native Core v0.1.0-alpha.1"
3738
git push origin v0.1.0-alpha.1
38-
gh release create v0.1.0-alpha.1 --verify-tag --generate-notes --prerelease
3939
```
4040

41-
GitHub automatically exposes source ZIP and tar.gz archives for the tag. A
42-
GitHub Actions workflow may run the final `gh release create` step on tag pushes
43-
with `contents: write`; it does not need the TypePHP compiler unless that same
44-
workflow is also expected to rebuild or test native artifacts.
41+
For the current source-only alpha, an annotated tag plus `CHANGELOG.md` is the
42+
release record. Packagist consumes the tag directly, and GitHub exposes source
43+
ZIP and tar.gz archives for tags without requiring a GitHub Release.
44+
45+
Do not maintain a separate GitHub Release yet. Add one when the project begins
46+
shipping native binary assets, needs a dedicated human-facing announcement, or
47+
reaches a milestone such as beta or 1.0. It can then be generated from an
48+
existing tag without changing the Composer package.
4549

4650
For this source-only Composer package, TypePHP AOT validation remains a separate
4751
manual workflow on the pre-provisioned self-hosted Windows runner. Do not commit

docs/status.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
- Minimal Zend examples and real TypePHP/Windows Console, Daemon, lifecycle and
1313
Win32 Desktop smokes.
1414
- Composer PSR-4 package metadata, native app template, public API docs and
15-
Windows/Linux Zend plus self-hosted TypePHP workflow definitions.
15+
Windows/Linux Zend PHP 8.4 plus self-hosted TypePHP workflow definitions.
1616

1717
## Not declared complete
1818

docs/typephp-toolchain.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ Build scripts honor `TYPEPHP_HOME`, `PHP_HOME`, `PHPX_HOME` and
3131

3232
## Dual-runtime rules
3333

34+
- The current TypePHP compiler and generated programs require PHP 8.4 or newer.
35+
Native Core uses the same minimum for Zend development and Composer installs.
3436
- TypePHP AOT calls global `main()`; Zend does not. Zend adapters call it
3537
explicitly.
3638
- AOT consumes every PHP source listed in `project.yml`; it must not depend on

0 commit comments

Comments
 (0)