<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michael Beck</title>
    <description>The latest articles on DEV Community by Michael Beck (@mambax7).</description>
    <link>https://dev.to/mambax7</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F662159%2F971e5f63-0943-4a30-8c52-22cf030acc05.jpeg</url>
      <title>DEV Community: Michael Beck</title>
      <link>https://dev.to/mambax7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mambax7"/>
    <language>en</language>
    <item>
      <title>XOOPS Debugbar 1.3.3</title>
      <dc:creator>Michael Beck</dc:creator>
      <pubDate>Wed, 29 Jul 2026 06:06:53 +0000</pubDate>
      <link>https://dev.to/mambax7/xoops-debugbar-133-1l2o</link>
      <guid>https://dev.to/mambax7/xoops-debugbar-133-1l2o</guid>
      <description>&lt;h3&gt;
  
  
  Smarter Diagnostics, Safer Debugging, Faster Development
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;&lt;a href="https://xoops.org/" rel="noopener noreferrer"&gt;XOOPS&lt;/a&gt;&lt;/strong&gt; development experience just took another big step forward. &lt;strong&gt;XOOPS DebugBar 1.3.3&lt;/strong&gt; is now available for &lt;a href="https://github.com/XOOPS/XoopsCore27/releases" rel="noopener noreferrer"&gt;XOOPS 2.7.1+&lt;/a&gt;, bringing developers and site administrators a more powerful, polished, and security-conscious way to understand what is happening inside their websites.&lt;/p&gt;

&lt;p&gt;Built for PHP 8.2 and newer, &lt;strong&gt;XOOPS DebugBar&lt;/strong&gt; adds an administrator-only diagnostics toolbar to rendered pages and pairs it with protected administration screens for performance analytics, logs, system diagnostics, and Xdebug profiles. The result is a practical command center that helps developers spot slow requests, repeated queries, configuration issues, and application errors without losing sight of security or usability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DOWNLOAD:&lt;/strong&gt; &lt;a href="https://github.com/XoopsModules27x/debugbar/releases/" rel="noopener noreferrer"&gt;https://github.com/XoopsModules27x/debugbar/releases/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Turn performance data into action
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;DebugBar 1.3.3&lt;/strong&gt; makes it easier to move from “this page feels slow” to a useful diagnosis. Its Analytics area brings together stored request profiles, slow URLs, repeated-query and N+1 candidates, per-module comparisons, performance-budget violations, flight-recorder snapshots, OPcache health, and available Xdebug profiles.&lt;/p&gt;

&lt;p&gt;Teams can define budgets for slow requests, queries, resource use, and XOOPS bootstrap time, then use the collected evidence to focus optimization work where it matters most. Query logging modes and slow-query highlighting keep database investigations targeted, while the signed, read-only EXPLAIN workflow helps administrators inspect supported SELECT queries safely.&lt;/p&gt;

&lt;h3&gt;
  
  
  A clearer view of the whole XOOPS request
&lt;/h3&gt;

&lt;p&gt;The browser toolbar puts essential request information close at hand, including database queries, timers, blocks, errors, Smarty data, and included files. A new practical guide helps developers and webmasters get productive quickly, while extension documentation explains how module authors can add their own instrumentation and collectors.&lt;/p&gt;

&lt;p&gt;Optional integrations expand the toolkit without turning them into requirements. Monolog can provide structured file logging, Ray can receive forwarded diagnostics when available, Xdebug can create one-shot profiles, and OPcache statistics can reveal server health. xWhoops and Tracy remain capability-detected and optional, so their absence will not prevent DebugBar from loading.&lt;/p&gt;

&lt;h3&gt;
  
  
  Improved Security
&lt;/h3&gt;

&lt;p&gt;Powerful diagnostics must be handled carefully, and security is a central theme of the 1.3.3 release. Toolbar output is restricted to authenticated administrators, administrative changes use XOOPS CSRF protection, and diagnostic values pass through bounded sanitization and redaction.&lt;/p&gt;

&lt;p&gt;The release also introduces a dedicated protected signing key for EXPLAIN requests, stricter validation that accepts only a single read-only SELECT statement, safer rendering for dumped values and email previews, and allowlisted access to logs, profiles, and flight-recorder files. If an optional capability or required security resource is unavailable, DebugBar is designed to fail safely.&lt;/p&gt;

&lt;h3&gt;
  
  
  More dependable, more polished
&lt;/h3&gt;

&lt;p&gt;Version 1.3.3 includes a wide range of fixes and refinements across AJAX behavior, editor links, mail previews, Server-Timing headers, dark-mode syntax highlighting, profile-table detection, Monolog storage fallback, and browser widgets. It also improves the accuracy of bootstrap measurements and repeated-query thresholds, while keeping collection-heavy features disabled or bounded by sensible defaults.&lt;/p&gt;

&lt;p&gt;The module supports XOOPS 2.7.1 or newer and PHP 8.2 or newer, with compatibility coverage through PHP 8.5. Existing users should run the XOOPS module update after installing version 1.3.3 so the new preferences, protected EXPLAIN key, and refreshed browser assets are applied.&lt;/p&gt;

&lt;p&gt;Whether you are building a module, tracking down an elusive error, or tuning a busy XOOPS site, DebugBar 1.3.3 gives you better evidence, faster answers, and greater confidence. Install or update the module, enable XOOPS Debug and the DebugBar toolbar for an administrator account, and start exploring what your site has been trying to tell you.&lt;/p&gt;

</description>
      <category>php</category>
      <category>xoops</category>
      <category>cms</category>
      <category>debugging</category>
    </item>
    <item>
      <title>XOOPS 2.7.2 Final — safer upgrades, stronger foundations</title>
      <dc:creator>Michael Beck</dc:creator>
      <pubDate>Wed, 29 Jul 2026 05:55:16 +0000</pubDate>
      <link>https://dev.to/mambax7/xoops-272-final-safer-upgrades-stronger-foundations-26od</link>
      <guid>https://dev.to/mambax7/xoops-272-final-safer-upgrades-stronger-foundations-26od</guid>
      <description>&lt;p&gt;The XOOPS Development Team is pleased to announce the release of &lt;strong&gt;XOOPS 2.7.2 Final&lt;/strong&gt;. This maintenance release builds on XOOPS 2.7.0 with another security-hardening pass, more reliable upgrade tooling, form and theme improvements, and refreshed dependencies for current PHP environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download XOOPS 2.7.2:&lt;/strong&gt; &lt;a href="https://github.com/XOOPS/XoopsCore27/releases" rel="noopener noreferrer"&gt;https://github.com/XOOPS/XoopsCore27/releases&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Highlights
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Security and upgrade hardening
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The upgrade wizard now requires administrator-group membership, and the apply-patch path requires a valid security token.&lt;/li&gt;
&lt;li&gt;Upgrade SQL dumps are stored outside the public web root and their download path is access-controlled.&lt;/li&gt;
&lt;li&gt;SQL identifier and ORDER BY handling was tightened across Criteria, kernel blocks, and system administration.&lt;/li&gt;
&lt;li&gt;Protector's database wrapper now inspects queryF() calls, language-file loading is constrained to safe basenames, and module-administration output is escaped more consistently.&lt;/li&gt;
&lt;li&gt;The tell-a-friend form now uses CAPTCHA and persistent per-IP rate limiting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These changes continue the secure-by-default work begun in XOOPS 2.7.0 while preserving compatibility with existing modules.&lt;/p&gt;

&lt;h4&gt;
  
  
  Forms, templates, and themes
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;XoopsFormTabTray provides a native tabbed form container with theme-aware renderers.&lt;/li&gt;
&lt;li&gt;XoopsFormContainerInterface formalises the contract shared by form containers.&lt;/li&gt;
&lt;li&gt;SmartyExtensions are registered across the supplied themes.&lt;/li&gt;
&lt;li&gt;xBootstrap5, xSwatch5, and xTailwind2 include dark-mode support.&lt;/li&gt;
&lt;li&gt;TinyMCE 7 language mapping now preserves locale casing such as zh_TW and resolves the correct language-pack filename.&lt;/li&gt;
&lt;li&gt;Cloned blocks retain their module binding and validated callback fields.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Refreshed dependencies
&lt;/h4&gt;

&lt;p&gt;The bundled dependency set has been refreshed, including php-debugbar 3.8.0, Smarty 4.5.7, Webmozart Assert 2.4.1, and Symfony VarDumper and YAML 7.4.14. XOOPS Helpers and TCPDF are now included directly, and SmartyExtensions was updated for QR-code support.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ozg9ov8pnktt1vt0f56.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ozg9ov8pnktt1vt0f56.jpg" alt="XOOPS Debugbar" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Debugbar is now a standalone module
&lt;/h4&gt;

&lt;p&gt;The Debugbar module is no longer bundled in the XOOPS Core download. Moving the module to its &lt;a href="https://github.com/XoopsModules27x/debugbar" rel="noopener noreferrer"&gt;own repository&lt;/a&gt; lets it publish fixes and improvements without waiting for a core release.&lt;/p&gt;

&lt;p&gt;The underlying php-debugbar/php-debugbar library remains bundled in xoops_lib, so users do not need to run a separate Composer installation.&lt;/p&gt;

&lt;p&gt;To install Debugbar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download the current release from the &lt;a href="https://github.com/XoopsModules27x/debugbar" rel="noopener noreferrer"&gt;XOOPS Debugbar releases page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Copy the included debugbar directory to htdocs/modules/debugbar.&lt;/li&gt;
&lt;li&gt;Install the module from System Admin → Modules.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If Debugbar is already installed, replace its module files with the standalone release and run Update in System Admin. Do not uninstall it first unless you intentionally want to remove its saved settings and profiles.&lt;/p&gt;

&lt;p&gt;An overlay upgrade does not delete the old htdocs/modules/debugbar directory. Existing sites must replace those files explicitly so they do not continue running the older copy that was previously bundled with core.&lt;/p&gt;

&lt;p&gt;The core Monolog adapter now exposes isActive() and accepts a fourth constructor argument for the default file handler's minimum log level, matching the standalone module's integration contract. It also supports Monolog 2 and 3 level handling and bounds or redacts sensitive file-log context.&lt;/p&gt;

&lt;h2&gt;
  
  
  Upgrading
&lt;/h2&gt;

&lt;h3&gt;
  
  
  From XOOPS 2.7.0
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Back up the database and site files.&lt;/li&gt;
&lt;li&gt;Test the upgrade on a staging copy first.&lt;/li&gt;
&lt;li&gt;Turn the site off from System Options → Preferences → General Settings.&lt;/li&gt;
&lt;li&gt;Copy the new htdocs/ files over the web root, including the updated xoops_lib and xoops_data contents for relocated directories.&lt;/li&gt;
&lt;li&gt;Copy /upgrade/ to the XOOPS root and run the upgrade wizard.&lt;/li&gt;
&lt;li&gt;Update the system, pm, profile, and protector modules from System Admin → Modules.&lt;/li&gt;
&lt;li&gt;Restore or update the standalone Debugbar module if the site uses it.&lt;/li&gt;
&lt;li&gt;Turn the site back on and review the logs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  From XOOPS 2.5.x
&lt;/h3&gt;

&lt;p&gt;Sites older than XOOPS 2.5.11 should upgrade to 2.5.11 first. Run /upgrade/preflight.php before copying the 2.7.2 files; it identifies Smarty 4 template incompatibilities and other items that need attention before the main upgrade.&lt;/p&gt;

&lt;p&gt;Full installation and upgrade documentation: &lt;a href="https://xoops.github.io/xoops-docs/" rel="noopener noreferrer"&gt;https://xoops.github.io/xoops-docs/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  System requirements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;PHP — &amp;gt;= 8.2.0; PHP 8.4 or 8.5 recommended&lt;/li&gt;
&lt;li&gt;MySQL / MariaDB — MySQL &amp;gt;= 5.7.8 or MariaDB &amp;gt;= 10.5; a supported MySQL 8.x or MariaDB LTS release is recommended&lt;/li&gt;
&lt;li&gt;Web server — Apache 2.4+ or nginx&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2j6eiazi9v2t5p0fnf0g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2j6eiazi9v2t5p0fnf0g.jpg" alt="XOOPS Languages" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Translations — 38 languages and counting
&lt;/h3&gt;

&lt;p&gt;Beyond the English source, XOOPS is maintained in 37 community translations under the XoopsLanguages organization. Language packs are released independently; the current release page for every language is listed in docs/TRANSLATIONS.md.&lt;/p&gt;

&lt;p&gt;Please help review existing translations, report mistakes, or add a missing language. Every correction helps the whole community.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reporting issues
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bug reports: &lt;a href="https://github.com/XOOPS/XoopsCore27/issues" rel="noopener noreferrer"&gt;https://github.com/XOOPS/XoopsCore27/issues&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Support forums: &lt;a href="https://xoops.org/modules/newbb/" rel="noopener noreferrer"&gt;https://xoops.org/modules/newbb/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Contributing: &lt;a href="https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md" rel="noopener noreferrer"&gt;https://github.com/XOOPS/XoopsCore27/blob/master/CONTRIBUTING.md&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Download XOOPS 2.7.2:&lt;/strong&gt; &lt;a href="https://github.com/XOOPS/XoopsCore27/releases" rel="noopener noreferrer"&gt;https://github.com/XOOPS/XoopsCore27/releases&lt;/a&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>xoops</category>
      <category>cms</category>
      <category>news</category>
    </item>
  </channel>
</rss>
