Skip to content

Feature/upgrade 270#5

Merged
mambax7 merged 9 commits intoXOOPS:masterfrom
mambax7:feature/upgrade_270
Apr 10, 2026
Merged

Feature/upgrade 270#5
mambax7 merged 9 commits intoXOOPS:masterfrom
mambax7:feature/upgrade_270

Conversation

@mambax7
Copy link
Copy Markdown
Contributor

@mambax7 mambax7 commented Apr 10, 2026

Summary by CodeRabbit

  • New Features

    • Modern admin theme, Tailwind/DaisyUI renderers, Smarty 4 support
  • Security

    • Multiple hardening measures: CSRF protection for admin AJAX, stronger cookie SameSite/Secure defaults, safer output handling, JSON/script and path traversal mitigations
  • Bug Fixes

    • Removal of legacy eval()-based PHP blocks; PHP 8.2+ compatibility improvements
  • Chores

    • Project versioned to 2.7.0; updated docs, badges, CI/project metadata, installer text and upgrade guidance

Copilot AI review requested due to automatic review settings April 10, 2026 09:05
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 10, 2026

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Mass rename of project and version identifiers from XOOPS 2.5.12 → 2.7.0 and XoopsCore25 → XoopsCore27 across docs, CI/config, templates, PHPDoc @since tags, tests, theme metadata, composer metadata, upgrade entry; one upgrade class renamed and two module min_xoops bumps. No runtime behavior changes aside from the upgrade class rename.

Changes

Cohort / File(s) Summary
Core version constants
htdocs/include/version.php, tests/bootstrap.php
Updated XOOPS_VERSION constants/strings to XOOPS 2.7.0-RC1.
Upgrade entrypoint
upgrade/upd_2.5.11-to-2.7.0/index.php
Renamed class Upgrade_2512Upgrade_270 and adjusted returned instance; docblock updated.
Module requirements / metadata
htdocs/modules/debugbar/xoops_version.php, htdocs/xoops_lib/modules/protector/xoops_version.php
Bumped $modversion['min_xoops'] to 2.7.0.
Deprecation / warning messages
htdocs/class/database/..., htdocs/kernel/block.php
Updated deprecation/warning text references from 2.5.12 → 2.7.0 (no behavioral change).
PHPDoc @since and headers
htdocs/class/..., htdocs/class/xoopseditor/..., htdocs/class/xoopsform/..., htdocs/custom_blocks/*, htdocs/kernel/*, phpstan-constants.stub.php, tests/unit/htdocs/class/*
Bulk metadata updates: @since and header comments moved 2.5.12 → 2.7.0 (comments only).
CI / static analysis configs
.github/workflows/qodana.yml, .github/workflows/sonarcloud.yml, sonar-project.properties, htdocs/themes/xbootstrap5/.scrutinizer.yml
Switched project/repo keys and job conditions from XoopsCore25 → XoopsCore27; Scrutinizer PHP version bumped; Sonar/Qodana if conditions updated.
Composer & library metadata
htdocs/xoops_lib/composer.dist.json, htdocs/xoops_lib/README.md
Composer package name/description and support URLs updated to reference 2.7.0 / XoopsCore27.
Docs, changelogs and release notes
README.md, CONTRIBUTING.md, docs/*, docs/changelog.270.txt, docs/changelog.250.txt, release_notes.txt
Extensive docs and changelog additions/edits for 2.7.0; removed/renumbered older 2.5.12 sections and updated repo links.
Installer / upgrade templates
htdocs/install/include/install_tpl.php, upgrade/upgrade_tpl.php, htdocs/install/include/makedata.php, htdocs/install/language/english/install.php
Updated installer/upgrade links, added HTML-escaping for titles, rel="noopener noreferrer" on external anchors, and adjusted inline version comments to 2.7.0.
Language files & constants
htdocs/language/english/*, htdocs/modules/system/language/english/*, upgrade/language/english/smarty4.php
Version marker comments and some language headers updated; define() strings unchanged.
Themes, templates & CSS comments
htdocs/themes/xswatch5/*, htdocs/themes/*/xotpl/*, htdocs/modules/system/themes/*/xotpl/*, many theme README files
Theme metadata, README text, template links and CSS comments updated to 2.7.0 and XoopsCore27 URLs (no styling changes).
Tests & fixtures
tests/unit/htdocs/include/VersionTest.php, tests/unit/htdocs/kernel/*, tests/unit/htdocs/ModuleScriptConventionsTest.php, tests/unit/htdocs/*
Test strings, fixtures and minor assertions adjusted to expect 2.7.0-based version literals; some data-provider strings updated.
Small docs/config/templates & issue templates
.github/ISSUE_TEMPLATE/bug-report.yml, .github/copilot-instructions.md, .github/xoops-copilot-template.md, htdocs/xoops_lib/*, htdocs/modules/debugbar/docs/*, many small files
Issue template dropdowns, guidance text, repo links and version markers updated to XoopsCore27 / 2.7.0.
Third-party/example messages
htdocs/xoops_lib/vendor/smarty/...
Fixed capitalization in example/exception messages: MysqlMySQL (string-only).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Feature/upgrade 270' is vague and does not clearly convey the scope or purpose of the changes. Use a more descriptive title that summarizes the main change, such as 'Upgrade from XOOPS 2.5.12 to 2.7.0 RC1' or 'Update version references and dependencies to XOOPS 2.7.0'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 91.67% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 XoopsCore27 and 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

Comment on lines 1 to 4
{
"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",
Comment thread docs/lang_diff.txt Outdated
Comment thread docs/changelog.270.txt Outdated
- 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>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🟡 Minor

Prevent _TEXT_DIRECTION/_RTL mismatch 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_DIRECTION derive from _RTL when 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 | 🟡 Minor

Add 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 @link tags".

🤖 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 | 🔵 Trivial

Consider adding boundary validation for the log directory path.

While XOOPS_VAR_PATH is a system constant (not user input), the coding guidelines recommend validating file paths with realpath() 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 | 🔵 Trivial

Class docblock is missing required tags per coding guidelines.

The FormEasyMDE class docblock should include @category, @package, @author, @copyright, @license, and @link tags. 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 | 🟠 Major

Complete class docblocks with mandatory tags.

@since update 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 @link tags”.

🤖 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

📥 Commits

Reviewing files that changed from the base of the PR and between 47e55b2 and 4d0f30a.

📒 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.md
  • CONTRIBUTING.md
  • README.md
  • docs/README.txt
  • docs/changelog.250.txt
  • docs/changelog.270.txt
  • docs/custom-blocks-tutorial.md
  • docs/lang_diff.txt
  • docs/rfc-generic-token-handler.md
  • htdocs/class/LostPassSecurity.php
  • htdocs/class/XoopsTokenHandler.php
  • htdocs/class/cache/xoopscache.php
  • htdocs/class/database/database.php
  • htdocs/class/database/mysqldatabase.php
  • htdocs/class/logger/monologlogger.php
  • htdocs/class/xoopseditor/easymde/easymde.php
  • htdocs/class/xoopseditor/easymde/editor_registry.php
  • htdocs/class/xoopseditor/easymde/language/english.php
  • htdocs/class/xoopsform/renderer/XoopsFormRendererTailwind.php
  • htdocs/custom_blocks/example_recent_members.php
  • htdocs/custom_blocks/example_site_stats.php
  • htdocs/custom_blocks/example_welcome.php
  • htdocs/include/version.php
  • htdocs/install/include/install_tpl.php
  • htdocs/install/include/makedata.php
  • htdocs/install/language/english/install.php
  • htdocs/kernel/block.php
  • htdocs/kernel/menuscategory.php
  • htdocs/kernel/menusitems.php
  • htdocs/language/english/banners.php
  • htdocs/language/english/global.php
  • htdocs/modules/debugbar/class/DebugbarLogger.php
  • htdocs/modules/debugbar/class/RayLogger.php
  • htdocs/modules/debugbar/docs/changelog.txt
  • htdocs/modules/debugbar/docs/credits.txt
  • htdocs/modules/debugbar/docs/file-list.md
  • htdocs/modules/debugbar/docs/ray-integration.md
  • htdocs/modules/debugbar/language/english/help/help.tpl
  • htdocs/modules/debugbar/preloads/core.php
  • htdocs/modules/debugbar/xoops_version.php
  • htdocs/modules/pm/docs/readme.txt
  • htdocs/modules/profile/docs/readme.txt
  • htdocs/modules/system/admin/menus/index.php
  • htdocs/modules/system/admin/menus/main.php
  • htdocs/modules/system/admin/menus/xoops_version.php
  • htdocs/modules/system/admin/modulesadmin/main.php
  • htdocs/modules/system/constants.php
  • htdocs/modules/system/include/update.php
  • htdocs/modules/system/language/english/admin.php
  • htdocs/modules/system/language/english/admin/menus.php
  • htdocs/modules/system/language/english/admin/modulesadmin.php
  • htdocs/modules/system/language/english/admin/preferences.php
  • htdocs/modules/system/language/english/admin/users.php
  • htdocs/modules/system/language/english/blocks.php
  • htdocs/modules/system/language/english/menus/index.php
  • htdocs/modules/system/language/english/menus/menus.dist.php
  • htdocs/modules/system/language/english/modinfo.php
  • htdocs/modules/system/themes/dark/language/english/admin.php
  • htdocs/modules/system/themes/dark/xotpl/xo_accordion.tpl
  • htdocs/modules/system/themes/default/language/english/admin.php
  • htdocs/modules/system/themes/default/xotpl/xo_accordion.tpl
  • htdocs/modules/system/themes/modern/README.md
  • htdocs/modules/system/themes/modern/docs/DEVELOPER_GUIDE.md
  • htdocs/modules/system/themes/modern/docs/USER_GUIDE.md
  • htdocs/modules/system/themes/transition/language/english/admin.php
  • htdocs/modules/system/themes/transition/xotpl/xo_accordion.tpl
  • htdocs/modules/system/xoops_version.php
  • htdocs/themes/xbootstrap5/.scrutinizer.yml
  • htdocs/themes/xswatch5/README.md
  • htdocs/themes/xswatch5/css-cerulean/xoops.css
  • htdocs/themes/xswatch5/css-cosmo/xoops.css
  • htdocs/themes/xswatch5/css-cyborg/xoops.css
  • htdocs/themes/xswatch5/css-darkly/xoops.css
  • htdocs/themes/xswatch5/css-flatly/xoops.css
  • htdocs/themes/xswatch5/css-journal/xoops.css
  • htdocs/themes/xswatch5/css-litera/xoops.css
  • htdocs/themes/xswatch5/css-lumen/xoops.css
  • htdocs/themes/xswatch5/css-lux/xoops.css
  • htdocs/themes/xswatch5/css-materia/xoops.css
  • htdocs/themes/xswatch5/css-minty/xoops.css
  • htdocs/themes/xswatch5/css-pulse/xoops.css
  • htdocs/themes/xswatch5/css-sandstone/xoops.css
  • htdocs/themes/xswatch5/css-simplex/xoops.css
  • htdocs/themes/xswatch5/css-sketchy/xoops.css
  • htdocs/themes/xswatch5/css-slate/xoops.css
  • htdocs/themes/xswatch5/css-solar/xoops.css
  • htdocs/themes/xswatch5/css-spacelab/xoops.css
  • htdocs/themes/xswatch5/css-superhero/xoops.css
  • htdocs/themes/xswatch5/css-united/xoops.css
  • htdocs/themes/xswatch5/css-yeti/xoops.css
  • htdocs/themes/xswatch5/css/xoops.css
  • htdocs/themes/xswatch5/theme.ini
  • htdocs/xoops_lib/README.md
  • htdocs/xoops_lib/composer.dist.json
  • htdocs/xoops_lib/modules/protector/xoops_version.php
  • phpstan-constants.stub.php
  • release_notes.txt
  • sonar-project.properties
  • tests/bootstrap.php
  • tests/unit/htdocs/ModuleScriptConventionsTest.php
  • tests/unit/htdocs/class/LostPassSecurityTest.php
  • tests/unit/htdocs/class/XoopsLoadTest.php
  • tests/unit/htdocs/class/XoopsTokenHandlerTest.php
  • tests/unit/htdocs/include/VersionTest.php
  • tests/unit/htdocs/kernel/EvalRemovalVerificationTest.php
  • tests/unit/htdocs/kernel/XoopsModuleTest.php
  • tests/unit/htdocs/kernel/XoopsModuleVersionCompareTest.php
  • upgrade/language/english/smarty4.php
  • upgrade/upd_2.5.11-to-2.7.0/index.php
  • upgrade/upgrade_tpl.php
💤 Files with no reviewable changes (1)
  • docs/changelog.250.txt

Comment thread docs/changelog.270.txt
Comment on lines +99 to +113
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)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 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:


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.

Comment thread docs/lang_diff.txt Outdated
Comment on lines 14 to 19
/**
* @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
*/
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ 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.

Comment thread htdocs/modules/system/themes/modern/README.md
Comment thread htdocs/xoops_lib/composer.dist.json Outdated
Comment thread README.md Outdated
Comment thread release_notes.txt
-----------------------------------

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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify the GitHub repository exists and is accessible

gh repo view XOOPS/XoopsCore27 --json name,url,visibility,defaultBranchRef

Repository: 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 -20

Repository: 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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ 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 XoopsUpgrade

As 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.

Comment thread upgrade/upgrade_tpl.php Outdated
…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
Copy link
Copy Markdown

codecov Bot commented Apr 10, 2026

Codecov Report

❌ Patch coverage is 40.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 19.23%. Comparing base (92199b2) to head (f66763c).
⚠️ Report is 10 commits behind head on master.

Files with missing lines Patch % Lines
htdocs/class/database/database.php 0.00% 1 Missing ⚠️
htdocs/class/database/mysqldatabase.php 0.00% 1 Missing ⚠️
htdocs/include/version.php 0.00% 1 Missing ⚠️
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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 XoopsCore25 to XoopsCore27.
  • 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.

Comment thread README.md Outdated
# XOOPS Core 2.7.x

[![Build Status](https://img.shields.io/travis/XOOPS/XoopsCore/master.svg?style=flat)](https://travis-ci.org/XOOPS/XoopsCore25)
[![Build Status](https://img.shields.io/travis/XOOPS/XoopsCore/master.svg?style=flat)](https://travis-ci.org/XOOPS/XoopsCore27)
Comment thread htdocs/install/include/install_tpl.php Outdated
</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.
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 [![Build Status](...)](...)); 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

📥 Commits

Reviewing files that changed from the base of the PR and between 4d0f30a and 42b223e.

⛔ Files ignored due to path filters (1)
  • htdocs/xoops_lib/composer.dist.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • README.md
  • docs/changelog.270.txt
  • docs/lang_diff.txt
  • htdocs/modules/system/themes/modern/README.md
  • htdocs/xoops_lib/composer.dist.json
  • upgrade/upgrade_tpl.php

Comment thread htdocs/modules/system/themes/modern/README.md Outdated
{
"name": "xoopscore25/libraries",
"description": "Libraries for XOOPS 2.5.12 (meta-package, no code)",
"name": "xoopscore27/libraries",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 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 json

Repository: 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 -20

Repository: 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.txt

Repository: 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/librariesxoopscore27/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.

Comment thread README.md Outdated
Comment thread upgrade/upgrade_tpl.php Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 XoopsCore25 to XoopsCore27 (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.

Comment thread htdocs/install/include/install_tpl.php Outdated
</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; ?>">
Comment thread release_notes.txt Outdated
Comment on lines 15 to 18
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
Comment on lines 1 to 2
<h5>1.0.0 Beta 1 </h5> Dev: XOOPS 2.7.0, PHP 7.4.4, PHP 8.5.2
<hr>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines 3 to +11
/**
* 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
Comment on lines 101 to 104
<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>
Comment thread README.md
Comment on lines 3 to +8

[![Build Status](https://img.shields.io/travis/XOOPS/XoopsCore/master.svg?style=flat)](https://travis-ci.org/XOOPS/XoopsCore25)
[![Build Status](https://img.shields.io/travis/XOOPS/XoopsCore/master.svg?style=flat)](https://travis-ci.org/XOOPS/XoopsCore27)
[![Software License](https://img.shields.io/badge/license-GPL-brightgreen.svg?style=flat)](docs/license.txt)
[![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/XOOPS/XoopsCore25.svg?style=flat)](https://scrutinizer-ci.com/g/XOOPS/XoopsCore25/code-structure)
[![Quality Score](https://img.shields.io/scrutinizer/g/XOOPS/XoopsCore25.svg?style=flat)](https://scrutinizer-ci.com/g/XOOPS/XoopsCore25)
[![Latest Version](https://img.shields.io/github/release/XOOPS/XoopsCore25.svg?style=flat)](https://github.com/XOOPS/XoopsCore25/releases)
[![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/XOOPS/XoopsCore27.svg?style=flat)](https://scrutinizer-ci.com/g/XOOPS/XoopsCore27/code-structure)
[![Quality Score](https://img.shields.io/scrutinizer/g/XOOPS/XoopsCore27.svg?style=flat)](https://scrutinizer-ci.com/g/XOOPS/XoopsCore27)
[![Latest Version](https://img.shields.io/github/release/XOOPS/XoopsCore27.svg?style=flat)](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)
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
upgrade/upd_2.5.11-to-2.7.0/index.php (1)

11-11: ⚠️ Potential issue | 🟠 Major

Add 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 @link immediately 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 XoopsUpgrade

As per coding guidelines **/*.php: Class docblocks 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 `@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 | 🟠 Major

Re-check TinyMCE version policy before release (still appears behind current stable).

Line 106 keeps TinyMCE 7.7.2 as default and 5.10.9 as 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

📥 Commits

Reviewing files that changed from the base of the PR and between 42b223e and 91f62f6.

📒 Files selected for processing (8)
  • README.md
  • docs/changelog.270.txt
  • htdocs/install/include/install_tpl.php
  • htdocs/modules/debugbar/docs/changelog.txt
  • htdocs/modules/system/admin/modulesadmin/main.php
  • htdocs/modules/system/themes/modern/README.md
  • upgrade/upd_2.5.11-to-2.7.0/index.php
  • upgrade/upgrade_tpl.php

Comment thread htdocs/install/include/install_tpl.php Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread release_notes.txt
Comment on lines +15 to +17
In addition, this version includes numerous improvements and fixes, including:
- PHP 8.2+ compatibility
- MySQL 9.0 compatibility
Comment thread docs/README.txt Outdated
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.
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
release_notes.txt (2)

46-46: ⚠️ Potential issue | 🟡 Minor

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.

📝 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 | 🟡 Minor

Update contribution links to current repository.

These URLs should point to XOOPS/XoopsCore28 instead of the redirected XOOPS/XoopsCore27 to 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

📥 Commits

Reviewing files that changed from the base of the PR and between 91f62f6 and 854b51a.

📒 Files selected for processing (3)
  • docs/README.txt
  • htdocs/install/include/install_tpl.php
  • release_notes.txt

Comment thread docs/README.txt
Comment on lines +14 to +15
Bug reports and feature requests: https://github.com/XOOPS/XoopsCore27/issues
Patch and enhancement: https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

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.

Suggested change
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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines 439 to +441
### 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.
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🔵 Trivial

Improve 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 | 🟡 Minor

Update 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 | 🟡 Minor

Update release URL to current repository target.

This was already flagged earlier: the XoopsCore27 release 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

📥 Commits

Reviewing files that changed from the base of the PR and between 854b51a and f66763c.

📒 Files selected for processing (20)
  • docs/README.txt
  • docs/install.html
  • docs/lang_diff.txt
  • htdocs/class/logger/xoopslogger.php
  • htdocs/install/language/english/welcome.php
  • htdocs/modules/pm/xoops_version.php
  • htdocs/modules/profile/xoops_version.php
  • htdocs/themes/xtailwind/README.md
  • htdocs/themes/xtailwind/theme.ini
  • htdocs/themes/xtailwind2/README.md
  • htdocs/themes/xtailwind2/theme.ini
  • htdocs/xoops_lib/modules/protector/filters_disabled/postcommon_register_insert_js_check.php
  • htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php
  • htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysql.php
  • htdocs/xoops_lib/vendor/smarty/smarty/demo/plugins/resource.mysqls.php
  • htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/caching/caching-custom.md
  • htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/plugins/plugins-resources.md
  • htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/resources-custom.md
  • htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/template-resources.md
  • release_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

Comment thread htdocs/themes/xtailwind/README.md
$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());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

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:

  1. Contribute the change upstream to the Smarty project
  2. Use a patch management system (e.g., cweagans/composer-patches)
  3. 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());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

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:

  1. Contribute the change upstream to the Smarty project
  2. Use a patch management system (e.g., cweagans/composer-patches)
  3. 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());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

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:

  1. Contribute the change upstream to the Smarty project
  2. Use a patch management system (e.g., cweagans/composer-patches)
  3. 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());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

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:

  1. Contribute the change upstream to the Smarty project
  2. Use a patch management system (e.g., cweagans/composer-patches)
  3. 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());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

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:

  1. Contribute the change upstream to the Smarty project
  2. Use a patch management system (e.g., cweagans/composer-patches)
  3. 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());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

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:

  1. Contribute the change upstream to the Smarty project
  2. Use a patch management system (e.g., cweagans/composer-patches)
  3. 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());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

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:

  1. Contribute the change upstream to the Smarty project
  2. Use a patch management system (e.g., cweagans/composer-patches)
  3. 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.

Comment thread release_notes.txt
Comment on lines +1 to +3
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.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

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.

Comment thread release_notes.txt
Comment on lines +107 to +108
Bug reports and feature requests: https://github.com/XOOPS/XoopsCore27/issues
Patches and enhancements: https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 _blank links.
  • 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.

Comment thread docs/changelog.270.txt
Comment on lines +118 to +123
- 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
@mambax7 mambax7 merged commit 305f9a1 into XOOPS:master Apr 10, 2026
14 of 15 checks passed
@mambax7 mambax7 deleted the feature/upgrade_270 branch April 10, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants