Skip to content

Add Sentry.Extensions.AI nuget package - #221

Merged
cleptric merged 4 commits into
getsentry:masterfrom
jamescrosswell:extensions.ai
Dec 16, 2025
Merged

Add Sentry.Extensions.AI nuget package#221
cleptric merged 4 commits into
getsentry:masterfrom
jamescrosswell:extensions.ai

Conversation

@jamescrosswell

Copy link
Copy Markdown
Contributor

Comment thread packages/nuget/Sentry.Extensions.AI/6.0.0.json Outdated
Comment thread packages/nuget/Sentry.Extensions.AI/6.0.0.json
Comment thread packages/nuget/Sentry.Extensions.AI/latest.json Outdated
Comment thread packages/nuget/Sentry.Extensions.AI/latest.json Outdated
@cleptric
cleptric merged commit 01e079f into getsentry:master Dec 16, 2025
8 checks passed
Lms24 pushed a commit that referenced this pull request Aug 18, 2026
### Context

- Same failure mode as #223 (`Sentry.Hangfire`) and #221
(`Sentry.Extensions.AI`)
- Follow-up to getsentry/sentry-dotnet#5456
- Tracking issue: getsentry/sentry-dotnet#5495

### Summary

`Sentry.Maui.CommunityToolkit.Mvvm` has shipped on NuGet since 5.8.0 but
was never added here. getsentry/sentry-dotnet#5456 added it to
sentry-dotnet's `.craft.yml` registry target, and the 6.9.0 publish then
aborted ([run
32010411662](https://github.com/getsentry/publish/actions/runs/32010411662)):

```
[error] "name" is required for new package "nuget:Sentry.Maui.CommunityToolkit.Mvvm".
        Add `name` to the registry target config in your .craft.yml.
```

Craft treats a package as new only when its `latest.json` is missing, so
seeding the directory here makes the bare `.craft.yml` key work exactly
as it does for the other 18 sentry-dotnet packages.

The failure isn't scoped to this one package — `updateVersionInRegistry`
throws before craft commits anything, so the whole registry target rolls
back. Every sentry-dotnet package is currently still pinned at 6.8.0
here, two releases into 6.9.0 being live on NuGet.

### Notes for review

- **Seeded at 6.8.0, not 6.9.0, deliberately.** Craft aborts with
`Version file for "6.9.0" already exists. Aborting.` if the version
being published is already present — which would roll the target back
again and leave all 19 packages stuck at 6.8.0. Seeding the previous
version (which the package did ship) lets the retry create 6.9.0 and
re-point the symlinks. #223 did the same, seeding
`6.0.0-rc.2-prerelease`.
- `canonical` has to match the `.craft.yml` key exactly or craft errors
on the consistency check in `getUpdatedManifest`.
- `created_at` is the value craft wrote for the sibling packages in the
6.8.0 release, since it's the same release event.
- Symlinks generated with `bin/sync-links`, not by hand. I also re-ran
the full `make sync-all-links` (via `xargs`, as the bare `find` blows
the argument limit on macOS) and confirmed it reproduces the committed
tree exactly, so the CI sync check should be clean.
- No `sdks/sentry.dotnet.maui.communitytoolkit.mvvm` symlink. Every
other dotnet package has one, but this package doesn't emit its own
`sdk_info.name` — its events go out as `sentry.dotnet.maui` — so the
entry would name something nothing reports. Happy to add it if
uniformity is preferred.

### Relationship to getsentry/sentry-dotnet#5496

#5496 approaches the same failure from the other side: it gives
sentry-dotnet's `.craft.yml` the `name`/`packageUrl`/`mainDocsUrl` that
craft needs to create manifests itself — for *every* package, not just
this one, so the next new package doesn't repeat this.

The two are complementary rather than exclusive. This PR unblocks the
6.9.0 retry now; #5496 stops it happening again. If both land, this
package's `.craft.yml` entry is simply belt-and-braces — craft applies
the config over the manifest on every release either way.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants