Feature/upgrade 270#5
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughMass rename of project and version identifiers from XOOPS 2.5.12 → 2.7.0 and XoopsCore25 → XoopsCore27 across docs, CI/config, templates, PHPDoc Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR updates the XOOPS core branding/version references across the upgrade system, tests, documentation, and assorted metadata/config files to reflect the 2.7.0 (RC1) line, including repo link updates from XoopsCore25 to XoopsCore27.
Changes:
- Renames and updates upgrade assets to target the 2.5.11 → 2.7.0 upgrade path.
- Updates tests, docs, release notes, and in-code comments/constants to reference XOOPS 2.7.0 / RC1.
- Updates repository/tooling identifiers (SonarCloud, links, templates) to
XoopsCore27and adds a 2.7.x changelog file.
Reviewed changes
Copilot reviewed 114 out of 114 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| upgrade/upgrade_tpl.php | Update GitHub repository link to XoopsCore27 in upgrade UI |
| upgrade/upd_2.5.11-to-2.7.0/index.php | Rename upgrade class/return value and header to 2.7.0 |
| upgrade/language/english/smarty4.php | Update upgrade messaging to XOOPS 2.7.0 wording |
| tests/unit/htdocs/ModuleScriptConventionsTest.php | Update test doc comment version reference |
| tests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.php | Update version fixtures to 2.7.0 series |
| tests/unit/htdocs/kernel/XoopsModuleTest.php | Update version fixtures used by module tests |
| tests/unit/htdocs/kernel/EvalRemovalVerificationTest.php | Update test doc comment version reference |
| tests/unit/htdocs/include/VersionTest.php | Update expected XOOPS_VERSION prefix and examples to 2.7.0 |
| tests/unit/htdocs/class/XoopsTokenHandlerTest.php | Update @since tag to 2.7.0 |
| tests/unit/htdocs/class/XoopsLoadTest.php | Update doc comment to 2.7.x wording |
| tests/unit/htdocs/class/LostPassSecurityTest.php | Update @since tag to 2.7.0 |
| tests/bootstrap.php | Update test bootstrap XOOPS_VERSION default to 2.7.0-RC1 |
| sonar-project.properties | Update SonarCloud project key/name to XoopsCore27 |
| release_notes.txt | Update release notes to XOOPS 2.7.0 RC1 branding/requirements/links |
| README.md | Update badges and links to XoopsCore27 |
| phpstan-constants.stub.php | Update @since tag to 2.7.0 |
| htdocs/xoops_lib/README.md | Update documentation version references to 2.7.0+ |
| htdocs/xoops_lib/modules/protector/xoops_version.php | Raise module min_xoops to 2.7.0 |
| htdocs/xoops_lib/composer.dist.json | Update package metadata (name/description/support URLs) for 2.7.0 |
| htdocs/themes/xswatch5/theme.ini | Update theme metadata URLs to XoopsCore27 |
| htdocs/themes/xswatch5/README.md | Update theme docs to target XOOPS 2.7.0+ |
| htdocs/themes/xswatch5/css/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-yeti/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-united/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-superhero/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-spacelab/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-solar/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-slate/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-sketchy/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-simplex/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-sandstone/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-pulse/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-minty/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-materia/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-lux/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-lumen/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-litera/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-journal/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-flatly/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-darkly/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-cyborg/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-cosmo/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xswatch5/css-cerulean/xoops.css | Update comment version reference to 2.7.0 |
| htdocs/themes/xbootstrap5/.scrutinizer.yml | Update Scrutinizer environment and clone target to XoopsCore27 |
| htdocs/modules/system/xoops_version.php | Update internal version marker comment to 2.7.0 |
| htdocs/modules/system/themes/transition/xotpl/xo_accordion.tpl | Update footer links to XoopsCore27 |
| htdocs/modules/system/themes/transition/language/english/admin.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/themes/modern/README.md | Update theme docs to XOOPS 2.7.0+ |
| htdocs/modules/system/themes/modern/docs/USER_GUIDE.md | Update wording to indicate design target is XOOPS 2.7.0 |
| htdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.md | Update wording to indicate design target is XOOPS 2.7.0 |
| htdocs/modules/system/themes/default/xotpl/xo_accordion.tpl | Update footer links to XoopsCore27 |
| htdocs/modules/system/themes/default/language/english/admin.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/themes/dark/xotpl/xo_accordion.tpl | Update footer links to XoopsCore27 |
| htdocs/modules/system/themes/dark/language/english/admin.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/language/english/modinfo.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/language/english/menus/menus.dist.php | Update @since tag to 2.7.0 |
| htdocs/modules/system/language/english/menus/index.php | Update @since tag to 2.7.0 |
| htdocs/modules/system/language/english/blocks.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/language/english/admin/users.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/language/english/admin/preferences.php | Update version marker comments to 2.7.0 |
| htdocs/modules/system/language/english/admin/modulesadmin.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/language/english/admin/menus.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/language/english/admin.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/include/update.php | Update comment referencing version where menu tables were added |
| htdocs/modules/system/constants.php | Update version marker comment to 2.7.0 |
| htdocs/modules/system/admin/modulesadmin/main.php | Update comment referencing when a condition can be removed |
| htdocs/modules/system/admin/menus/xoops_version.php | Update @since tag to 2.7.0 |
| htdocs/modules/system/admin/menus/main.php | Update @since tag to 2.7.0 |
| htdocs/modules/system/admin/menus/index.php | Update @since tag to 2.7.0 |
| htdocs/modules/profile/docs/readme.txt | Update module docs requirements to PHP 8.2 / XOOPS 2.7.0+ |
| htdocs/modules/pm/docs/readme.txt | Update module docs requirements to PHP 8.2 / XOOPS 2.7.0+ |
| htdocs/modules/debugbar/xoops_version.php | Update module header/min_xoops to 2.7.0 |
| htdocs/modules/debugbar/preloads/core.php | Update doc comment version reference to 2.7.0 |
| htdocs/modules/debugbar/language/english/help/help.tpl | Update documentation links to XoopsCore27 |
| htdocs/modules/debugbar/docs/ray-integration.md | Update doc title to XOOPS 2.7.0 |
| htdocs/modules/debugbar/docs/file-list.md | Update doc title/content to XOOPS 2.7.0 |
| htdocs/modules/debugbar/docs/credits.txt | Update credits line to XOOPS 2.7.0 |
| htdocs/modules/debugbar/docs/changelog.txt | Update changelog header line to XOOPS 2.7.0 |
| htdocs/modules/debugbar/class/RayLogger.php | Update doc comment version reference to 2.7.0 |
| htdocs/modules/debugbar/class/DebugbarLogger.php | Update doc comment version reference to 2.7.0 |
| htdocs/language/english/global.php | Update version marker comment to XOOPS 2.7.0 |
| htdocs/language/english/banners.php | Update version marker comment to 2.7.0 |
| htdocs/kernel/menusitems.php | Update @since tag to 2.7.0 |
| htdocs/kernel/menuscategory.php | Update @since tag to 2.7.0 |
| htdocs/kernel/block.php | Update comments/messages referencing version for eval() removal |
| htdocs/install/language/english/install.php | Update version marker comment to 2.7.0 |
| htdocs/install/include/makedata.php | Update comment referencing version for session cookie prefs |
| htdocs/install/include/install_tpl.php | Update GitHub repository link to XoopsCore27 |
| htdocs/include/version.php | Update XOOPS_VERSION to 2.7.0-RC1 |
| htdocs/custom_blocks/example_welcome.php | Update @since tag to 2.7.0 |
| htdocs/custom_blocks/example_site_stats.php | Update @since tag to 2.7.0 |
| htdocs/custom_blocks/example_recent_members.php | Update @since tag to 2.7.0 |
| htdocs/class/XoopsTokenHandler.php | Update @since tag to 2.7.0 |
| htdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.php | Update @since tag to 2.7.0 |
| htdocs/class/xoopseditor/easymde/language/english.php | Update @since tag to 2.7.0 |
| htdocs/class/xoopseditor/easymde/editor_registry.php | Update @since tag to 2.7.0 |
| htdocs/class/xoopseditor/easymde/easymde.php | Update @since tag to 2.7.0 |
| htdocs/class/LostPassSecurity.php | Update @since tag to 2.7.0 |
| htdocs/class/logger/monologlogger.php | Update @since tag to 2.7.0 |
| htdocs/class/database/mysqldatabase.php | Update deprecation message version reference to 2.7.0 |
| htdocs/class/database/database.php | Update deprecation message version references to 2.7.0 |
| htdocs/class/cache/xoopscache.php | Update @since tag to 2.7.0 |
| docs/rfc-generic-token-handler.md | Update referenced upgrade script path for migration |
| docs/README.txt | Update docs readme to 2.7.0 RC1 branding and links |
| docs/lang_diff.txt | Update language diff heading to 2.7.0-Betas |
| docs/custom-blocks-tutorial.md | Update tutorial text to 2.7.0 wording |
| docs/changelog.270.txt | Add 2.7.x changelog file describing 2.7.0 RC1 changes |
| docs/changelog.250.txt | Remove 2.5.12-era entries from 2.5.x changelog file |
| CONTRIBUTING.md | Update contribution link to XoopsCore27 |
| .github/xoops-copilot-template.md | Update template wording to 2.7.x naming |
| .github/workflows/sonarcloud.yml | Update repo guard condition to XoopsCore27 |
| .github/workflows/qodana.yml | Update repo guard condition to XoopsCore27 |
| .github/ISSUE_TEMPLATE/bug-report.yml | Update XOOPS version dropdown options |
| .github/copilot-instructions.md | Update Copilot instructions to XoopsCore27/2.7.x wording |
| { | ||
| "name": "xoopscore25/libraries", | ||
| "description": "Libraries for XOOPS 2.5.12 (meta-package, no code)", | ||
| "name": "XoopsCore27/libraries", | ||
| "description": "Libraries for XOOPS 2.7.0 (meta-package, no code)", | ||
| "type": "metapackage", |
| - new "Modern" admin theme based on AdminLTE 3 (mamba) | ||
| - clean-room system menu administration rewrite by @mambax7 in #1666 | ||
| - fix system menu table creation and xbootstrap5 dropdown styling (mamba) in #1676 | ||
| - add system menu management (downport from XOOPS 2.7.0) |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Actionable comments posted: 9
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (5)
htdocs/language/english/global.php (1)
272-278:⚠️ Potential issue | 🟡 MinorPrevent
_TEXT_DIRECTION/_RTLmismatch when only one is pre-defined.Current fallback can produce inconsistent constants (
_RTL='1'but_TEXT_DIRECTION='ltr') if a language pack defines only_RTL. Make_TEXT_DIRECTIONderive from_RTLwhen available.Suggested fix
-if (!defined('_TEXT_DIRECTION')) { - define('_TEXT_DIRECTION', 'ltr'); // or 'rtl' -} - -if (!defined('_RTL')) { - define('_RTL', _TEXT_DIRECTION === 'rtl' ? '1' : '0'); -} +if (!defined('_TEXT_DIRECTION')) { + define( + '_TEXT_DIRECTION', + defined('_RTL') && _RTL === '1' ? 'rtl' : 'ltr' + ); +} + +if (!defined('_RTL')) { + define('_RTL', _TEXT_DIRECTION === 'rtl' ? '1' : '0'); +}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@htdocs/language/english/global.php` around lines 272 - 278, The current logic can produce inconsistent values when only one of the two constants is pre-defined; update the definition order so that _TEXT_DIRECTION and _RTL derive from each other: if _TEXT_DIRECTION is not defined but _RTL is defined, set _TEXT_DIRECTION based on _RTL ('rtl' if _RTL === '1' else 'ltr'); conversely if _RTL is not defined but _TEXT_DIRECTION is defined, define _RTL based on _TEXT_DIRECTION ('1' if _TEXT_DIRECTION === 'rtl' else '0'); keep the existing default of _TEXT_DIRECTION = 'ltr' only when neither constant is defined. Ensure you reference and update the existing symbols _TEXT_DIRECTION and _RTL in this file.htdocs/class/logger/monologlogger.php (2)
21-29:⚠️ Potential issue | 🟡 MinorAdd missing class docblock tags.
The class docblock is missing required tags per coding guidelines:
@category,@author,@copyright,@license, and@link.📝 Proposed fix to add required docblock tags
/** * Monolog adapter for XoopsLogger composite pattern. * * Usage: * $monolog = new XoopsMonologLogger('xoops'); * XoopsLogger::getInstance()->addLogger($monolog); * + * `@category` kernel * `@package` kernel + * `@subpackage` logger + * `@author` XOOPS Project (https://xoops.org) + * `@copyright` (c) 2000-2026 XOOPS Project (https://xoops.org) + * `@license` GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html) + * `@link` https://xoops.org */As per coding guidelines: "Class docblocks must include
@category,@package,@author,@copyright,@license, and@linktags".🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@htdocs/class/logger/monologlogger.php` around lines 21 - 29, The class docblock for the Monolog adapter is missing required tags; add a full docblock above the XoopsMonologLogger class (or the file-level class comment) that includes `@category`, `@package` (kernel), `@author`, `@copyright`, `@license`, and `@link` entries per coding guidelines, ensuring the tags reference the project and maintainers appropriately.
67-73: 🧹 Nitpick | 🔵 TrivialConsider adding boundary validation for the log directory path.
While
XOOPS_VAR_PATHis a system constant (not user input), the coding guidelines recommend validating file paths withrealpath()and boundary checks to prevent directory traversal. This adds defense-in-depth.🛡️ Proposed hardening with realpath validation
$logDir = XOOPS_VAR_PATH . '/logs'; +$logDir = realpath($logDir) ?: $logDir; +if (strpos($logDir, realpath(XOOPS_VAR_PATH)) !== 0) { + $this->activated = false; + return; +} if (!is_dir($logDir)) {As per coding guidelines: "Validate file paths with realpath() and boundary checks to prevent directory traversal".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@htdocs/class/logger/monologlogger.php` around lines 67 - 73, The code sets $logDir using XOOPS_VAR_PATH without validating the resolved path; update monologlogger.php to validate and canonicalize the path before using it by calling realpath() (or realpath on XOOPS_VAR_PATH and then constructing $logDir) and verify the resulting path is inside the expected base directory (XOOPS_VAR_PATH) to prevent traversal; if realpath fails or the canonical path is not within the expected boundary, set $this->activated = false and return, otherwise proceed with is_dir/mkdir as before.htdocs/class/xoopseditor/easymde/easymde.php (1)
26-29: 🧹 Nitpick | 🔵 TrivialClass docblock is missing required tags per coding guidelines.
The
FormEasyMDEclass docblock should include@category,@package,@author,@copyright,@license, and@linktags. As per coding guidelines, class docblocks must include these metadata tags.📝 Proposed docblock enhancement
/** * Class FormEasyMDE + * + * `@category` Xoops\Class\Editor + * `@package` XoopsEditor + * `@author` XOOPS Development Team + * `@copyright` (c) 2000-2026 XOOPS Project (https://xoops.org) + * `@license` GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html) + * `@link` https://xoops.org */ class FormEasyMDE extends XoopsEditor🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@htdocs/class/xoopseditor/easymde/easymde.php` around lines 26 - 29, The FormEasyMDE class docblock is missing required metadata tags; update the docblock above class FormEasyMDE to include `@category`, `@package`, `@author`, `@copyright`, `@license`, and `@link` entries following the project's docblock format so the class XoopsEditor-derived FormEasyMDE has complete header metadata.htdocs/kernel/menuscategory.php (1)
12-18: 🛠️ Refactor suggestion | 🟠 MajorComplete class docblocks with mandatory tags.
@sinceupdate is correct, but class docblocks in this file still miss required metadata tags and do not meet repository documentation rules.As per coding guidelines: “Class docblocks must include
@category,@package,@author,@copyright,@license, and@linktags”.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@htdocs/kernel/menuscategory.php` around lines 12 - 18, The class docblock for the MenusCategory kernel object is missing required tags; update the docblock for the class (e.g., class MenusCategory) to include the mandatory metadata: add `@category`, `@package`, `@author`, `@copyright`, `@license`, and `@link` tags (leave the existing `@since` intact), ensuring values follow project conventions (author name/team, copyright notice, GPL license URL, package/category names, and project link).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/changelog.270.txt`:
- Around line 99-113: The changelog entries for TinyMCE, PhpMailer, and HTML
Purifier are out of date; update the lines mentioning "TinyMCE 5.10.9",
"PhpMailer 6.9.3", and "HTML Purifier 4.18" to reflect the current stable
releases (TinyMCE → 8.4.0, PhpMailer → 6.12.0, HTML Purifier → 4.19.0) and add a
short note recommending upgrading the actual dependencies (not just the docs)
before release; ensure you modify the exact strings in the change list block so
the recorded versions match the packages used.
In `@docs/lang_diff.txt`:
- Line 7: The release heading string "2025/03/30: Version 2.7.0-Betas
(previously released as 2.5.12-Betas" has an unmatched opening parenthesis; fix
it by closing the parenthesis so the header reads "2025/03/30: Version
2.7.0-Betas (previously released as 2.5.12-Betas)" (i.e., add the missing ')' to
the end of that line).
In `@htdocs/kernel/menusitems.php`:
- Around line 14-19: Update every class docblock in this file (search for "class
" to find them) to include the required metadata tags: `@category`, `@package`,
`@author`, `@copyright`, `@license`, and `@link`; for each tag provide appropriate
values (e.g., project category, package name, author name/email, copyright
statement, license URL, and project link) and ensure the class docblock format
matches the existing file-level header style.
In `@htdocs/modules/system/themes/modern/README.md`:
- Around line 51-53: Update the README.md changelog entries that still state
"PHP 8.1+ compatible" to match the new requirement "PHP 8.2 or higher" so all
mentions are consistent; search the file for the phrase "PHP 8.1" (notably in
the changelog section and the occurrences around the lines referenced) and
replace them with "PHP 8.2 or higher" (or "PHP 8.2+" to match the header style),
ensuring the top-level requirements list ("PHP 8.2 or higher") and every
changelog item use the same wording.
In `@htdocs/xoops_lib/composer.dist.json`:
- Around line 2-3: The package name in composer.dist.json uses uppercase letters
("XoopsCore27/libraries") which violates Composer's lowercase-only requirement;
update the "name" field to an all-lowercase string (e.g.,
"xoopscore27/libraries") so it conforms to the Composer pattern and re-run
validation; ensure no other package name occurrences use the old mixed-case
value.
In `@README.md`:
- Line 18: The contributors image tag is missing alt text; update the <img
src="https://opencollective.com/XoopsCore/contributors.svg?width=890" /> element
in the README (the contributors image) to include a descriptive alt attribute
(e.g., alt="XoopsCore contributors") so screen readers can convey the image
meaning and improve accessibility.
In `@release_notes.txt`:
- Line 46: Update the release_notes.txt entry that links to the old repository
URL by replacing the XOOPS/XoopsCore27 GitHub release link with the current
XOOPS/XoopsCore28 releases URL: change
"https://github.com/XOOPS/XoopsCore27/releases" to
"https://github.com/XOOPS/XoopsCore28/releases" so the release package points to
the active repository.
In `@upgrade/upd_2.5.11-to-2.7.0/index.php`:
- Line 11: The class Upgrade_270 is missing the required class-level PHPDoc; add
a docblock immediately above the class declaration for class Upgrade_270
including the mandatory `@category`, `@package`, `@author`, `@copyright`, `@license`, and
`@link` tags (with appropriate project values) so the class docblock complies with
the repository PHPDoc rules.
In `@upgrade/upgrade_tpl.php`:
- Line 87: The external GitHub anchor element that uses target="_blank" (the <a
... title="<?php echo _XOOPS_SOURCE_CODE; ?>"> element in upgrade_tpl.php)
should include rel="noopener noreferrer" to prevent reverse-tabnabbing; update
that anchor to add the rel attribute with values noopener noreferrer while
keeping the existing href, target, title and icon intact.
---
Outside diff comments:
In `@htdocs/class/logger/monologlogger.php`:
- Around line 21-29: The class docblock for the Monolog adapter is missing
required tags; add a full docblock above the XoopsMonologLogger class (or the
file-level class comment) that includes `@category`, `@package` (kernel), `@author`,
`@copyright`, `@license`, and `@link` entries per coding guidelines, ensuring the tags
reference the project and maintainers appropriately.
- Around line 67-73: The code sets $logDir using XOOPS_VAR_PATH without
validating the resolved path; update monologlogger.php to validate and
canonicalize the path before using it by calling realpath() (or realpath on
XOOPS_VAR_PATH and then constructing $logDir) and verify the resulting path is
inside the expected base directory (XOOPS_VAR_PATH) to prevent traversal; if
realpath fails or the canonical path is not within the expected boundary, set
$this->activated = false and return, otherwise proceed with is_dir/mkdir as
before.
In `@htdocs/class/xoopseditor/easymde/easymde.php`:
- Around line 26-29: The FormEasyMDE class docblock is missing required metadata
tags; update the docblock above class FormEasyMDE to include `@category`,
`@package`, `@author`, `@copyright`, `@license`, and `@link` entries following the
project's docblock format so the class XoopsEditor-derived FormEasyMDE has
complete header metadata.
In `@htdocs/kernel/menuscategory.php`:
- Around line 12-18: The class docblock for the MenusCategory kernel object is
missing required tags; update the docblock for the class (e.g., class
MenusCategory) to include the mandatory metadata: add `@category`, `@package`,
`@author`, `@copyright`, `@license`, and `@link` tags (leave the existing `@since`
intact), ensuring values follow project conventions (author name/team, copyright
notice, GPL license URL, package/category names, and project link).
In `@htdocs/language/english/global.php`:
- Around line 272-278: The current logic can produce inconsistent values when
only one of the two constants is pre-defined; update the definition order so
that _TEXT_DIRECTION and _RTL derive from each other: if _TEXT_DIRECTION is not
defined but _RTL is defined, set _TEXT_DIRECTION based on _RTL ('rtl' if _RTL
=== '1' else 'ltr'); conversely if _RTL is not defined but _TEXT_DIRECTION is
defined, define _RTL based on _TEXT_DIRECTION ('1' if _TEXT_DIRECTION === 'rtl'
else '0'); keep the existing default of _TEXT_DIRECTION = 'ltr' only when
neither constant is defined. Ensure you reference and update the existing
symbols _TEXT_DIRECTION and _RTL in this file.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: c214da62-49b5-49be-a6f9-4f16bec0b773
📒 Files selected for processing (114)
.github/ISSUE_TEMPLATE/bug-report.yml.github/copilot-instructions.md.github/workflows/qodana.yml.github/workflows/sonarcloud.yml.github/xoops-copilot-template.mdCONTRIBUTING.mdREADME.mddocs/README.txtdocs/changelog.250.txtdocs/changelog.270.txtdocs/custom-blocks-tutorial.mddocs/lang_diff.txtdocs/rfc-generic-token-handler.mdhtdocs/class/LostPassSecurity.phphtdocs/class/XoopsTokenHandler.phphtdocs/class/cache/xoopscache.phphtdocs/class/database/database.phphtdocs/class/database/mysqldatabase.phphtdocs/class/logger/monologlogger.phphtdocs/class/xoopseditor/easymde/easymde.phphtdocs/class/xoopseditor/easymde/editor_registry.phphtdocs/class/xoopseditor/easymde/language/english.phphtdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.phphtdocs/custom_blocks/example_recent_members.phphtdocs/custom_blocks/example_site_stats.phphtdocs/custom_blocks/example_welcome.phphtdocs/include/version.phphtdocs/install/include/install_tpl.phphtdocs/install/include/makedata.phphtdocs/install/language/english/install.phphtdocs/kernel/block.phphtdocs/kernel/menuscategory.phphtdocs/kernel/menusitems.phphtdocs/language/english/banners.phphtdocs/language/english/global.phphtdocs/modules/debugbar/class/DebugbarLogger.phphtdocs/modules/debugbar/class/RayLogger.phphtdocs/modules/debugbar/docs/changelog.txthtdocs/modules/debugbar/docs/credits.txthtdocs/modules/debugbar/docs/file-list.mdhtdocs/modules/debugbar/docs/ray-integration.mdhtdocs/modules/debugbar/language/english/help/help.tplhtdocs/modules/debugbar/preloads/core.phphtdocs/modules/debugbar/xoops_version.phphtdocs/modules/pm/docs/readme.txthtdocs/modules/profile/docs/readme.txthtdocs/modules/system/admin/menus/index.phphtdocs/modules/system/admin/menus/main.phphtdocs/modules/system/admin/menus/xoops_version.phphtdocs/modules/system/admin/modulesadmin/main.phphtdocs/modules/system/constants.phphtdocs/modules/system/include/update.phphtdocs/modules/system/language/english/admin.phphtdocs/modules/system/language/english/admin/menus.phphtdocs/modules/system/language/english/admin/modulesadmin.phphtdocs/modules/system/language/english/admin/preferences.phphtdocs/modules/system/language/english/admin/users.phphtdocs/modules/system/language/english/blocks.phphtdocs/modules/system/language/english/menus/index.phphtdocs/modules/system/language/english/menus/menus.dist.phphtdocs/modules/system/language/english/modinfo.phphtdocs/modules/system/themes/dark/language/english/admin.phphtdocs/modules/system/themes/dark/xotpl/xo_accordion.tplhtdocs/modules/system/themes/default/language/english/admin.phphtdocs/modules/system/themes/default/xotpl/xo_accordion.tplhtdocs/modules/system/themes/modern/README.mdhtdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.mdhtdocs/modules/system/themes/modern/docs/USER_GUIDE.mdhtdocs/modules/system/themes/transition/language/english/admin.phphtdocs/modules/system/themes/transition/xotpl/xo_accordion.tplhtdocs/modules/system/xoops_version.phphtdocs/themes/xbootstrap5/.scrutinizer.ymlhtdocs/themes/xswatch5/README.mdhtdocs/themes/xswatch5/css-cerulean/xoops.csshtdocs/themes/xswatch5/css-cosmo/xoops.csshtdocs/themes/xswatch5/css-cyborg/xoops.csshtdocs/themes/xswatch5/css-darkly/xoops.csshtdocs/themes/xswatch5/css-flatly/xoops.csshtdocs/themes/xswatch5/css-journal/xoops.csshtdocs/themes/xswatch5/css-litera/xoops.csshtdocs/themes/xswatch5/css-lumen/xoops.csshtdocs/themes/xswatch5/css-lux/xoops.csshtdocs/themes/xswatch5/css-materia/xoops.csshtdocs/themes/xswatch5/css-minty/xoops.csshtdocs/themes/xswatch5/css-pulse/xoops.csshtdocs/themes/xswatch5/css-sandstone/xoops.csshtdocs/themes/xswatch5/css-simplex/xoops.csshtdocs/themes/xswatch5/css-sketchy/xoops.csshtdocs/themes/xswatch5/css-slate/xoops.csshtdocs/themes/xswatch5/css-solar/xoops.csshtdocs/themes/xswatch5/css-spacelab/xoops.csshtdocs/themes/xswatch5/css-superhero/xoops.csshtdocs/themes/xswatch5/css-united/xoops.csshtdocs/themes/xswatch5/css-yeti/xoops.csshtdocs/themes/xswatch5/css/xoops.csshtdocs/themes/xswatch5/theme.inihtdocs/xoops_lib/README.mdhtdocs/xoops_lib/composer.dist.jsonhtdocs/xoops_lib/modules/protector/xoops_version.phpphpstan-constants.stub.phprelease_notes.txtsonar-project.propertiestests/bootstrap.phptests/unit/htdocs/ModuleScriptConventionsTest.phptests/unit/htdocs/class/LostPassSecurityTest.phptests/unit/htdocs/class/XoopsLoadTest.phptests/unit/htdocs/class/XoopsTokenHandlerTest.phptests/unit/htdocs/include/VersionTest.phptests/unit/htdocs/kernel/EvalRemovalVerificationTest.phptests/unit/htdocs/kernel/XoopsModuleTest.phptests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.phpupgrade/language/english/smarty4.phpupgrade/upd_2.5.11-to-2.7.0/index.phpupgrade/upgrade_tpl.php
💤 Files with no reviewable changes (1)
- docs/changelog.250.txt
| Libraries and assets: | ||
| - Font Awesome 7.1.0 (mamba) | ||
| - Bootstrap 5.3.8 (mamba) | ||
| - Smarty 4.5.5 — major upgrade from Smarty 2 (mamba) | ||
| - HTML Purifier 4.18 (mamba) | ||
| - PhpMailer 6.9.3 (mamba) | ||
| - jQuery UI 1.14.1 (mamba) | ||
| - TinyMCE 5.10.9 (mamba) | ||
| - tablesorter 2.32.0 (mamba) | ||
| - jquery.form 4.3.1 (mamba) | ||
| - jGrowl 1.4.10 (mamba) | ||
| - RegDom 2.0.2 Beta 2 refactor (mamba) in #1578 | ||
| - update XMF by @mambax7 | ||
| - move PhpMailer and HTML Purifier to /xoops_lib/ (mamba) | ||
|
|
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
What are the latest stable versions of TinyMCE, PhpMailer, and HTML Purifier as of April 2026?
💡 Result:
- TinyMCE (Community): 8.4.0 (released 2026-02-04) [1]
- PHPMailer: 6.12.0 (released Oct 15, year not shown on GitHub UI) [2]
- HTML Purifier: 4.19.0 (released 2025-10-17) [3]
Sources: [1] (tiny.cloud) [2] (github.com) [3] (github.com)
Citations:
- 1: https://www.tiny.cloud/docs/tinymce/latest/changelog/
- 2: https://github.com/phpmailer/phpmailer/releases
- 3: https://github.com/ezyang/htmlpurifier/releases
Update library versions—significant gaps found in TinyMCE and PhpMailer.
The documented versions lag behind current releases:
- TinyMCE 5.10.9 → Current: 8.4.0 (released Feb 2026) — three major versions behind
- PhpMailer 6.9.3 → Current: 6.12.0 — missing recent patches
- HTML Purifier 4.18 → Current: 4.19.0 — missing recent release
The TinyMCE gap is particularly concerning from a security and maintenance perspective. Consider upgrading to current versions before release.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/changelog.270.txt` around lines 99 - 113, The changelog entries for
TinyMCE, PhpMailer, and HTML Purifier are out of date; update the lines
mentioning "TinyMCE 5.10.9", "PhpMailer 6.9.3", and "HTML Purifier 4.18" to
reflect the current stable releases (TinyMCE → 8.4.0, PhpMailer → 6.12.0, HTML
Purifier → 4.19.0) and add a short note recommending upgrading the actual
dependencies (not just the docs) before release; ensure you modify the exact
strings in the change list block so the recorded versions match the packages
used.
| /** | ||
| * @copyright 2000-2026 XOOPS Project https://xoops.org/ | ||
| * @license GNU GPL 2.0 or later (https://www.gnu.org/licenses/gpl-2.0.html) | ||
| * @since 2.5.12 | ||
| * @since 2.7.0 | ||
| * @author XOOPS Development Team | ||
| */ |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major
Add required class-docblock metadata tags for guideline compliance.
The version bump is fine, but this touched documentation area still leaves class docblocks in this file without the required metadata tags (@category, @package, @author, @copyright, @license, @link).
As per coding guidelines: “Class docblocks must include @category, @package, @author, @copyright, @license, and @link tags”.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@htdocs/kernel/menusitems.php` around lines 14 - 19, Update every class
docblock in this file (search for "class " to find them) to include the required
metadata tags: `@category`, `@package`, `@author`, `@copyright`, `@license`, and `@link`;
for each tag provide appropriate values (e.g., project category, package name,
author name/email, copyright statement, license URL, and project link) and
ensure the class docblock format matches the existing file-level header style.
| ----------------------------------- | ||
|
|
||
| You can get the release package from GitHub: https://github.com/XOOPS/XoopsCore25/releases | ||
| You can get the release package from GitHub: https://github.com/XOOPS/XoopsCore27/releases |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify the GitHub repository exists and is accessible
gh repo view XOOPS/XoopsCore27 --json name,url,visibility,defaultBranchRefRepository: XOOPS/XoopsCore27
Length of output: 159
🏁 Script executed:
#!/bin/bash
# Check if the GitHub repository URL is accessible via HTTP
curl -I -s https://github.com/XOOPS/XoopsCore27 | head -20Repository: XOOPS/XoopsCore27
Length of output: 4870
🌐 Web query:
XOOPS/XoopsCore27 GitHub repository
💡 Result:
The XOOPS/XoopsCore27 GitHub repository now redirects to XOOPS/XoopsCore28 (i.e., the Core code is under the 2.8.x repo). [1]
- Redirected repo (current):
https://github.com/XOOPS/XoopsCore28[1] - Old name (redirect):
https://github.com/XOOPS/XoopsCore27[1] - XOOPS GitHub org (shows repos list, including the historic XoopsCore27 entry):
https://github.com/xoops[2]
Sources: [1] [2]
Update repository reference to current location.
The repository has relocated: XOOPS/XoopsCore27 now redirects to XOOPS/XoopsCore28. Update the release notes to point to the current active repository at https://github.com/XOOPS/XoopsCore28/releases instead of the outdated XoopsCore27 reference.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@release_notes.txt` at line 46, Update the release_notes.txt entry that links
to the old repository URL by replacing the XOOPS/XoopsCore27 GitHub release link
with the current XOOPS/XoopsCore28 releases URL: change
"https://github.com/XOOPS/XoopsCore27/releases" to
"https://github.com/XOOPS/XoopsCore28/releases" so the release package points to
the active repository.
| * @author XOOPS Team | ||
| */ | ||
| class Upgrade_2512 extends XoopsUpgrade | ||
| class Upgrade_270 extends XoopsUpgrade |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major
Add the required class-level PHPDoc tags on Upgrade_270.
The class declaration is updated, but it still lacks the mandatory class docblock metadata required by project rules.
Proposed fix
+/**
+ * Upgrade task runner from XOOPS 2.5.11 to 2.7.0.
+ *
+ * `@category` Upgrade
+ * `@package` Upgrade
+ * `@author` XOOPS Team
+ * `@copyright` (c) 2000-2026 XOOPS Project (https://xoops.org)
+ * `@license` GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html)
+ * `@link` https://xoops.org
+ */
class Upgrade_270 extends XoopsUpgradeAs per coding guidelines **/*.php: Class docblocks must include @category, @package, @author, @copyright, @license, and @link tags.
🧰 Tools
🪛 PHPMD (2.15.0)
[warning] 11-280: The class Upgrade_270 has 11 public methods. Consider refactoring Upgrade_270 to keep number of public methods under 10. (undefined)
(TooManyPublicMethods)
[error] 11-280: The class Upgrade_270 is not named in CamelCase. (undefined)
(CamelCaseClassName)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@upgrade/upd_2.5.11-to-2.7.0/index.php` at line 11, The class Upgrade_270 is
missing the required class-level PHPDoc; add a docblock immediately above the
class declaration for class Upgrade_270 including the mandatory `@category`,
`@package`, `@author`, `@copyright`, `@license`, and `@link` tags (with appropriate
project values) so the class docblock complies with the repository PHPDoc rules.
…w feedback
- composer.dist.json: rename package "XoopsCore27/libraries" to "xoopscore27/libraries" to match Composer's
^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]|-{1,2})?[a-z0-9]+)*$ schema regex
(fixes all PHP 8.2/8.3/8.4/8.5 CI failures at "Install XOOPS vendor dependencies")
- composer.dist.lock: regenerate content-hash to match renamed package (CRLF preserved)
- changelog.270.txt: remove self-contradictory "downport from XOOPS 2.7.0" line;
refresh library list to actual shipped versions (HTML Purifier 4.19.0, PhpMailer 6.12.0,
TinyMCE 7.7.2 as new default with 5.10.9 retained for backward compatibility)
- modern/README.md: align "PHP 8.1+ compatible" note with the 8.2+ requirement stated above
- README.md: add alt text to contributors image for accessibility
- upgrade/upgrade_tpl.php: add rel="noopener noreferrer" to external GitHub link
(target="_blank" reverse-tabnabbing hardening)
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #5 +/- ##
=========================================
Coverage 19.22% 19.23%
Complexity 7584 7584
=========================================
Files 621 621
Lines 40085 40085
=========================================
+ Hits 7707 7709 +2
+ Misses 32378 32376 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR updates the codebase and project metadata to reflect the XOOPS Core 2.7.0 (RC1) renumbering/repository rename, aligning upgrade scripts, tests, docs, and various URLs with the new XoopsCore27 identity.
Changes:
- Renumbered version references from 2.5.12 to 2.7.0 (including RC markers) across core, upgrade, tests, and documentation.
- Updated repository URLs/identifiers (GitHub, SonarCloud, Scrutinizer, theme metadata) from
XoopsCore25toXoopsCore27. - Added a 2.7.x changelog file and trimmed 2.5.12 RC notes from the 2.5.x changelog.
Reviewed changes
Copilot reviewed 114 out of 115 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| upgrade/upgrade_tpl.php | Updates GitHub link to XoopsCore27 and adds safer rel attributes. |
| upgrade/upd_2.5.11-to-2.7.0/index.php | Renames upgrade class/return value and updates header to 2.7.0 target. |
| upgrade/language/english/smarty4.php | Updates Smarty 4 upgrade messaging to 2.7.0. |
| tests/unit/htdocs/ModuleScriptConventionsTest.php | Updates test description to 2.7.0 conventions. |
| tests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.php | Updates test vectors to 2.7.0-based version strings. |
| tests/unit/htdocs/kernel/XoopsModuleTest.php | Updates module version strings used in tests. |
| tests/unit/htdocs/kernel/EvalRemovalVerificationTest.php | Updates test docblock version reference to 2.7.0 RC. |
| tests/unit/htdocs/include/VersionTest.php | Updates expectations for XOOPS_VERSION prefix and minor version (7). |
| tests/unit/htdocs/class/XoopsTokenHandlerTest.php | Updates @since metadata to 2.7.0. |
| tests/unit/htdocs/class/XoopsLoadTest.php | Updates doc text to 2.7.x context. |
| tests/unit/htdocs/class/LostPassSecurityTest.php | Updates @since metadata to 2.7.0. |
| tests/bootstrap.php | Updates bootstrap-defined XOOPS_VERSION to 2.7.0-RC1. |
| sonar-project.properties | Renames SonarCloud project key/name to XoopsCore27. |
| release_notes.txt | Updates release notes to 2.7.0 RC1 and new platform requirements text/links. |
| README.md | Updates badges/links and contributors URL to XoopsCore27. |
| phpstan-constants.stub.php | Updates @since metadata to 2.7.0. |
| htdocs/xoops_lib/README.md | Updates library README to 2.7.0 wording and dependency note. |
| htdocs/xoops_lib/modules/protector/xoops_version.php | Updates module min_xoops requirement to 2.7.0. |
| htdocs/xoops_lib/composer.dist.lock | Updates lock hash and php-jwt repository URLs. |
| htdocs/xoops_lib/composer.dist.json | Renames metapackage and support URLs to XoopsCore27 / 2.7.0. |
| htdocs/themes/xswatch5/theme.ini | Updates theme URLs to XoopsCore27. |
| htdocs/themes/xswatch5/README.md | Updates theme compatibility statements to XOOPS 2.7.0+. |
| htdocs/themes/xswatch5/css/xoops.css | Updates comment to XOOPS 2.7.0; formatting-only change at EOF. |
| htdocs/themes/xswatch5/css-yeti/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-united/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-superhero/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-spacelab/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-solar/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-slate/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-sketchy/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-simplex/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-sandstone/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-pulse/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-minty/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-materia/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-lux/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-lumen/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-litera/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-journal/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-flatly/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-darkly/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cyborg/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cosmo/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cerulean/xoops.css | Updates comment to XOOPS 2.7.0. |
| htdocs/themes/xbootstrap5/.scrutinizer.yml | Updates Scrutinizer PHP version and repo clone path to XoopsCore27. |
| htdocs/modules/system/xoops_version.php | Updates internal comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/themes/transition/xotpl/xo_accordion.tpl | Updates footer links to XoopsCore27. |
| htdocs/modules/system/themes/transition/language/english/admin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/themes/modern/README.md | Updates theme README version references to XOOPS 2.7.0+. |
| htdocs/modules/system/themes/modern/docs/USER_GUIDE.md | Updates user guide statement to “designed for 2.7.0”. |
| htdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.md | Updates developer guide statement to “designed for 2.7.0”. |
| htdocs/modules/system/themes/default/xotpl/xo_accordion.tpl | Updates footer links to XoopsCore27. |
| htdocs/modules/system/themes/default/language/english/admin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/themes/dark/xotpl/xo_accordion.tpl | Updates footer links to XoopsCore27. |
| htdocs/modules/system/themes/dark/language/english/admin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/modinfo.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/menus/menus.dist.php | Updates @since to 2.7.0. |
| htdocs/modules/system/language/english/menus/index.php | Updates @since to 2.7.0. |
| htdocs/modules/system/language/english/blocks.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/admin/users.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/admin/preferences.php | Updates internal comment markers to 2.7.0. |
| htdocs/modules/system/language/english/admin/modulesadmin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/admin/menus.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/admin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/include/update.php | Updates comment about menu update introduction to 2.7.0. |
| htdocs/modules/system/constants.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/admin/modulesadmin/main.php | Updates comment to refer to 2.7.0 (still needs punctuation fix). |
| htdocs/modules/system/admin/menus/xoops_version.php | Updates @since to 2.7.0. |
| htdocs/modules/system/admin/menus/main.php | Updates @since to 2.7.0. |
| htdocs/modules/system/admin/menus/index.php | Updates @since to 2.7.0. |
| htdocs/modules/profile/docs/readme.txt | Updates requirements (PHP 8.2, XOOPS 2.7.0+). |
| htdocs/modules/pm/docs/readme.txt | Updates requirements (PHP 8.2, XOOPS 2.7.0+). |
| htdocs/modules/debugbar/xoops_version.php | Updates module docs/min_xoops to 2.7.0. |
| htdocs/modules/debugbar/preloads/core.php | Updates inline docs to 2.7.0. |
| htdocs/modules/debugbar/language/english/help/help.tpl | Updates GitHub links to XoopsCore27. |
| htdocs/modules/debugbar/docs/ray-integration.md | Updates doc title to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/file-list.md | Updates doc title/body to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/credits.txt | Updates credits text to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/changelog.txt | Updates dev version reference to XOOPS 2.7.0. |
| htdocs/modules/debugbar/class/RayLogger.php | Updates class doc text to 2.7.0. |
| htdocs/modules/debugbar/class/DebugbarLogger.php | Updates class doc text to 2.7.0. |
| htdocs/language/english/global.php | Updates internal comment marker to XOOPS 2.7.0. |
| htdocs/language/english/banners.php | Updates internal comment marker to 2.7.0. |
| htdocs/kernel/menusitems.php | Updates @since to 2.7.0. |
| htdocs/kernel/menuscategory.php | Updates @since to 2.7.0. |
| htdocs/kernel/block.php | Updates eval-removal messaging/comments to reference 2.7.0. |
| htdocs/install/language/english/install.php | Updates internal comment marker to 2.7.0. |
| htdocs/install/include/makedata.php | Updates session-cookie-preferences comment to 2.7.0. |
| htdocs/install/include/install_tpl.php | Updates GitHub link to XoopsCore27 (needs rel noopener/noreferrer). |
| htdocs/include/version.php | Updates XOOPS_VERSION to 2.7.0-RC1. |
| htdocs/custom_blocks/example_welcome.php | Updates @since to 2.7.0. |
| htdocs/custom_blocks/example_site_stats.php | Updates @since to 2.7.0. |
| htdocs/custom_blocks/example_recent_members.php | Updates @since to 2.7.0. |
| htdocs/class/XoopsTokenHandler.php | Updates @since to 2.7.0. |
| htdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.php | Updates @since to 2.7.0. |
| htdocs/class/xoopseditor/easymde/language/english.php | Updates @since to 2.7.0. |
| htdocs/class/xoopseditor/easymde/editor_registry.php | Updates @since to 2.7.0. |
| htdocs/class/xoopseditor/easymde/easymde.php | Updates @since to 2.7.0. |
| htdocs/class/LostPassSecurity.php | Updates @since to 2.7.0. |
| htdocs/class/logger/monologlogger.php | Updates @since to 2.7.0. |
| htdocs/class/database/mysqldatabase.php | Updates deprecation message version to 2.7.0. |
| htdocs/class/database/database.php | Updates commented deprecation messages to 2.7.0. |
| htdocs/class/cache/xoopscache.php | Updates interface @since to 2.7.0. |
| docs/rfc-generic-token-handler.md | Updates migration reference to new upgrade path directory. |
| docs/README.txt | Updates docs readme for 2.7.0 RC1 and new links/date. |
| docs/lang_diff.txt | Updates version label to 2.7.0-Betas note. |
| docs/custom-blocks-tutorial.md | Updates tutorial wording to 2.7.0. |
| docs/changelog.270.txt | Adds 2.7.x changelog document. |
| docs/changelog.250.txt | Removes 2.5.12 RC section from 2.5.x changelog file. |
| CONTRIBUTING.md | Updates GitHub PR link to XoopsCore27. |
| .github/xoops-copilot-template.md | Updates repo/version wording and detection guidance text. |
| .github/workflows/sonarcloud.yml | Updates repository condition to XoopsCore27. |
| .github/workflows/qodana.yml | Updates repository condition to XoopsCore27. |
| .github/ISSUE_TEMPLATE/bug-report.yml | Updates supported XOOPS version dropdown options. |
| .github/copilot-instructions.md | Updates Copilot instructions document to XoopsCore27/2.7.x and new dependency note. |
| # XOOPS Core 2.7.x | ||
|
|
||
| [](https://travis-ci.org/XOOPS/XoopsCore25) | ||
| [](https://travis-ci.org/XOOPS/XoopsCore27) |
| </li> | ||
| <li class="nav-item"> | ||
| <a class="nav-link" href="https://github.com/XOOPS/XoopsCore25" target="_blank" title="<?php echo XOOPS_SOURCE_CODE; ?>"> | ||
| <a class="nav-link" href="https://github.com/XOOPS/XoopsCore27" target="_blank" title="<?php echo XOOPS_SOURCE_CODE; ?>"> |
| $listed_mods[$i]['warning_update'] = false; | ||
| } | ||
| // Only to request the update because since xoops 2.5.11 the version is a character string.This condition can be removed from xoops 2.5.12. | ||
| // Only to request the update because since xoops 2.5.11 the version is a character string.This condition can be removed from xoops 2.7.0. |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@htdocs/modules/system/themes/modern/README.md`:
- Line 5: Standardize the XOOPS version wording in the README by replacing the
lone occurrence of "XOOPS 2.7.0" (as seen in the summary sentence) to match the
other mentions "XOOPS 2.7.0+" so the document consistently uses "XOOPS 2.7.0+";
update any other instances of the string "XOOPS 2.7.0" within this README.md
(including the summary at the top and the mentions at lines referenced near Line
51 and Line 272) to the chosen canonical form "XOOPS 2.7.0+".
In `@htdocs/xoops_lib/composer.dist.json`:
- Line 2: The upgrade documentation must explicitly state the Composer package
rename from "xoopscore25/libraries" to "xoopscore27/libraries"; update the
upgrade guide (e.g., upgrade/README.md or release notes) to add a clear note
that the package name changed and that any project with "require": {
"xoopscore25/libraries": "..." } must update to "xoopscore27/libraries", include
a short migration snippet and mention this is a breaking change so downstream
projects update their composer.json and run composer update; reference the
package names "xoopscore25/libraries" and "xoopscore27/libraries" in the
documentation so automated searches catch it.
In `@README.md`:
- Line 4: Update the build badge markdown so the image source and the link
reference the same repository: change the image URL that currently points to
XOOPS/XoopsCore to XOOPS/XoopsCore27 so it matches the link target in the badge
line (the Markdown line containing [](...)); ensure both the
image host URL and the hyperlink use XOOPS/XoopsCore27.
In `@upgrade/upgrade_tpl.php`:
- Line 87: Escape the localized title attribute output by wrapping the
_XOOPS_SOURCE_CODE value with htmlspecialchars(..., ENT_QUOTES, 'UTF-8') before
echoing it in the anchor tag’s title; update the echo in upgrade_tpl.php to
output the escaped string (or enable/use Smarty auto-escaping) to prevent
attribute injection/XSS.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 2cdbae35-cc18-489e-bda4-1311c53947c2
⛔ Files ignored due to path filters (1)
htdocs/xoops_lib/composer.dist.lockis excluded by!**/*.lock
📒 Files selected for processing (6)
README.mddocs/changelog.270.txtdocs/lang_diff.txthtdocs/modules/system/themes/modern/README.mdhtdocs/xoops_lib/composer.dist.jsonupgrade/upgrade_tpl.php
| { | ||
| "name": "xoopscore25/libraries", | ||
| "description": "Libraries for XOOPS 2.5.12 (meta-package, no code)", | ||
| "name": "xoopscore27/libraries", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify upgrade documentation mentions the Composer package rename
# Search for upgrade docs that mention the package name change
rg -i -C3 'xoopscore25.*xoopscore27|composer.*rename|package.*name.*change' \
--glob '*{UPGRADE,CHANGELOG,README,MIGRATION,release}*' \
--glob '*.{md,txt,rst}'
# Search for any references to the old package name that might need updating
rg -n 'xoopscore25/libraries' --type jsonRepository: XOOPS/XoopsCore27
Length of output: 43
🏁 Script executed:
#!/bin/bash
# More comprehensive search for documentation
# List all documentation files in the repo
echo "=== Searching for documentation files ==="
find . -maxdepth 3 -type f \( -name "*.md" -o -name "*.txt" -o -name "*.rst" -o -name "CHANGELOG*" -o -name "README*" -o -name "UPGRADE*" \) | head -30
echo ""
echo "=== Search for any references to version 2.7 or 2.5 migration ==="
rg -i '2\.7|2\.5|migration|upgrade' --type md --type txt -l | head -20
echo ""
echo "=== Check for any references to xoopscore in documentation ==="
rg -i 'xoopscore' --type md --type txt -l | head -20Repository: XOOPS/XoopsCore27
Length of output: 1676
🏁 Script executed:
#!/bin/bash
# Check key documentation files for package rename info
echo "=== release_notes.txt ==="
cat release_notes.txt
echo ""
echo "=== upgrade/README.md ==="
cat upgrade/README.md
echo ""
echo "=== Check changelog.270.txt for breaking changes ==="
cat docs/changelog.270.txtRepository: XOOPS/XoopsCore27
Length of output: 17968
Document the Composer package name change in upgrade guidance.
The rename from xoopscore25/libraries to xoopscore27/libraries is a breaking change. While the changelog notes dropping the external xoops/base-requires25 metapackage, the primary package rename itself isn't explicitly documented in upgrade paths. Any downstream project with "require": { "xoopscore25/libraries": "..." } must update to the new name.
Add this to the upgrade documentation (upgrade/README.md or release notes) to prevent silent failures:
- Composer package renamed:
xoopscore25/libraries→xoopscore27/libraries - All XOOPS 2.5 projects requiring this package must update their
composer.json
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@htdocs/xoops_lib/composer.dist.json` at line 2, The upgrade documentation
must explicitly state the Composer package rename from "xoopscore25/libraries"
to "xoopscore27/libraries"; update the upgrade guide (e.g., upgrade/README.md or
release notes) to add a clear note that the package name changed and that any
project with "require": { "xoopscore25/libraries": "..." } must update to
"xoopscore27/libraries", include a short migration snippet and mention this is a
breaking change so downstream projects update their composer.json and run
composer update; reference the package names "xoopscore25/libraries" and
"xoopscore27/libraries" in the documentation so automated searches catch it.
There was a problem hiding this comment.
Pull request overview
Renumbers the XOOPS core and related assets/docs from 2.5.12 to 2.7.0 (RC1), updating upgrade tooling, repository links/identifiers, and test fixtures to match the new versioned release line.
Changes:
- Update version strings and “since” annotations across core, modules, installer/upgrade, docs, and tests for 2.7.0.
- Switch repository references from
XoopsCore25toXoopsCore27(GitHub links, badges, Sonar/Qodana conditions, Sonar project metadata). - Refresh release/upgrade documentation and changelogs for the 2.7.0 line.
Reviewed changes
Copilot reviewed 114 out of 115 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| upgrade/upgrade_tpl.php | Updates upgrade UI repository link and adds safer rel attributes. |
| upgrade/upd_2.5.11-to-2.7.0/index.php | Renames upgrade class/return instance to match 2.7.0 upgrade path. |
| upgrade/language/english/smarty4.php | Updates upgrade messaging for Smarty 4 change under 2.7.0. |
| tests/unit/htdocs/ModuleScriptConventionsTest.php | Updates test wording to 2.7.0 conventions. |
| tests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.php | Updates version comparison fixtures to 2.7.0-era versions. |
| tests/unit/htdocs/kernel/XoopsModuleTest.php | Updates version/status fixtures for 2.7.0. |
| tests/unit/htdocs/kernel/EvalRemovalVerificationTest.php | Updates eval-removal verification wording for 2.7.0 RC. |
| tests/unit/htdocs/include/VersionTest.php | Updates expected XOOPS version prefix/minor version assertions to 2.7.0. |
| tests/unit/htdocs/class/XoopsTokenHandlerTest.php | Updates @since annotation to 2.7.0. |
| tests/unit/htdocs/class/XoopsLoadTest.php | Updates documentation text to reference XOOPS 2.7.x. |
| tests/unit/htdocs/class/LostPassSecurityTest.php | Updates @since annotation to 2.7.0. |
| tests/bootstrap.php | Updates test bootstrap XOOPS_VERSION constant to 2.7.0-RC1. |
| sonar-project.properties | Updates SonarCloud project key/name to XoopsCore27. |
| release_notes.txt | Updates release notes to 2.7.0 and repository links/requirements text. |
| README.md | Updates badges/links to XoopsCore27 and adds alt text to contributors image. |
| phpstan-constants.stub.php | Updates @since annotation to 2.7.0. |
| htdocs/xoops_lib/README.md | Updates library README version references to 2.7.0. |
| htdocs/xoops_lib/modules/protector/xoops_version.php | Updates module min_xoops requirement to 2.7.0. |
| htdocs/xoops_lib/composer.dist.lock | Updates composer lock metadata (e.g., php-jwt repository URLs). |
| htdocs/xoops_lib/composer.dist.json | Updates metapackage name/description and support URLs for 2.7.0 / Core27. |
| htdocs/themes/xswatch5/theme.ini | Updates theme URL/download links to XoopsCore27. |
| htdocs/themes/xswatch5/README.md | Updates theme docs requirements/version references to 2.7.0. |
| htdocs/themes/xswatch5/css/xoops.css | Updates comment references to XOOPS 2.7.0 (plus formatting). |
| htdocs/themes/xswatch5/css-yeti/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-united/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-superhero/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-spacelab/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-solar/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-slate/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-sketchy/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-simplex/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-sandstone/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-pulse/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-minty/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-materia/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-lux/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-lumen/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-litera/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-journal/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-flatly/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-darkly/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cyborg/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cosmo/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cerulean/xoops.css | Updates comment references to XOOPS 2.7.0. |
| htdocs/themes/xbootstrap5/.scrutinizer.yml | Updates Scrutinizer PHP version and repo clone path to Core27. |
| htdocs/modules/system/xoops_version.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/themes/transition/xotpl/xo_accordion.tpl | Updates footer repository links to XoopsCore27. |
| htdocs/modules/system/themes/transition/language/english/admin.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/themes/modern/README.md | Updates theme README version requirements and notes to 2.7.0 / PHP 8.2+. |
| htdocs/modules/system/themes/modern/docs/USER_GUIDE.md | Updates docs text to reflect design target 2.7.0. |
| htdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.md | Updates docs text to reflect design target 2.7.0. |
| htdocs/modules/system/themes/default/xotpl/xo_accordion.tpl | Updates footer repository links to XoopsCore27. |
| htdocs/modules/system/themes/default/language/english/admin.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/themes/dark/xotpl/xo_accordion.tpl | Updates footer repository links to XoopsCore27. |
| htdocs/modules/system/themes/dark/language/english/admin.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/language/english/modinfo.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/language/english/menus/menus.dist.php | Updates @since annotation to 2.7.0. |
| htdocs/modules/system/language/english/menus/index.php | Updates @since annotation to 2.7.0. |
| htdocs/modules/system/language/english/blocks.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/language/english/admin/users.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/language/english/admin/preferences.php | Updates comment markers from 2.5.12 to 2.7.0. |
| htdocs/modules/system/language/english/admin/modulesadmin.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/language/english/admin/menus.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/language/english/admin.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/include/update.php | Updates comment describing when menu tables/seed were introduced. |
| htdocs/modules/system/constants.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/modules/system/admin/modulesadmin/main.php | Updates comment about version-string behavior to target 2.7.0. |
| htdocs/modules/system/admin/menus/xoops_version.php | Updates @since annotation to 2.7.0. |
| htdocs/modules/system/admin/menus/main.php | Updates @since annotation to 2.7.0. |
| htdocs/modules/system/admin/menus/index.php | Updates @since annotation to 2.7.0. |
| htdocs/modules/profile/docs/readme.txt | Updates module docs requirements to PHP 8.2 / XOOPS 2.7.0+. |
| htdocs/modules/pm/docs/readme.txt | Updates module docs requirements to PHP 8.2 / XOOPS 2.7.0+. |
| htdocs/modules/debugbar/xoops_version.php | Updates module description and min_xoops to 2.7.0. |
| htdocs/modules/debugbar/preloads/core.php | Updates lifecycle wording to 2.7.0. |
| htdocs/modules/debugbar/language/english/help/help.tpl | Updates repository links to XoopsCore27. |
| htdocs/modules/debugbar/docs/ray-integration.md | Updates doc title to 2.7.0. |
| htdocs/modules/debugbar/docs/file-list.md | Updates doc title/body to 2.7.0. |
| htdocs/modules/debugbar/docs/credits.txt | Updates credits text to 2.7.0. |
| htdocs/modules/debugbar/docs/changelog.txt | Updates changelog header line to 2.7.0. |
| htdocs/modules/debugbar/class/RayLogger.php | Updates class docblock to 2.7.0. |
| htdocs/modules/debugbar/class/DebugbarLogger.php | Updates class docblock to 2.7.0. |
| htdocs/language/english/global.php | Updates comment marker to XOOPS 2.7.0. |
| htdocs/language/english/banners.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/kernel/menusitems.php | Updates @since annotation to 2.7.0. |
| htdocs/kernel/menuscategory.php | Updates @since annotation to 2.7.0. |
| htdocs/kernel/block.php | Updates eval-removal messaging to reference 2.7.0. |
| htdocs/install/language/english/install.php | Updates comment marker from 2.5.12 to 2.7.0. |
| htdocs/install/include/makedata.php | Updates comment on session cookie prefs to 2.7.0. |
| htdocs/install/include/install_tpl.php | Updates installer navbar GitHub link to XoopsCore27. |
| htdocs/include/version.php | Updates XOOPS_VERSION constant to 2.7.0-RC1. |
| htdocs/custom_blocks/example_welcome.php | Updates @since annotation to 2.7.0. |
| htdocs/custom_blocks/example_site_stats.php | Updates @since annotation to 2.7.0. |
| htdocs/custom_blocks/example_recent_members.php | Updates @since annotation to 2.7.0. |
| htdocs/class/XoopsTokenHandler.php | Updates @since annotation to 2.7.0. |
| htdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.php | Updates @since annotation to 2.7.0. |
| htdocs/class/xoopseditor/easymde/language/english.php | Updates @since annotation to 2.7.0. |
| htdocs/class/xoopseditor/easymde/editor_registry.php | Updates @since annotation to 2.7.0. |
| htdocs/class/xoopseditor/easymde/easymde.php | Updates @since annotation to 2.7.0. |
| htdocs/class/LostPassSecurity.php | Updates @since annotation to 2.7.0. |
| htdocs/class/logger/monologlogger.php | Updates @since annotation to 2.7.0. |
| htdocs/class/database/mysqldatabase.php | Updates deprecation message version reference to 2.7.0. |
| htdocs/class/database/database.php | Updates commented deprecation message version references to 2.7.0. |
| htdocs/class/cache/xoopscache.php | Updates @since annotation on cache engine interface to 2.7.0. |
| docs/rfc-generic-token-handler.md | Updates upgrade script path reference to 2.7.0 upgrade folder. |
| docs/README.txt | Updates docs header/links/date to 2.7.0 RC1 and Core27 repo. |
| docs/lang_diff.txt | Updates language-diff header entry to 2.7.0-Betas phrasing. |
| docs/custom-blocks-tutorial.md | Updates tutorial text to reference XOOPS 2.7.0 for eval removal. |
| docs/changelog.270.txt | Adds a 2.7.x changelog with RC1 entries and historical beta notes. |
| docs/changelog.250.txt | Removes the 2.5.12 RC/Beta section from the 2.5.x changelog. |
| CONTRIBUTING.md | Updates contribution link target to XoopsCore27. |
| .github/xoops-copilot-template.md | Updates template references from 2.5.x wording to 2.7.x where applicable. |
| .github/workflows/sonarcloud.yml | Updates workflow repo guard to run on XoopsCore27. |
| .github/workflows/qodana.yml | Updates workflow repo guard to run on XoopsCore27. |
| .github/ISSUE_TEMPLATE/bug-report.yml | Updates version dropdown options to include 2.7.0. |
| .github/copilot-instructions.md | Updates repo identity/architecture notes to XoopsCore27 and new dependency guidance. |
| </li> | ||
| <li class="nav-item"> | ||
| <a class="nav-link" href="https://github.com/XOOPS/XoopsCore25" target="_blank" title="<?php echo XOOPS_SOURCE_CODE; ?>"> | ||
| <a class="nav-link" href="https://github.com/XOOPS/XoopsCore27" target="_blank" title="<?php echo XOOPS_SOURCE_CODE; ?>"> |
| In addition, this version includes numerous improvements and fixes, including: | ||
| - PHP 8.2+ compatibility | ||
| - MySQL 9.0 compatibility | ||
| - Copying in a new XOOPS release does not overwrite existing configuration files |
| <h5>1.0.0 Beta 1 </h5> Dev: XOOPS 2.7.0, PHP 7.4.4, PHP 8.5.2 | ||
| <hr> |
There was a problem hiding this comment.
Pull request overview
This PR renumbers the project from XOOPS Core 2.5.12 to 2.7.0 (RC1), updating version strings, documentation, upgrade messaging, repository links, and related metadata across the codebase.
Changes:
- Renamed/updated upgrade path, version constants, and test fixtures from 2.5.12 to 2.7.0.
- Updated repository references (XoopsCore25 → XoopsCore27) across docs, templates, CI/tooling configs, and theme metadata.
- Added a new 2.7.x changelog document and adjusted existing changelog/docs accordingly.
Reviewed changes
Copilot reviewed 114 out of 115 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| upgrade/upgrade_tpl.php | Updates GitHub repo link and hardens external link attributes in upgrade UI. |
| upgrade/upd_2.5.11-to-2.7.0/index.php | Renames upgrader class/return instance and updates upgrade header to 2.7.0. |
| upgrade/language/english/smarty4.php | Updates upgrade notice text from 2.5.12 to 2.7.0. |
| tests/unit/htdocs/ModuleScriptConventionsTest.php | Updates test description to reflect 2.7.0 conventions. |
| tests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.php | Updates version-compare fixtures to use 2.7.0 examples. |
| tests/unit/htdocs/kernel/XoopsModuleTest.php | Updates version strings used by module status/version tests. |
| tests/unit/htdocs/kernel/EvalRemovalVerificationTest.php | Updates test description to reference 2.7.0 RC. |
| tests/unit/htdocs/include/VersionTest.php | Updates expected XOOPS version prefix and minor version expectations. |
| tests/unit/htdocs/class/XoopsTokenHandlerTest.php | Updates @since to 2.7.0 in test metadata. |
| tests/unit/htdocs/class/XoopsLoadTest.php | Updates doc comment to reference XOOPS 2.7.x. |
| tests/unit/htdocs/class/LostPassSecurityTest.php | Updates @since to 2.7.0 in test metadata. |
| tests/bootstrap.php | Updates bootstrap-defined XOOPS_VERSION to 2.7.0-RC1. |
| sonar-project.properties | Updates SonarCloud project key/name to XoopsCore27. |
| release_notes.txt | Updates release notes for 2.7.0 RC1 and repository links. |
| README.md | Updates badges/links and contributors link for XoopsCore27. |
| phpstan-constants.stub.php | Updates @since metadata to 2.7.0. |
| htdocs/xoops_lib/README.md | Updates library README references to 2.7.0. |
| htdocs/xoops_lib/modules/protector/xoops_version.php | Updates module minimum XOOPS version to 2.7.0. |
| htdocs/xoops_lib/composer.dist.lock | Updates lock metadata and php-jwt repository URLs. |
| htdocs/xoops_lib/composer.dist.json | Updates package name/description/support URLs to XoopsCore27/2.7.0. |
| htdocs/themes/xswatch5/theme.ini | Updates theme repo/download URLs to XoopsCore27. |
| htdocs/themes/xswatch5/README.md | Updates theme docs to require XOOPS 2.7.0+. |
| htdocs/themes/xswatch5/css/xoops.css | Updates version comment; minor formatting change at EOF. |
| htdocs/themes/xswatch5/css-yeti/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-united/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-superhero/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-spacelab/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-solar/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-slate/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-sketchy/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-simplex/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-sandstone/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-pulse/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-minty/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-materia/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-lux/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-lumen/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-litera/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-journal/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-flatly/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-darkly/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-cyborg/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-cosmo/xoops.css | Updates version comment. |
| htdocs/themes/xswatch5/css-cerulean/xoops.css | Updates version comment. |
| htdocs/themes/xbootstrap5/.scrutinizer.yml | Updates PHP version and clone target repo to XoopsCore27. |
| htdocs/modules/system/xoops_version.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/themes/transition/xotpl/xo_accordion.tpl | Updates footer links to XoopsCore27. |
| htdocs/modules/system/themes/transition/language/english/admin.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/themes/modern/README.md | Updates theme README for XOOPS 2.7.0+ and PHP 8.2+. |
| htdocs/modules/system/themes/modern/docs/USER_GUIDE.md | Updates version compatibility statement to 2.7.0. |
| htdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.md | Updates “Designed for XOOPS …” to 2.7.0. |
| htdocs/modules/system/themes/default/xotpl/xo_accordion.tpl | Updates footer links to XoopsCore27. |
| htdocs/modules/system/themes/default/language/english/admin.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/themes/dark/xotpl/xo_accordion.tpl | Updates footer links to XoopsCore27. |
| htdocs/modules/system/themes/dark/language/english/admin.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/modinfo.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/menus/menus.dist.php | Updates @since to 2.7.0. |
| htdocs/modules/system/language/english/menus/index.php | Updates @since to 2.7.0. |
| htdocs/modules/system/language/english/blocks.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/users.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/preferences.php | Updates internal version marker comments to 2.7.0. |
| htdocs/modules/system/language/english/admin/modulesadmin.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/menus.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/include/update.php | Updates comment referencing when menu tables were added. |
| htdocs/modules/system/constants.php | Updates internal version marker comment to 2.7.0. |
| htdocs/modules/system/admin/modulesadmin/main.php | Updates comment about version string transition timing. |
| htdocs/modules/system/admin/menus/xoops_version.php | Updates @since to 2.7.0. |
| htdocs/modules/system/admin/menus/main.php | Updates @since to 2.7.0. |
| htdocs/modules/system/admin/menus/index.php | Updates @since to 2.7.0. |
| htdocs/modules/profile/docs/readme.txt | Updates module docs requirements to PHP 8.2 / XOOPS 2.7.0+. |
| htdocs/modules/pm/docs/readme.txt | Updates module docs requirements to PHP 8.2 / XOOPS 2.7.0+. |
| htdocs/modules/debugbar/xoops_version.php | Updates debugbar metadata/min requirements to XOOPS 2.7.0. |
| htdocs/modules/debugbar/preloads/core.php | Updates doc comment to reference XOOPS 2.7.0 lifecycle. |
| htdocs/modules/debugbar/language/english/help/help.tpl | Updates help links to point to XoopsCore27 repo. |
| htdocs/modules/debugbar/docs/ray-integration.md | Updates doc title to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/file-list.md | Updates doc title/body to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/credits.txt | Updates credits note to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/changelog.txt | Updates changelog header to XOOPS 2.7.0. |
| htdocs/modules/debugbar/class/RayLogger.php | Updates doc comment to XOOPS 2.7.0. |
| htdocs/modules/debugbar/class/DebugbarLogger.php | Updates doc comment to XOOPS 2.7.0. |
| htdocs/language/english/global.php | Updates internal version marker comment to 2.7.0. |
| htdocs/language/english/banners.php | Updates internal version marker comment to 2.7.0. |
| htdocs/kernel/menusitems.php | Updates @since to 2.7.0. |
| htdocs/kernel/menuscategory.php | Updates @since to 2.7.0. |
| htdocs/kernel/block.php | Updates comments/error text about eval removal version to 2.7.0. |
| htdocs/install/language/english/install.php | Updates internal version marker comment to 2.7.0. |
| htdocs/install/include/makedata.php | Updates comment about session cookie preferences version. |
| htdocs/install/include/install_tpl.php | Updates GitHub link to XoopsCore27 in installer UI. |
| htdocs/include/version.php | Updates XOOPS_VERSION constant to 2.7.0-RC1. |
| htdocs/custom_blocks/example_welcome.php | Updates @since to 2.7.0. |
| htdocs/custom_blocks/example_site_stats.php | Updates @since to 2.7.0. |
| htdocs/custom_blocks/example_recent_members.php | Updates @since to 2.7.0. |
| htdocs/class/XoopsTokenHandler.php | Updates @since to 2.7.0. |
| htdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.php | Updates @since to 2.7.0. |
| htdocs/class/xoopseditor/easymde/language/english.php | Updates @since to 2.7.0. |
| htdocs/class/xoopseditor/easymde/editor_registry.php | Updates @since to 2.7.0. |
| htdocs/class/xoopseditor/easymde/easymde.php | Updates @since to 2.7.0. |
| htdocs/class/LostPassSecurity.php | Updates @since to 2.7.0. |
| htdocs/class/logger/monologlogger.php | Updates @since to 2.7.0. |
| htdocs/class/database/mysqldatabase.php | Updates deprecation message version reference to 2.7.0. |
| htdocs/class/database/database.php | Updates commented deprecation messages version reference to 2.7.0. |
| htdocs/class/cache/xoopscache.php | Updates cache engine interface @since to 2.7.0. |
| docs/rfc-generic-token-handler.md | Updates migration reference to the new upgrade path file. |
| docs/README.txt | Updates docs README to 2.7.0 RC1 and XoopsCore27 links/dates. |
| docs/lang_diff.txt | Updates version header to 2.7.0-Betas note. |
| docs/custom-blocks-tutorial.md | Updates tutorial text to reference 2.7.0 eval removal change. |
| docs/changelog.270.txt | Adds a new 2.7.x changelog document. |
| docs/changelog.250.txt | Removes now-moved 2.5.12 RC/Beta entries from 2.5.x changelog. |
| CONTRIBUTING.md | Updates contribution link to XoopsCore27 repository. |
| .github/xoops-copilot-template.md | Updates repo-specific guidance for 2.7.x naming/versioning. |
| .github/workflows/sonarcloud.yml | Updates repository guard to XoopsCore27. |
| .github/workflows/qodana.yml | Updates repository guard to XoopsCore27. |
| .github/ISSUE_TEMPLATE/bug-report.yml | Updates “XOOPS Version” dropdown options. |
| .github/copilot-instructions.md | Updates Copilot instructions branding and dependency guidance for 2.7.x. |
| /** | ||
| * Upgrade from 2.5.11 to 2.5.12 | ||
| * Upgrade from 2.5.11 to 2.7.0 | ||
| * | ||
| * @copyright (c) 2000-2026 XOOPS Project (https://xoops.org) | ||
| * @license GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html) | ||
| * @since 2.5.11 | ||
| * @author XOOPS Team | ||
| */ | ||
| class Upgrade_2512 extends XoopsUpgrade | ||
| class Upgrade_270 extends XoopsUpgrade |
| <li class="nav-item"> | ||
| <a class="nav-link" href="https://github.com/XOOPS/XoopsCore25" target="_blank" title="<?php echo XOOPS_SOURCE_CODE; ?>"> | ||
| <a class="nav-link" href="https://github.com/XOOPS/XoopsCore27" target="_blank" title="<?php echo XOOPS_SOURCE_CODE; ?>"> | ||
| <i class="fa-brands fa-github fa-lg"></i> | ||
| </a> |
|
|
||
| [](https://travis-ci.org/XOOPS/XoopsCore25) | ||
| [](https://travis-ci.org/XOOPS/XoopsCore27) | ||
| [](docs/license.txt) | ||
| [](https://scrutinizer-ci.com/g/XOOPS/XoopsCore25/code-structure) | ||
| [](https://scrutinizer-ci.com/g/XOOPS/XoopsCore25) | ||
| [](https://github.com/XOOPS/XoopsCore25/releases) | ||
| [](https://scrutinizer-ci.com/g/XOOPS/XoopsCore27/code-structure) | ||
| [](https://scrutinizer-ci.com/g/XOOPS/XoopsCore27) | ||
| [](https://github.com/XOOPS/XoopsCore27/releases) |
Comprehensive sweep of the 13 new inline comments from Copilot and CodeRabbit posted after the first round of fixes landed. - README.md: replace dead Travis CI badge with GitHub Actions CI badge (travis-ci.org was retired for OSS in 2021, and the image URL pointed at XOOPS/XoopsCore which is the old meta-repo) [Copilot XOOPS#13, XOOPS#25, CodeRabbit XOOPS#18] - install_tpl.php: add rel="noopener noreferrer" to support-link dropdown and the GitHub source-code link; htmlspecialchars()-escape the XOOPS_SOURCE_CODE language constant in the title attribute [Copilot XOOPS#14, XOOPS#20, XOOPS#24] - modulesadmin/main.php:153: fix comment typo ("string.This" missing space) and normalize XOOPS capitalization [Copilot XOOPS#15] - modern/README.md:5: standardize "XOOPS 2.7.0" to "XOOPS 2.7.0+" to match the requirements section and line 272 [CodeRabbit XOOPS#16] - changelog.270.txt: document the Composer meta-package rename from xoopscore25/libraries to xoopscore27/libraries for downstream consumers [CodeRabbit XOOPS#17] - upgrade_tpl.php:87: htmlspecialchars()-escape _XOOPS_SOURCE_CODE in the title attribute (defense-in-depth) [CodeRabbit XOOPS#19] - debugbar/docs/changelog.txt: update dev environment note from PHP 7.4.4 to PHP 8.2.0 to match the module's min_php and core's PHP 8.2+ baseline [Copilot XOOPS#22] - upgrade/upd_2.5.11-to-2.7.0/index.php:8: update @SInCE from 2.5.11 to 2.7.0 to match the file's current role as the 2.7.0 upgrader [Copilot XOOPS#23] Not addressed in this commit: - release_notes.txt MySQL "9.0 compatibility" vs "8.4 recommended" [Copilot XOOPS#21]: intentional — XOOPS recommends 8.4 as the current LTS but provides compatibility with 9.0 for users who want it - menusitems.php / Upgrade_270 missing @category/@package/@link tags [CodeRabbit XOOPS#6, XOOPS#11]: conflicts with the RC1 PSR-12 cleanup that deliberately removed these legacy tags (see commit b3166a5)
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
upgrade/upd_2.5.11-to-2.7.0/index.php (1)
11-11:⚠️ Potential issue | 🟠 MajorAdd the required class-level PHPDoc tags on
Upgrade_270.Line 11 declares the class without the mandatory class docblock metadata. Please add
@category,@package,@author,@copyright,@license, and@linkimmediately above the class.Proposed fix
+/** + * Upgrade task runner from XOOPS 2.5.11 to 2.7.0. + * + * `@category` Upgrade + * `@package` Upgrade + * `@author` XOOPS Team + * `@copyright` (c) 2000-2026 XOOPS Project (https://xoops.org) + * `@license` GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html) + * `@link` https://xoops.org + */ class Upgrade_270 extends XoopsUpgradeAs per coding guidelines
**/*.php: Class docblocks include@category,@package,@author,@copyright,@license, and@linktags.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@upgrade/upd_2.5.11-to-2.7.0/index.php` at line 11, Add a class-level PHPDoc block immediately above the class declaration for Upgrade_270 that includes the required tags: `@category`, `@package`, `@author`, `@copyright`, `@license`, and `@link`; ensure the docblock is formatted as a standard PHPDoc comment and references the Upgrade_270 class so tooling and coding standards recognize the metadata.docs/changelog.270.txt (1)
106-106:⚠️ Potential issue | 🟠 MajorRe-check TinyMCE version policy before release (still appears behind current stable).
Line 106 keeps
TinyMCE 7.7.2as default and5.10.9as legacy. This was already flagged earlier and still looks like a potential security/maintenance gap if 8.x is now the supported stable line.What is the latest stable TinyMCE Community version as of April 2026, and is TinyMCE 7.7.2 still in active support? Also check whether TinyMCE 5.10.9 is EOL or security-maintenance only.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/changelog.270.txt` at line 106, The changelog entry lists TinyMCE versions ("TinyMCE 7.7.2" and "legacy TinyMCE 5.10.9") but may be outdated; verify the current TinyMCE Community stable major/minor version as of April 2026 and the support status/EOL of 7.7.2 and 5.10.9, then update the changelog text to reflect the correct default and legacy versions (replace "TinyMCE 7.7.2" and/or "legacy TinyMCE 5.10.9" as needed) and add a short parenthetical note about support status if one is legacy/EOL to avoid security/maintenance confusion.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@htdocs/install/include/install_tpl.php`:
- Line 97: Escape both the URL and link text before rendering to prevent
attribute/content injection: update the anchor that uses $support['url'] and
$support['title'] (the <a ... href="<?php echo $support['url']; ?>" ...><?php
echo $support['title']; ?></a> instance) to wrap both values with
htmlspecialchars(..., ENT_QUOTES, 'UTF-8') (or enable Smarty auto-escaping) so
the href and displayed text are properly encoded.
---
Duplicate comments:
In `@docs/changelog.270.txt`:
- Line 106: The changelog entry lists TinyMCE versions ("TinyMCE 7.7.2" and
"legacy TinyMCE 5.10.9") but may be outdated; verify the current TinyMCE
Community stable major/minor version as of April 2026 and the support status/EOL
of 7.7.2 and 5.10.9, then update the changelog text to reflect the correct
default and legacy versions (replace "TinyMCE 7.7.2" and/or "legacy TinyMCE
5.10.9" as needed) and add a short parenthetical note about support status if
one is legacy/EOL to avoid security/maintenance confusion.
In `@upgrade/upd_2.5.11-to-2.7.0/index.php`:
- Line 11: Add a class-level PHPDoc block immediately above the class
declaration for Upgrade_270 that includes the required tags: `@category`,
`@package`, `@author`, `@copyright`, `@license`, and `@link`; ensure the docblock is
formatted as a standard PHPDoc comment and references the Upgrade_270 class so
tooling and coding standards recognize the metadata.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: e6780341-0452-4f0a-81af-c375aacd19c1
📒 Files selected for processing (8)
README.mddocs/changelog.270.txthtdocs/install/include/install_tpl.phphtdocs/modules/debugbar/docs/changelog.txthtdocs/modules/system/admin/modulesadmin/main.phphtdocs/modules/system/themes/modern/README.mdupgrade/upd_2.5.11-to-2.7.0/index.phpupgrade/upgrade_tpl.php
There was a problem hiding this comment.
Pull request overview
This PR updates XOOPS Core to the 2.7.0 RC1 line by renumbering/versioning references across upgrade tooling, core constants/messages, tests, documentation, and repository links (including SonarCloud/GitHub metadata), aligning the codebase with the XoopsCore27 repository identity.
Changes:
- Renumber version strings and upgrade script naming from 2.5.12 → 2.7.0 (including tests and docs).
- Update repository links/identifiers (GitHub URLs, SonarCloud project key/name, badges).
- Minor security/docs hygiene in templates (e.g.,
rel="noopener noreferrer", escaping title attributes).
Reviewed changes
Copilot reviewed 114 out of 115 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| upgrade/upgrade_tpl.php | Update GitHub repo link and harden external link attributes/escaping. |
| upgrade/upd_2.5.11-to-2.7.0/index.php | Renumber upgrade class and header metadata for 2.7.0. |
| upgrade/language/english/smarty4.php | Update upgrade messaging to reference 2.7.0. |
| tests/unit/htdocs/ModuleScriptConventionsTest.php | Update test documentation string for 2.7.0 conventions. |
| tests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.php | Update version fixtures to 2.7.0-based examples. |
| tests/unit/htdocs/kernel/XoopsModuleTest.php | Update version-related test fixtures to 2.7.0. |
| tests/unit/htdocs/kernel/EvalRemovalVerificationTest.php | Update test documentation string to 2.7.0 RC context. |
| tests/unit/htdocs/include/VersionTest.php | Update expected XOOPS version prefix and minor version assertions. |
| tests/unit/htdocs/class/XoopsTokenHandlerTest.php | Update @since metadata to 2.7.0. |
| tests/unit/htdocs/class/XoopsLoadTest.php | Update doc text to 2.7.x wording. |
| tests/unit/htdocs/class/LostPassSecurityTest.php | Update @since metadata to 2.7.0. |
| tests/bootstrap.php | Update bootstrapped XOOPS_VERSION constant to 2.7.0-RC1. |
| sonar-project.properties | Rename SonarCloud project key/name for XoopsCore27. |
| release_notes.txt | Update release notes text and links for 2.7.0. |
| README.md | Update badges and links to the XoopsCore27 repository. |
| phpstan-constants.stub.php | Update @since metadata to 2.7.0. |
| htdocs/xoops_lib/README.md | Update library README version references to 2.7.0+. |
| htdocs/xoops_lib/modules/protector/xoops_version.php | Bump module minimum XOOPS requirement to 2.7.0. |
| htdocs/xoops_lib/composer.dist.lock | Update lock metadata (including php-jwt repository URLs). |
| htdocs/xoops_lib/composer.dist.json | Rename metapackage name/description/support links to 2.7.0/XoopsCore27. |
| htdocs/themes/xswatch5/theme.ini | Update theme URLs/download links to XoopsCore27. |
| htdocs/themes/xswatch5/README.md | Update theme documentation to 2.7.0 requirements. |
| htdocs/themes/xswatch5/css/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-yeti/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-united/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-superhero/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-spacelab/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-solar/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-slate/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-sketchy/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-simplex/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-sandstone/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-pulse/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-minty/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-materia/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-lux/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-lumen/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-litera/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-journal/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-flatly/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-darkly/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cyborg/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cosmo/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xswatch5/css-cerulean/xoops.css | Update comment references to XOOPS 2.7.0. |
| htdocs/themes/xbootstrap5/.scrutinizer.yml | Update Scrutinizer config to PHP 8.2 and XoopsCore27 clone path. |
| htdocs/modules/system/xoops_version.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/themes/transition/xotpl/xo_accordion.tpl | Update GitHub links to XoopsCore27. |
| htdocs/modules/system/themes/transition/language/english/admin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/themes/modern/README.md | Update modern admin theme docs to 2.7.0+. |
| htdocs/modules/system/themes/modern/docs/USER_GUIDE.md | Update user guide wording to 2.7.0 design target. |
| htdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.md | Update developer guide wording to 2.7.0 design target. |
| htdocs/modules/system/themes/default/xotpl/xo_accordion.tpl | Update GitHub links to XoopsCore27. |
| htdocs/modules/system/themes/default/language/english/admin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/themes/dark/xotpl/xo_accordion.tpl | Update GitHub links to XoopsCore27. |
| htdocs/modules/system/themes/dark/language/english/admin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/modinfo.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/menus/menus.dist.php | Update @since metadata to 2.7.0. |
| htdocs/modules/system/language/english/menus/index.php | Update @since metadata to 2.7.0. |
| htdocs/modules/system/language/english/blocks.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/users.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/preferences.php | Update inline version marker comments to 2.7.0. |
| htdocs/modules/system/language/english/admin/modulesadmin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/menus.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/include/update.php | Update inline comment to 2.7.0. |
| htdocs/modules/system/constants.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/admin/modulesadmin/main.php | Update inline comment to 2.7.0. |
| htdocs/modules/system/admin/menus/xoops_version.php | Update @since metadata to 2.7.0. |
| htdocs/modules/system/admin/menus/main.php | Update @since metadata to 2.7.0. |
| htdocs/modules/system/admin/menus/index.php | Update @since metadata to 2.7.0. |
| htdocs/modules/profile/docs/readme.txt | Update module docs requirements to PHP 8.2/XOOPS 2.7.0+. |
| htdocs/modules/pm/docs/readme.txt | Update module docs requirements to PHP 8.2/XOOPS 2.7.0+. |
| htdocs/modules/debugbar/xoops_version.php | Update module version docs and minimum XOOPS requirement to 2.7.0. |
| htdocs/modules/debugbar/preloads/core.php | Update doc text to reference XOOPS 2.7.0 lifecycle. |
| htdocs/modules/debugbar/language/english/help/help.tpl | Update repository links to XoopsCore27. |
| htdocs/modules/debugbar/docs/ray-integration.md | Update doc title to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/file-list.md | Update doc title/content to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/credits.txt | Update credits text to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/changelog.txt | Update dev environment notes to XOOPS 2.7.0/PHP 8.2. |
| htdocs/modules/debugbar/class/RayLogger.php | Update class doc text to XOOPS 2.7.0. |
| htdocs/modules/debugbar/class/DebugbarLogger.php | Update class doc text to XOOPS 2.7.0. |
| htdocs/language/english/global.php | Update inline version marker comment to 2.7.0. |
| htdocs/language/english/banners.php | Update inline version marker comment to 2.7.0. |
| htdocs/kernel/menusitems.php | Update @since metadata to 2.7.0. |
| htdocs/kernel/menuscategory.php | Update @since metadata to 2.7.0. |
| htdocs/kernel/block.php | Update eval-removal messaging/comments to reference 2.7.0. |
| htdocs/install/language/english/install.php | Update inline version marker comment to 2.7.0. |
| htdocs/install/include/makedata.php | Update inline comment to 2.7.0. |
| htdocs/install/include/install_tpl.php | Update GitHub link, add rel, and escape title attribute. |
| htdocs/include/version.php | Update XOOPS_VERSION constant to 2.7.0-RC1. |
| htdocs/custom_blocks/example_welcome.php | Update @since metadata to 2.7.0. |
| htdocs/custom_blocks/example_site_stats.php | Update @since metadata to 2.7.0. |
| htdocs/custom_blocks/example_recent_members.php | Update @since metadata to 2.7.0. |
| htdocs/class/XoopsTokenHandler.php | Update @since metadata to 2.7.0. |
| htdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.php | Update @since metadata to 2.7.0. |
| htdocs/class/xoopseditor/easymde/language/english.php | Update @since metadata to 2.7.0. |
| htdocs/class/xoopseditor/easymde/editor_registry.php | Update @since metadata to 2.7.0. |
| htdocs/class/xoopseditor/easymde/easymde.php | Update @since metadata to 2.7.0. |
| htdocs/class/LostPassSecurity.php | Update @since metadata to 2.7.0. |
| htdocs/class/logger/monologlogger.php | Update @since metadata to 2.7.0. |
| htdocs/class/database/mysqldatabase.php | Update deprecation message text to 2.7.0. |
| htdocs/class/database/database.php | Update commented deprecation message text to 2.7.0. |
| htdocs/class/cache/xoopscache.php | Update interface @since metadata to 2.7.0. |
| docs/rfc-generic-token-handler.md | Update referenced upgrade path to the 2.5.11→2.7.0 upgrader. |
| docs/README.txt | Update release announcement text/links for 2.7.0 RC1. |
| docs/lang_diff.txt | Update language-diff header to 2.7.0 betas wording. |
| docs/custom-blocks-tutorial.md | Update documentation wording to 2.7.0. |
| docs/changelog.270.txt | Add 2.7.x changelog file (RC1 entry and historical notes). |
| docs/changelog.250.txt | Trim 2.5.12 changelog section (now tracked under 2.7.x). |
| CONTRIBUTING.md | Update contribution link to XoopsCore27. |
| .github/xoops-copilot-template.md | Update template text for 2.7.x naming. |
| .github/workflows/sonarcloud.yml | Update workflow repository gate to XoopsCore27. |
| .github/workflows/qodana.yml | Update workflow repository gate to XoopsCore27. |
| .github/ISSUE_TEMPLATE/bug-report.yml | Update version dropdown options to include 2.7.0. |
| .github/copilot-instructions.md | Update repository name/docs and dependency guidance for 2.7.x. |
| In addition, this version includes numerous improvements and fixes, including: | ||
| - PHP 8.2+ compatibility | ||
| - MySQL 9.0 compatibility |
| The XOOPS Development Team is pleased to announce the release of XOOPS 2.5.12 Final. This version | ||
| includes Smarty 4, fixes and enhancements, security updates, PHP 8.4 support, and improved MySQL 8.0 compatibility. | ||
| The XOOPS Development Team is pleased to announce the release of XOOPS 2.7.0 RC1. This version | ||
| includes Smarty 4, fixes and enhancements, security updates, PHP 8.4 support, and improved MySQL 9.0 compatibility. |
Third-round PR XOOPS#5 review response. - install_tpl.php:97: htmlspecialchars()-escape $support['url'] and $support['title'] when rendering the support-links dropdown. The values come from a trusted language file (/language/{lang}/support.php), so real-world risk is minimal, but the defense-in-depth escaping matches the pattern applied to XOOPS_SOURCE_CODE earlier and collapses a CodeRabbit Major-severity flag. - release_notes.txt:17, docs/README.txt:4: clarify that MySQL 9.0 is supported for users who want it while MySQL 8.4 LTS is the recommended version. The original wording was technically correct but Copilot flagged it as contradictory with the recommended-version guidance in both files; this clarification stops the repeat flagging while preserving the intended compatibility message.
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
release_notes.txt (2)
46-46:⚠️ Potential issue | 🟡 MinorUpdate repository reference to current location.
The repository has relocated:
XOOPS/XoopsCore27now redirects toXOOPS/XoopsCore28. Update the release notes to point to the current active repository athttps://github.com/XOOPS/XoopsCore28/releasesinstead of the outdated XoopsCore27 reference.📝 Proposed fix
-You can get the release package from GitHub: https://github.com/XOOPS/XoopsCore27/releases +You can get the release package from GitHub: https://github.com/XOOPS/XoopsCore28/releases🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@release_notes.txt` at line 46, Update the outdated GitHub release URL in release_notes.txt: replace the reference to "https://github.com/XOOPS/XoopsCore27/releases" with the current repository release URL "https://github.com/XOOPS/XoopsCore28/releases" so the release notes point to the active XOOPS/XoopsCore28 releases page.
107-108:⚠️ Potential issue | 🟡 MinorUpdate contribution links to current repository.
These URLs should point to
XOOPS/XoopsCore28instead of the redirectedXOOPS/XoopsCore27to ensure users access the active repository.📝 Proposed fix
-Bug reports and feature requests: https://github.com/XOOPS/XoopsCore27/issues -Patches and enhancements: https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md +Bug reports and feature requests: https://github.com/XOOPS/XoopsCore28/issues +Patches and enhancements: https://github.com/XOOPS/XoopsCore28/blob/master/CONTRIBUTING.md🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@release_notes.txt` around lines 107 - 108, Replace the two contribution URLs that currently point to XOOPS/XoopsCore27 with the updated XOOPS/XoopsCore28 equivalents: change "https://github.com/XOOPS/XoopsCore27/issues" to "https://github.com/XOOPS/XoopsCore28/issues" and change "https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md" to "https://github.com/XOOPS/XoopsCore28/blob/master/CONTRIBUTING.md" in the release_notes.txt content so the Bug reports/feature requests and Patches/enhancements links target the active repository.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/README.txt`:
- Around line 14-15: Replace the outdated contribution URLs that point to
"https://github.com/XOOPS/XoopsCore27/issues" and
"https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md" with the
current repository equivalents under XOOPS/XoopsCore28 (i.e.,
"https://github.com/XOOPS/XoopsCore28/issues" and
"https://github.com/XOOPS/XoopsCore28/blob/master/CONTRIBUTING.md"); update the
two URL strings in the README.txt so they reference XOOPS/XoopsCore28 and verify
the links resolve correctly.
---
Duplicate comments:
In `@release_notes.txt`:
- Line 46: Update the outdated GitHub release URL in release_notes.txt: replace
the reference to "https://github.com/XOOPS/XoopsCore27/releases" with the
current repository release URL "https://github.com/XOOPS/XoopsCore28/releases"
so the release notes point to the active XOOPS/XoopsCore28 releases page.
- Around line 107-108: Replace the two contribution URLs that currently point to
XOOPS/XoopsCore27 with the updated XOOPS/XoopsCore28 equivalents: change
"https://github.com/XOOPS/XoopsCore27/issues" to
"https://github.com/XOOPS/XoopsCore28/issues" and change
"https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md" to
"https://github.com/XOOPS/XoopsCore28/blob/master/CONTRIBUTING.md" in the
release_notes.txt content so the Bug reports/feature requests and
Patches/enhancements links target the active repository.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: b1fe2a71-4ff2-49e5-b412-f5b1757161aa
📒 Files selected for processing (3)
docs/README.txthtdocs/install/include/install_tpl.phprelease_notes.txt
| Bug reports and feature requests: https://github.com/XOOPS/XoopsCore27/issues | ||
| Patch and enhancement: https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md |
There was a problem hiding this comment.
Update contribution links to current repository.
Consistent with the download link issue, these contribution URLs should also point to XOOPS/XoopsCore28 instead of the redirected XOOPS/XoopsCore27.
📝 Proposed fix
-Bug reports and feature requests: https://github.com/XOOPS/XoopsCore27/issues
-Patch and enhancement: https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md
+Bug reports and feature requests: https://github.com/XOOPS/XoopsCore28/issues
+Patch and enhancement: https://github.com/XOOPS/XoopsCore28/blob/master/CONTRIBUTING.md📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Bug reports and feature requests: https://github.com/XOOPS/XoopsCore27/issues | |
| Patch and enhancement: https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md | |
| Bug reports and feature requests: https://github.com/XOOPS/XoopsCore28/issues | |
| Patch and enhancement: https://github.com/XOOPS/XoopsCore28/blob/master/CONTRIBUTING.md |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/README.txt` around lines 14 - 15, Replace the outdated contribution URLs
that point to "https://github.com/XOOPS/XoopsCore27/issues" and
"https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md" with the
current repository equivalents under XOOPS/XoopsCore28 (i.e.,
"https://github.com/XOOPS/XoopsCore28/issues" and
"https://github.com/XOOPS/XoopsCore28/blob/master/CONTRIBUTING.md"); update the
two URL strings in the README.txt so they reference XOOPS/XoopsCore28 and verify
the links resolve correctly.
There was a problem hiding this comment.
Pull request overview
This PR upgrades/rebrands the XOOPS core to the 2.7.0 line (RC1) and updates repository references from XoopsCore25 to XoopsCore27, aligning upgrade tooling, tests, docs, and metadata with the new version.
Changes:
- Bump version references across core, upgrade scripts, tests, and documentation to XOOPS 2.7.0 (RC1).
- Update GitHub/Sonar/etc. identifiers and many in-project links from XoopsCore25 → XoopsCore27.
- Minor hardening/markup updates in installer/upgrade templates (escaping/link attributes) and add a dedicated 2.7.x changelog document.
Reviewed changes
Copilot reviewed 114 out of 115 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| upgrade/upgrade_tpl.php | Update repo link and harden title output/rel for target=_blank. |
| upgrade/upd_2.5.11-to-2.7.0/index.php | Rename upgrader class/metadata to 2.7.0. |
| upgrade/language/english/smarty4.php | Update Smarty 4 upgrade messaging to 2.7.0. |
| tests/unit/htdocs/ModuleScriptConventionsTest.php | Update test description to 2.7.0 conventions. |
| tests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.php | Update version strings in version-compare test vectors to 2.7.0. |
| tests/unit/htdocs/kernel/XoopsModuleTest.php | Update version strings used by module status/version tests. |
| tests/unit/htdocs/kernel/EvalRemovalVerificationTest.php | Update eval-removal verification test description to 2.7.0 RC. |
| tests/unit/htdocs/include/VersionTest.php | Update expected version prefix/minor version assertions to 2.7.0 / minor=7. |
| tests/unit/htdocs/class/XoopsTokenHandlerTest.php | Update @since annotation to 2.7.0. |
| tests/unit/htdocs/class/XoopsLoadTest.php | Update doc text to describe XOOPS 2.7.x. |
| tests/unit/htdocs/class/LostPassSecurityTest.php | Update @since annotation to 2.7.0. |
| tests/bootstrap.php | Update bootstrap-defined XOOPS_VERSION to 2.7.0-RC1. |
| sonar-project.properties | Update SonarCloud project key/name to XoopsCore27. |
| release_notes.txt | Update release notes/version/platform requirements and links for 2.7.0. |
| README.md | Update badges/links to XoopsCore27 and improve contributor image alt text. |
| phpstan-constants.stub.php | Update @since annotation to 2.7.0. |
| htdocs/xoops_lib/README.md | Update library docs/version and dependency guidance to 2.7.0+. |
| htdocs/xoops_lib/modules/protector/xoops_version.php | Bump min_xoops requirement to 2.7.0. |
| htdocs/xoops_lib/composer.dist.lock | Update lock metadata (incl. php-jwt repo URLs) for libs bundle. |
| htdocs/xoops_lib/composer.dist.json | Rename metapackage and update support URLs to XoopsCore27. |
| htdocs/themes/xswatch5/theme.ini | Update theme project/download URLs to XoopsCore27. |
| htdocs/themes/xswatch5/README.md | Update theme docs/requirements to XOOPS 2.7.0+. |
| htdocs/themes/xswatch5/css/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-yeti/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-united/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-superhero/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-spacelab/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-solar/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-slate/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-sketchy/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-simplex/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-sandstone/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-pulse/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-minty/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-materia/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-lux/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-lumen/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-litera/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-journal/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-flatly/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-darkly/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-cyborg/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-cosmo/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xswatch5/css-cerulean/xoops.css | Update comment references from 2.5.12 → 2.7.0. |
| htdocs/themes/xbootstrap5/.scrutinizer.yml | Update CI PHP version and clone target to XoopsCore27. |
| htdocs/modules/system/xoops_version.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/themes/transition/xotpl/xo_accordion.tpl | Update footer links to XoopsCore27 endpoints. |
| htdocs/modules/system/themes/transition/language/english/admin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/themes/modern/README.md | Update theme version requirements and docs to 2.7.0+. |
| htdocs/modules/system/themes/modern/docs/USER_GUIDE.md | Update stated target XOOPS version in FAQ entry. |
| htdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.md | Update designed-for XOOPS version to 2.7.0. |
| htdocs/modules/system/themes/default/xotpl/xo_accordion.tpl | Update footer links to XoopsCore27 endpoints. |
| htdocs/modules/system/themes/default/language/english/admin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/themes/dark/xotpl/xo_accordion.tpl | Update footer links to XoopsCore27 endpoints. |
| htdocs/modules/system/themes/dark/language/english/admin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/modinfo.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/menus/menus.dist.php | Update @since annotation to 2.7.0. |
| htdocs/modules/system/language/english/menus/index.php | Update @since annotation to 2.7.0. |
| htdocs/modules/system/language/english/blocks.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/users.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/preferences.php | Update inline version marker comments to 2.7.0. |
| htdocs/modules/system/language/english/admin/modulesadmin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin/menus.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/language/english/admin.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/include/update.php | Update comment about menu update introduction version. |
| htdocs/modules/system/constants.php | Update inline version marker comment to 2.7.0. |
| htdocs/modules/system/admin/modulesadmin/main.php | Update comment about when a legacy guard can be removed. |
| htdocs/modules/system/admin/menus/xoops_version.php | Update @since annotation to 2.7.0. |
| htdocs/modules/system/admin/menus/main.php | Update @since annotation to 2.7.0. |
| htdocs/modules/system/admin/menus/index.php | Update @since annotation to 2.7.0. |
| htdocs/modules/profile/docs/readme.txt | Update module requirements to PHP 8.2 / XOOPS 2.7.0+. |
| htdocs/modules/pm/docs/readme.txt | Update module requirements to PHP 8.2 / XOOPS 2.7.0+. |
| htdocs/modules/debugbar/xoops_version.php | Update module docs header and min_xoops to 2.7.0. |
| htdocs/modules/debugbar/preloads/core.php | Update lifecycle docs reference to XOOPS 2.7.0. |
| htdocs/modules/debugbar/language/english/help/help.tpl | Update help links to XoopsCore27 repo URLs. |
| htdocs/modules/debugbar/docs/ray-integration.md | Update doc title to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/file-list.md | Update doc title/body references to XOOPS 2.7.0. |
| htdocs/modules/debugbar/docs/credits.txt | Update credits to reflect XOOPS 2.7.0 modification. |
| htdocs/modules/debugbar/docs/changelog.txt | Update dev environment/version references to XOOPS 2.7.0. |
| htdocs/modules/debugbar/class/RayLogger.php | Update class doc header to XOOPS 2.7.0. |
| htdocs/modules/debugbar/class/DebugbarLogger.php | Update class doc header to XOOPS 2.7.0. |
| htdocs/language/english/global.php | Update inline version marker comment to 2.7.0. |
| htdocs/language/english/banners.php | Update inline version marker comment to 2.7.0. |
| htdocs/kernel/menusitems.php | Update @since annotation to 2.7.0. |
| htdocs/kernel/menuscategory.php | Update @since annotation to 2.7.0. |
| htdocs/kernel/block.php | Update docs/error messages to reference eval removal in 2.7.0. |
| htdocs/install/language/english/install.php | Update inline version marker comment to 2.7.0. |
| htdocs/install/include/makedata.php | Update installer seed-data comment to 2.7.0. |
| htdocs/install/include/install_tpl.php | Escape support links/titles and update GitHub link to XoopsCore27. |
| htdocs/include/version.php | Update XOOPS_VERSION constant to 2.7.0-RC1. |
| htdocs/custom_blocks/example_welcome.php | Update @since annotation to 2.7.0. |
| htdocs/custom_blocks/example_site_stats.php | Update @since annotation to 2.7.0. |
| htdocs/custom_blocks/example_recent_members.php | Update @since annotation to 2.7.0. |
| htdocs/class/XoopsTokenHandler.php | Update @since annotation to 2.7.0. |
| htdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.php | Update @since annotation to 2.7.0. |
| htdocs/class/xoopseditor/easymde/language/english.php | Update @since annotation to 2.7.0. |
| htdocs/class/xoopseditor/easymde/editor_registry.php | Update @since annotation to 2.7.0. |
| htdocs/class/xoopseditor/easymde/easymde.php | Update @since annotation to 2.7.0. |
| htdocs/class/LostPassSecurity.php | Update @since annotation to 2.7.0. |
| htdocs/class/logger/monologlogger.php | Update @since annotation to 2.7.0. |
| htdocs/class/database/mysqldatabase.php | Update deprecation message version reference to 2.7.0. |
| htdocs/class/database/database.php | Update deprecation comment/message version references to 2.7.0. |
| htdocs/class/cache/xoopscache.php | Update interface doc @since to 2.7.0. |
| docs/rfc-generic-token-handler.md | Update upgrade-script path reference to 2.5.11→2.7.0 upgrader. |
| docs/README.txt | Update docs header/version/links/date to 2.7.0 RC1 and XoopsCore27. |
| docs/lang_diff.txt | Update language diff header to 2.7.0-Betas wording. |
| docs/custom-blocks-tutorial.md | Update eval-removal tutorial text to 2.7.0. |
| docs/changelog.270.txt | Add dedicated 2.7.x changelog file. |
| docs/changelog.250.txt | Remove 2.5.12 section, leaving 2.5.11+ historical log. |
| CONTRIBUTING.md | Update contribution link to XoopsCore27. |
| .github/xoops-copilot-template.md | Update repository generation wording (2.7.x) and helper note. |
| .github/workflows/sonarcloud.yml | Update workflow repo guard to XoopsCore27. |
| .github/workflows/qodana.yml | Update workflow repo guard to XoopsCore27. |
| .github/ISSUE_TEMPLATE/bug-report.yml | Update version dropdown options to include 2.7.0. |
| .github/copilot-instructions.md | Update Copilot instructions and dependency guidance for XOOPS 2.7.x. |
| ### Can I use this theme on XOOPS 2.5.11? | ||
|
|
||
| The theme was designed for 2.5.12 but may work on 2.5.11. The widget system requires modules to have the `ModernThemeWidget.php` file, which is independent of XOOPS version. | ||
| The theme was designed for 2.7.0 but may work on 2.5.11. The widget system requires modules to have the `ModernThemeWidget.php` file, which is independent of XOOPS version. |
There was a problem hiding this comment.
Actionable comments posted: 10
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/lang_diff.txt (1)
94-95: 🧹 Nitpick | 🔵 TrivialImprove changelog specificity.
The entry "updated PHP & MySQL versions" lacks detail about what was actually changed. For better documentation, specify:
- Which PHP versions are now supported/recommended
- Which MySQL versions are now supported/recommended
- Any related changes to documentation text
Compare this to line 275's more descriptive format: "changed recommended PHP version, added Special Notes section for SELinux".
📝 Suggested improvement
/htdocs/install/language/english/welcome.php -- updated PHP & MySQL versions +- updated recommended PHP version to 8.2+, MySQL to 8.4.5+ (with 5.7.8 minimum)(Adjust version numbers based on actual changes made to the file.)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/lang_diff.txt` around lines 94 - 95, Replace the vague changelog entry "updated PHP & MySQL versions" with a specific line that names the new recommended/supported versions and any docs changes; e.g., update the welcome.php changelog entry string ("updated PHP & MySQL versions") to something like "updated recommended PHP to 8.1, added support note for PHP 8.2, and updated MySQL recommended version to 8.0; documented related configuration changes and SELinux notes" (use the actual versions and brief note of related documentation edits), following the style used by the example entry "changed recommended PHP version, added Special Notes section for SELinux".
♻️ Duplicate comments (2)
docs/README.txt (1)
6-6:⚠️ Potential issue | 🟡 MinorUpdate GitHub links to the active repository location.
These links still point to
XOOPS/XoopsCore27; prior review already flagged this redirect issue. Please switch release/issues/contribution URLs to the active repo target.Also applies to: 13-14
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/README.txt` at line 6, Replace outdated GitHub links that point to "https://github.com/XOOPS/XoopsCore27" in README.txt (including the release URL shown and any other occurrences such as the links on lines referenced in the comment) with the active repository URLs for releases, issues and contribution guidance; search for the exact string "https://github.com/XOOPS/XoopsCore27" and update it to the new repo base URL, then verify and update the specific paths for /releases, /issues and contribution pages so all links point to the current active repository.release_notes.txt (1)
46-46:⚠️ Potential issue | 🟡 MinorUpdate release URL to current repository target.
This was already flagged earlier: the
XoopsCore27release link should be updated to the active repository URL.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@release_notes.txt` at line 46, Replace the outdated release link string "https://github.com/XOOPS/XoopsCore27/releases" in release_notes.txt with the current active repository's releases URL (i.e., the project's live GitHub releases page); locate the exact URL literal in the file and update it to the correct repo releases URL so the release package link points to the active repository.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@htdocs/themes/xtailwind/README.md`:
- Line 93: The README contains conflicting minimum XOOPS versions ("XOOPS
2.5.11+" at the current line and "for XOOPS 2.7.0" earlier); pick one
authoritative baseline (preferably 2.7.0+ if RTL auto-detection requires it) and
update both occurrences to the same explicit statement (e.g., "XOOPS 2.7.0+"),
and also clarify the RTL auto-detection note to read "RTL auto-detection
requires XOOPS 2.7.0+" so all references (the lines mentioning "XOOPS 2.5.11+"
and "for XOOPS 2.7.0") are consistent.
In `@htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php`:
- Line 57: The change attempts to edit a vendor file (cacheresource.mysql.php)
to fix the capitalization of SmartyException; do not modify vendor files
directly—either submit the capitalization fix as a patch upstream to the Smarty
project, apply the fix locally using a patch management tool like
cweagans/composer-patches to apply a patch that changes the throw line ("throw
new SmartyException('MySQL Resource failed: ' . $e->getMessage());"), or
maintain a fork of Smarty and apply the change there; also note the PHPMD
warning about the missing use statement for SmartyException is a pre-existing
vendor issue and should be handled upstream or via the same patching strategy.
In `@htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysql.php`:
- Line 55: The change attempts to alter a vendor file (resource.mysql.php) by
adjusting the thrown exception capitalization (SmartyException); do not edit
vendor libraries directly — instead either (a) submit a patch upstream to the
Smarty project referencing the resource.mysql.php throw statement and
SmartyException, (b) apply the fix via a composer patch using a patch management
tool like cweagans/composer-patches that modifies resource.mysql.php at install
time, or (c) maintain a fork of Smarty and update the throw line there; ensure
any PHPMD warning about a missing use import for SmartyException is addressed in
your patch or fork so static analysis passes.
In `@htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysqls.php`:
- Line 50: Do not edit the vendor file resource.mysqls.php or change its throw
of SmartyException directly; revert your edit and instead either (A) open a PR
against the upstream Smarty repo with the capitalization fix so it is merged
upstream, or (B) add a formal patch via a patch manager (e.g.,
cweagans/composer-patches): create a patch file that adjusts the throw line for
resource.mysqls.php, add it to a patches/ directory and reference it in
composer.json so composer applies the patch on install, or (C) fork the Smarty
package and maintain your fork; if the PHPMD missing `use SmartyException`
warning is blocking, suppress that rule for vendor files in your PHPMD
configuration rather than modifying vendor code.
In
`@htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/caching/caching-custom.md`:
- Line 80: This change touches a vendor file (smarty docs) and must not be
edited directly; instead revert the edit and implement the capitalization fix
via one of the recommended approaches: (1) submit a patch/PR upstream to Smarty
referencing the thrown exception string "MySQL Resource failed" / the
SmartyException usage so maintainers can accept the docs correction, (2) apply
the change at install time using a patch manager like cweagans/composer-patches
that targets the doc file and keeps edits reproducible, or (3) fork and maintain
your own Smarty package (last resort); ensure you remove any direct edits to the
vendor file and document which option you chose.
In
`@htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/plugins/plugins-resources.md`:
- Line 66: Revert the edit that changed the vendor docs line throwing
SmartyException (the string 'MySQL Resource failed' / SmartyException
occurrence) and do not modify vendor files directly; instead implement the
capitalization fix by either submitting a PR upstream to Smarty (change the docs
in the canonical repo), applying the change via a patch manager like
cweagans/composer-patches (add a patch that modifies the resource message/docs),
or maintaining a fork of Smarty and updating Composer to use that fork—ensure
the vendor file remains unchanged in your repo and track the change through one
of these supported approaches.
In
`@htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/resources-custom.md`:
- Line 52: The reviewer flags that the change to the vendor docs (the line
throwing SmartyException: "throw new SmartyException('MySQL Resource failed: ' .
$e->getMessage());") should not be edited directly in the vendor package;
instead revert any direct edits to resources-custom.md and implement the
capitalization fix via one of the supported approaches: submit a pull request
upstream to Smarty with the corrected message in the code that throws
SmartyException, or record a patch and apply it using a patch manager (e.g.,
cweagans/composer-patches) that targets the file containing the throw statement,
or fork and maintain your own Smarty vendor with the change—choose and document
one of these approaches and ensure the actual runtime code that constructs the
SmartyException message is patched rather than editing vendor docs directly.
In
`@htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/template-resources.md`:
- Line 62: You modified a vendor doc string inside the Smarty library (the line
throwing new SmartyException with message 'MySQL Resource failed: ...'); do not
commit direct changes to vendor files — revert this edit and instead either
submit a capitalization fix upstream to the Smarty project, create and apply a
patch via a patch manager such as cweagans/composer-patches that adjusts the
SmartyException message or docs during install, or if you truly must, maintain a
fork of Smarty and update the thrown message there; ensure the change is applied
via your package management workflow rather than editing the vendor file
directly.
In `@release_notes.txt`:
- Around line 107-108: The two contribution links currently point to the old
XOOPS/XoopsCore27 repo (the strings
"https://github.com/XOOPS/XoopsCore27/issues" and
"https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md"); update both
URLs to the active repository's issue tracker and CONTRIBUTING.md locations
(replace the "XOOPS/XoopsCore27" path with the current organization/repo path
and ensure the CONTRIBUTING.md path remains /blob/master/CONTRIBUTING.md or the
correct branch), verifying both links resolve without redirects.
- Around line 1-3: The title and intro labels are inconsistent: the title shows
"XOOPS 2.7.0" while the intro announces "XOOPS 2.7.0 RC 1"; update one of them
so both match (either change the title to "XOOPS 2.7.0 RC 1" or change the intro
to "XOOPS 2.7.0") and ensure the same release designation appears in both the
first-line title and the announcement sentence.
---
Outside diff comments:
In `@docs/lang_diff.txt`:
- Around line 94-95: Replace the vague changelog entry "updated PHP & MySQL
versions" with a specific line that names the new recommended/supported versions
and any docs changes; e.g., update the welcome.php changelog entry string
("updated PHP & MySQL versions") to something like "updated recommended PHP to
8.1, added support note for PHP 8.2, and updated MySQL recommended version to
8.0; documented related configuration changes and SELinux notes" (use the actual
versions and brief note of related documentation edits), following the style
used by the example entry "changed recommended PHP version, added Special Notes
section for SELinux".
---
Duplicate comments:
In `@docs/README.txt`:
- Line 6: Replace outdated GitHub links that point to
"https://github.com/XOOPS/XoopsCore27" in README.txt (including the release URL
shown and any other occurrences such as the links on lines referenced in the
comment) with the active repository URLs for releases, issues and contribution
guidance; search for the exact string "https://github.com/XOOPS/XoopsCore27" and
update it to the new repo base URL, then verify and update the specific paths
for /releases, /issues and contribution pages so all links point to the current
active repository.
In `@release_notes.txt`:
- Line 46: Replace the outdated release link string
"https://github.com/XOOPS/XoopsCore27/releases" in release_notes.txt with the
current active repository's releases URL (i.e., the project's live GitHub
releases page); locate the exact URL literal in the file and update it to the
correct repo releases URL so the release package link points to the active
repository.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 6794d7a2-9179-4b4c-b56f-783c66cefb4e
📒 Files selected for processing (20)
docs/README.txtdocs/install.htmldocs/lang_diff.txthtdocs/class/logger/xoopslogger.phphtdocs/install/language/english/welcome.phphtdocs/modules/pm/xoops_version.phphtdocs/modules/profile/xoops_version.phphtdocs/themes/xtailwind/README.mdhtdocs/themes/xtailwind/theme.inihtdocs/themes/xtailwind2/README.mdhtdocs/themes/xtailwind2/theme.inihtdocs/xoops_lib/modules/protector/filters_disabled/postcommon_register_insert_js_check.phphtdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.phphtdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysql.phphtdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysqls.phphtdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/caching/caching-custom.mdhtdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/plugins/plugins-resources.mdhtdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/resources-custom.mdhtdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/template-resources.mdrelease_notes.txt
💤 Files with no reviewable changes (2)
- htdocs/install/language/english/welcome.php
- htdocs/xoops_lib/modules/protector/filters_disabled/postcommon_register_insert_js_check.php
| $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty"); | ||
| } catch (PDOException $e) { | ||
| throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); | ||
| throw new SmartyException('MySQL Resource failed: ' . $e->getMessage()); |
There was a problem hiding this comment.
Critical: Do not modify vendor library files directly.
This file is part of the Smarty vendor library. Modifying vendor files directly creates significant maintenance problems:
- Changes will be overwritten when the Smarty package is updated
- Makes dependency management fragile and error-prone
- Deviates from the canonical upstream version
If this capitalization fix is necessary, consider one of these approaches:
- Contribute the change upstream to the Smarty project
- Use a patch management system (e.g.,
cweagans/composer-patches) - Fork and maintain your own version of Smarty (not recommended)
Note: The PHPMD warning about the missing use statement for SmartyException is a pre-existing issue in the vendor code, not introduced by this change.
🧰 Tools
🪛 PHPMD (2.15.0)
[error] 57-57: Missing class import via use statement (line '57', column '23'). (undefined)
(MissingImport)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php`
at line 57, The change attempts to edit a vendor file (cacheresource.mysql.php)
to fix the capitalization of SmartyException; do not modify vendor files
directly—either submit the capitalization fix as a patch upstream to the Smarty
project, apply the fix locally using a patch management tool like
cweagans/composer-patches to apply a patch that changes the throw line ("throw
new SmartyException('MySQL Resource failed: ' . $e->getMessage());"), or
maintain a fork of Smarty and apply the change there; also note the PHPMD
warning about the missing use statement for SmartyException is a pre-existing
vendor issue and should be handled upstream or via the same patching strategy.
| $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty"); | ||
| } catch (PDOException $e) { | ||
| throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); | ||
| throw new SmartyException('MySQL Resource failed: ' . $e->getMessage()); |
There was a problem hiding this comment.
Critical: Do not modify vendor library files directly.
This file is part of the Smarty vendor library. Modifying vendor files directly creates significant maintenance problems:
- Changes will be overwritten when the Smarty package is updated
- Makes dependency management fragile and error-prone
- Deviates from the canonical upstream version
If this capitalization fix is necessary, consider one of these approaches:
- Contribute the change upstream to the Smarty project
- Use a patch management system (e.g.,
cweagans/composer-patches) - Fork and maintain your own version of Smarty (not recommended)
Note: The PHPMD warning about the missing use statement for SmartyException is a pre-existing issue in the vendor code, not introduced by this change.
🧰 Tools
🪛 PHPMD (2.15.0)
[error] 55-55: Missing class import via use statement (line '55', column '23'). (undefined)
(MissingImport)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysql.php` at
line 55, The change attempts to alter a vendor file (resource.mysql.php) by
adjusting the thrown exception capitalization (SmartyException); do not edit
vendor libraries directly — instead either (a) submit a patch upstream to the
Smarty project referencing the resource.mysql.php throw statement and
SmartyException, (b) apply the fix via a composer patch using a patch management
tool like cweagans/composer-patches that modifies resource.mysql.php at install
time, or (c) maintain a fork of Smarty and update the throw line there; ensure
any PHPMD warning about a missing use import for SmartyException is addressed in
your patch or fork so static analysis passes.
| $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty"); | ||
| } catch (PDOException $e) { | ||
| throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); | ||
| throw new SmartyException('MySQL Resource failed: ' . $e->getMessage()); |
There was a problem hiding this comment.
Critical: Do not modify vendor library files directly.
This file is part of the Smarty vendor library. Modifying vendor files directly creates significant maintenance problems:
- Changes will be overwritten when the Smarty package is updated
- Makes dependency management fragile and error-prone
- Deviates from the canonical upstream version
If this capitalization fix is necessary, consider one of these approaches:
- Contribute the change upstream to the Smarty project
- Use a patch management system (e.g.,
cweagans/composer-patches) - Fork and maintain your own version of Smarty (not recommended)
Note: The PHPMD warning about the missing use statement for SmartyException is a pre-existing issue in the vendor code, not introduced by this change.
🧰 Tools
🪛 PHPMD (2.15.0)
[error] 50-50: Missing class import via use statement (line '50', column '23'). (undefined)
(MissingImport)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysqls.php` at
line 50, Do not edit the vendor file resource.mysqls.php or change its throw of
SmartyException directly; revert your edit and instead either (A) open a PR
against the upstream Smarty repo with the capitalization fix so it is merged
upstream, or (B) add a formal patch via a patch manager (e.g.,
cweagans/composer-patches): create a patch file that adjusts the throw line for
resource.mysqls.php, add it to a patches/ directory and reference it in
composer.json so composer applies the patch on install, or (C) fork the Smarty
package and maintain your fork; if the PHPMD missing `use SmartyException`
warning is blocking, suppress that rule for vendor files in your PHPMD
configuration rather than modifying vendor code.
| $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty", "smarty"); | ||
| } catch (PDOException $e) { | ||
| throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); | ||
| throw new SmartyException('MySQL Resource failed: ' . $e->getMessage()); |
There was a problem hiding this comment.
Critical: Do not modify vendor library files directly.
This documentation file is part of the Smarty vendor library. Modifying vendor files directly creates significant maintenance problems:
- Changes will be overwritten when the Smarty package is updated
- Makes dependency management fragile and error-prone
- Deviates from the canonical upstream version
If this capitalization fix is necessary, consider one of these approaches:
- Contribute the change upstream to the Smarty project
- Use a patch management system (e.g.,
cweagans/composer-patches) - Fork and maintain your own version of Smarty (not recommended)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/caching/caching-custom.md`
at line 80, This change touches a vendor file (smarty docs) and must not be
edited directly; instead revert the edit and implement the capitalization fix
via one of the recommended approaches: (1) submit a patch/PR upstream to Smarty
referencing the thrown exception string "MySQL Resource failed" / the
SmartyException usage so maintainers can accept the docs correction, (2) apply
the change at install time using a patch manager like cweagans/composer-patches
that targets the doc file and keeps edits reproducible, or (3) fork and maintain
your own Smarty package (last resort); ensure you remove any direct edits to the
vendor file and document which option you chose.
| $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty", "smarty"); | ||
| } catch (PDOException $e) { | ||
| throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); | ||
| throw new SmartyException('MySQL Resource failed: ' . $e->getMessage()); |
There was a problem hiding this comment.
Critical: Do not modify vendor library files directly.
This documentation file is part of the Smarty vendor library. Modifying vendor files directly creates significant maintenance problems:
- Changes will be overwritten when the Smarty package is updated
- Makes dependency management fragile and error-prone
- Deviates from the canonical upstream version
If this capitalization fix is necessary, consider one of these approaches:
- Contribute the change upstream to the Smarty project
- Use a patch management system (e.g.,
cweagans/composer-patches) - Fork and maintain your own version of Smarty (not recommended)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/plugins/plugins-resources.md`
at line 66, Revert the edit that changed the vendor docs line throwing
SmartyException (the string 'MySQL Resource failed' / SmartyException
occurrence) and do not modify vendor files directly; instead implement the
capitalization fix by either submitting a PR upstream to Smarty (change the docs
in the canonical repo), applying the change via a patch manager like
cweagans/composer-patches (add a patch that modifies the resource message/docs),
or maintaining a fork of Smarty and updating Composer to use that fork—ensure
the vendor file remains unchanged in your repo and track the change through one
of these supported approaches.
| $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty", "smarty"); | ||
| } catch (PDOException $e) { | ||
| throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); | ||
| throw new SmartyException('MySQL Resource failed: ' . $e->getMessage()); |
There was a problem hiding this comment.
Critical: Do not modify vendor library files directly.
This documentation file is part of the Smarty vendor library. Modifying vendor files directly creates significant maintenance problems:
- Changes will be overwritten when the Smarty package is updated
- Makes dependency management fragile and error-prone
- Deviates from the canonical upstream version
If this capitalization fix is necessary, consider one of these approaches:
- Contribute the change upstream to the Smarty project
- Use a patch management system (e.g.,
cweagans/composer-patches) - Fork and maintain your own version of Smarty (not recommended)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/resources-custom.md`
at line 52, The reviewer flags that the change to the vendor docs (the line
throwing SmartyException: "throw new SmartyException('MySQL Resource failed: ' .
$e->getMessage());") should not be edited directly in the vendor package;
instead revert any direct edits to resources-custom.md and implement the
capitalization fix via one of the supported approaches: submit a pull request
upstream to Smarty with the corrected message in the code that throws
SmartyException, or record a patch and apply it using a patch manager (e.g.,
cweagans/composer-patches) that targets the file containing the throw statement,
or fork and maintain your own Smarty vendor with the change—choose and document
one of these approaches and ensure the actual runtime code that constructs the
SmartyException message is patched rather than editing vendor docs directly.
| $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty", "smarty"); | ||
| } catch (PDOException $e) { | ||
| throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); | ||
| throw new SmartyException('MySQL Resource failed: ' . $e->getMessage()); |
There was a problem hiding this comment.
Critical: Do not modify vendor library files directly.
This documentation file is part of the Smarty vendor library. Modifying vendor files directly creates significant maintenance problems:
- Changes will be overwritten when the Smarty package is updated
- Makes dependency management fragile and error-prone
- Deviates from the canonical upstream version
If this capitalization fix is necessary, consider one of these approaches:
- Contribute the change upstream to the Smarty project
- Use a patch management system (e.g.,
cweagans/composer-patches) - Fork and maintain your own version of Smarty (not recommended)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/template-resources.md`
at line 62, You modified a vendor doc string inside the Smarty library (the line
throwing new SmartyException with message 'MySQL Resource failed: ...'); do not
commit direct changes to vendor files — revert this edit and instead either
submit a capitalization fix upstream to the Smarty project, create and apply a
patch via a patch manager such as cweagans/composer-patches that adjusts the
SmartyException message or docs during install, or if you truly must, maintain a
fork of Smarty and update the thrown message there; ensure the change is applied
via your package management workflow rather than editing the vendor file
directly.
| XOOPS 2.7.0 | ||
|
|
||
| The XOOPS Development Team is pleased to announce the availability of XOOPS 2.5.12 Beta 1. | ||
| The XOOPS Development Team is pleased to announce the availability of XOOPS 2.7.0 RC 1. |
There was a problem hiding this comment.
Align release label between title and intro.
Line 1 states XOOPS 2.7.0 while Line 3 announces XOOPS 2.7.0 RC 1. Use one consistent release designation to avoid confusion.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@release_notes.txt` around lines 1 - 3, The title and intro labels are
inconsistent: the title shows "XOOPS 2.7.0" while the intro announces "XOOPS
2.7.0 RC 1"; update one of them so both match (either change the title to "XOOPS
2.7.0 RC 1" or change the intro to "XOOPS 2.7.0") and ensure the same release
designation appears in both the first-line title and the announcement sentence.
| Bug reports and feature requests: https://github.com/XOOPS/XoopsCore27/issues | ||
| Patches and enhancements: https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md |
There was a problem hiding this comment.
Update contribution URLs to current repository target.
These contribution links still use XOOPS/XoopsCore27; align them with the active repository URLs to avoid redirect/staleness issues.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@release_notes.txt` around lines 107 - 108, The two contribution links
currently point to the old XOOPS/XoopsCore27 repo (the strings
"https://github.com/XOOPS/XoopsCore27/issues" and
"https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md"); update both
URLs to the active repository's issue tracker and CONTRIBUTING.md locations
(replace the "XOOPS/XoopsCore27" path with the current organization/repo path
and ensure the CONTRIBUTING.md path remains /blob/master/CONTRIBUTING.md or the
correct branch), verifying both links resolve without redirects.
There was a problem hiding this comment.
Pull request overview
This PR updates the XOOPS Core codebase and supporting assets/documentation to reflect the 2.7.0 release line (RC1), including link/repo renames, version-string updates across upgrade/install/test infrastructure, and some HTML hardening in installer/upgrade templates.
Changes:
- Rename/update 2.5.12 references to 2.7.0 (and XoopsCore25 → XoopsCore27) across upgrade scripts, docs, themes, modules, CI metadata, and tests.
- Harden some installer/upgrade UI output by escaping dynamic strings and adding
rel="noopener noreferrer"on_blanklinks. - Update Composer metapackage metadata and lockfile details under
htdocs/xoops_lib/for the 2.7.0 line.
Reviewed changes
Copilot reviewed 124 out of 132 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| upgrade/upgrade_tpl.php | Updates GitHub repo link and hardens link attributes/escaping. |
| upgrade/upd_2.5.11-to-2.7.0/index.php | Renames upgrade class and updates header metadata for 2.7.0. |
| upgrade/language/english/smarty4.php | Updates upgrade messaging to reference 2.7.0 for Smarty 4 notice. |
| tests/unit/htdocs/ModuleScriptConventionsTest.php | Updates test description to 2.7.0 conventions. |
| tests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.php | Updates version-compare fixtures to 2.7.0-era strings. |
| tests/unit/htdocs/kernel/XoopsModuleTest.php | Updates module version/status and versionCompare test inputs. |
| tests/unit/htdocs/kernel/EvalRemovalVerificationTest.php | Updates test docs to reference 2.7.0 RC. |
| tests/unit/htdocs/include/VersionTest.php | Updates version expectations/comments for XOOPS 2.7.0. |
| tests/unit/htdocs/class/XoopsTokenHandlerTest.php | Updates @since tag to 2.7.0. |
| tests/unit/htdocs/class/XoopsLoadTest.php | Updates doc comment to reference 2.7.x. |
| tests/unit/htdocs/class/LostPassSecurityTest.php | Updates @since tag to 2.7.0. |
| tests/bootstrap.php | Updates test bootstrap XOOPS_VERSION string to 2.7.0-RC1. |
| sonar-project.properties | Updates SonarCloud project key/name to XoopsCore27. |
| release_notes.txt | Updates release notes for 2.7.0 RC1, requirements, and links. |
| README.md | Updates badges/links and contributors URL to XoopsCore27. |
| phpstan-constants.stub.php | Updates @since tag to 2.7.0. |
| htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/template-resources.md | Fixes “Mysql” → “MySQL” capitalization in vendor docs. |
| htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/resources-custom.md | Fixes “Mysql” → “MySQL” capitalization in vendor docs. |
| htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/plugins/plugins-resources.md | Fixes “Mysql” → “MySQL” capitalization in vendor docs. |
| htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/caching/caching-custom.md | Fixes “Mysql” → “MySQL” capitalization in vendor docs. |
| htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysqls.php | Fixes “Mysql” → “MySQL” capitalization in demo code. |
| htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysql.php | Fixes “Mysql” → “MySQL” capitalization in demo code. |
| htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php | Fixes “Mysql” → “MySQL” capitalization in demo code. |
| htdocs/xoops_lib/README.md | Updates library docs to 2.7.0 and notes dependency handling. |
| htdocs/xoops_lib/modules/protector/xoops_version.php | Updates module min XOOPS requirement to 2.7.0. |
| htdocs/xoops_lib/modules/protector/filters_disabled/postcommon_register_insert_js_check.php | Removes outdated TODO comments. |
| htdocs/xoops_lib/composer.dist.lock | Updates lock metadata (incl. php-jwt repo URLs). |
| htdocs/xoops_lib/composer.dist.json | Renames metapackage and updates support URLs to XoopsCore27. |
| htdocs/themes/xtailwind2/theme.ini | Updates theme description to 2.7.0. |
| htdocs/themes/xtailwind2/README.md | Updates theme README to 2.7.0. |
| htdocs/themes/xtailwind/theme.ini | Updates theme description to 2.7.0. |
| htdocs/themes/xtailwind/README.md | Updates theme README + requirements text to 2.7.0. |
| htdocs/themes/xswatch5/theme.ini | Updates upstream URLs to XoopsCore27. |
| htdocs/themes/xswatch5/README.md | Updates theme README requirements/version to 2.7.0. |
| htdocs/themes/xswatch5/css/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-yeti/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-united/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-superhero/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-spacelab/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-solar/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-slate/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-sketchy/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-simplex/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-sandstone/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-pulse/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-minty/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-materia/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-lux/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-lumen/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-litera/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-journal/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-flatly/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-darkly/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-cyborg/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-cosmo/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xswatch5/css-cerulean/xoops.css | Updates comment to reference 2.7.0. |
| htdocs/themes/xbootstrap5/.scrutinizer.yml | Updates Scrutinizer config (PHP version and repo clone URL). |
| htdocs/modules/system/xoops_version.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/themes/transition/xotpl/xo_accordion.tpl | Updates XOOPS GitHub links to XoopsCore27. |
| htdocs/modules/system/themes/transition/language/english/admin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/themes/modern/README.md | Updates theme docs and requirements to 2.7.0+. |
| htdocs/modules/system/themes/modern/docs/USER_GUIDE.md | Updates wording to “designed for 2.7.0”. |
| htdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.md | Updates wording to “designed for 2.7.0”. |
| htdocs/modules/system/themes/default/xotpl/xo_accordion.tpl | Updates XOOPS GitHub links to XoopsCore27. |
| htdocs/modules/system/themes/default/language/english/admin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/themes/dark/xotpl/xo_accordion.tpl | Updates XOOPS GitHub links to XoopsCore27. |
| htdocs/modules/system/themes/dark/language/english/admin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/modinfo.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/menus/menus.dist.php | Updates @since tag to 2.7.0. |
| htdocs/modules/system/language/english/menus/index.php | Updates @since tag to 2.7.0. |
| htdocs/modules/system/language/english/blocks.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/admin/users.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/admin/preferences.php | Updates internal comment markers to 2.7.0. |
| htdocs/modules/system/language/english/admin/modulesadmin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/admin/menus.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/language/english/admin.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/include/update.php | Updates comment about when menu tables were added. |
| htdocs/modules/system/constants.php | Updates internal comment marker to 2.7.0. |
| htdocs/modules/system/admin/modulesadmin/main.php | Updates comment about when a workaround can be removed. |
| htdocs/modules/system/admin/menus/xoops_version.php | Updates @since tag to 2.7.0. |
| htdocs/modules/system/admin/menus/main.php | Updates @since tag to 2.7.0. |
| htdocs/modules/system/admin/menus/index.php | Updates @since tag to 2.7.0. |
| htdocs/modules/profile/xoops_version.php | Fixes “Mysql” → “MySQL” in comment. |
| htdocs/modules/profile/docs/readme.txt | Updates module requirements to PHP 8.2 / XOOPS 2.7.0+. |
| htdocs/modules/pm/xoops_version.php | Fixes “Mysql” → “MySQL” in comment. |
| htdocs/modules/pm/docs/readme.txt | Updates module requirements to PHP 8.2 / XOOPS 2.7.0+. |
| htdocs/modules/debugbar/xoops_version.php | Updates module docs and min XOOPS requirement to 2.7.0. |
| htdocs/modules/debugbar/preloads/core.php | Updates doc comment to reference 2.7.0 lifecycle. |
| htdocs/modules/debugbar/language/english/help/help.tpl | Updates GitHub links to XoopsCore27. |
| htdocs/modules/debugbar/docs/ray-integration.md | Updates doc title to 2.7.0. |
| htdocs/modules/debugbar/docs/file-list.md | Updates doc title/content to 2.7.0. |
| htdocs/modules/debugbar/docs/credits.txt | Updates credit line to 2.7.0. |
| htdocs/modules/debugbar/docs/changelog.txt | Updates dev baseline versions in changelog entry. |
| htdocs/modules/debugbar/class/RayLogger.php | Updates doc comment to 2.7.0. |
| htdocs/modules/debugbar/class/DebugbarLogger.php | Updates doc comment to 2.7.0. |
| htdocs/language/english/global.php | Updates internal comment marker to 2.7.0. |
| htdocs/language/english/banners.php | Updates internal comment marker to 2.7.0. |
| htdocs/kernel/menusitems.php | Updates @since tag to 2.7.0. |
| htdocs/kernel/menuscategory.php | Updates @since tag to 2.7.0. |
| htdocs/kernel/block.php | Updates eval-removal comments/messages to 2.7.0 wording. |
| htdocs/install/language/english/welcome.php | Removes MySQL 8.0 special note section from installer text. |
| htdocs/install/language/english/install.php | Updates internal comment marker to 2.7.0. |
| htdocs/install/include/makedata.php | Updates comment on session cookie prefs version marker. |
| htdocs/install/include/install_tpl.php | Escapes support link values and updates GitHub link + rel attrs. |
| htdocs/include/version.php | Updates XOOPS_VERSION to 2.7.0-RC1. |
| htdocs/custom_blocks/example_welcome.php | Updates @since tag to 2.7.0. |
| htdocs/custom_blocks/example_site_stats.php | Updates @since tag to 2.7.0. |
| htdocs/custom_blocks/example_recent_members.php | Updates @since tag to 2.7.0. |
| htdocs/class/XoopsTokenHandler.php | Updates @since tag to 2.7.0. |
| htdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.php | Updates @since tag to 2.7.0. |
| htdocs/class/xoopseditor/easymde/language/english.php | Updates @since tag to 2.7.0. |
| htdocs/class/xoopseditor/easymde/editor_registry.php | Updates @since tag to 2.7.0. |
| htdocs/class/xoopseditor/easymde/easymde.php | Updates @since tag to 2.7.0. |
| htdocs/class/LostPassSecurity.php | Updates @since tag to 2.7.0. |
| htdocs/class/logger/xoopslogger.php | Updates doc wording about Throwable support. |
| htdocs/class/logger/monologlogger.php | Updates @since tag to 2.7.0. |
| htdocs/class/database/mysqldatabase.php | Updates deprecation message to reference 2.7.0. |
| htdocs/class/database/database.php | Updates deprecation message text to reference 2.7.0. |
| htdocs/class/cache/xoopscache.php | Updates cache interface @since tag to 2.7.0. |
| docs/rfc-generic-token-handler.md | Updates referenced upgrade script path to 2.5.11→2.7.0. |
| docs/README.txt | Updates docs README for 2.7.0 RC1 + links/dates. |
| docs/lang_diff.txt | Updates language diff header line to reflect 2.7.0 beta renumbering note. |
| docs/install.html | Updates installation requirements to PHP 8.2+/MySQL 5.7+ guidance. |
| docs/custom-blocks-tutorial.md | Updates tutorial text to reference 2.7.0 eval removal. |
| docs/changelog.270.txt | Adds 2.7.x changelog content for RC1 and historical beta notes. |
| docs/changelog.250.txt | Removes 2.5.12 RC/beta section content from 2.5.x changelog file. |
| CONTRIBUTING.md | Updates GitHub repo link to XoopsCore27. |
| .github/xoops-copilot-template.md | Updates repo guidance text to 2.7.x wording. |
| .github/workflows/sonarcloud.yml | Updates repository gating condition to XoopsCore27. |
| .github/workflows/qodana.yml | Updates repository gating condition to XoopsCore27. |
| .github/ISSUE_TEMPLATE/bug-report.yml | Updates version dropdown options to include 2.7.0. |
| .github/copilot-instructions.md | Updates Copilot instructions for XoopsCore27 and dependency guidance. |
| - Bump codecov/codecov-action 5.5.2 → 6.0.0 (#1672, #1674) | ||
| - Bump JetBrains/qodana-action 2025.2.4 → 2025.3.2 (#1671) | ||
| - Bump actions/cache 4.3.0 → 5.0.4 (#1670) | ||
| - Bump shivammathur/setup-php 2.36.0 → 2.37.0 (#1669) | ||
| - Bump SonarSource/sonarqube-scan-action 7.0.0 → 7.1.0 | ||
| - Bump actions/checkout 5.0.0 → 6.0.2 |
Summary by CodeRabbit
New Features
Security
Bug Fixes
Chores