Unnecessary dependency of the agent on the iblock module has been removed.
Safe error handling for disk_free_space() and disk_total_space() has been added.
File system traversal is now performed in stages, preserving state between runs.
Time limits for traversal have been added for cron and agents on hits.
Partial traversal results are no longer considered final.
Traversal protection against symbolic links, escaping the site root, and inaccessible directories has been added.
File locking for the state file to prevent parallel runs has been added.
Traversal correctly resumes after directories are removed from the queue.
Changes to cache and temporary files no longer restart the entire traversal.
Counters for found, processed, and remaining directories have been added.
An incomplete traversal automatically resumes after 60 seconds.
Agent launch detection via cron_events.php has been improved.
A standard disk quota mode for the main module has been added.
Synchronization of the CDiskQuota counter after file deletion has been added.
Free space equal to a specified threshold is now considered sufficient.
The cache deletion setting is now effectively taken into account by the agent.
Cache cleanup returns the number of deleted files and freed bytes.
After cache cleanup, free space is checked again.
If cache cleanup freed enough space, backups are not deleted.
During cache cleanup, .enabled and .config.php service files are preserved.
A setting for deleting local backups has been implemented.
It is explicitly stated that all local backups from /bitrix/backup are deleted.
Backup deletion occurs only when run via cron.
A configurable protection interval for the created backup archive has been added.
A recently modified file blocks the deletion of all backups.
The file modification time is rechecked immediately before deletion.
Protection of the backup directory against symbolic links and escaping the site root has been added.
Deleted files, freed volume, and cleanup errors are counted.
After deleting backups, the total free space is recalculated.
A logging setting has been added and is enabled by default.
Logging is implemented via the standard CEventLog mechanism.
Errors related to calculation, configuration, email, and disk quota are logged.
Results of cache and backup cleanup are logged.
A limit on the frequency of repeated log entries has been added.
The email event has been renamed from the generic FREE_SPACE to the unique DELEMENT_FREESPACE_LOW_SPACE.
A check for the validity of the recipient's e-mail address has been added.
A setting for the interval between repeated notifications has been added.
After free space is restored, the notification limit is reset.
Errors when queuing the email event are logged.
A separate event DELEMENT_FREESPACE_BACKUP_CLEANUP has been added.
The first email reports insufficient space.
The second email reports the result of cleaning up local backups.
The cleanup email contains the space before and after cleanup, the number of files, volume, errors, and protection information.
Independent suppression intervals for repeated messages are used for the two types of emails.
Separate email templates in Russian and English have been added.
During updates, missing email event types and templates are restored.
Migration of a recognized user template from the old event is supported.
Undefined array key errors and the use of deprecated global variables on PHP 8 have been fixed.
Explicit module connection before using its functions in settings has been added.
Minimum allowable values have been set for numeric settings.
A check for the total limit and required reserve for the file traversal mode has been added.
Setting errors are displayed as a single standard Bitrix message.
Invalid e-mail addresses are no longer saved without notifying the user.
A clear warning is displayed for a zero default quota.
A check for the result of agent registration has been added.
Agent activity is synchronized with module activity.
Diagnostics for the agent, launch mode, and file traversal mode have been added to the settings.
Displays the crawl status file, its availability, and update time
Verifies the currency of the installed widget copy
The first line of the widget displays the module status
The widget now includes waiting, crawling, error, and disabled monitoring states
The widget shows the last agent launch time and launch mode
The widget displays the progress of directory crawling
For a quota of 0 MB, a message is displayed indicating that the disk quota is not set
Measurement errors are no longer displayed as 0.00 MB
The Digital Element logo has been added to the widget
The agent is created directly during module installation
An installation rollback has been added in case of agent, file, or email event errors
updater.php has been added for correct updates of existing installations
Updates restore the agent, widget, and email templates
When the module is removed, both email events and their templates are deleted
When the module is removed, the saved crawl state is deleted
Installation and removal pages and localization have been added
RU and EN localization have been extended for all new features
Automated tests for main module scenarios have been added
PHP syntax checking and Marketplace archive building via release.cmd have been added