Skip to content

Allow installation on Statamic v6#32

Open
j6s wants to merge 1 commit intogoldnead:mainfrom
j6s:feature/statamic-v6
Open

Allow installation on Statamic v6#32
j6s wants to merge 1 commit intogoldnead:mainfrom
j6s:feature/statamic-v6

Conversation

@j6s
Copy link
Copy Markdown

@j6s j6s commented Mar 3, 2026

See also: #31

Allows installation on Statamic v6. From my tests, everything seems to work fine

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add Statamic v6 support to package dependencies

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add support for Statamic v6 in composer.json
• Update statamic/cms dependency constraint to include ^6.0
Diagram
flowchart LR
  A["composer.json<br/>statamic/cms constraint"] -- "Add ^6.0 support" --> B["Statamic v3-v6<br/>compatibility"]
Loading

Grey Divider

File Changes

1. composer.json Dependencies +1/-1

Add Statamic v6 to dependency constraints

• Updated statamic/cms dependency constraint from ^3.0 | ^3.1 | ^3.2 | ^3.3 | ^3.4 | ^4.0 | ^5.0
 to include ^6.0
• Enables package installation on Statamic v6 while maintaining backward compatibility with v3-v5

composer.json


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review bot commented Mar 3, 2026

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📎 Requirement gaps (1)

Grey Divider


Action required

1. No Statamic 6 status docs 📎 Requirement gap ✧ Quality
Description
The PR adds Statamic v6 to the supported dependency range but does not update any
documentation/changelog to explicitly communicate Statamic 6 compatibility status. This leaves users
unable to determine support status from project docs.
Code

composer.json[35]

+    "statamic/cms": "^3.0 | ^3.1 | ^3.2 | ^3.3 | ^3.4 | ^4.0 | ^5.0 | ^6.0"
Evidence
Compliance requires an explicit Statamic 6 compatibility statement in documentation or changelog.
The PR updates composer.json to allow statamic/cms ^6.0, but the README/docs and changelog
contain no Statamic 6 mention and still present a generic Statamic-3+ badge without clarifying v6
support status.

Document and communicate Statamic 6 support status
composer.json[35-35]
README.md[1-7]
CHANGELOG.md[1-4]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The PR expands the Statamic requirement to include v6, but project documentation does not explicitly state Statamic 6 compatibility status.

## Issue Context
Compliance requires an explicit statement in README/changelog/release notes indicating whether Statamic 6 is supported (and if not supported, include a timeline/plan or a clear statement of no current plans). This PR appears to add support by updating the composer constraint.

## Fix Focus Areas
- README.md[1-15]
- docs/README.md[1-15]
- CHANGELOG.md[1-20]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Statamic v6 untested in CI 🐞 Bug ⛯ Reliability
Description
composer.json now allows statamic/cms ^6.0, but CI only tests Statamic 4 and 5. This makes the new
v6 compatibility claim unverified and increases the chance of shipping a broken install/runtime
experience for v6 users.
Code

composer.json[35]

+    "statamic/cms": "^3.0 | ^3.1 | ^3.2 | ^3.3 | ^3.4 | ^4.0 | ^5.0 | ^6.0"
Evidence
The package declares compatibility with Statamic 6 in composer.json, but the GitHub Actions matrix
never installs Statamic 6, so tests cannot catch Statamic 6 specific breakages.

composer.json[33-36]
.github/workflows/tests.yaml[11-18]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The package now declares support for Statamic 6 via composer constraints, but CI never runs tests against Statamic 6. This makes the support claim unverified and risks shipping regressions for Statamic 6 users.

## Issue Context
CI currently pins a single PHP/Laravel/Testbench combo and only tests Statamic 4 and 5.

## Fix Focus Areas
- .github/workflows/tests.yaml[11-18]
- .github/workflows/tests.yaml[33-36]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. CommonMark dependency not declared 🐞 Bug ⛯ Reliability
Description
Markdown support instantiates League\CommonMark\CommonMarkConverter directly, but composer.json does
not require league/commonmark. If that dependency is not present (e.g., due to dependency graph
changes across Statamic majors), Markdown parsing will fail with a fatal Class not found at runtime.
Code

composer.json[R33-36]

  "require": {
    "php": "^7.4 | ^8.0 | ^8.1 | ^8.2",
-    "statamic/cms": "^3.0 | ^3.1 | ^3.2 | ^3.3 | ^3.4 | ^4.0 | ^5.0"
+    "statamic/cms": "^3.0 | ^3.1 | ^3.2 | ^3.3 | ^3.4 | ^4.0 | ^5.0 | ^6.0"
  },
Evidence
Parser uses CommonMark at runtime for Markdown conversion, but composer.json does not declare the
dependency, so installation relies on whatever upstream happens to bring in transitively.

src/Parser.php[266-276]
composer.json[33-40]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The code directly uses `\League\CommonMark\CommonMarkConverter`, but `league/commonmark` is not declared in composer.json. This can produce runtime fatals when the dependency is absent.

## Issue Context
This becomes more fragile when expanding support across major Statamic versions, where transitive dependencies can change.

## Fix Focus Areas
- composer.json[33-40]
- src/Parser.php[266-276]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@j6s j6s force-pushed the feature/statamic-v6 branch from 0824767 to 17c0ab0 Compare March 3, 2026 09:53
@j6s j6s force-pushed the feature/statamic-v6 branch from 17c0ab0 to c87cf6c Compare March 3, 2026 10:02
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.

1 participant