Version History
Version v2.7.0 (2025-11-14)
Added
-
Virtual attributes are computed when requested — Large multi-valued attributes, including sets with more than 100,000 values, no longer need to be stored with every entry.
- Define them with LDAP filter expressions and variable substitution.
- Two patterns are available:
- Cross-reference: Compute relationships to other entries, such as every group a user belongs to through
groupMembership. - Self-reference: Filter with the current entry’s attributes, such as a
userLevelderived fromdepartmentNumber.
- Cross-reference: Compute relationships to other entries, such as every group a user belongs to through
- Values stay current without consuming entry storage.
- LDAP clients can request, filter, and sort virtual attributes like stored attributes.
- Existing database coverage accelerates virtual-attribute searches where applicable.
Configuration Example:
ldap {virtualAttributes {# Cross-reference: Find all groups where this user is a membergroupMembership {filter = "(member={{current.entryDN}})"value = "{{other.entryDN}}"}# Self-reference: Compute user level based on departmentuserLevel {filter = "(departmentNumber=Executive)"value = "senior"}}}transcribes = [{type = "user"ldap {attributes = """cn, sn, mail, groupMembership, userLevel"""# groupMembership and userLevel will be computed virtually}}]Common uses:
- Large multi-valued attributes such as
equivalentToMeon roles, without timeouts or database bloat. - Reverse lookups without redundant stored data, such as every group a user belongs to.
- Values derived from an entry’s own properties, such as access levels or flags.
See LDAP Configuration for configuration and more examples.
Fixed
- Checkpoints advance during continuous synchronization — They previously advanced only while the system was idle, delaying offline-delete detection and reconciliation under sustained traffic.
- Compression monitoring uses 40–50% fewer time series — Memory use and dashboard query time drop while actionable thresholds remain available. Existing dashboards need no changes.
- LDAP connection metrics no longer become negative — Prometheus now reports the active connection count accurately.
- Extended DN searches return accurate matches — LDAP filter processing now handles extended DN matching correctly.
- Forwarded LDAP operations carry more diagnostic context — Logs now identify the relevant entry types for configuration and troubleshooting.
- Common operational-attribute filters require less database work — LDAP searches avoid unnecessary processing for these attributes.
- Database helper functions run with less overhead — Their lower-cost implementation reduces work during searches.
- Searches use configured indexes more reliably — IdentityScribe now keeps the statistics needed to choose them.
- LDAP forwarding metrics register reliably — The reorganized metrics prevent registration errors. Existing dashboards must be updated for the new format.