MentorAgent 1.0.0 release notes
MentorAgent 1.0.0, the first stable version: the new Novior.MentorAgent package IDs, how to move from the release candidates, and its fixes.
On this page
MentorAgent 1.0.0 was published on NuGet on 13 October 2026 (UTC). It is the first stable version, and the first published as Novior.MentorAgent: it follows the release candidates, which ended with 1.0.0-rc.15. From this version the packages follow Semantic Versioning, so a 1.x version does not break code built against 1.0.0: see Versioning and support.
The five packages require each other at exactly this version: upgrade them together. MentorAgent 1.0.0 runs on .NET 10.
Highlights
Section titled “Highlights”- New package IDs. The packages, the namespaces, the path of the static files and the log categories now start with
Novior.. The types and methods that you call keep their names. - MCP and A2A servers that stop at startup when they cannot run. A host that registered them in the wrong order used to run without them and say nothing.
- No exception text in the warnings. The warnings outside the gate now name the type of an exception, as the gate already did.
New features
Section titled “New features”This version adds no features: it is 1.0.0-rc.15 under the new package IDs, with the fixes below.
Improvements
Section titled “Improvements”- One version for the family. The five packages depend on each other at their exact version, so a project cannot mix two versions by accident.
Each defect has a severity from S1, the most severe, to S4: see Versioning and support.
The MCP and A2A servers stop at startup
Section titled “The MCP and A2A servers stop at startup”Breaking. Severity S3 (BUG-153). AddMentorAgentMcp() or AddMentorAgentA2A() registered nothing and said nothing in two cases: when the call came before AddMentorAgent(), and when McpServerEnabled or A2AServerEnabled was turned on after AddMentorAgent() had read it, with a Configure or PostConfigure of MentorOptions. The map call then failed later, and in the second case the error named a call that the host had made. Now the host stops at startup with the reason and the fix.
What to do. Call AddMentorAgentMcp() and AddMentorAgentA2A() after AddMentorAgent(), and turn the servers on in the options that AddMentorAgent() reads. See MCP server and A2A server.
No exception text in the warnings
Section titled “No exception text in the warnings”Severity S3 (BUG-152). Four warnings outside the tool gate still carried a whole exception, whose text comes from your code: a UI action that threw, with a ChatClient or with a prebuilt Agent, and an OnToolResult or a McpCallerPrincipal that threw on the Model Context Protocol (MCP) server. As in the gate, the warnings now name the type of the exception. The whole exception is logged at Debug.
Fixes in the README and the XML documentation
Section titled “Fixes in the README and the XML documentation”- BUG-154 (S3): the warning about writes that run without confirmation comes the first time the actions are read, not always at startup: at startup only with
WarmUpAtStartuporMapMentorAgentA2A(). With only[Description], it also names the methods that only read, untilIsReadOnlyActionor[MentorAction(ReadOnly = true)]declares them. - BUG-155 (S3): the README's minimal SignalR client called Stop, the confirmations and the session save and restore without the hub's credentials, so with cookies from another origin or a bearer token those calls did nothing. It now sends them, like the complete components.
- BUG-156 (S4): only
AppNameis read whenAddMentorAgent()registers the services, as the name of the MCP server. The Agent-to-Agent (A2A) card is built from the real options whenMapMentorAgentA2A()runs. - BUG-157 (S3): the README's MAUI step 3 now names the two
usinglines and theMicrosoft.Extensions.Configuration.UserSecretspackage that it needs, and says thatAddUserSecretsfinds the secrets only on the development machine. - BUG-158 (S3): the
Novior.MentorAgent.AbstractionsREADME now says that the core package referencesModelContextProtocol, and that theModelContextProtocol.AspNetCoretransport is in the Server package.
Security
Section titled “Security”This version fixes no security advisory.
Breaking changes
Section titled “Breaking changes”New package IDs and namespaces
Section titled “New package IDs and namespaces”- Previous behavior: the packages were
MentorAgent,MentorAgent.Abstractions,MentorAgent.Blazor,MentorAgent.DeclarativeandMentorAgent.Server, with namespaces such asMentorAgent.Extensions. - New behavior: the packages and the namespaces start with
Novior., the widget's static files are served from_content/Novior.MentorAgent.Abstractions/, and the log categories start withNovior.MentorAgent. - Reason: from the first stable version, the packages are published under the
Novior.prefix, and the namespaces follow the package IDs. - What to do: follow Move to the Novior.MentorAgent packages.
- APIs affected: every namespace. The types and methods keep their names.
MCP and A2A servers registered in the wrong order
Section titled “MCP and A2A servers registered in the wrong order”A host that registered the servers in the wrong order no longer starts: see The MCP and A2A servers stop at startup.
Deprecations
Section titled “Deprecations”The MentorAgent.* package IDs end with 1.0.0-rc.15, and nothing newer is published under them.
Dependency updates
Section titled “Dependency updates”CHANGELOG.md lists no dependency update for this version.
Known issues
Section titled “Known issues”At release, 1.0.0 had the known issues of 1.0.0-rc.15:
- BUG-074 (S3): with
MentorshipLevel.Proactive, the agent can suggest next steps that the application does not have. Closed by default from 1.2.0: see Known issues. - BUG-118 (S2): without
RequireActionForChangeRequests, the model can describe an action that it never performed. Still open: see Known issues. - BUG-106 (S2): without
RequireLookupForRecordQuestions, the model can offer to look up a value that a read action could give. Still open: see Known issues. - Snapshots after Stop with Native confirmations: with
HitlMode.Native, a snapshot saved while a confirmation was still open made the later turns fail after a restore. Fixed in 1.1.0 (BUG-187).
Move to the Novior.MentorAgent packages
Section titled “Move to the Novior.MentorAgent packages”The MentorAgent.* IDs end with 1.0.0-rc.15. To move, you change four things: the packages, the namespaces, the paths of the static files and the log filters.
| Up to 1.0.0-rc.15 | From 1.0.0 |
|---|---|
MentorAgent | Novior.MentorAgent |
MentorAgent.Abstractions | Novior.MentorAgent.Abstractions |
MentorAgent.Blazor | Novior.MentorAgent.Blazor |
MentorAgent.Server | Novior.MentorAgent.Server |
MentorAgent.Declarative | Novior.MentorAgent.Declarative |
If you upgrade from a version older than 1.0.0-rc.15, also read the Breaking entries in CHANGELOG.md (external site), for every version after yours up to and including 1.0.0-rc.15.
Swap the packages in every project that references one, class libraries included. For example:
dotnet remove package MentorAgent.Server dotnet add package Novior.MentorAgent.ServerNovior.MentorAgent.Abstractionscomes with the other packages, so a project that gets it only through them needs no line of its own.Check that no old package is left. If an old package stays, the build still succeeds and shows no error. Your
using MentorAgent.*lines still reach the old package, and the application keeps running 1.0.0-rc.15. In every project, run:dotnet list package --include-transitiveThe list must show no package whose ID is
MentorAgentor starts withMentorAgent..Change the namespaces. In every
usingand@using,_Imports.razorincluded, and in every fully qualified name, changeMentorAgent.XtoNovior.MentorAgent.X. The type names stay. Change only those lines, not everyMentorAgentin your code:AddMentorAgent(),MapMentorAgent…(),[MentorAgent]andMentorAgentBlazorOptionskeep their names.// was MentorAgent.Extensions using Novior.MentorAgent.Extensions; // was MentorAgent.Abstractions.Models using Novior.MentorAgent.Abstractions.Models;Change the path of the static files in a page you wrote. The widget's stylesheet and script are served under the package ID:
_content/Novior.MentorAgent.Abstractions/. On a Blazor Server or Blazor Web App page,<ChatWidget />adds them for you, so nothing changes. If a page links the files by hand, change the path. This applies to thewwwroot/index.htmlof a Blazor WebAssembly client or of a .NET MAUI app:<link rel="stylesheet" href="_content/Novior.MentorAgent.Abstractions/css/MentorAgent.css" /> <script src="_content/Novior.MentorAgent.Abstractions/js/MentorAgent.js"></script>The old path answers
404, and nothing else complains: the widget shows without its styles and without voice. The file names do not change.Change the log filters. The log categories follow the namespaces:
MentorAgent.Core.MentorOrchestratoris nowNovior.MentorAgent.Core.MentorOrchestrator. A filter on"MentorAgent"no longer matches any log category. The Debug lines that it turned on disappear, and no warning tells you. Filter on the new prefix:{ "Logging": { "LogLevel": { "Novior.MentorAgent": "Debug" } } }Upgrade the five packages together. Each package requires the others at exactly its own version. For example,
Novior.MentorAgent.Server1.0.0 needs exactlyNovior.MentorAgent1.0.0. A later version does not satisfy it.
These stay the same:
- the methods, types and attributes that you call, for example
AddMentorAgent(),AddMentorAgentServer(),MapMentorAgent…(),MentorOptions,[MentorAgent]and[MentorAction]; - the
"MentorAgent"configuration section; - the routes (
/mentor-hub,/mentor/…,/mcp,/a2a), the CSS classes and what the widget keeps in the browser; - the names of the telemetry: the
MentorAgentsource and meter (ObservabilitySourceName) and thementoragent.*metrics; - session snapshots: one saved by 1.0.0-rc.15 is restored by 1.0.0;
- the
MentorAgentMcpCross-Origin Resource Sharing policy, theMentorAgent.cssandMentorAgent.jsfiles, andwindow.MentorAgent.
Full list of changes
Section titled “Full list of changes”Every entry of this version is in the 1.0.0 section of CHANGELOG.md (external site), which is also the release notes on NuGet (external site).
See also
Section titled “See also”- Release notes — Every stable MentorAgent version, newest first, with its date and what it brings; how versions are numbered and supported, and how dependencies are followed.
- MentorAgent 1.1.0 release notes — What MentorAgent 1.1.0 adds and fixes: your own confirmation text, rules per method, safer page changes and team approval, and how to upgrade.
- Choose your packages — Which MentorAgent package to install for Blazor, MAUI, or a backend for React, Angular, Vue and mobile apps, and what each one contains.
