Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
45301e0
feat!: regenerate the SDK from the enhanced generator
mridang Jun 14, 2026
0f0bda3
refactor(transport): use generated TransportOptions instead of hand-kept
mridang Jun 15, 2026
a11053e
chore: organize and sort keep-list
mridang Jun 15, 2026
6c02ccf
refactor: use generated ZitadelException instead of hand-kept
mridang Jun 15, 2026
dd6504e
refactor: generate the Zitadel facade via clientClassName + withAuthe…
mridang Jun 15, 2026
8012d87
test: drop bespoke DsVector hydration test
mridang Jun 15, 2026
0a1372d
chore: add .dockerignore, track generator manifest, devbox cleanup
mridang Jun 15, 2026
9c1f3ca
test: consolidate php tests into tests/ and analyze with peststan
mridang Jun 15, 2026
9e9319d
docs: restore customer-facing README and update code snippets for the…
mridang Jun 15, 2026
fd37f78
chore: slim proc.yml to options the generator honors
mridang Jun 15, 2026
2e0d603
test: use an ephemeral docker host port and discover the mapped port
mridang Jun 15, 2026
47def05
chore(qodana): drop per-file path-hides; resolve analyzer deps at the…
mridang Jun 15, 2026
74500a6
chore(qodana): drop ObjectSerializer dup-operand scopes (fixed upstre…
mridang Jun 15, 2026
661ee73
fix(docker): run psysh directly so piped stdin loads the SDK
mridang Jun 15, 2026
da7b707
test(auth): redaction test per authenticator; mask WebToken private key
mridang Jun 15, 2026
fd6dc77
fix(auth): add #[\Override] to masking __debugInfo overrides for rector
mridang Jun 15, 2026
3c5cb98
build: use exclude-all + allowlist .dockerignore like the other SDKs
mridang Jun 16, 2026
3e51bb2
feat(sdk): regenerate from the enhanced generator
mridang Sep 17, 2026
efc10a0
feat(sdk): regenerate from the enhanced generator
mridang Sep 17, 2026
983b508
fix(sdk): regenerate without the dead no-auth import and petstore-cou…
mridang Sep 17, 2026
09e6968
fix(sdk)!: lowercase the leading acronym in generated camelCase names
mridang Sep 18, 2026
eef90cd
chore: regenerate against the current generator
mridang Sep 19, 2026
bcf4933
chore: regenerate against the current generator
mridang Sep 20, 2026
f271a35
docs: regenerate SKILLS.md with aligned wording
mridang Sep 20, 2026
5571f80
fix: declare the licence this package is actually published under
mridang Sep 22, 2026
25fdc01
feat!: regenerate with the standardised error hierarchy
mridang Sep 22, 2026
45663d0
feat!: align the hand-written authenticators with the error standard
mridang Sep 22, 2026
f117e97
feat!: adopt the generated errors namespace and OAuth2 error types
mridang Sep 24, 2026
64d045f
docs: add an AGENTS.md describing what is generated and what is not
mridang Sep 24, 2026
9ed9752
feat!: regenerate with the aligned SDK surface
mridang Sep 24, 2026
2a9c7b0
chore: let the generated dev-dependency manifest through the keep-list
mridang Sep 24, 2026
4b0f85f
feat!: regenerate with linted generated code and the dev-dependency m…
mridang Sep 24, 2026
02c02a1
fix(build): ignore Pest toThrow closure variance so tests pass phpsta…
mridang Sep 25, 2026
34ee457
fix(build): add nyholm/psr7 dev dep for the PSR-18 client test
mridang Sep 25, 2026
4f12ebd
fix(build): drop stale phpdoc.xml so the generator phpdoc.dist.xml is…
mridang Sep 25, 2026
d354319
docs(agents): guardrails so a regeneration cannot silently re-break CI
mridang Sep 25, 2026
529adef
test: standardise squid proxy fixture on two ports
mridang Sep 26, 2026
3eb31cf
fix(test): give the squid proxy fixture writable tmpfs and wait for i…
mridang Sep 26, 2026
d6966ab
fix(test): read the proxy ports from a fresh container inspect
mridang Sep 26, 2026
e3fdabf
test(diag): report proxy port/reachability state on fixture timeout
mridang Sep 26, 2026
f14b221
test(diag): dump raw proxy port map and status on fixture timeout
mridang Sep 26, 2026
6d7b5c9
fix(test): expose both proxy ports so the daemon publishes 3129
mridang Sep 26, 2026
6628652
style(test): use get_debug_type in the proxy inspect diagnostic
mridang Sep 26, 2026
d52b858
docs(agents): record the ExposedPorts/tmpfs proxy-fixture root cause
mridang Sep 26, 2026
15147d3
test: assert the credentialed proxy throws ClientException; trim prox…
mridang Sep 26, 2026
fc59d61
test: adopt testcontainers-php 1.1.0 and drop the 1.0.8 fixture worka…
mridang Sep 27, 2026
9aecabc
test: drop the dead proxy fixture from the Setup bootstrap extension
mridang Sep 27, 2026
b4c7791
test: run the specs suite in CI, not only unit
mridang Sep 27, 2026
dfc84ac
chore: regenerate SDK from enhanced generator
mridang Sep 27, 2026
254f26d
test: harmonise user-service sanity spec test names
mridang Sep 28, 2026
8d6bace
chore: regenerate SDK from enhanced generator
mridang Sep 28, 2026
255715b
chore: regenerate SDK from enhanced generator
mridang Sep 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
*

# Include only the essential files needed for building the library
!composer.*
!composer.json
!composer.lock
!lib/
4 changes: 1 addition & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120

[*.php]
indent_size = 4
indent_size = 4
2 changes: 1 addition & 1 deletion .github/workflows/autofix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
with:
php-version: '8.3'
php-version: '8.5'
coverage: none

- name: Install Dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ '8.3', '8.4', '8.5' ]
php-version: [ '8.5' ]
fail-fast: false

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
with:
php-version: '8.3'
php-version: '8.5'

- name: Install Dependencies
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader --no-scripts
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/qodana.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ jobs:
- name: Run Qodana
uses: JetBrains/qodana-action@201551778d1453e36c5c0aa26f89a94775cb1acc # v2025.1
with:
args: --baseline,.qodana/qodana.sarif.json
push-fixes: true
env:
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
with:
php-version: '8.3'
php-version: '8.5'

- name: Run semantic-release
uses: mridang/action-semantic-release@v2
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,15 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
with:
php-version: '8.3'
php-version: '8.5'

- name: Install Dependencies
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader --no-scripts

- name: Run Tests
run: composer test
env:
XDEBUG_MODE: coverage

- name: Generate coverage report
uses: mridang/action-test-reporter@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
with:
php-version: '8.3'
php-version: '8.5'

- name: Install Dependencies
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader --no-scripts
Expand Down
34 changes: 17 additions & 17 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
# ref: https://github.com/github/gitignore/blob/master/Composer.gitignore

composer.phar
# Composer dependencies
/vendor/

# Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
# composer.lock

# php-cs-fixer cache
.php_cs.cache
.php-cs-fixer.cache
# Composer lock file
composer.lock

# PHPUnit cache
.phpunit
.phpunit.cache/
.phpunit.result.cache

.env
# Tool caches
.phpcsf
.phpstan/
devbox.d/

devbox.json
devbox.lock
.devbox
package.xml
# Coverage output
.out/

# Local secrets / test credentials (never commit)
.env

.claude
# Local Claude Code state (never commit)
.claude/worktrees/
.claude/settings.local.json
71 changes: 71 additions & 0 deletions .openapi-generator-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Keep-list: files the generator must NOT overwrite, and the Makefile's
# `prune` step must NOT delete. Everything else is generator-owned.
# Sections are shared across all six SDK repos for harmony; sort each
# section alphabetically (case-insensitive) and keep `!` negations
# immediately after the broad pattern they refine.

# --- bespoke authenticators (ported onto the generated auth interfaces) ---
lib/Auth/ClientCredentialsAuthenticator.php
lib/Auth/ClientCredentialsAuthenticatorBuilder.php
lib/Auth/NoAuthAuthenticator.php
lib/Auth/OAuthAuthenticator.php
lib/Auth/OAuthAuthenticatorBuilder.php
lib/Auth/OpenId.php
lib/Auth/PersonalAccessTokenAuthenticator.php
lib/Auth/WebTokenAuthenticator.php
lib/Auth/WebTokenAuthenticatorBuilder.php

# --- bespoke tests + fixtures the generator does not emit ---
etc/
spec/
tests/Auth/ClientCredentialsAuthenticatorTest.php
tests/Auth/NoAuthAuthenticatorTest.php
tests/Auth/OAuthAuthenticatorTestCase.php
tests/Auth/PersonalAccessAuthenticatorTest.php
tests/Auth/WebTokenAuthenticatorTest.php
tests/fixtures/
tests/ZitadelTest.php

# --- repo identity + docs (team-owned) ---
LICENSE
phpstan.neon
phpunit.xml
README.md
SECURITY.md
VERSIONING.md

# --- house tooling (team-owned) ---
.claude/
.commitlintrc.json
.dockerignore
.editorconfig
.github/
.gitignore
.idea/
.pre-commit-config.yaml
.releaserc.json
composer-unused.php
devbox.json
devbox.lock
Dockerfile
lefthook.yml
qodana.yaml

# --- build / package config (team-owned) ---
composer.json
composer.lock
composer.phar

# --- generation tooling we added ---
.openapi-generator-ignore
Makefile
proc.yml

# --- generator bookkeeping (FILES manifest + VERSION; rewritten by the
# generator but keep-listed so prune does not orphan them — the FILES
# manifest does not list itself, so it would otherwise be deleted) ---
# Only the two bookkeeping files, named individually: excluding the whole
# directory also excluded DEV-DEPENDENCIES, which the generator must write
# so this repo's package manifest can stay in step with what its tests import.
.openapi-generator/FILES
.openapi-generator/VERSION
4 changes: 4 additions & 0 deletions .openapi-generator/DEV-DEPENDENCIES
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
nyholm/psr7 ^1.8 # Psr18ApiClientUnitTest
open-telemetry/sdk ^1.0 # TraceContextUtilTest
pestphp/pest ^4.0 # every generated test
testcontainers/testcontainers ^1.0 # the container bootstrap
Loading
Loading