Releases: Wilkes-Liberty/graphql_compose_codegen
Releases · Wilkes-Liberty/graphql_compose_codegen
Release list
1.1.1
Changed
- CI now runs against the declared Drupal 10.6 and 11.3 support floors as well as the current Drupal 11 release. Each job asserts the resolved core version and collected test count.
- The attribution check now calls the public
Wilkes-Liberty/shared-ci@v1workflow. Concurrent deliveries queue instead of cancelling required checks. - The changelog gate is self-contained and opt-in through the
changeloglabel. Dependabot pull requests are exempt, and the deprecated autoupdate workflow has been removed.
Fixed
- The public GitHub mirror no longer calls private reusable workflows for Dependabot auto-merge or changelog handling. Dependabot patch and minor updates retain auto-merge; major updates remain manual (issue #3614589).
- Composer network-fetching steps retry transient failures with bounded backoff while preserving final dependency-resolution failures.
- PHPStan handles PHPUnit 9's missing attribute namespace on the Drupal 10.6 job without failing the current-core job on an unmatched compatibility ignore.
1.1.0
Paragraph bundles are now first-class scaffold targets, closing the gap where gqcc:inspect and gqcc:generate covered node bundles only.
Added
- gqcc:inspect lists paragraph bundles enabled in graphql_compose (entity_config enabled + query_load_enabled, per-field field_config enablement; both the 2.x config name and 3.x per-server names), with a nested-only marker for bundles that render inside their parents. (#3613218)
- Four paragraph artefacts mirroring the node set: paragraphs/types.generated.d.ts (types joining the DrupalParagraph union), paragraphs/fragments.generated.ts (the PARAGRAPH_FRAGMENTS block), paragraphs/paragraph-renderer-cases.generated.tsx, and one {Name}Paragraph component stub per bundle.
- Response-key collision handling: when two bundles select the same field name with incompatible shapes (required vs optional sub-fields), the later bundle's field is aliased (tabItems: items) and the TypeScript property follows the alias; aliases are stable across --bundles subset runs.
- Nested paragraph references emit nested inline fragments for handler_settings.target_bundles, one level deep, with bundle-specific TypeScript types.
- WebformMapper: webform fields map to a DrupalWebform type with the full graphql_compose_webform selection instead of unknown. (#3613232)
Changed
- --bundles now filters paragraph bundles for generate, diff, validate, and inspect; a paragraph-only run no longer aborts or overwrites node artefacts.
- Paragraph component stubs use the data prop and {Name}Paragraph naming.
- Generated fields are emitted in machine-name order for deterministic output.
- Schema-change log notices emit a working command for paragraph bundles and name the matching renderer on bundle deletion.
Fixed
- PathGuard rejects the macOS /private variants of dangerous filesystem roots. (#3613237)
Full details in CHANGELOG.md. Test suite: 45 tests across Drupal 10.6, 11.3, and 11.
1.0.0
First stable release of the 1.0.0 line.
Since 1.0.0-rc1
- Narrowed the supported core range to Drupal 10.6 and 11.3+, and added a CI matrix that runs the Unit + Kernel suites against each supported floor plus the 11 ceiling — the support claim is exercised, not just declared.
- Fixed: the Status report requirements checks now run on Drupal 10.x (moved from the OOP
hook_runtime_requirements/#[Hook]form, which is 11.1/11.2+ only, to the proceduralhook_requirements()).
graphql_compose_codegen is a Drush-powered scaffold generator that turns your graphql_compose schema into TypeScript type definitions, GraphQL fragments, and React component stubs for a Next.js frontend.
Install: composer require 'drupal/graphql_compose_codegen:^1.0'
1.0.0-rc1
[1.0.0-rc1] — 2026-07-21
Added
- Compatible with
graphql_compose3.x (GraphQL 5 / webonyx 15): the composer constraint
is^2.1 || ^3.0, so the module installs and generates against both the 2.x and 3.x lines. gqcc:inspectDrush command — enumerate node bundles and their extra
(non-base-type) fields with GraphQL names, TypeScript types, cardinality,
and required status.gqcc:generateDrush command — scaffold four artefact types per run:types.generated.d.ts— TypeScript type definitionsfragments.generated.ts— GraphQL inline fragmentsnode-renderer-cases.generated.tsx— NodeRenderer switch-case stubscomponents/{Name}.generated.tsx— one React component stub per bundle
gqcc:diffDrush command — compare current schema against last generation snapshot.gqcc:validateDrush command — verify scaffold files on disk are in sync with the live schema.- Settings form at
/admin/config/development/graphql-compose-codegen. hook_helppage at/admin/help/graphql_compose_codegen.hook_requirementschecks at/admin/reports/status(bundles exposed, stale base fields).- Schema-change hooks for node and paragraph bundles/fields, with actionable log notices.
- Full paragraph bundle introspection (TypeScript types, GQL fragments, component stubs).
- Attribute-based plugin system for custom Drupal-type → TypeScript-type mappers.
hook_graphql_compose_codegen_pre_generate/_post_generatefor extensibility.--dry-run,--allow-external, idempotency (skip write when content unchanged), output-dir safety guard.- Drush 12+ attribute-style commands with
AutowireTrait. - PHPUnit Unit + Kernel test suites.
- PHPStan and phpcs configurations.
- CI: Slack release notification (
.github/workflows/release-notify.yml) — posts to the
maintainers' release channel on release tags; no-ops without theSLACK_WEBHOOK_RELEASESsecret. - CI: Dependabot patch/minor PRs now auto-merge once checks pass (majors still
reviewed), via the org reusable workflow
(.github/workflows/dependabot-automerge.ymlcalls the shared
dependabot-automerge.ymlinWilkes-Liberty/.github). - Org governance baseline: changelog-check and changelog-autoupdate GitHub
Actions callers, Dependabot config (composer + github-actions, weekly), and a
non-blockingcomposer auditworkflow for PHP dependency security scanning.
Changed
- Development branch is now
1.x, not1.0.x. A1.xbranch ships every 1.y release from
one line;1.0.xis patch-only for the 1.0 series. Track dev with
composer require 'drupal/graphql_compose_codegen:1.x-dev'. Standardizes the branch model
across the W&L drupal.org modules.
Fixed
- Replaced
hook_field_storage_config_insert/deletewithhook_field_config_insert/delete
so the bundle name is available when the field is attached (previously logged[]). - README no longer claims an admin UI that didn't exist — the settings form now ships in this release.