Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
34e0710
feat: add PHP framework integration primitives
marandaneto Oct 29, 2026
3501917
Merge framework integration APIs for Laravel runtime
marandaneto Oct 29, 2026
bec01c1
feat: add Laravel runtime foundation
marandaneto Oct 29, 2026
1536956
feat: propagate safe Laravel queue context and prepare package distri…
marandaneto Oct 29, 2026
18d9ac6
feat: enrich Laravel captures with safe request metadata
marandaneto Oct 29, 2026
53cdbc5
fix: preserve explicit and nested Laravel scopes through lifecycle ev…
marandaneto Oct 29, 2026
460d2d7
fix: retain failed command context until Laravel reports the exception
marandaneto Oct 29, 2026
3b2ad5a
fix: use explicit HTTP and console execution lifecycle boundaries
marandaneto Oct 29, 2026
8773c43
fix: address framework integration review feedback
marandaneto Oct 29, 2026
ecbc8cc
fix(flags): retain snapshot context for lazy exposure events
marandaneto Oct 29, 2026
d9d9897
fix(laravel): bridge runtime scopes and isolate diagnostics
marandaneto Oct 29, 2026
07e50c1
Merge signed core flag exposure origin-context dependency
marandaneto Oct 29, 2026
8526b32
fix(laravel): preserve raw context precedence in manager getter
marandaneto Oct 29, 2026
a33384a
fix: make library metadata and release id internal integration overrides
marandaneto Oct 29, 2026
66063ab
Merge internal core integration overrides for Laravel runtime
marandaneto Oct 29, 2026
5a9958f
fix(laravel): use internal client overrides for library metadata and …
marandaneto Oct 29, 2026
dc28ca9
docs: explain when to use withContext versus enterContext
marandaneto Oct 29, 2026
4848a82
Merge commit 'dc28ca9bb1e36de1c377017243391d41aac246a2' into feat/lar…
marandaneto Oct 29, 2026
e23f1fc
feat(laravel): isolate direct child command calls with opt-in trait
marandaneto Oct 29, 2026
858c204
fix: address framework primitive review feedback
marandaneto Oct 29, 2026
944a3bd
Merge framework review fixes into runtime
marandaneto Oct 29, 2026
0ac9ae6
Merge remote-tracking branch 'origin/main' into feat/laravel-package-…
marandaneto Oct 30, 2026
0ca6fcf
fix(laravel): tighten public APIs and preserve exception provenance
marandaneto Oct 30, 2026
d172504
fix(laravel): inherit context groups in legacy flag getters
marandaneto Oct 30, 2026
4837e68
fix(packaging): exclude Laravel sources from core distribution
marandaneto Oct 30, 2026
ca087b8
fix(laravel): sync scoped session property and defer exception flush
marandaneto Oct 30, 2026
33a71f9
fix(laravel): address runtime safety and diagnostics feedback
marandaneto Nov 2, 2026
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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@
/phpcs.xml export-ignore
/.github export-ignore
/Makefile export-ignore
/packages/laravel export-ignore
11 changes: 11 additions & 0 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ on:
- "phpcs.xml"
- "phpunit.xml"
- "api/public-api.json"
- "api/laravel-public-api.json"
- "packages/laravel/composer.json"
- "scripts/**"
- ".github/workflows/php.yml"

Expand Down Expand Up @@ -70,6 +72,15 @@ jobs:
- name: Check public API snapshot
run: composer api:check

- name: Install Laravel dependencies
run: composer install --working-dir=packages/laravel --prefer-dist --no-progress

- name: Check Laravel public API snapshot
run: composer api:check:laravel

- name: Run Laravel tests
run: composer --working-dir=packages/laravel test

phpunit:
needs: detect-markdown-only
runs-on: ubuntu-latest
Expand Down
11 changes: 10 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Run the test command used in CI:
XDEBUG_MODE=coverage ./vendor/bin/phpunit --bootstrap vendor/autoload.php --configuration phpunit.xml --coverage-text
```

The PHPUnit transport tests use a loopback HTTP server, not live PostHog endpoints. They require the cURL extension, the `curl` and `gzip` commands, and permission to start PHP subprocesses and listen on loopback ports.
The PHPUnit transport tests use a loopback HTTP server, not live PostHog endpoints. They require the cURL extension, the `curl` and `gzip` commands, and permission to start PHP subprocesses and listen on loopback ports. Distribution archive tests also require the `git` and `tar` commands.

Run the adapter fidelity and report checker tests (Python standard library only):

Expand Down Expand Up @@ -60,6 +60,15 @@ This section is for external contributors. PostHog maintainers (members of the P

`composer api:update` regenerates `api/public-api.json`, and CI runs `composer api:check` to catch an outdated snapshot. A diff in that file means your change touches public API.

The Laravel package has a separate snapshot in `api/laravel-public-api.json`. From the repository root:

```bash
composer install --working-dir=packages/laravel --prefer-dist --no-progress
composer api:check:laravel
```

After agreeing on a Laravel API change, run `composer api:update:laravel` and inspect the generated diff. CI checks both snapshots. The Laravel snapshot excludes `@internal` classes and members; framework-required public methods do not automatically become supported customer APIs. Supported client forwarders are declared explicitly in the Laravel manager, so their signatures are tracked without exposing future core methods automatically.

## Pull requests

Please follow the existing project conventions and include tests when you change behavior.
4 changes: 4 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ The pending change intents determine the next version:

When multiple intents are pending, the workflow uses the largest requested bump.

## Composer distribution archives

The root `.gitattributes` excludes `packages/laravel/` from the core Composer distribution. Laravel source stays in Git and has its own publishing flow. Tools that need the complete repository must use a Git checkout, not the core distribution archive. In particular, a whole-repository `git archive` no longer includes Laravel source or tests.

## Troubleshooting

### No releasable change intents found
Expand Down
Loading
Loading