Skip to content

Regenerate PHP SDK (fern-php-sdk 2.30.12, encode-path-params) - #409

Merged
anubhav-intercom merged 2 commits into
masterfrom
fern-bot/2026-11-04-php-2.30.12-encode-path-params
Nov 5, 2026
Merged

anubhav-intercom merged 2 commits into
masterfrom
fern-bot/2026-11-04-php-2.30.12-encode-path-params

Conversation

@fern-api

@fern-api fern-api Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Regenerates the PHP SDK from Intercom-OpenAPI 184e88b with fernapi/fern-php-sdk 2.30.12 and encode-path-params: true.

What changes

  • Path parameters are encoded and checked. All 199 path-parameter substitutions go through RawClient::encodePathParam(). /, ? and # are percent-encoded. Exact . and .. throw InvalidArgumentException before any request is sent. Values such as v1.2 and ... are unchanged.
  • No mixed|null type hints. The generator fix in 2.30.11 is included. For example, Unstable\Messages\MessagesClient::createMessage is now mixed $request = null.
  • Pagination is kept. 12 methods return Pager.
  • Generator update. This moves from 1.25.0 to 2.30.12, so src/Core is regenerated too. For example, the HTTP client now uses PSR-18 discovery.

Please review before merging

  • composer.json is in .fernignore, so it was not updated. The regenerated code needs packages that it does not list:
    • php-http/multipart-stream-builder, used by src/Core/Multipart/MultipartFormData.php.
    • psr/http-factory, used by src/Core/Client/HttpClientBuilder.php.
    • The generated composer.json also requires PHPUnit ^12.5 for dev. This file still has ^9.0.
  • Some class names change, which can break callers. Examples: Unstable\Conversations\Requests\ReplyConversationRequest becomes ReplyConversationBody, and Articles\Types\UpdateArticleRequestState becomes UpdateArticleRequestBodyState. There are 16 renames in total; see the renamed files in the diff.
  • SDK version is still 5.0.2 in the headers in src/IntercomClient.php. Please set the version you want to release.
  • Unchanged on purpose: src/Legacy, tests/Legacy and .github/. The generated ci.yml was not added, so the disabled workflow stays disabled.

Verification

  • php -l passes on all generated files.
  • No native mixed|null type hints remain.
  • Because composer install was not run, the runtime tests (phpunit) have not been run.

devin-ai-integration Bot and others added 2 commits November 4, 2026 13:59
…30.12 and encode-path-params

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Add php-http/multipart-stream-builder and psr/http-factory, which the
  regenerated client now uses.
- Bump phpunit to ^12.5 to match the generated tests, and move the
  Legacy data provider to the attribute form PHPUnit 12 requires.
- Set the SDK version headers to 6.0.0; class renames make this a
  major release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@socket-security

socket-security Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedcomposer/​phpunit/​phpunit@​9.6.38.0 ⏵ 12.5.43.010010090100100
Addedcomposer/​php-http/​multipart-stream-builder@​1.4.2.010010090100100

View full report

@socket-security

socket-security Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report

@anubhav-intercom

Copy link
Copy Markdown
Contributor

@SocketSecurity ignore composer/phpunit/phpunit@12.5.43.0

@anubhav-intercom
anubhav-intercom merged commit 97747bb into master Nov 5, 2026
3 checks passed
@anubhav-intercom
anubhav-intercom deleted the fern-bot/2026-11-04-php-2.30.12-encode-path-params branch November 5, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants