Skip to content

Commit 3ed3ba4

Browse files
authored
Merge pull request #371 from davidcole1340/release-plz-2025-02-18T23-12-33Z
chore: release
2 parents 14e0b61 + 0ce066d commit 3ed3ba4

File tree

6 files changed

+137
-5
lines changed

6 files changed

+137
-5
lines changed

CHANGELOG.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,83 @@
11
# Changelog
22

3+
## [0.14.0](https://github.com/davidcole1340/ext-php-rs/compare/ext-php-rs-v0.13.1...ext-php-rs-v0.14.0) - 2025-07-04
4+
5+
### BREAKING CHANGES
6+
7+
- *(macro)* [**breaking**] Change rename defaults to match psr (by @Xenira) [[#189](https://github.com/davidcole1340/ext-php-rs/issues/189)] [[#436](https://github.com/davidcole1340/ext-php-rs/issues/436)]
8+
> Methods and Properties are renamed to camelCase by default. Classes to PascalCase, constants to UPPER_CASE and functions to snake_case
9+
- *(class)* [**breaking**] Generate correct stubs for extends and implements (by @Xenira) [[#326](https://github.com/davidcole1340/ext-php-rs/issues/326)]
10+
> `extends` and `implements` attributes now require the `stub` property containing the class/interface name to be used in stubs.
11+
- *(macro)* [**breaking**] Uinify attributes in `#[php]` attribute (by @Xenira) [[#391](https://github.com/davidcole1340/ext-php-rs/issues/391)]
12+
> Attributes like `#[prop]`, `#[rename]`, etc. have been moved to `#[php]` attributes like `#[php(prop)]`, `#[php(name = "Foo")]`, `#[php(change_case = CamelCase)]`, etc.
13+
- *(macro)* [**breaking**] Switch to builder pattern (by @davidcole1340, @danog, @ptondereau, @Xenira) [[#99](https://github.com/davidcole1340/ext-php-rs/issues/99)] [[#131](https://github.com/davidcole1340/ext-php-rs/issues/131)] [[#327](https://github.com/davidcole1340/ext-php-rs/issues/327)] [[#174](https://github.com/davidcole1340/ext-php-rs/issues/174)] [[#335](https://github.com/davidcole1340/ext-php-rs/issues/335)]
14+
> The old macros were dependent on execution order and have been causing trouble with language servers. They are replaced by a builder. See the migration guide at https://davidcole1340.github.io/ext-php-rs/migration-guides/v0.14.html for information on how to migrate.
15+
16+
### Added
17+
- *(alloc)* Add estrdup (by @Qard) [[#444](https://github.com/davidcole1340/ext-php-rs/issues/444)]
18+
- *(builders)* Add IniBuilder (by @Qard) [[#442](https://github.com/davidcole1340/ext-php-rs/issues/442)]
19+
- *(cargo-php)* --features, --all-features, --no-default-features (by @kakserpom)
20+
- *(ffi)* Allow definging additional bindings (by @Xenira) [[#403](https://github.com/davidcole1340/ext-php-rs/issues/403)]
21+
- *(globals)* Add `CompilerGlobals` (by @Qard) [[#445](https://github.com/davidcole1340/ext-php-rs/issues/445)]
22+
- *(sapi)* Expand `SapiBuilder` (by @Qard) [[#471](https://github.com/davidcole1340/ext-php-rs/issues/471)]
23+
- *(zts)* Set lock per thread on zts build ([#408](https://github.com/davidcole1340/ext-php-rs/pull/408)) (by @joelwurtz) [[#408](https://github.com/davidcole1340/ext-php-rs/issues/408)]
24+
- Argument defaults can be any expr valid in const scope (by @alekitto) [[#433](https://github.com/davidcole1340/ext-php-rs/issues/433)]
25+
26+
### Fixed
27+
- *(FunctionBuilder)* Remove `null` type from non-nullable types `void` and `mixed` (by @kakserpom) [[#457](https://github.com/davidcole1340/ext-php-rs/issues/457)]
28+
- *(args)* Fix variadic args (by @Xenira) [[#337](https://github.com/davidcole1340/ext-php-rs/issues/337)]
29+
- *(array)* Cast numeric string keys into `zend_ulong` and allow negative keys (by @kakserpom) [[#453](https://github.com/davidcole1340/ext-php-rs/issues/453)] [[#454](https://github.com/davidcole1340/ext-php-rs/issues/454)] [[#456](https://github.com/davidcole1340/ext-php-rs/issues/456)]
30+
- *(build)* Take only the first line of which/where when searching for php executable (by @alekitto) [[#430](https://github.com/davidcole1340/ext-php-rs/issues/430)]
31+
- *(cargo-php)* `get_ext_dir()`/`get_php_ini()` stdout noise tolerance (by @kakserpom) [[#459](https://github.com/davidcole1340/ext-php-rs/issues/459)]
32+
- *(clippy)* Fix new clippy findings (by @Xenira)
33+
- *(globals)* Split sapi header value containing `:` correctly (by @Qard) [[#441](https://github.com/davidcole1340/ext-php-rs/issues/441)]
34+
- *(macro)* Add missing static flags in `php_impl` macro (by @Norbytus) [[#419](https://github.com/davidcole1340/ext-php-rs/issues/419)]
35+
- *(macro)* Add missing separator pipe in flags (by @Norbytus) [[#412](https://github.com/davidcole1340/ext-php-rs/issues/412)]
36+
- Ensure update_bindings runs as amd64 (by @Qard) [[#446](https://github.com/davidcole1340/ext-php-rs/issues/446)] [[#448](https://github.com/davidcole1340/ext-php-rs/issues/448)]
37+
- Fix object access in object write/read/has_property handlers (by @alekitto) [[#313](https://github.com/davidcole1340/ext-php-rs/issues/313)] [[#438](https://github.com/davidcole1340/ext-php-rs/issues/438)]
38+
39+
### Other
40+
- *(bindings)* Update `docsrs_bindings.rs` to PHP 8.4 (by @Xenira) [[#447](https://github.com/davidcole1340/ext-php-rs/issues/447)]
41+
- *(bindings)* Add tooling to generate `docsrs_bindings.rs` (by @Xenira) [[#443](https://github.com/davidcole1340/ext-php-rs/issues/443)]
42+
- *(build)* Fix typo in `build.rs` (by @Xenira) [[#439](https://github.com/davidcole1340/ext-php-rs/issues/439)]
43+
- *(cargo-php)* Add locked option to install guide ([#370](https://github.com/davidcole1340/ext-php-rs/pull/370)) (by @Xenira) [[#370](https://github.com/davidcole1340/ext-php-rs/issues/370)] [[#314](https://github.com/davidcole1340/ext-php-rs/issues/314)]
44+
- *(cli)* Enforce docs for cli (by @Xenira) [[#392](https://github.com/davidcole1340/ext-php-rs/issues/392)]
45+
- *(clippy)* Apply pedantic rules (by @Xenira) [[#418](https://github.com/davidcole1340/ext-php-rs/issues/418)]
46+
- *(coverage)* Add coverage badge (by @Xenira)
47+
- *(coverage)* Ignore release pr (by @Xenira)
48+
- *(coverage)* Add coverage reporting (by @Xenira) [[#415](https://github.com/davidcole1340/ext-php-rs/issues/415)]
49+
- *(dependabot)* Remove redundant directories included in workspace ([#386](https://github.com/davidcole1340/ext-php-rs/pull/386)) (by @Xenira) [[#386](https://github.com/davidcole1340/ext-php-rs/issues/386)]
50+
- *(dependabot)* Add cargo ecosystem ([#378](https://github.com/davidcole1340/ext-php-rs/pull/378)) (by @Xenira) [[#378](https://github.com/davidcole1340/ext-php-rs/issues/378)]
51+
- *(deps)* Update cargo_metadata requirement from 0.19 to 0.20 ([#437](https://github.com/davidcole1340/ext-php-rs/pull/437)) (by @dependabot[bot]) [[#437](https://github.com/davidcole1340/ext-php-rs/issues/437)]
52+
- *(deps)* Update zip requirement from 3.0 to 4.0 ([#435](https://github.com/davidcole1340/ext-php-rs/pull/435)) (by @dependabot[bot]) [[#435](https://github.com/davidcole1340/ext-php-rs/issues/435)]
53+
- *(deps)* Update zip requirement from 2.2 to 3.0 ([#432](https://github.com/davidcole1340/ext-php-rs/pull/432)) (by @dependabot[bot]) [[#432](https://github.com/davidcole1340/ext-php-rs/issues/432)]
54+
- *(deps)* Update cargo_metadata requirement from 0.15 to 0.19 ([#404](https://github.com/davidcole1340/ext-php-rs/pull/404)) (by @dependabot[bot]) [[#404](https://github.com/davidcole1340/ext-php-rs/issues/404)]
55+
- *(deps)* Update syn and darling ([#400](https://github.com/davidcole1340/ext-php-rs/pull/400)) (by @Xenira) [[#400](https://github.com/davidcole1340/ext-php-rs/issues/400)]
56+
- *(deps)* Update ureq requirement from 2.4 to 3.0 ([#379](https://github.com/davidcole1340/ext-php-rs/pull/379)) (by @dependabot[bot]) [[#379](https://github.com/davidcole1340/ext-php-rs/issues/379)]
57+
- *(deps)* Update libloading requirement from 0.7 to 0.8 ([#389](https://github.com/davidcole1340/ext-php-rs/pull/389)) (by @dependabot[bot]) [[#389](https://github.com/davidcole1340/ext-php-rs/issues/389)]
58+
- *(deps)* Update dialoguer requirement from 0.10 to 0.11 ([#387](https://github.com/davidcole1340/ext-php-rs/pull/387)) (by @dependabot[bot]) [[#387](https://github.com/davidcole1340/ext-php-rs/issues/387)]
59+
- *(deps)* Update zip requirement from 0.6 to 2.2 ([#381](https://github.com/davidcole1340/ext-php-rs/pull/381)) (by @dependabot[bot]) [[#381](https://github.com/davidcole1340/ext-php-rs/issues/381)]
60+
- *(deps)* Bump JamesIves/github-pages-deploy-action ([#374](https://github.com/davidcole1340/ext-php-rs/pull/374)) (by @dependabot[bot]) [[#374](https://github.com/davidcole1340/ext-php-rs/issues/374)]
61+
- *(github)* Add issue and pr templates (by @Xenira) [[#455](https://github.com/davidcole1340/ext-php-rs/issues/455)]
62+
- *(guide)* Directly include doc comments (by @Xenira)
63+
- *(hooks)* Add check for outdated macro documentation (by @Xenira) [[#466](https://github.com/davidcole1340/ext-php-rs/issues/466)]
64+
- *(integration)* Reorganise integration tests (by @Xenira) [[#414](https://github.com/davidcole1340/ext-php-rs/issues/414)]
65+
- *(macro)* Change `rename` to `change_case` (by @Xenira)
66+
- *(macro)* Improve `name` vs `rename` documentation (by @Xenira) [[#422](https://github.com/davidcole1340/ext-php-rs/issues/422)]
67+
- *(macro)* Use `#[php]` attribute for startup function (by @Xenira) [[#423](https://github.com/davidcole1340/ext-php-rs/issues/423)]
68+
- *(macro)* Trait rename for general and method names (by @Norbytus) [[#420](https://github.com/davidcole1340/ext-php-rs/issues/420)]
69+
- *(macro)* Update documentation for builder pattern (by @Xenira)
70+
- *(macro)* Add stubs for new builder pattern (by @Xenira) [[#183](https://github.com/davidcole1340/ext-php-rs/issues/183)]
71+
- *(php-tokio)* Move documentation into separate section (by @Xenira) [[#322](https://github.com/davidcole1340/ext-php-rs/issues/322)]
72+
- *(release-plz)* Move breaking changes to section on top of changelog ([#393](https://github.com/davidcole1340/ext-php-rs/pull/393)) (by @Xenira) [[#393](https://github.com/davidcole1340/ext-php-rs/issues/393)]
73+
- *(sapi)* Use builder pattern in sapi test (by @Xenira)
74+
- *(test)* Fix embed test on php 8.4 ([#396](https://github.com/davidcole1340/ext-php-rs/pull/396)) (by @joelwurtz) [[#396](https://github.com/davidcole1340/ext-php-rs/issues/396)]
75+
- *(test)* Disable inline example tests for macos unstable ([#377](https://github.com/davidcole1340/ext-php-rs/pull/377)) (by @Xenira) [[#377](https://github.com/davidcole1340/ext-php-rs/issues/377)]
76+
- Add git hooks and `CONTRIBUTING.md` (by @Xenira) [[#475](https://github.com/davidcole1340/ext-php-rs/issues/475)]
77+
- Improve test reliability and ease of use (by @Qard) [[#450](https://github.com/davidcole1340/ext-php-rs/issues/450)]
78+
- Add missing cfg gate to anyhow exception test (by @Qard) [[#449](https://github.com/davidcole1340/ext-php-rs/issues/449)]
79+
- Enforce doc comments for `ext-php-rs` (by @Xenira) [[#392](https://github.com/davidcole1340/ext-php-rs/issues/392)]
80+
381
## [0.13.1](https://github.com/davidcole1340/ext-php-rs/compare/ext-php-rs-v0.13.0...ext-php-rs-v0.13.1) - 2025-02-13
482

583
### Fixed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ repository = "https://github.com/davidcole1340/ext-php-rs"
55
homepage = "https://github.com/davidcole1340/ext-php-rs"
66
license = "MIT OR Apache-2.0"
77
keywords = ["php", "ffi", "zend"]
8-
version = "0.13.1"
8+
version = "0.14.0"
99
authors = ["David Cole <[email protected]>"]
1010
edition = "2021"
1111
categories = ["api-bindings"]
@@ -18,7 +18,7 @@ parking_lot = { version = "0.12", features = ["arc_lock"] }
1818
cfg-if = "1.0"
1919
once_cell = "1.17"
2020
anyhow = { version = "1", optional = true }
21-
ext-php-rs-derive = { version = "=0.10.2", path = "./crates/macros" }
21+
ext-php-rs-derive = { version = "=0.11.0", path = "./crates/macros" }
2222

2323
[dev-dependencies]
2424
skeptic = "0.13"

crates/cli/CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Changelog
22

3+
## [0.1.11](https://github.com/davidcole1340/ext-php-rs/compare/cargo-php-v0.1.10...cargo-php-v0.1.11) - 2025-07-04
4+
5+
### Added
6+
- *(cargo-php)* --features, --all-features, --no-default-features (by @kakserpom)
7+
8+
### Fixed
9+
- *(cargo-php)* `get_ext_dir()`/`get_php_ini()` stdout noise tolerance (by @kakserpom) [[#459](https://github.com/davidcole1340/ext-php-rs/issues/459)]
10+
- *(clippy)* Fix new clippy findings (by @Xenira)
11+
12+
### Other
13+
- *(cargo-php)* Add locked option to install guide ([#370](https://github.com/davidcole1340/ext-php-rs/pull/370)) (by @Xenira) [[#370](https://github.com/davidcole1340/ext-php-rs/issues/370)] [[#314](https://github.com/davidcole1340/ext-php-rs/issues/314)]
14+
- *(cli)* Enforce docs for cli (by @Xenira) [[#392](https://github.com/davidcole1340/ext-php-rs/issues/392)]
15+
- *(clippy)* Apply pedantic rules (by @Xenira) [[#418](https://github.com/davidcole1340/ext-php-rs/issues/418)]
16+
- *(deps)* Update cargo_metadata requirement from 0.19 to 0.20 ([#437](https://github.com/davidcole1340/ext-php-rs/pull/437)) (by @dependabot[bot]) [[#437](https://github.com/davidcole1340/ext-php-rs/issues/437)]
17+
- *(deps)* Update cargo_metadata requirement from 0.15 to 0.19 ([#404](https://github.com/davidcole1340/ext-php-rs/pull/404)) (by @dependabot[bot]) [[#404](https://github.com/davidcole1340/ext-php-rs/issues/404)]
18+
- *(deps)* Update libloading requirement from 0.7 to 0.8 ([#389](https://github.com/davidcole1340/ext-php-rs/pull/389)) (by @dependabot[bot]) [[#389](https://github.com/davidcole1340/ext-php-rs/issues/389)]
19+
- *(deps)* Update dialoguer requirement from 0.10 to 0.11 ([#387](https://github.com/davidcole1340/ext-php-rs/pull/387)) (by @dependabot[bot]) [[#387](https://github.com/davidcole1340/ext-php-rs/issues/387)]
20+
321
## [0.1.10](https://github.com/davidcole1340/ext-php-rs/compare/cargo-php-v0.1.9...cargo-php-v0.1.10) - 2025-02-06
422

523
### Other

crates/cli/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ repository = "https://github.com/davidcole1340/ext-php-rs"
55
homepage = "https://github.com/davidcole1340/ext-php-rs"
66
license = "MIT OR Apache-2.0"
77
keywords = ["php", "ffi", "zend"]
8-
version = "0.1.10"
8+
version = "0.1.11"
99
authors = ["David Cole <[email protected]>"]
1010
edition = "2018"
1111
categories = ["api-bindings", "command-line-interface"]
1212

1313
[dependencies]
14-
ext-php-rs = { version = "0.13", path = "../../" }
14+
ext-php-rs = { version = "0.14", path = "../../" }
1515

1616
clap = { version = "4.0", features = ["derive"] }
1717
anyhow = "1"

crates/macros/CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Changelog
22

3+
## [0.11.0](https://github.com/davidcole1340/ext-php-rs/compare/ext-php-rs-derive-v0.10.2...ext-php-rs-derive-v0.11.0) - 2025-07-04
4+
5+
### BREAKING CHANGES
6+
7+
- *(macro)* [**breaking**] Change rename defaults to match psr (by @Xenira) [[#189](https://github.com/davidcole1340/ext-php-rs/issues/189)] [[#436](https://github.com/davidcole1340/ext-php-rs/issues/436)]
8+
> Methods and Properties are renamed to camelCase by default. Classes to PascalCase, constants to UPPER_CASE and functions to snake_case
9+
- *(class)* [**breaking**] Generate correct stubs for extends and implements (by @Xenira) [[#326](https://github.com/davidcole1340/ext-php-rs/issues/326)]
10+
> `extends` and `implements` attributes now require the `stub` property containing the class/interface name to be used in stubs.
11+
- *(macro)* [**breaking**] Uinify attributes in `#[php]` attribute (by @Xenira) [[#391](https://github.com/davidcole1340/ext-php-rs/issues/391)]
12+
> Attributes like `#[prop]`, `#[rename]`, etc. have been moved to `#[php]` attributes like `#[php(prop)]`, `#[php(name = "Foo")]`, `#[php(change_case = CamelCase)]`, etc.
13+
- *(macro)* [**breaking**] Switch to builder pattern (by @davidcole1340, @danog, @ptondereau, @Xenira) [[#99](https://github.com/davidcole1340/ext-php-rs/issues/99)] [[#131](https://github.com/davidcole1340/ext-php-rs/issues/131)] [[#327](https://github.com/davidcole1340/ext-php-rs/issues/327)] [[#174](https://github.com/davidcole1340/ext-php-rs/issues/174)] [[#335](https://github.com/davidcole1340/ext-php-rs/issues/335)]
14+
> The old macros were dependent on execution order and have been causing trouble with language servers. They are replaced by a builder. See the migration guide at https://davidcole1340.github.io/ext-php-rs/migration-guides/v0.14.html for information on how to migrate.
15+
16+
### Added
17+
- Argument defaults can be any expr valid in const scope (by @alekitto) [[#433](https://github.com/davidcole1340/ext-php-rs/issues/433)]
18+
19+
### Fixed
20+
- *(args)* Fix variadic args (by @Xenira) [[#337](https://github.com/davidcole1340/ext-php-rs/issues/337)]
21+
- *(macro)* Add missing static flags in `php_impl` macro (by @Norbytus) [[#419](https://github.com/davidcole1340/ext-php-rs/issues/419)]
22+
- *(macro)* Add missing separator pipe in flags (by @Norbytus) [[#412](https://github.com/davidcole1340/ext-php-rs/issues/412)]
23+
24+
### Other
25+
- *(bindings)* Add tooling to generate `docsrs_bindings.rs` (by @Xenira) [[#443](https://github.com/davidcole1340/ext-php-rs/issues/443)]
26+
- *(cargo-php)* Add locked option to install guide ([#370](https://github.com/davidcole1340/ext-php-rs/pull/370)) (by @Xenira) [[#370](https://github.com/davidcole1340/ext-php-rs/issues/370)] [[#314](https://github.com/davidcole1340/ext-php-rs/issues/314)]
27+
- *(clippy)* Apply pedantic rules (by @Xenira) [[#418](https://github.com/davidcole1340/ext-php-rs/issues/418)]
28+
- *(coverage)* Add coverage badge (by @Xenira)
29+
- *(deps)* Update syn and darling ([#400](https://github.com/davidcole1340/ext-php-rs/pull/400)) (by @Xenira) [[#400](https://github.com/davidcole1340/ext-php-rs/issues/400)]
30+
- *(guide)* Directly include doc comments (by @Xenira)
31+
- *(macro)* Change `rename` to `change_case` (by @Xenira)
32+
- *(macro)* Use `#[php]` attribute for startup function (by @Xenira) [[#423](https://github.com/davidcole1340/ext-php-rs/issues/423)]
33+
- *(macro)* Trait rename for general and method names (by @Norbytus) [[#420](https://github.com/davidcole1340/ext-php-rs/issues/420)]
34+
- *(macro)* Update documentation for builder pattern (by @Xenira)
35+
- *(macro)* Add stubs for new builder pattern (by @Xenira) [[#183](https://github.com/davidcole1340/ext-php-rs/issues/183)]
36+
- Add git hooks and `CONTRIBUTING.md` (by @Xenira) [[#475](https://github.com/davidcole1340/ext-php-rs/issues/475)]
37+
- Typo in README.md (by @kakserpom)
38+
339
## [0.10.2](https://github.com/davidcole1340/ext-php-rs/compare/ext-php-rs-derive-v0.10.1...ext-php-rs-derive-v0.10.2) - 2025-02-06
440

541
### Other

crates/macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description = "Derive macros for ext-php-rs."
44
repository = "https://github.com/davidcole1340/ext-php-rs"
55
homepage = "https://github.com/davidcole1340/ext-php-rs"
66
license = "MIT OR Apache-2.0"
7-
version = "0.10.2"
7+
version = "0.11.0"
88
authors = ["David Cole <[email protected]>"]
99
edition = "2018"
1010

0 commit comments

Comments
 (0)