From 2cf18bacdf71cdbc2a3f13eae21bdc79b1bb05ee Mon Sep 17 00:00:00 2001 From: Baptiste Langlade Date: Mon, 17 Nov 2025 14:49:24 +0100 Subject: [PATCH 1/5] require php 8.4 --- .github/workflows/ci.yml | 10 ++++------ CHANGELOG.md | 6 ++++++ composer.json | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 189105d..779f162 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,13 +4,11 @@ on: [push, pull_request] jobs: blackbox: - uses: innmind/github-workflows/.github/workflows/black-box-matrix.yml@main + uses: innmind/github-workflows/.github/workflows/black-box-matrix.yml@next coverage: - uses: innmind/github-workflows/.github/workflows/coverage-matrix.yml@main + uses: innmind/github-workflows/.github/workflows/coverage-matrix.yml@next secrets: inherit psalm: - uses: innmind/github-workflows/.github/workflows/psalm-matrix.yml@main + uses: innmind/github-workflows/.github/workflows/psalm-matrix.yml@next cs: - uses: innmind/github-workflows/.github/workflows/cs.yml@main - with: - php-version: '8.2' + uses: innmind/github-workflows/.github/workflows/cs.yml@next diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e3f0ff..adb276b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [Unreleased] + +### Changed + +- Requires PHP `8.4` + ## 4.2.0 - 2025-06-07 ### Changed diff --git a/composer.json b/composer.json index 1d13663..c9e51d4 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,7 @@ "issues": "http://github.com/Innmind/StackTrace/issues" }, "require": { - "php": "~8.2", + "php": "~8.4", "innmind/immutable": "~5.16", "innmind/url": "~4.4", "innmind/graphviz": "~4.0" From dfbd6207297668437ce818a4818c2348b6d5b6f7 Mon Sep 17 00:00:00 2001 From: Baptiste Langlade Date: Mon, 17 Nov 2025 14:53:11 +0100 Subject: [PATCH 2/5] update dependencies --- composer.json | 13 ++++++++++--- src/Render.php | 2 +- tests/CallFramesTest.php | 2 +- tests/StackTraceTest.php | 2 +- tests/ThrowableTest.php | 4 ++-- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index c9e51d4..c0746b0 100644 --- a/composer.json +++ b/composer.json @@ -16,9 +16,16 @@ }, "require": { "php": "~8.4", - "innmind/immutable": "~5.16", - "innmind/url": "~4.4", - "innmind/graphviz": "~4.0" + "innmind/immutable": "dev-next", + "innmind/url": "dev-next", + "innmind/graphviz": "dev-next", + "innmind/filesystem": "dev-next", + "innmind/colour": "dev-next", + "innmind/io": "dev-next", + "innmind/media-type": "dev-next", + "innmind/validation": "dev-next", + "innmind/ip": "dev-next", + "innmind/time-continuum": "dev-next" }, "autoload": { "psr-4": { diff --git a/src/Render.php b/src/Render.php index b9763c2..e28b35c 100644 --- a/src/Render.php +++ b/src/Render.php @@ -312,7 +312,7 @@ private function hashFrame(CallFrame $frame): string $prefix = "{$frame->file()->path()->toString()}|{$frame->line()->toString()}|"; } - return "$prefix{$frame->toString()}|{$frame->arguments()->count()}"; + return "$prefix{$frame->toString()}|{$frame->arguments()->size()}"; } private function node(CallFrame|Throwable $reference): Node diff --git a/tests/CallFramesTest.php b/tests/CallFramesTest.php index dd59c79..a416e5c 100644 --- a/tests/CallFramesTest.php +++ b/tests/CallFramesTest.php @@ -22,7 +22,7 @@ public function testOf() } $this->assertInstanceOf(Sequence::class, $frames); - $this->assertCount(15, $frames); + $this->assertSame(15, $frames->size()); $this->assertInstanceOf(CallFrame\MethodCall::class, $frames->get(0)->match( static fn($frame) => $frame, static fn() => null, diff --git a/tests/StackTraceTest.php b/tests/StackTraceTest.php index 67979e3..4af4baf 100644 --- a/tests/StackTraceTest.php +++ b/tests/StackTraceTest.php @@ -31,7 +31,7 @@ public function testInterface() $this->assertEquals(Throwable::of($foo), $stack->throwable()); $this->assertInstanceOf(Sequence::class, $stack->previous()); - $this->assertCount(2, $stack->previous()); + $this->assertSame(2, $stack->previous()->size()); $this->assertEquals( [Throwable::of($bar), Throwable::of($baz)], $stack->previous()->toList(), diff --git a/tests/ThrowableTest.php b/tests/ThrowableTest.php index 9acde84..4e61d36 100644 --- a/tests/ThrowableTest.php +++ b/tests/ThrowableTest.php @@ -31,7 +31,7 @@ public function testInterface() $this->assertInstanceOf(Line::class, $throwable->line()); $this->assertSame(22, $throwable->line()->toInt()); $this->assertInstanceOf(Sequence::class, $throwable->trace()); - $this->assertCount(9, $throwable->trace()); + $this->assertSame(9, $throwable->trace()->size()); $this->assertSame( $e->getTraceAsString(), Str::of("\n")->join($throwable->trace()->map( @@ -39,6 +39,6 @@ public function testInterface() ))->toString(), ); $this->assertInstanceOf(Sequence::class, $throwable->callFrames()); - $this->assertCount(8, $throwable->callFrames()); + $this->assertSame(8, $throwable->callFrames()->size()); } } From 3de9787db10aff115d6875414cf3cc6ae0376017 Mon Sep 17 00:00:00 2001 From: Baptiste Langlade Date: Sun, 8 Feb 2026 11:21:18 +0100 Subject: [PATCH 3/5] tag dependencies --- .github/workflows/ci.yml | 8 ++++---- composer.json | 15 ++++----------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 779f162..2f3eecb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,11 +4,11 @@ on: [push, pull_request] jobs: blackbox: - uses: innmind/github-workflows/.github/workflows/black-box-matrix.yml@next + uses: innmind/github-workflows/.github/workflows/black-box-matrix.yml@main coverage: - uses: innmind/github-workflows/.github/workflows/coverage-matrix.yml@next + uses: innmind/github-workflows/.github/workflows/coverage-matrix.yml@main secrets: inherit psalm: - uses: innmind/github-workflows/.github/workflows/psalm-matrix.yml@next + uses: innmind/github-workflows/.github/workflows/psalm-matrix.yml@main cs: - uses: innmind/github-workflows/.github/workflows/cs.yml@next + uses: innmind/github-workflows/.github/workflows/cs.yml@main diff --git a/composer.json b/composer.json index c0746b0..d39fc2d 100644 --- a/composer.json +++ b/composer.json @@ -16,16 +16,9 @@ }, "require": { "php": "~8.4", - "innmind/immutable": "dev-next", - "innmind/url": "dev-next", - "innmind/graphviz": "dev-next", - "innmind/filesystem": "dev-next", - "innmind/colour": "dev-next", - "innmind/io": "dev-next", - "innmind/media-type": "dev-next", - "innmind/validation": "dev-next", - "innmind/ip": "dev-next", - "innmind/time-continuum": "dev-next" + "innmind/immutable": "~6.0", + "innmind/url": "~5.0", + "innmind/graphviz": "~5.0" }, "autoload": { "psr-4": { @@ -38,7 +31,7 @@ } }, "require-dev": { - "innmind/static-analysis": "~1.2.1", + "innmind/static-analysis": "~1.3", "innmind/black-box": "^6.4.1", "innmind/coding-standard": "~2.0" } From 4829dca000b378c0e514617fd8c33cca8ca87fdc Mon Sep 17 00:00:00 2001 From: Baptiste Langlade Date: Sun, 8 Feb 2026 11:21:36 +0100 Subject: [PATCH 4/5] CS --- tests/CallFramesTest.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/CallFramesTest.php b/tests/CallFramesTest.php index a416e5c..b8c1b3d 100644 --- a/tests/CallFramesTest.php +++ b/tests/CallFramesTest.php @@ -67,7 +67,9 @@ public static function staticCall() if (!\function_exists('\Tests\Innmind\StackTrace\foo')) { function foo(callable $x) { - (static function($x) {$x(); })($x); + (static function($x) { + $x(); + })($x); } } From 34c97132fcb03fea79cf4af53fc39b5e6000185d Mon Sep 17 00:00:00 2001 From: Baptiste Langlade Date: Sun, 8 Feb 2026 11:22:17 +0100 Subject: [PATCH 5/5] add missing line in changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index adb276b..9ad2bf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Changed - Requires PHP `8.4` +- Requires `innmind/immutable:~6.0` ## 4.2.0 - 2025-06-07