Saved field values no longer disappear when catalog records are deactivated, and value validation now matches what the editor sees in the list.
Fixes
If a catalog record has been deactivated, a previously selected value is no longer reset upon saving the item: it remains in the list marked as "(inactive)" and is saved as is. On the site and in the admin list, the name of such a record is displayed instead of its ID.
Values that can no longer be selected (the record has been deleted, it has no parent, it is deeper than the maximum depth, or it does not match the selection mode) are also visible in the list, marked as "(unavailable for selection)" or "[ID] (not in catalog)". Previously, such values were silently erased upon form submission.
Validation upon saving, including during import and saving via API, now accounts for maximum depth and does not allow records that lack a parent.
The "Leaves only" mode combined with depth restriction: leaves are considered items at the last displayed level. Previously, the list in this case could have been empty.
The property validation error for an infoblock was previously displayed as "Array". Now, the message includes the property name and the ID of the invalid value.
If a field setting specifies a field that does not exist in the Highload block, the edit form no longer terminates with an error: the value list is empty, and a clear message is displayed upon saving.
Filtering by a user field in the admin list preserves the selected record, even if it is inactive.
In the field settings, the names of the Highload block field codes are displayed next to the codes in the interface language.
The module settings page is accessible only to users with access rights to the module.
Compatibility
If an item has a saved value marked as "(unavailable for selection)" or "(not in catalog)", the item will not be saved until another value is selected or the previous field settings are restored. This is done to prevent values from being lost unnoticed.
The internal structure of the module has been redesigned. Field settings, saved values, and event handlers remain unchanged. Direct calls to the module from site customizations continue to work.
Search scripts and field settings have been updated. If an old script remains in the browser, refresh the page with the cache cleared.