Files
romanett 878301895b Document the nuget.org package changes: no .Debug packages, Opc.Ua.Symbols discontinued (#4589)
# Description

Documents the 2.0 package changes on nuget.org for consumers: `.Debug`
packages are no longer published there, and
`OPCFoundation.NetStandard.Opc.Ua.Symbols` is discontinued.

Up to `1.5.378` (for example
`OPCFoundation.NetStandard.Opc.Ua.Core.Debug` `1.5.378.176`) and through
`2.0.0-preview.5`, every package also had a `.Debug` build on nuget.org.
From `2.0.0-preview.6` on, `release.yml` publishes only non-`.Debug`
package IDs and their `snupkg` symbols to nuget.org. The `.Debug`
packages are still built for every release and go to GitHub Packages
only.

## Changes

- **`docs/migrate/2.0.x/packages.md`**: new section "`.Debug` packages
are no longer published to nuget.org". It gives two ways forward:
- Switch to the Release package, using the nuget.org symbol packages and
Source Link for debugging.
- Keep the `.Debug` package by adding the authenticated GitHub Packages
feed, with a `nuget.config` example. The feed also carries `master`
builds (`…preview.<N>.g<commit>`) that sort above published previews, so
an **exact version pin is required**. Package source mapping is an
optional addition: it controls the source, not the version.
- **`OPCFoundation.NetStandard.Opc.Ua.Symbols` discontinued**:
`nuget/Opc.Ua.Symbols.nuspec` and its `UA.slnx` entry are deleted. It
was the Debug counterpart of the meta-package: every dependency except
`Types` is a `.Debug` ID, and those no longer reach nuget.org, so it
would be unrestorable there. The guide names `2.0.0-preview.5` as its
last version.
- **`docs/DeveloperGuide.md`**: the packages paragraph still said
nothing ever pushes a preview to nuget.org, which #4574 changed. It now
describes both `release.yml` paths (stable promotion and numbered
preview release) and links the new migration note.
- **Bundled migration skill**:
`.agents/skills/opcua-v20-migration/references/stack-migration/packages.md`
is regenerated with `validate-migration-plugin.ps1 -Update`. Its CI
check had failed "Discover test projects".

## Meta-package still ships

`OPCFoundation.NetStandard.Opc.Ua` is still packed from
`nuget/Opc.Ua.nuspec` by the "Pack legacy NuGet packages" step in
`nuget-publish.yml`. For example, `2.0.0-preview.20.g46fa7d364a` was
pushed to GitHub Packages on 2026-09-25. A `release/2.0` preview
promoted through `release.yml` publishes it to nuget.org.

## Related Issues

- Follow-up to #4574 (preview promotion to nuget.org).

## Checklist

- [ ] I have signed the
[CLA](https://opcfoundation.org/license/cla/ContributorLicenseAgreementv1.0.pdf)
and read the
[CONTRIBUTING](https://github.com/OPCFoundation/UA-.NETStandard/blob/master/CONTRIBUTING.md)
doc.
- [ ] I have added tests that prove my fix is effective or that my
feature works and increased code coverage.
- [x] I have added all necessary documentation.
- [ ] I have verified that my changes do not introduce (new) build or
analyzer warnings.
- [ ] I ran **all** tests locally using the **UA.slnx** solution against
at least .net **framework** and .net **10**, and all passed.
- [ ] I fixed **all** failing and flaky tests in the CI pipelines and
**all** CodeQL warnings.
- [ ] I have addressed **all** PR feedback received.

Documentation, plus removal of the `Opc.Ua.Symbols` nuspec.
`validate-migration-plugin.ps1` passes locally.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 17:17:40 +00:00
..