Skip to content

Releases: mnfst/manifest-php

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 20:03
77433a3

0.6.0 (2026-09-26)

Features

  • choose which calls reach Manifest with MNFST_ALLOWLIST / MNFST_DENYLIST (#46) (4728657)

Bug Fixes

  • doctor reads the key from the project's .env files (#45) (1a238c7)

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 19:34
a6fc32f

0.5.0 (2026-09-26)

⚠ BREAKING CHANGES

  • the extension hooks and prepend.php are removed. Guzzle clients need the middleware; raw curl calls are no longer seen.

Features

  • install without the opentelemetry extension (#42) (495caa1)

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 13:43
63a82ef

0.4.0 (2026-09-24)

Features

v0.3.0

Choose a tag to compare

@guillaumegay13 guillaumegay13 released this 21 Sep 08:24
f4b4e6b

Adds Symfony HttpClient and WordPress support through a shared healing flow.

Fixes replay fidelity across HTTP clients: preserves authentication, query parameters, client options, JSON types, and readable response streams. Keeps PHPUnit/Pest and HTTP fakes silent by default and improves configuration and retry backoff.

Requires PHP 8.2+, ext-curl, and the OpenTelemetry extension. Raw curl remains capture-only; Symfony streaming and explicitly unbuffered responses remain untouched.

Tested on PHP 8.2–8.5, including Laravel 13, Symfony 8, and Guzzle 8.

Includes #29, building on Bruno Perez’s work in #25.

v0.2.0

Choose a tag to compare

@guillaumegay13 guillaumegay13 released this 19 Sep 14:16
5e432b2

Replay fixes against the app's real /v1 contract (#26).

  • Apply the served URL and headers, not only the body, via a shared Replay planner
  • Retry through the hooked client with the caller's options; Cake keeps method and headers
  • A retry that fails again under http_errors rejects with ClientException
  • Transport failures on the retry are reported as transport_error
  • GET/HEAD/DELETE/OPTIONS retry without a body when the patch merges to none
  • Empty header maps and empty JSON objects encode as {}, never []
  • Form bodies keep field names verbatim and repeat repeated names
  • Failed retries report the raw body and real truncated flag; report timeout is 5 s
  • doctor sends probe: true and no longer parses project data the server never returns
  • Without a key the SDK is inert; the handshake fires only when a hook installed

HealApi::reportOutcome is replaced by reportResponse / reportFailure.