Skip to content

Releases: akeeba/panopticon

v.2.0.0

30 Mar 09:40
2.0.0
fbf23b2

Choose a tag to compare

This is a major feature release.

This release introduces user self-registration, Web Push notifications, core file integrity checks for Joomla sites, remote mass extension installation, PII self-management, a wealth of new CLI commands, and periodic auto-refresh for the sites overview and site information pages. It also includes important compatibility, and bug fixes.

Important

The minimum PHP version has been raised to PHP 8.3.0.

🖥️ System Requirements

  • PHP 8.3, 8.4, or 8.5. We recommend using PHP 8.4.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. We recommend using MariaDB 12.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute, and an execution time of at least 30 seconds (up to 180 seconds are strongly preferred).

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

✨ Highlights

User Self-Registration. Users can now register for an account on your Panopticon installation. Supports multiple registration modes (immediate, email activation, admin approval), CAPTCHA providers (ALTCHA, reCAPTCHA Invisible, hCaptcha), and password complexity validation.

PII Self-Management. Users can now manage their personal data directly: view legal policies, manage consent, export their data, and delete their own account. Helps you comply with GDPR and similar privacy regulations.

Web Push Notifications. Receive instant browser notifications for important events alongside email. Web Push works as a complementary channel, notifying you of CMS updates, backup results, security issues, and more without checking your inbox.

Core File Integrity Check. Verify that your Joomla site's core files haven't been tampered with by comparing SHA-256 checksums against known-good values. Detects core hacks, failed updates, and potentially compromised files. Schedulable for automatic periodic checks.

Remote Extension Installation. Install extensions across multiple sites at once. Select sites, provide an extension download URL or upload a package file, and Panopticon installs it on all selected sites in the background. Receive a summary email and push notification when complete, with per-site success/failure details.

CLI Commands for Administration. New command-line tools for managing groups, mail templates, tasks, and backup/scanner schedules, making it easier to automate and script your Panopticon administration.

Periodic Auto-Refresh. The sites overview table and the site information page now automatically refresh at a configurable interval. Keep a monitoring dashboard up to date on a wall display or secondary screen without manually reloading the page.

📋 CHANGELOG

  • ✨ User self-registration [gh-726]
  • ✨ PII self-management: legal policies, user consent, data export, and account self-deletion.
  • ✨ Web Push notifications as a complementary channel alongside email sending.
  • ✨ Check the integrity of Joomla core files against known-good checksums [gh-20]
  • ✨ Remote / mass extension installation across multiple sites [gh-346]
  • ✨ reCAPTCHA Invisible and hCaptcha CAPTCHA providers for user registration
  • ✨ Administrator email notification when a new user registration awaits approval.
  • ✨ Password complexity validation for user registration.
  • ✨ CLI commands for managing groups, mail templates, tasks, and backup/scanner schedules.
  • ✨ Links to the Connection Troubleshooting wiki page.
  • ✨ Periodic auto-refresh of the sites overview table.
  • ✨ Periodic auto-refresh of the site information page.
  • ✏️ PHP 8.5 compatibility.
  • ✏️ Sort task type filter options alphabetically by translated name.
  • ✏️ Docker image updated to PHP 8.4 [gh-957]
  • 🐞 [LOW] Missing ACL entry for the site sections auto-refresh task.
  • 🐞 [LOW] PHP deprecation notice in session encryption when no secret is configured.
  • 🐞 [LOW] Cannot save the "Accurate PHP-CLI path" setting.
  • 🐞 [MEDIUM] Missing PHP expiration dates can cause a fatal error displaying a site.
  • 🐞 [MEDIUM] Invalid dates (e.g. in backups) can cause a fatal error.
  • 🐞 [HIGH] Manually enqueueing a WordPress plugin update in the UI does not schedule the plugins update task for the site.
  • 🐞 [HIGH] Unpublishing a site does not disable its scheduled tasks; re-publishing restores them.

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix

v.1.3.2

05 May 08:14
1.3.2
0498901

Choose a tag to compare

This version is a maintenance release.

The focus of this release has been adding WordPress sites to Panopticon. This is now working far more reliably, allowing us to now consider support for WordPress a stable feature.

🖥️ System Requirements

  • PHP 8.1, 8.2, 8.3, or 8.4. PHP 8.3 recommended.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute, and an execution time of at least 30 seconds (up to 180 seconds are strongly preferred).

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

📋 CHANGELOG

  • ✨ Tips to connect Akeeba Backup Professional for WordPress to Panopticon
  • ✏️ More verbose logging when enqueueing emails.
  • ✏️ Improve adding WordPress sites

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix

v.1.3.1

03 Dec 15:46
1.3.1
0201878

Choose a tag to compare

This version is a maintenance and bugfix release.

Better worded messages when you have Akeeba Backup Core instead of Professional. The previous message would have you believe that Panopticon thought you didn't have Akeeba Backup installed at all. It now makes it clear that the Core edition was found, but cannot be used with Panopticon.

Make accurate PHP CLI path detection optional. The accurate PHP CLI detection may not work with some hosts (e.g. IONOS) who seem to block your IP address because of Panopticon trying to verify the PHP-CLI executable. Confusingly, the support of some of the affected hosts will tell you it's because of “too many requests” which has nothing to do with the problem, really. If you get that meaningless reply from your host's support, head to the the system configuration page and disable accurate PHP CLI detection.

🖥️ System Requirements

  • PHP 8.1, 8.2, or 8.3. PHP 8.3 recommended. PHP 8.4 support is considered experimental.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute, and an execution time of at least 30 seconds (up to 180 seconds is strongly preferred).
  • Obviously, the server it runs on must be connected to the Internet, so it can communicate with your sites.

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

📋 CHANGELOG

  • ✨ Better worded messages when you have Akeeba Backup Core instead of Professional
  • ✏️ Make accurate PHP CLI path detection optional
  • 🐞 CRON jobs didn't work correctly in the Docker image [gh-856]
  • 🐞 Cannot set up update preferences for Joomla! extensions whose name does nor conform to Joomla's standards (even though Joomla allows them to be installed, because it fails to enforce its own naming standards!)
  • 🐞 Site Information doesn't show extension errors
  • 🐞 PHP error trying to log in with a username that doesn't exist
  • 🐞 Logs and Tasks views: warning if there's a log/task belonging to a deleted site
  • 🐞 If an extension's short name starts with the character a, that letter is cut off

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix

1.3.0

05 Nov 13:00
1.3.0
d85ef62

Choose a tag to compare

This version is a maintenance release. We implemented some new features to make your lives easier.

Domain registration and expiration warnings. You can now see when the domain itself was registered, and when it's expiring. You can receive an email notification before the expiration of your domain name, so you have enough time to renew it.

Force MFA for specific user groups, superusers, or administrators [gh-723]. You can tell Panopticon to enforce use of Multi-factor Authentication for Superusers, Administrators, or specific user groups. Users with forced MFA who have not yet set up MFA on their accounts will be taken to a captive page which requires them to set up MFA before being allowed to proceed any further.

Option to treat MFA failures as login failures [gh-723]. You now have the option to treat Multi-factor Authentication failures as login failures for the purposes of automated IP blocking. This ensures that a malicious actor who has subverted the login information of a user will be locked out after a number of failed MFA attempts, preventing them from brute-forcing a weaker MFA method (e.g. six digit authenticator codes).

Enforce a maximum number of MFA attempts [gh-723]. You can now set a limit on how many times a user can fail to provide a valid MFA method. Once that limit is reached the user is logged out. This ensures that a malicious actor who has subverted the login information of a user will not be able to brute force their way through a weaker MFA method (e.g. six digit authenticator codes) by adding this hurdle which greatly increases the necessary time and complexity of an attack to something impractical.

Accurate PHP CLI path in the CRON job setup page. In the past we were using the generic placeholder /path/to/php to indicate that you needed to replace this with the path to PHP CLI given to you by your host. Unfortunately, many hosts have under-trained first level support staff which can't provide this information, and does not understand the difference between PHP CLI and PHP CGI. We have now added code which tries to identify the PHP CLI binary automatically using our experience of where these files are usually to be found on a very large sample of live and local server environments across all major operating systems (Windows, Linux, macOS, FreeBSD etc.). In most cases, the command line you are given will be one you can just copy and paste into your host's CRON management page without having to do any thinking, or contacting your host. Simplicity, yay!

Improve update installation [gh-803]. Installing updates will now run opcache_invalidate() against the installed .php files to let servers with very conservative OPcache settings to “see” the newly installed files. The tmp/compiled_templates folder is removed at the end of the update so that any updated Blade templates will be forcibly recompiled. These changes will only apply for the NEXT update, after this version is installed. Remember: it's always the previous version's update code which installs an update.

🖥️ System Requirements

  • PHP 8.1, 8.2, or 8.3. PHP 8.3 recommended. Experimental support for the upcoming PHP 8.4 release.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute, and an execution time of at least 30 seconds (up to 180 seconds is strongly preferred).
  • Obviously, the server it runs on must be connected to the Internet, so it can communicate with your sites.

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

📋 CHANGELOG

  • ✨ Domain registration and expiration warnings
  • ✨ Force MFA for specific user groups, superusers, or administrators [gh-723]
  • ✨ Option to treat MFA failures as login failures [gh-723]
  • ✨ Enforce a maximum number of MFA attempts [gh-723]
  • ✨ Accurate PHP CLI path in the CRON job setup page
  • ✨ Improve update installation [gh-803]
  • 🐞 Cannot connect to really old WordPress installations (WordPress 5.5 and earlier)
  • 🐞 Cannot connect to old Akeeba Backup for WordPress (version 7)
  • 🐞 PHP error when WordPress fails to provide version information
  • 🐞 Connection Doctor causes misleading reports on WordPress [gh-807]

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix

v.1.2.2

26 Aug 10:20
1.2.2
27746c5

Choose a tag to compare

This version is a maintenance release. We implemented some new features to make your lives easier.

Optional environment variables-only configuration of containerized Panopticon [gh-696]. You can now configure a containerized Panopticon installation (e.g. one running in Docker) using nothing but environment variables.

Clear the cache when relinking a site to Akeeba Backup. Not strictly necessary, but it should alleviate the need to click on the refresh button after relinking to Akeeba Backup before you see an up-to-date list of backup records for that site.

Do not log CMS Update Found more than once per version. The site actions report would log the CMS update found every time Panopticon checked for an update. This was rather obnoxious and would effectively make useful information hard to find among the endless spam of that message if updates to a site were not installed right away.

🖥️ System Requirements

  • PHP 8.1, 8.2, or 8.3. PHP 8.3 recommended.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute, and an execution time of at least 30 seconds (up to 180 seconds is strongly preferred).
  • Obviously, the server it runs on must be connected to the Internet, so it can communicate with your sites.

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

📋 CHANGELOG

  • ✨ Optional environment variables-only configuration of containerized Panopticon [gh-696]
  • ✨ Clear the cache when relinking a site to Akeeba Backup
  • ✏️ Do not log CMS Update Found more than once per version
  • 🐞 Repeated emails for WordPress plugin updates
  • 🐞 Wrong lang string used in WordPress plugin/theme update emails
  • 🐞 PHP warnings running Connection Doctor on WordPress sites
  • 🐞 Wrong "email" label on Backup options [gh-771]

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix

v.1.2.1

23 Jul 17:04
1.2.1
25c414a

Choose a tag to compare

Welcome to version 1.2! It took a while, but we have implemented a number of major new features and improvements.

WordPress support. You can now monitor WordPress sites. This feature has only been tested with WordPress 5.0 or later, with a few sites only. Please, treat it as a “beta” feature.

Much improved Docker support. You can now use a .env.docker file to configure the Docker instance instead of having to hack through the docker-compose.yml file. The dockerizer instance can have more than one CRON jobs running; this is user-configurable. You can upgrade the Docker instance without losing your settings just by updating the image and restarting the container. For this reason, the integrated Panopticon updater is disabled when running under Docker.

Translatable dates. Previously, you could change the date format, but not the language the dates where in. For example, you'd get "Monday, July 1, 2024" even when your language was set to, say, Greek. Now, the day and month names are properly translatable.

Load TinyMCE translations. TinyMCE, the editor used for mail templates and site notes, comes with its own interface translations. Previously, only the English language was loaded. Now, we check if there's a translation which (kinda) matches your selected language and load it as well. Please note that TinyMCE's translations do not have a one-to-one mapping to Panopticon languages. We try to automatically find the best match. If this is not possible, or if the translation is partial, we fall back to English.

Batch processing sites. You can now select multiple sites to assign them and/or remove them from groups.

Control email sending for scheduled backups [gh-712]. You can choose whether an email will be sent at the end of successful or failed scheduled backup.

Auto-ban IPs after many failed login attempts. Panopticon can temporarily block IP addresses if many failed login attempts have originated from them. This feature is enabled by default, but it can be turned off if it's a problem for you or your clients. The number of failed logins, the period they have to take place in, and the amount of time they will remain blocked is user-configurable.

Check passwords against Have I Been Pwned [gh-728]. Panopticon will check new passwords against the third party Have I Been Pwned service. If the password is found in online password leaks the user will be asked to use a different password. This feature can be disabled in the System Configuration, however we recommend that you always keep this enabled for maximum protection of your monitored sites.

Session data contents are now encrypted at rest. Panopticon uses PHP's default session save path. This means the session data stored is typically placed in a world-readable directory managed by your host along with other sites under the same account or, worse, server. This is bad because potentially privileged information is stored in plaintext where they can easily be found. The contents of the session files are now encrypted with a key generated randomly for each Panopticon installation.

Session improvements. There's an option to force Panopticon to use the tmp/session folder under its root as the PHP session save path, regardless of whether your host offers a writeable PHP session path already. This addresses the issue of getting logged out of Panopticon because PHP's session garbage collection reaped your session files before your session actually expired. Furthermore, we took a few extra security steps to make Panopticon more resistant to session hijacking, session fixing, and other similar session-related security issues.

🖥️ System Requirements

  • PHP 8.1, 8.2, or 8.3. PHP 8.3 recommended.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute, and an execution time of at least 30 seconds (up to 180 seconds is strongly preferred).
  • Obviously, the server it runs on must be connected to the Internet, so it can communicate with your sites.

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

📋 CHANGELOG

  • ‼️ Fixing a chicken and egg issue not allowing the update to proceed correctly
  • ✨ WordPress support [gh-38]
  • ✨ Much improved Docker support [gh-697]
  • ✨ Translatable dates
  • ✨ Load TinyMCE translations
  • ✨ Batch processing sites
  • ✨ Control email sending for scheduled backups [gh-712]
  • ✨ Auto-ban IPs after many failed login attempts
  • ✨ Check passwords against HIBP [gh-728]
  • ✏️ System Configuration uses more Show On tricks to show/hide relevant settings
  • ✏️ Expose the Avatars setting in System Configuration [gh-729]
  • ✏️ Session data contents are now encrypted at rest
  • ✏️ Session improvements
  • ✏️ Expose the Behind Load Balancer configuration setting
  • ✏️ Do not send a failure email if a site queued for update is already updated, or disabled
  • 🐞 🔺 Some tasks would disable MySQL autocommit without restoring it, leading to weird issues
  • 🐞 ➖ MaxExec task throws fatal exception when tasks are executed over the web
  • 🐞 🔻 Wrong message about not having Akeeba Backup installed shown when adding a new site [gh-661]
  • 🐞 🔻 Wrong language in mail Blade templates [gh-658]
  • 🐞 🔻 Groups for disabled sites may not be displayed in the Sites admin page
  • 🐞 🔻 Connection doctor: sometimes ends up with an error page instead of showing what is going on with the connection
  • 🐞 🔻 High CPU usage warning when the server does not report CPU usage at all
  • 🐞 🔻 Update failure email missing site name if site is already up-to-date
  • 🐞 🔻 Update Director would claim a site is enqueued for updates when it's not
  • 🐞 🔻 Per-language overrides of extension update emails might not have an effect

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix (🔺 High priority, ➖ Medium priority, 🔻 Low priority)

v.1.2.0

23 Jul 13:05
1.2.0
c670177

Choose a tag to compare

Welcome to version 1.2! It took a while, but we have implemented a number of major new features and improvements.

WordPress support. You can now monitor WordPress sites. This feature has only been tested with WordPress 5.0 or later, with a few sites only. Please, treat it as a “beta” feature.

Much improved Docker support. You can now use a .env.docker file to configure the Docker instance instead of having to hack through the docker-compose.yml file. The dockerizer instance can have more than one CRON jobs running; this is user-configurable. You can upgrade the Docker instance without losing your settings just by updating the image and restarting the container. For this reason, the integrated Panopticon updater is disabled when running under Docker.

Translatable dates. Previously, you could change the date format, but not the language the dates where in. For example, you'd get "Monday, July 1, 2024" even when your language was set to, say, Greek. Now, the day and month names are properly translatable.

Load TinyMCE translations. TinyMCE, the editor used for mail templates and site notes, comes with its own interface translations. Previously, only the English language was loaded. Now, we check if there's a translation which (kinda) matches your selected language and load it as well. Please note that TinyMCE's translations do not have a one-to-one mapping to Panopticon languages. We try to automatically find the best match. If this is not possible, or if the translation is partial, we fall back to English.

Batch processing sites. You can now select multiple sites to assign them and/or remove them from groups.

Control email sending for scheduled backups [gh-712]. You can choose whether an email will be sent at the end of successful or failed scheduled backup.

Auto-ban IPs after many failed login attempts. Panopticon can temporarily block IP addresses if many failed login attempts have originated from them. This feature is enabled by default, but it can be turned off if it's a problem for you or your clients. The number of failed logins, the period they have to take place in, and the amount of time they will remain blocked is user-configurable.

Check passwords against Have I Been Pwned [gh-728]. Panopticon will check new passwords against the third party Have I Been Pwned service. If the password is found in online password leaks the user will be asked to use a different password. This feature can be disabled in the System Configuration, however we recommend that you always keep this enabled for maximum protection of your monitored sites.

Session data contents are now encrypted at rest. Panopticon uses PHP's default session save path. This means the session data stored is typically placed in a world-readable directory managed by your host along with other sites under the same account or, worse, server. This is bad because potentially privileged information is stored in plaintext where they can easily be found. The contents of the session files are now encrypted with a key generated randomly for each Panopticon installation.

Session improvements. There's an option to force Panopticon to use the tmp/session folder under its root as the PHP session save path, regardless of whether your host offers a writeable PHP session path already. This addresses the issue of getting logged out of Panopticon because PHP's session garbage collection reaped your session files before your session actually expired. Furthermore, we took a few extra security steps to make Panopticon more resistant to session hijacking, session fixing, and other similar session-related security issues.

🖥️ System Requirements

  • PHP 8.1, 8.2, or 8.3. PHP 8.3 recommended.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute, and an execution time of at least 30 seconds (up to 180 seconds is strongly preferred).
  • Obviously, the server it runs on must be connected to the Internet, so it can communicate with your sites.

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

📋 CHANGELOG

  • ✨ WordPress support [gh-38]
  • ✨ Much improved Docker support [gh-697]
  • ✨ Translatable dates
  • ✨ Load TinyMCE translations
  • ✨ Batch processing sites
  • ✨ Control email sending for scheduled backups [gh-712]
  • ✨ Auto-ban IPs after many failed login attempts
  • ✨ Check passwords against HIBP [gh-728]
  • ✏️ System Configuration uses more Show On tricks to show/hide relevant settings
  • ✏️ Expose the Avatars setting in System Configuration [gh-729]
  • ✏️ Session data contents are now encrypted at rest
  • ✏️ Session improvements
  • ✏️ Expose the Behind Load Balancer configuration setting
  • ✏️ Do not send a failure email if a site queued for update is already updated, or disabled
  • 🐞 🔺 Some tasks would disable MySQL autocommit without restoring it, leading to weird issues
  • 🐞 ➖ MaxExec task throws fatal exception when tasks are executed over the web
  • 🐞 🔻 Wrong message about not having Akeeba Backup installed shown when adding a new site [gh-661]
  • 🐞 🔻 Wrong language in mail Blade templates [gh-658]
  • 🐞 🔻 Groups for disabled sites may not be displayed in the Sites admin page
  • 🐞 🔻 Connection doctor: sometimes ends up with an error page instead of showing what is going on with the connection
  • 🐞 🔻 High CPU usage warning when the server does not report CPU usage at all
  • 🐞 🔻 Update failure email missing site name if site is already up-to-date
  • 🐞 🔻 Update Director would claim a site is enqueued for updates when it's not
  • 🐞 🔻 Per-language overrides of extension update emails might not have an effect

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix (🔺 High priority, ➖ Medium priority, 🔻 Low priority)

v.1.1.3

17 Apr 10:33
1.1.3
3fb836d

Choose a tag to compare

This is mostly a bugfix version, but we also did manage to sneak in a new feature.

Send scheduled reports to specific groups [gh-521] When you set up a scheduled email task, you can (optionally) select one or more user groups to send emails to. This allows you to fine-tune who receives the emails by creating and assigning user groups.

🖥️ System Requirements

  • PHP 8.1, 8.2, or 8.3. PHP 8.2 recommended.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute and an
    execution time of at least 30 seconds (up to 180 seconds is strongly preferred).
  • Obviously, the server it runs on must be connected to the Internet, so it can communicate with your sites.

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

Kindly remember that the order and timeframe for implementation largely depends on our available time, our assessment of expected complexity, and interdependencies between features. Security issues and bugs always take priority over new features; there's no point polishing a broken glass. Thank you for your understanding!

📋 CHANGELOG

  • ✨ Send scheduled reports to specific groups [gh-521]
  • ✨ Connection doctor: detect Akeeba Backup Core for Joomla! 3
  • ✨ Improve the X-Mailer and Reply-To headers in sent emails
  • ✨ Internal support for sending email only to selected user groups
  • 🐞 🔺 Cannot launch installation due to a missing character
  • 🐞 🔺 Tasks would be picked up by multiple task runners running in parallel (MySQL race condition)
  • 🐞 ➖ No visible error message when the site information update fails [gh-523]
  • 🐞 ➖ PHPmailer throws a simple RuntimeException in some cases, which was not being caught
  • 🐞 ➖ Custom CLI commands in user_code where not autoloaded
  • 🐞 ➖ Custom tasks in user_code where not autoloaded
  • 🐞 🔻 Extraneous slash in mail messages' [URL] variable [gh-519]
  • 🐞 🔻 Joomla update failures could result in the wrong error message displayed
  • 🐞 🔻 Missing or small favicons can create layout issues [gh-522]
  • 🐞 🔻 Connection to Akeeba Backup reset when saving site without changing connection information [gh-534]

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix (🔺 High priority, ➖ Medium priority, 🔻 Low priority)

v.1.1.2

22 Mar 15:08
1.1.2
9fb6bb9

Choose a tag to compare

This is mostly a bugfix version, but we also did manage to sneak in a new feature.

Send scheduled reports to specific groups [gh-521] When you set up a scheduled email task, you can (optionally) select one or more user groups to send emails to. This allows you to fine-tune who receives the emails by creating and assigning user groups.

🖥️ System Requirements

  • PHP 8.1, 8.2, or 8.3. PHP 8.2 recommended.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute and an
    execution time of at least 30 seconds (up to 180 seconds is strongly preferred).
  • Obviously, the server it runs on must be connected to the Internet, so it can communicate with your sites.

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

Kindly remember that the order and timeframe for implementation largely depends on our available time, our assessment of expected complexity, and interdependencies between features. Security issues and bugs always take priority over new features; there's no point polishing a broken glass. Thank you for your understanding!

📋 CHANGELOG

  • ✨ Send scheduled reports to specific groups [gh-521]
  • ✨ Connection doctor: detect Akeeba Backup Core for Joomla! 3
  • ✨ Improve the X-Mailer and Reply-To headers in sent emails
  • ✨ Internal support for sending email only to selected user groups
  • 🐞 🔺 Cannot launch installation due to a missing character
  • 🐞 🔺 Tasks would be picked up by multiple task runners running in parallel (MySQL race condition)
  • 🐞 ➖ No visible error message when the site information update fails [gh-523]
  • 🐞 ➖ PHPmailer throws a simple RuntimeException in some cases, which was not being caught
  • 🐞 ➖ Custom CLI commands in user_code where not autoloaded
  • 🐞 ➖ Custom tasks in user_code where not autoloaded
  • 🐞 🔻 Extraneous slash in mail messages' [URL] variable [gh-519]
  • 🐞 🔻 Joomla update failures could result in the wrong error message displayed
  • 🐞 🔻 Missing or small favicons can create layout issues [gh-522]
  • 🐞 🔻 Connection to Akeeba Backup reset when saving site without changing connection information [gh-534]

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix (🔺 High priority, ➖ Medium priority, 🔻 Low priority)

v.1.1.1

30 Jan 09:40
1.1.1
cb0f4ec

Choose a tag to compare

This is mostly a bugfix version, but we also did manage to sneak in a new feature.

Send scheduled reports to specific groups [gh-521] When you set up a scheduled email task, you can (optionally) select one or more user groups to send emails to. This allows you to fine-tune who receives the emails by creating and assigning user groups.

🖥️ System Requirements

  • PHP 8.1, 8.2, or 8.3. PHP 8.2 recommended.
  • MySQL 5.7 or later, or MariaDB 10.3 or later. MySQL 8.0 recommended.
  • Ability to run CRON jobs, either command-line (recommended) or URLs with a frequency of once every minute and an
    execution time of at least 30 seconds (up to 180 seconds is strongly preferred).
  • Obviously, the server it runs on must be connected to the Internet, so it can communicate with your sites.

🔮 What's coming next?

Development of Akeeba Panopticon takes place in public. You can see what we're planning, thinking of, and working on in our issues tracker.

Kindly remember that the order and timeframe for implementation largely depends on our available time, our assessment of expected complexity, and interdependencies between features. Security issues and bugs always take priority over new features; there's no point polishing a broken glass. Thank you for your understanding!

📋 CHANGELOG

  • ✨ Send scheduled reports to specific groups [gh-521]
  • ✨ Connection doctor: detect Akeeba Backup Core for Joomla! 3
  • ✨ Improve the X-Mailer and Reply-To headers in sent emails
  • ✨ Internal support for sending email only to selected user groups
  • 🐞 🔺 Cannot launch installation due to a missing character
  • 🐞 🔺 Tasks would be picked up by multiple task runners running in parallel (MySQL race condition)
  • 🐞 ➖ No visible error message when the site information update fails [gh-523]
  • 🐞 ➖ PHPmailer throws a simple RuntimeException in some cases, which was not being caught
  • 🐞 ➖ Custom CLI commands in user_code where not autoloaded
  • 🐞 ➖ Custom tasks in user_code where not autoloaded
  • 🐞 🔻 Extraneous slash in mail messages' [URL] variable [gh-519]
  • 🐞 🔻 Joomla update failures could result in the wrong error message displayed
  • 🐞 🔻 Missing or small favicons can create layout issues [gh-522]
  • 🐞 🔻 Connection to Akeeba Backup reset when saving site without changing connection information [gh-534]

Legend:

  • 🚨 Security update
  • ‼️ Important change
  • ✨ New feature
  • ✂️ Removed feature
  • ✏️ Miscellaneous change
  • 🐞 Bug fix (🔺 High priority, ➖ Medium priority, 🔻 Low priority)