Version 5.0.0

July 27, 2026

Initial release.

Added

  • Control panel section with an overview of the search index: size, composition by site, attribute and field, and how much of each element type is actually indexed.
  • Audits comparing the index against the content behind it, in two modes. Quick is all set comparisons in SQL; deep also recomputes each element's keywords and diffs them against what's stored.
  • Ten checks: unindexed elements, orphaned rows, keyword drift, partly indexed elements, stale field rows, empty keywords, revision rows, unknown attribute rows, pending index queue and truncated keywords.
  • Repairs, per finding or in bulk, always through Craft's own indexer.
  • A search console that runs a query through Craft's search and shows how it parsed the terms, whether each one uses the full-text index or LIKE and why, the SQL Craft ran, the index rows that matched and the score each element was given.
  • A per-element view of every index row, with a word-by-word diff against what Craft would write for it now.
  • Reindexing by element source, using Craft's own element index sources — so element types from other plugins work with no special handling.
  • Repair of Craft's deferred index queue, including releasing jobs a dead worker left reserved, which Craft would otherwise skip forever.
  • Console commands: holmes/index, holmes/index/search, holmes/index/element, holmes/audit, holmes/audit/show, holmes/audit/checks, holmes/sync/reindex, holmes/sync/all, holmes/sync/orphans, holmes/sync/queue, holmes/sync/sources. holmes/audit --fail-on=critical exits non-zero, for use in CI.
  • A check registry and events at every stage: RegisterChecksEvent, AuditEvent before and after a run, DefineIssuesEvent after each check, SyncEvent before and after any change to the index, and ProbeEvent after a search console query.
  • craft.holmes in Twig: rows(), isIndexed(), stats(), coverage(), search(), compare(), queue(), latestAudit() and highlight().
  • User permissions for inspecting the index, running audits and changing it.
  • Optional logging of every write Craft makes to the search index, to storage/logs/holmes.log.