Enable packing and independent preview versioning for Essentials.AI#33976
Merged
mattleibow merged 3 commits intomainfrom Feb 12, 2026
Merged
Enable packing and independent preview versioning for Essentials.AI#33976mattleibow merged 3 commits intomainfrom
mattleibow merged 3 commits intomainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Enables producing a NuGet package for the experimental Microsoft.Maui.Essentials.AI project and configures it to keep a preview-version suffix even when repo-wide builds are stabilized to release versions.
Changes:
- Turn on packing for
Essentials.AI(IsPackable=true). - Configure Arcade versioning properties to keep
Essentials.AIon apreviewprerelease label and iteration during stabilized builds.
Member
Member
Author
|
it should be, looking at why AI is just not smart. |
Set SuppressFinalPackageVersion, PreReleaseVersionLabel, and PreReleaseVersionIteration so the AI package always ships as preview even when the rest of the repo goes stable. Bump PreReleaseVersionIteration to release new previews independently.
Mark the entire Microsoft.Maui.Essentials.AI assembly as experimental
using [Experimental("MAUIAI0001")] following the dotnet/extensions
pattern used for Microsoft.Extensions.AI (MEAI001).
- Add ExperimentalAttribute polyfill for netstandard2.0/2.1 TFMs
- Add DiagnosticIds.cs with centralized MAUIAI0001 constant
- Add assembly-level [Experimental] in AssemblyInfo.cs
- Suppress MAUIAI0001 in sample, unit test, device test, and benchmark projects
Consumers referencing this package will get a compiler error:
error MAUIAI0001: '...' is for evaluation purposes only
They opt in via <NoWarn>MAUIAI0001</NoWarn> or #pragma warning disable.
d7b1577 to
fcbfddb
Compare
Only override PreReleaseVersionLabel and PreReleaseVersionIteration when DotNetFinalVersionKind=release (i.e. when the repo stabilizes). During preview builds, the AI package inherits the same version label as the rest of the repo, avoiding a duplicate iteration suffix.
fcbfddb to
1aeb5a5
Compare
mattleibow
added a commit
that referenced
this pull request
Feb 12, 2026
<!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ## Description Moves the hardcoded `PreReleaseVersionIteration` value (`1`) from `Essentials.AI.csproj` into a centralized `EssentialsAIPreviewVersionIteration` property in `eng/Versions.props`, making it easier to bump for future AI preview releases. Follow-up to #33976. ### Changes - **`eng/Versions.props`**: Add `EssentialsAIPreviewVersionIteration` property (default `1`) - **`Essentials.AI.csproj`**: Reference `$(EssentialsAIPreviewVersionIteration)` instead of hardcoded `1`; update comment to point to `eng/Versions.props` No functional change — version output is identical.
TamilarasanSF4853
pushed a commit
to TamilarasanSF4853/maui
that referenced
this pull request
Mar 2, 2026
…otnet#33976) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ## Description The `Microsoft.Maui.Essentials.AI` package is experimental and must always ship as preview, even when the rest of the repo goes stable. This PR enables NuGet packaging and configures independent preview versioning using arcade SDK properties. ### Changes - **`IsPackable`**: `false` → `true` to enable NuGet package production - **`SuppressFinalPackageVersion=true`**: Arcade SDK property that prevents the prerelease suffix from being stripped during stable builds - **`PreReleaseVersionLabel=preview`**: Overrides the repo-level label so the AI package always uses `preview` regardless of repo state - **`PreReleaseVersionIteration=1`**: Controls the preview iteration — bump to `2`, `3`, etc. for new previews ### Version Behavior | Scenario | Essentials.AI | Other packages (e.g., Core) | |----------|--------------|----------------------------| | Dev build | `10.0.40-dev` | `10.0.40-dev` | | Stable official build | `10.0.40-preview.1.XXXXX.X` ✅ | `10.0.40` | ### How to Bump Preview Versions Change `PreReleaseVersionIteration` in `Essentials.AI.csproj`: - `1` → `10.0.40-preview.1.XXXXX.X` - `2` → `10.0.40-preview.2.XXXXX.X` ### How to Verify ```bash # Simulated stable official build — AI stays preview dotnet msbuild src/AI/src/Essentials.AI/Essentials.AI.csproj \ /p:TargetFramework=netstandard2.1 \ /p:StabilizePackageVersion=true /p:OfficialBuildId=20260209.1 \ -getProperty:PackageVersion # Result: 10.0.40-preview.1.26109.1 # Core goes stable dotnet msbuild src/Core/src/Core.csproj \ /p:TargetFramework=netstandard2.1 \ /p:StabilizePackageVersion=true /p:OfficialBuildId=20260209.1 \ -getProperty:PackageVersion # Result: 10.0.40 ```
TamilarasanSF4853
pushed a commit
to TamilarasanSF4853/maui
that referenced
this pull request
Mar 2, 2026
) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ## Description Moves the hardcoded `PreReleaseVersionIteration` value (`1`) from `Essentials.AI.csproj` into a centralized `EssentialsAIPreviewVersionIteration` property in `eng/Versions.props`, making it easier to bump for future AI preview releases. Follow-up to dotnet#33976. ### Changes - **`eng/Versions.props`**: Add `EssentialsAIPreviewVersionIteration` property (default `1`) - **`Essentials.AI.csproj`**: Reference `$(EssentialsAIPreviewVersionIteration)` instead of hardcoded `1`; update comment to point to `eng/Versions.props` No functional change — version output is identical.
This was referenced Mar 11, 2026
Closed
evgenygunko
pushed a commit
to evgenygunko/CopyWordsDA
that referenced
this pull request
Mar 11, 2026
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [Microsoft.Extensions.Logging.Debug](https://dot.net/) ([source](https://github.com/dotnet/dotnet)) | nuget | patch | `10.0.3` -> `10.0.4` | | [Microsoft.Maui.Controls](https://github.com/dotnet/maui) | nuget | patch | `10.0.41` -> `10.0.50` | --- ### Release Notes <details> <summary>dotnet/maui (Microsoft.Maui.Controls)</summary> ### [`v10.0.50`](https://github.com/dotnet/maui/releases/tag/10.0.50) [Compare Source](dotnet/maui@10.0.41...10.0.50) #### What's Changed .NET MAUI 10.0.50 introduces significant improvements across all platforms with focus on quality, performance, and developer experience. This release includes 78 commits with various improvements, bug fixes, and enhancements. #### AI - Enable packing and independent preview versioning for Essentials.AI by [@​mattleibow](https://github.com/mattleibow) in dotnet/maui#33976 - Move Essentials.AI preview iteration to eng/Versions.props by [@​mattleibow](https://github.com/mattleibow) in dotnet/maui#34025 - \[Feature] Add Microsoft.Maui.Essentials.AI - Apple Intelligence by [@​mattleibow](https://github.com/mattleibow) in dotnet/maui#33519 #### Ai Agents - Copilot agent infrastructure, emulator reliability, and try-fix workflow improvements by [@​PureWeen](https://github.com/PureWeen) via [@​Copilot](https://github.com/Copilot) in dotnet/maui#33937 - Update PR agent models to claude-sonnet-4.6 and gpt-5.3-codex by [@​kubaflo](https://github.com/kubaflo) in dotnet/maui#34109 - ci-copilot: set pipeline run title early using build.updatebuildnumber by [@​jfversluis](https://github.com/jfversluis) via [@​Copilot](https://github.com/Copilot) in dotnet/maui#34156 - Revamp find-reviewable-pr skill: priorities, defaults, and doc fixes by [@​PureWeen](https://github.com/PureWeen) in dotnet/maui#34160 - Add correct CI pipeline names to Copilot instructions by [@​jfversluis](https://github.com/jfversluis) in dotnet/maui#34255 - Add resilience to UI tests for frozen/unresponsive apps by [@​PureWeen](https://github.com/PureWeen) in dotnet/maui#34023 - Copilot CI: Structured phase outputs, autonomous execution, iOS support, and CI pipeline by [@​kubaflo](https://github.com/kubaflo) in dotnet/maui#34040 - Agent Workflow Metrics via GitHub Labels by [@​kubaflo](https://github.com/kubaflo) in dotnet/maui#33986 #### Animation - \[Android] Fixed TransformProperties issue when a wrapper view is present by [@​Ahamed-Ali](https://github.com/Ahamed-Ali) in dotnet/maui#29228 <...
This was referenced Mar 11, 2026
This was referenced Mar 11, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Description
The
Microsoft.Maui.Essentials.AIpackage is experimental and must always ship as preview, even when the rest of the repo goes stable. This PR enables NuGet packaging and configures independent preview versioning using arcade SDK properties.Changes
IsPackable:false→trueto enable NuGet package productionSuppressFinalPackageVersion=true: Arcade SDK property that prevents the prerelease suffix from being stripped during stable buildsPreReleaseVersionLabel=preview: Overrides the repo-level label so the AI package always usespreviewregardless of repo statePreReleaseVersionIteration=1: Controls the preview iteration — bump to2,3, etc. for new previewsVersion Behavior
10.0.40-dev10.0.40-dev10.0.40-preview.1.XXXXX.X✅10.0.40How to Bump Preview Versions
Change
PreReleaseVersionIterationinEssentials.AI.csproj:1→10.0.40-preview.1.XXXXX.X2→10.0.40-preview.2.XXXXX.XHow to Verify