Skip to content

Tags: Krypton-Suite/Standard-Toolkit

Tags

master-stable-pre-canary-merge

Toggle master-stable-pre-canary-merge's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* Use correct NuGet versions in VS templates (#3581)

## Summary

Fixes
[#3566](#3566).

Visual Studio **project** templates (`Krypton WinForms App`, `Krypton
Ribbon WinForms App`) previously always referenced the stable aggregate
package `Krypton.Standard.Toolkit`, even when templates were published
from `canary` or `alpha`. Published releases should instead align with
the toolkit channel:

| Templates release branch | Channel | NuGet package |
|--------------------------|---------|---------------| | `master` |
stable | `Krypton.Standard.Toolkit` | | `canary` | canary |
`Krypton.Standard.Toolkit.Canary` | | `alpha` | alpha |
`Krypton.Standard.Toolkit.Nightly` |

This PR adds `Scripts/CI/Apply-TemplatesNuGetPackage.ps1`, which
rewrites the `PackageReference` in both project template `.csproj` files
before packaging. The **Visual Studio Templates Release** workflow
invokes it after channel resolution and before zip/VSIX build. Source
templates in git remain on the stable package ID; only CI (or an
explicit local script run) applies channel-specific IDs.

Item templates are unchanged (they do not add NuGet references).

## Changes

- **`Scripts/CI/Apply-TemplatesNuGetPackage.ps1`** — Shared channel →
package ID mapping and `.csproj` rewrite.
- **`.github/workflows/templates-release.yml`** — New CI step; workflow
path filter includes the script; release notes mention channel-specific
packages.
- **`Templates/README.md`** — Documents local VSIX builds and
channel/package mapping.

## Test plan

- [ ] Run `pwsh -NoProfile -File
Scripts\CI\Apply-TemplatesNuGetPackage.ps1 -Channel canary` and confirm
both project template `.csproj` files reference
`Krypton.Standard.Toolkit.Canary`.
- [ ] Run with `-Channel alpha` and confirm `.Nightly` package ID.
- [ ] Run with `-Channel stable` and confirm IDs revert to
`Krypton.Standard.Toolkit`.
- [ ] After merge, trigger or wait for **Visual Studio Templates
Release** on `canary` / `alpha` (push under `Templates/` or
workflow_dispatch).
- [ ] Download the published VSIX from `templates-canary` /
`templates-alpha` release, create a new project from a Krypton project
template, and verify the generated `.csproj` uses the expected
`PackageReference Include`.

templates-stable

Toggle templates-stable's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* Fix VSIX manifest encoding for templates release (VSSDK1048) (#3524)

# Fix VSIX manifest encoding for templates release (VSSDK1048)

## Summary

- Resolves **VSSDK1048** during the **Visual Studio Templates Release**
workflow: `source.extension.vsixmanifest` must be UTF-8 **without** a
BOM so the XML declaration at line 1 is valid for VSSDK.
- Updates CI to write the manifest with `UTF8Encoding($false)` instead
of `Set-Content`, which could reintroduce a BOM on each release run.
- Narrows the release-time version substitution to the `<Identity …
Version="…">` element only (the previous regex replaced every
`Version="…"` attribute, including installation targets and
prerequisites).

## Problem

The templates release job failed while building the VSIX package:

```text
VSSDK1048: Error trying to read the VSIX manifest file "source.extension.vsixmanifest".
Syntax for an XML declaration is invalid. Line 1, position
```

A UTF-8 BOM (or a leading `U+FEFF` character) before `<?xml` causes
VSSDK’s XML parser to reject the declaration. The workflow also rewrote
the manifest before `dotnet msbuild`, which could worsen encoding issues
and had been overwriting unrelated `Version` attributes.

## Changes

| File | Change |
|------|--------|
| `Templates/Vsix/Krypton.Templates.Vsix/source.extension.vsixmanifest`
| Saved as UTF-8 without BOM (file begins with `<?xml`). | |
`.github/workflows/templates-release.yml` | Read UTF-8, strip BOM if
present, update Identity version only, write with
`[System.IO.File]::WriteAllText` and `UTF8Encoding($false)`. | |
`Templates/.editorconfig` | `charset = utf-8` for `*.vsixmanifest` so
editors do not save with a signature. |

## Test plan

- [ ] Confirm `source.extension.vsixmanifest` has no BOM (first bytes
should be `60, 63, 120` — `<?x`).
- [ ] Locally (optional): `dotnet msbuild
Templates\Vsix\Krypton.Templates.Vsix\Krypton.Templates.Vsix.csproj
/p:Configuration=Release /p:DeployExtension=false`
- [ ] Push to a branch that triggers **Visual Studio Templates Release**
(or run `workflow_dispatch`) and verify the **Build template VSIX
package** step succeeds.
- [ ] Confirm the published `.vsix` installs in Visual Studio 2022 and
templates appear under **Add New Item** / **New Project**.

## Related

- Branch:
`3517-feature-request-add-visx-package-for-itemproject-templates`
- Relates to #3517 (Krypton item/project template VSIX)

templates-canary

Toggle templates-canary's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* Fix Update canary-lts-release.yml (#3488)

* Fix Update canary-lts-release.yml to skip the WebView2 step

templates-alpha

Toggle templates-alpha's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bump NuGet/setup-nuget from 3.1.0 to 4 (#3358)

Bumps [NuGet/setup-nuget](https://github.com/nuget/setup-nuget) from
3.1.0 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nuget/setup-nuget/releases">NuGet/setup-nuget's
releases</a>.</em></p>
<blockquote>
<h2>v4.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Migrate to ESM and update all npm packages to latest versions by <a
href="https://github.com/jeffkl"><code>@​jeffkl</code></a> in <a
href="https://redirect.github.com/NuGet/setup-nuget/pull/234">NuGet/setup-nuget#234</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/NuGet/setup-nuget/compare/v3.0.1...v4.0">https://github.com/NuGet/setup-nuget/compare/v3.0.1...v4.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/NuGet/setup-nuget/commit/fd55a6f3b34392fa83fde1454582407d8c714123"><code>fd55a6f</code></a>
Migrate to ESM and update all npm packages to latest versions (<a
href="https://redirect.github.com/nuget/setup-nuget/issues/234">#234</a>)</li>
<li>See full diff in <a
href="https://github.com/nuget/setup-nuget/compare/v3.1.0...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=NuGet/setup-nuget&package-manager=github_actions&previous-version=3.1.0&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

90.24.2024

Toggle 90.24.2024's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #1841 from Krypton-Suite/gold

* Version 90 - RTM

90.24.11.317

Toggle 90.24.11.317's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #1841 from Krypton-Suite/gold

* Version 90 - RTM