* Add recipe for mosl/opensign-bridge-bundle (0.6)
* Trigger CI: PR body now includes the required License MIT header
---------
Co-authored-by: Yaovi <y.ametepe@gmail.com>
symfony/mcp-bundle 0.13 replaced the single implicit server with named servers
under `mcp.servers`. sulu/mcp-bundle prepends one called `sulu`, so the
`allowed_hosts` this recipe writes moves under `mcp.servers.sulu.http`.
* Add recipe for sulu/mcp-bundle 1.0
* Move the allowed hosts out of the recipe into its output
The released sulu/mcp-bundle 1.0.0-RC1 requires symfony/mcp-bundle ^0.6,
where mcp.http.allowed_hosts does not exist yet: it was added in 0.11.
Shipping the option as config broke cache:clear on every install.
* Contribute the allowed hosts and the default OAuth scopes
sulu/mcp-bundle 1.0.0-RC2 requires symfony/mcp-bundle ^0.12, so
mcp.http.allowed_hosts exists and the transport can be told its public
host. league requires scopes.default and the bundle leaves it to the
project, so the recipe contributes the two MCP scopes.
Both sections live in sulu_mcp.yaml rather than in the files those
bundles own, because Symfony merges configuration per extension.
---------
Co-authored-by: Johannes Wachter <wachter.johannes@gmail.com>
* Improve JanePHP recipes first-run experience
Recipes pointed the generator configs to specification files they never
created, hid all generator output behind a NullOutput (so failures showed
up as raw PHP fatals and successes printed nothing) and always exited 0,
even when generation failed.
- document every config key and the spec file prerequisite in
config/jane/*.php
- render generator output, format thrown errors and propagate exit codes
in the recipe bin scripts
- reorder post-install steps: placing the specification file now comes
before running the generator
- explain when/how to uncomment the generated normalizer service in
config/packages/jane.yaml
Refs: https://github.com/janephp/janephp/issues/860
* Point recipes to the current documentation website
jane.readthedocs.io is outdated, jane.jolicode.com/latest/ is the
current documentation home.
* Re-trigger QA after adding the license header to the PR description
Follow-up to the review feedback on #2026: env-scoped config/*/dev/
directories are the outdated approach. Both files move to flat paths
guarded by a when@dev: block.
The packages file is guarded too rather than left bare — the bundle is
registered for dev only, so an unguarded zestly_dev_login: root key in
config/packages/ has no extension to load it in prod and would break
cache warmup.
Claude-Session: https://claude.ai/code/session_01FtiTUbCskmCiy9k78vCL19
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Add tito10047/progressive-image-bundle 2.0
Registers the bundle, its route, and a working default config (a chain
resolver with an AssetMapper + filesystem fallback, tailwind grid
breakpoints, sync generation, and a self-contained local Flysystem
variant store — no extra dependency required). The responsive
breakpoint stylesheet is generated and imported into assets/app.js
automatically via a post-install script, so the bundle renders
correctly right after "composer require" with zero manual config.
Verified end-to-end against a sandboxed copy of a real AssetMapper app:
uninstall -> reinstall -> render <twig:pgi:Image> produces a working
<picture> element with real generated variant files on disk.
* Fix recipes-contrib QA failures for tito10047/progressive-image-bundle 2.0
- add-lines only supports "top", "bottom", "after_target" as a position
value — "before_target" isn't valid. Insertion order relative to the
app.css import doesn't matter functionally, so switch to after_target.
- post-install.txt was missing its trailing newline.
* Retrigger CI: tito10047/progressive-image-bundle main/v2.0 branches now include the AssetMapper prepend() fix
* Retrigger CI: asset_mapper resolver fix is live on main/v2.0 (progressive-image-bundle)
* Retrigger CI: 2.0.0-rc0 (pre-fix) tag deleted, only 2.0.0-rc1 remains
Registers the bundle and imports the shop routes, which expose the page the customer returns to from the bank-hosted payment page. Without that import the return URL cannot be built and the payment fails before it even leaves.
No config/packages: both configuration keys of the plugin have real defaults.
No add-lines either, the plugin ships no JavaScript. The two remaining steps cannot be automated and are recalled by post-install.txt: generating the Sylius payment encryption key, and declaring the trusted proxies, x-forwarded-host included, without which the URLs handed to the bank are unreachable.
* Add recipe for sylius/admin-mcp-server-plugin 0.1
* Remove league_oauth2_server.yaml from recipe — plugin already imports it via config.yaml
* Add OAuth keypair env vars to manifest.json
* adds leoparden/plugin-license-manager
* Remove aliases from manifest.json
* Add leoparden/plugin-license-manager 1.3 recipe
Runs leoparden:license:sync via auto-scripts so newly required Leoparden
extensions are reported to the license hub. Scoped to 1.3 because the command
ships from plugin-license-manager v1.3.0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Martin Flogaus <flogaus@leoparden.net>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Registers TreblleBundle, copies a minimal treblle.yaml config pointing
at TREBLLE_SDK_TOKEN and TREBLLE_API_KEY env vars, and injects those
two variables into .env on install.
* Add letkode/form-schema-bundle recipe
* fix: indentation and null values in letkode/form-schema-bundle recipe
- Use 4-space indentation in manifest.json
- Add trailing newline to manifest.json
- Replace ~ with null in letkode_form_schema.yaml
Symfony 8.0 removed XmlFileLoader support for routing (deprecated in 7.4).
The PHP routing file sonata_admin.php was introduced in SonataAdminBundle 4.39,
so a new recipe version is required rather than modifying the existing 4.0 recipe.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>