Skip to content

Version History

Version v2.4.0 (2025-06-25)

Added

  • Directory lookups are faster on large datasets — Additional database coverage reduces work for common entry searches.
  • Binary LDAP entry storage speeds synchronization and retrieval — Entries require less processing as they move between storage and channels.
  • Selective searches use faster execution choices — IdentityScribe adapts database requests to searches that match only a small part of the directory.
  • Initial synchronization avoids unnecessary lock contention — More work can proceed concurrently during the first sync.
  • Synchronization state checks complete faster — Continuous synchronization spends less time determining each entry’s current state.

Fixed

  • Startup counts as healthy while services initialize — Slow startup no longer causes a false health-check failure.
  • Health responses show the correct service name — Operators can identify the affected service directly from the response.
  • Routine monitoring disconnects no longer flood error logs — Client disconnects such as Broken pipe and Connection reset on metrics and health endpoints now log at debug level.
  • Scribe disconnect failures are easier to diagnose — Error handling and logs now preserve the useful failure context.
  • Restarts resume incremental synchronization — IdentityScribe no longer repeats the initial sync after every restart.

Breaking

  • BREAKING: Attribute sets are no longer supported — attributes that exist only in attributeSets stop being observed. Migration: move every listed attribute into the main attributes configuration before upgrading.
# Before (deprecated)
attributeSets = [
"uid, mail, displayName"
]
attributes = "cn sn"
# After (supported)
attributes = """
cn, sn
uid, mail, displayName
"""
  • BREAKING: Refresh-cache metrics were removed — dashboards and alerts that query them stop receiving data. Migration: remove these series from monitoring configuration:
    • scribe.entries.refresh.cache.count
    • scribe.entries.refresh.cache.time