Skip to main content
Version: Latest

Version 1.2.1 Release Notes

Package version: 1.2.1

Release date: 2026-09-21

1.2.1 is a patch release on the 1.2 line. It changes no public API and is a drop-in replacement for 1.2.0. Everything in it concerns the documentation search (search index) tool instance source.

Fixes​

A search index that cannot be read now says so​

Every failure path in the search index documentation source ended in an empty corpus, and an empty corpus reaches the caller as "No documentation results were found" — the same words a site with no matching page produces. An index URL that 404s, an index published in a shape the source does not understand, and a site that genuinely has no answer were indistinguishable from outside the process, and only the unreachable case logged anything at all.

Each dead end is now logged as a warning that names the index URL it came from: the index could not be fetched or parsed, it was read but is not in a recognized format, or it was read and understood but no entry carried both a location and text. Search behavior is unchanged — a misconfigured instance still returns no results — but the reason is now in the log rather than only in the empty answer.

Docusaurus (Lunr) search indexes are understood​

"A prebuilt JSON search index" is not one format. MkDocs publishes an object carrying a docs array; Docusaurus and other Lunr-based sites publish an array of blocks carrying documents. Only the MkDocs shape was read, so a Docusaurus site configured as a search index source silently answered nothing.

Both shapes are read now, and which one a site publishes is detected from the index itself. The two roots are disjoint, so there is nothing to configure and an instance that already worked keeps working. A Lunr passage names its page in s and its heading anchor in h, so a result is titled by its page and linked to the section that answered it, rather than titled with a paragraph and linked to the top of the page. Lunr indexes carry no page body text, so those entries are ranked on titles and breadcrumbs alone; that is recorded at Debug when it happens.

Rooted result locations resolved differently on Windows and Unix​

A result location was treated as already absolute whenever it parsed as an absolute URI. On Unix a rooted path such as /docs/ai/ parses as an absolute file: URI, so it was handed back unchanged there while being joined to the site's base URL on Windows: the same index produced working links on one host and broken links on another. Only the scheme decides now — http and https locations are used as they are, and everything else is joined to the configured base URL. MkDocs states its locations relative and never exposed this; Lunr indexes state them rooted.

Dependencies​

  • upgrades Microsoft.SourceLink.GitHub to 10.0.401, which moves the transitive Microsoft.Build.Tasks.Git reference off 10.0.301 and its moderate-severity GHSA-23fw-v26w-5fgq advisory. Without it the 1.2 line no longer restored with NuGet auditing enabled, which is how the branch builds. SourceLink is referenced with PrivateAssets="All", so this does not reach consuming projects