Changelog
A complete history of features, fixes, and improvements across every release.
Version 3.7
3.7.1 1 Mar 2026
- [Internal] Updated Spanish (es-ES) translations to v3.7.0 (#81) (Thanks @alamarte)
- [Internal] Rebuilt documentation for v3.7.1 release
3.7.0 1 Mar 2026
- [Feature] Added Discover check that detects uninstalled extensions left on the filesystem, helping identify extensions that were unpacked but never fully installed (#78) (Thanks @alex-revo)
Version 3.6
3.6.3 1 Mar 2026
- [Fix] Make report export strings translatable (#77) (Thanks @alex-revo)
3.6.2 28 Feb 2026
- [Fix] Fixed fatal error when plugins are installed without the component (#73) (Thanks @Stevepic)
- [Feature] Site domain is now included in export filenames (#71) (Thanks @alex-revo)
- [Feature] Issues Only reports now hide the Good summary section and filter footer providers (#70) (Thanks @alex-revo)
- [Fix] Added missing translation for extensions.joomla_update_stability (#68) (Thanks @alex-revo)
- [Internal] "Generated by" footer now links to joomlahealthchecker.com instead of GitHub
- [Security] Updated docs dependencies to fix rollup, minimatch, and markdown-it vulnerabilities
3.6.1 27 Feb 2026
- [Feature] Added Russian (ru-RU) language translation for the module and fixed some existing translations (#69) (Thanks @alex-revo)
- [Fix] Fixed double-nested GitHub username links in changelog
3.6.0 27 Feb 2026
- [Feature] Added Joomla Update Minimum Stability check — warns when your update channel is set to a less stable release level (#67)
- [Fix] Resolved Joomla Update Channel detection issue (#65) (Thanks @alex-revo)
- [Feature] Added Russian (ru-RU) translation (#66) (Thanks @alex-revo)
Version 3.5
3.5.1 26 Feb 2026
- [Feature] Added action URLs to Extensions category health checks, enabling one-click navigation to resolve extension issues (#62) (Thanks @alex-revo)
3.5.0 26 Feb 2026
- [Feature] Added update channel health check — verifies Joomla is configured to receive updates from the expected release channel (#60) (Thanks @alex-revo)
- [Feature] Made Joomla version check channel-aware, so it validates against the correct version for your configured update channel (stable, testing, etc.) (#61)
- [Fix] Added missing title language key for the update channel check
Version 3.4
3.4.3 26 Feb 2026
- [Fix] Fixed 414 Request-URI Too Long error when exporting health check results by switching form submission from GET to POST (#58) (Thanks @alex-revo)
3.4.2 26 Feb 2026
- [Security] Fixed XSS vulnerabilities and cleaned up code inconsistencies (#57)
- [Internal] Updated documentation
3.4.1 26 Feb 2026
- [Feature] Export improvements (#44) (Thanks @alex-revo)
- [Internal] Moved changelog into VitePress documentation site
- [Internal] Fixed release script ordering
3.4.0 26 Feb 2026
- [Feature] Dedicated Export page with format selection and filter options, including an "issues only" mode to export only warnings and critical results (#50)
- [Feature] Markdown export format for sharing reports outside HTML (#53)
- [Feature] Per-check export visibility settings, allowing checks to be hidden from exports (#51)
- [Feature] BeforeReportExportDisplayEvent for plugins to inject custom banners into HTML exports (#52)
- [Feature] Health check descriptions are now translatable via Joomla's language system
- [Internal] Rebuilt documentation for v3.3.7
Version 3.3
3.3.6 26 Feb 2026
- [Feature] Added Spanish (es-ES) translation and translations documentation (#49) (Thanks @alamarte)
- [Fix] Fixed false positive detection with DJ-Catalog2 (#41) (Thanks @blondie63)
- [Internal] Added changelog generator script and changelog page
- [Internal] Added platform constraint for FrankenPHP container
3.3.5 26 Feb 2026
- [Fix] Menu Orphans check now lists the specific menu item titles that are broken, making it easier to find and fix orphaned links (#45)
- [Fix] Unused Modules check now mentions
{loadmodule}usage, so modules loaded via content plugins are accounted for (#47)
3.3.4 25 Feb 2026
- [Fix] Fixed false positive orphaned tables for extensions using non-standard SQL install file paths by parsing XML manifests to discover actual SQL locations (#41)
- [Fix] Fixed error when extension manifest lacks an
<install><sql>section
3.3.3 24 Feb 2026
- [Feature] Module Position check now lists orphaned modules in the warning description (#40)
3.3.2 22 Feb 2026
- [Feature] Added HealthStatus parameter to
getDocsUrl()method, enabling status-aware documentation links (#38) - [Fix] Better error handling for ajax errors
3.3.1 22 Feb 2026
- [Fix] HTML markup now renders correctly in HTML export reports instead of displaying raw tags (#36)
- [Feature] HTML export now includes a link to the documentation (#37)
- [Fix] Improved HTML export layout and formatting (#37)
3.3.0 17 Feb 2026
- [Feature] Added Core Directories health check — verifies essential Joomla directories like
/imagesexist and are accessible (#31) - [Feature] Added Index File health check — ensures
index.htmlsecurity files are present in key directories (#32) - [Internal] Standardized
die()statements todie;for consistency (#30) - [Internal] Removed duplicate docblocks from
performCheck()methods (#29)
Version 3.2
3.2.6 9 Feb 2026
- [Fix] Fixed dark mode button visibility for Joomla 5 (#27)
3.2.5 7 Feb 2026
- [Feature] Added Yootheme plugin to website homepage (#25)
- [Internal] Updated documentation and website
3.2.4 6 Feb 2026
- [Fix] Fixed spinner alignment in pending check badges (#24)
3.2.3 6 Feb 2026
- [Feature] Add Community Plugins page and toolbar button for discovering third-party extensions (PR #21)
- [Feature] Add YOOtheme Pro Health Checker plugin listing to community plugins (PR #23)
- [Feature] Add safe HTML formatting support for health check descriptions (#14)
- [Feature] Add docsUrl and actionUrl properties to health check results for linking to documentation and Joomla admin pages
- [Feature] Refactor action_url to support conditional display with visual buttons (#17, PR #19)
- [Feature] Add cache buster to AJAX requests to prevent stale cached responses (#9, PR #10)
- [Feature] Add installer scripts to clean up obsolete files on update (#4, PR #8)
- [Feature] Add LLMs.txt support for AI discoverability
- [Fix] Fix missing brute force protection translation key (#2, PR #3)
- [Fix] Fix PasswordExpiryCheck false positive on fresh Joomla installs
- [Fix] Fix ActionLogsEnabledCheck false negative and remove bogus UserActionsLogCheck (#5)
- [Fix] Fix Page Cache check to detect browser caching setting correctly
- [Fix] Fix PasswordPolicyCheck to read from com_users component params
- [Fix] Fix null pointer access in database health checks
- [Fix] Fix HealthCheckInterface documentation (PR #15)
- [Fix] Add missing translation for Media Manager Thumbnails check (#16)
- [Fix] Fix conflicting recommendations between health checks (#20)
- [Fix] Fix formatting recommendations (#13)
- [Fix] Add alt text to logo images for accessibility
- [Internal] Remove deprecated database.backup_age core check (#6, PR #7)
- [Internal] Remove redundant LegacyExtensionsCheck (#11, PR #12)
- [Internal] Remove bogus UserActionsLogCheck phantom check (#5)
- [Internal] Add defensive permission checks to MySitesGuru plugin event handlers
- [Internal] Comprehensive documentation rebuild and user guide updates
- [Internal] Numerous code quality improvements, unit tests, and CI/CD enhancements
Version 3.1
3.1.5 5 Feb 2026
- [Feature] Refactored action_url system to support conditional display with visual buttons, improving the user interface for actionable health check results (#17, #19)
- [Internal] Rebuilt documentation for v3.1.5 release
3.1.4 4 Feb 2026
- [Fix] Added missing translation for Media Manager Thumbnails check (#16)
- [Internal] Fixed HealthCheckInterface documentation (#15)
- [Internal] Updated test coverage badge in README
3.1.3 4 Feb 2026
- [Internal] Rebuilt documentation
3.1.2 4 Feb 2026
- [Security] Added defensive permission checks to MySitesGuru plugin event handlers to prevent unauthorized access
- [Internal] Updated documentation
3.1.1 30 Jan 2026
- [Feature] Added safe HTML formatting support for health check descriptions, allowing basic formatting like
<code>,<strong>, and<em>tags in check results (#14, #13) - [Internal] Build process now auto-commits minified assets during release
- [Internal] Removed deprecated waitlist functionality and D1 database bindings from website
- [Internal] Code style fixes and documentation updates
3.1.0 27 Jan 2026
- [Internal] Removed the Legacy Extensions health check, which was redundant and no longer performing reliably (#11)
Version 3.0
3.0.40 27 Jan 2026
- [Performance] Added cache buster to AJAX requests to prevent stale responses from browser or proxy caching (#9)
- [Internal] Rebuilt documentation
3.0.39 27 Jan 2026
- Maintenance release
3.0.38 27 Jan 2026
- [Fix] Removed deprecated
database.backup_agecheck that relied on the obsolete*_ak_statstable (#6) - [Fix] Added installer scripts to clean up obsolete files when updating to a new version, including proper removal of
security.user_actions_log(#4, #5) - [Internal] Release notes now link to related GitHub issues, with automatic comments posted on closed issues
3.0.37 27 Jan 2026
- [Fix] #2 Added missing translation key for brute force protection check
- [Internal] Consolidated website build scripts
- [Internal] Updated documentation
3.0.36 25 Jan 2026
- [Fix] Fixed PasswordExpiryCheck false positive on fresh Joomla installations
- [Fix] Fixed ActionLogsEnabledCheck false negative detection
- [Fix] Fixed Page Cache check to properly detect browser caching configuration
- [Fix] Fixed PasswordPolicyCheck to correctly read settings from com_users component params
- [Fix] Removed bogus UserActionsLogCheck that was reporting incorrect results
- [Feature] Added docsUrl and actionUrl properties to health check results, allowing checks to link to documentation and remediation actions
- [Feature] Added SEO meta tags to documentation pages
- [Fix] Added alt text to provider and category logo images for improved accessibility
- [Fix] Added alt text to dynamically rendered logo images
- [Internal] Documented getDocsUrl() and getActionUrl() methods in developer API reference
- [Internal] Updated documentation to reflect 129 checks (down from 130 after UserActionsLogCheck removal)
- [Internal] Changed GitHub toolbar button to link to CONTRIBUTING.md
3.0.35 23 Jan 2026
- [Fix] Fixed UnusedModulesCheck displaying object data instead of module names in warning messages
- [Feature] Added logo support for Akeeba Backup, Admin Tools, and mySites.guru provider plugins
- [Internal] Documentation and website updates
3.0.34 23 Jan 2026
- [Internal] Improved XML file formatting for better readability
- [Fix] Fixed broken documentation links (Thanks Marc)
- [Internal] Website updates and section simplification
- [Internal] Documentation rebuild
3.0.33 23 Jan 2026
- [Fix] Fixed detection of plugins using filesystem check rather than database query
- [Security] Removed debug code from source files
- [Internal] Removed hard-coded statistics
- [Internal] Improved code quality and expanded unit test coverage
- [Internal] Documentation rebuild
3.0.32 23 Jan 2026
- [Fix] Fixed HttpFactory::getHttp method for improved HTTP client handling
- [Fix] Added missing translation strings
- [Internal] Deprecated curl_close() call removed for PHP 8.0+ compatibility
- [Internal] Code quality improvements via Rector
- [Internal] Expanded unit test coverage with HTTP client mocking
- [Internal] Documentation rebuild
3.0.31 23 Jan 2026
- Maintenance release
3.0.30 23 Jan 2026
- [Internal] Fixed release script URL generation to correctly reference download package filenames
- [Internal] Updated documentation and website files
3.0.29 23 Jan 2026
- Maintenance release