# 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.

- URL: https://docs.mentoragent.net/release-notes/1-0-0
- Verified with: MentorAgent 1.2.0
- Last updated: 2026-11-07
- Packages: Novior.MentorAgent, Novior.MentorAgent.Abstractions, Novior.MentorAgent.Blazor, Novior.MentorAgent.Declarative, Novior.MentorAgent.Server

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](https://docs.mentoragent.net/release-notes#versioning-and-support).

| Package | Version |
|---|---|
| [Novior.MentorAgent](https://www.nuget.org/packages/Novior.MentorAgent/1.0.0) | 1.0.0 |
| [Novior.MentorAgent.Abstractions](https://www.nuget.org/packages/Novior.MentorAgent.Abstractions/1.0.0) | 1.0.0 |
| [Novior.MentorAgent.Blazor](https://www.nuget.org/packages/Novior.MentorAgent.Blazor/1.0.0) | 1.0.0 |
| [Novior.MentorAgent.Declarative](https://www.nuget.org/packages/Novior.MentorAgent.Declarative/1.0.0) | 1.0.0 |
| [Novior.MentorAgent.Server](https://www.nuget.org/packages/Novior.MentorAgent.Server/1.0.0) | 1.0.0 |

The five packages require each other at exactly this version: upgrade them together. MentorAgent 1.0.0 runs on .NET 10.

## Highlights

- **[New package IDs](https://docs.mentoragent.net/release-notes/1-0-0#move-to-the-noviormentoragent-packages).** 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](https://docs.mentoragent.net/release-notes/1-0-0#the-mcp-and-a2a-servers-stop-at-startup).** A host that registered them in the wrong order used to run without them and say nothing.
- **[No exception text in the warnings](https://docs.mentoragent.net/release-notes/1-0-0#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

This version adds no features: it is 1.0.0-rc.15 under the new package IDs, with the fixes below.

## 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.

## Fixes

Each defect has a severity from S1, the most severe, to S4: see [Versioning and support](https://docs.mentoragent.net/release-notes#versioning-and-support).

### 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](https://docs.mentoragent.net/configure/mcp-server) and [A2A server](https://docs.mentoragent.net/configure/a2a-server).

### 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

- **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 `WarmUpAtStartup` or `MapMentorAgentA2A()`. With only `[Description]`, it also names the methods that only read, until `IsReadOnlyAction` or `[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 `AppName` is read when `AddMentorAgent()` registers the services, as the name of the MCP server. The Agent-to-Agent (A2A) card is built from the real options when `MapMentorAgentA2A()` runs.
- **BUG-157 (S3):** the README's MAUI step 3 now names the two `using` lines and the `Microsoft.Extensions.Configuration.UserSecrets` package that it needs, and says that `AddUserSecrets` finds the secrets only on the development machine.
- **BUG-158 (S3):** the `Novior.MentorAgent.Abstractions` README now says that the core package references `ModelContextProtocol`, and that the `ModelContextProtocol.AspNetCore` transport is in the Server package.

## Security

This version fixes no security advisory.

## Breaking changes

### New package IDs and namespaces

- **Previous behavior:** the packages were `MentorAgent`, `MentorAgent.Abstractions`, `MentorAgent.Blazor`, `MentorAgent.Declarative` and `MentorAgent.Server`, with namespaces such as `MentorAgent.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 with `Novior.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](https://docs.mentoragent.net/release-notes/1-0-0#move-to-the-noviormentoragent-packages).
- **APIs affected:** every namespace. The types and methods keep their names.

### 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](https://docs.mentoragent.net/release-notes/1-0-0#the-mcp-and-a2a-servers-stop-at-startup).

## Deprecations

The `MentorAgent.*` package IDs end with 1.0.0-rc.15, and nothing newer is published under them.

## Dependency updates

`CHANGELOG.md` lists no dependency update for this version.

## 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](https://docs.mentoragent.net/reference/known-issues#bug-074-with-proactivenextsteps-the-agent-can-suggest-actions-the-app-does-not-have).
- **BUG-118 (S2):** without `RequireActionForChangeRequests`, the model can describe an action that it never performed. Still open: see [Known issues](https://docs.mentoragent.net/reference/known-issues#bug-118-the-agent-says-it-did-something-it-did-not-do).
- **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](https://docs.mentoragent.net/reference/known-issues#bug-106-the-agent-offers-to-look-a-value-up-instead-of-reading-it).
- **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

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](https://github.com/Novior-dev/MentorAgent/blob/main/CHANGELOG.md), for every version after yours up to and including 1.0.0-rc.15.

1. **Swap the packages** in every project that references one, class libraries included. For example:

   ```shell
   dotnet remove package MentorAgent.Server
   dotnet add package Novior.MentorAgent.Server
   ```

   `Novior.MentorAgent.Abstractions` comes with the other packages, so a project that gets it only through them needs no line of its own.

2. **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:

   ```shell
   dotnet list package --include-transitive
   ```

   The list must show no package whose ID is `MentorAgent` or starts with `MentorAgent.`.

3. **Change the namespaces.** In every `using` and `@using`, `_Imports.razor` included, and in every fully qualified name, change `MentorAgent.X` to `Novior.MentorAgent.X`. The type names stay. Change only those lines, not every `MentorAgent` in your code: `AddMentorAgent()`, `MapMentorAgent…()`, `[MentorAgent]` and `MentorAgentBlazorOptions` keep their names.

   ```csharp title="Program.cs"
   // was MentorAgent.Extensions
   using Novior.MentorAgent.Extensions;
   // was MentorAgent.Abstractions.Models
   using Novior.MentorAgent.Abstractions.Models;
   ```

4. **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 the `wwwroot/index.html` of a [Blazor WebAssembly](https://docs.mentoragent.net/configure/blazor-webassembly#minimal-configuration) client or of a [.NET MAUI](https://docs.mentoragent.net/configure/maui#minimal-configuration) app:

   ```html
   <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.

5. **Change the log filters.** The log categories follow the namespaces: `MentorAgent.Core.MentorOrchestrator` is now `Novior.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:

   ```json title="appsettings.Development.json"
   { "Logging": { "LogLevel": { "Novior.MentorAgent": "Debug" } } }
   ```

6. **Upgrade the five packages together.** Each package requires the others at exactly its own version. For example, `Novior.MentorAgent.Server` 1.0.0 needs exactly `Novior.MentorAgent` 1.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 `MentorAgent` source and meter ([`ObservabilitySourceName`](https://docs.mentoragent.net/reference/options#observabilitysourcename)) and the `mentoragent.*` metrics;
- session snapshots: one saved by 1.0.0-rc.15 is restored by 1.0.0;
- the `MentorAgentMcp` Cross-Origin Resource Sharing policy, the `MentorAgent.css` and `MentorAgent.js` files, and `window.MentorAgent`.

## Full list of changes

Every entry of this version is in the [1.0.0 section of CHANGELOG.md](https://github.com/Novior-dev/MentorAgent/blob/main/CHANGELOG.md#100---2026-10-13), which is also the [release notes on NuGet](https://www.nuget.org/packages/Novior.MentorAgent/1.0.0#releasenotes-body-tab).

---

- Previous: [MentorAgent 1.1.0 release notes](https://docs.mentoragent.net/release-notes/1-1-0.md)
