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.GitHubto 10.0.401, which moves the transitiveMicrosoft.Build.Tasks.Gitreference 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 withPrivateAssets="All", so this does not reach consuming projects