Bump Microsoft.NET.Test.Sdk from 17.12.0 to 18.7.0#55
Closed
dependabot[bot] wants to merge 35 commits into
Closed
Conversation
…he (#37) Using Interlocked.Increment/Read instead of lock(_statsLock) removes unnecessary contention on the hot path. Cache hit/miss counters are simple atomic increments that don't need mutual exclusion with other state.
- Add <summary>, <param>, and <returns> tags to all 10 lifecycle methods - Document initialization order, dependency resolution, and shutdown semantics - Describe plugin activation/deactivation hooks and resource cleanup
Add XML doc comments to IPluginManagerService
…unload cleanup (closes #19)
… declarations (closes #18)
Comprehensive documentation covering: - How to declare plugin dependencies with version bounds and optionality - Resolving the transitive dependency closure at runtime - Detecting circular dependencies - Visualising dependency graphs - Caching behaviour and how to invalidate it - Configuration reference and troubleshooting tips closes #39
Comprehensive documentation covering: - Setting up and configuring the marketplace client - Searching the marketplace with filter/sort options - Installing plugins and verifying compatibility - The compatibility matrix and how status is determined - Step-by-step publishing workflow (metadata, archive, registry API) - Best practices for versioning, tagging, and changelogs - Troubleshooting common errors (404, 502, unknown compatibility, key rejection) closes #40
The IPluginLifecycle interface (OnBeforeLoadAsync, OnAfterLoadAsync, OnBeforeUnloadAsync, OnAfterUnloadAsync) and its invocation from PluginLoaderService were already in place. This commit adds a dedicated test suite that: - Confirms all four hook methods exist on the interface - Verifies all hooks return Task (so they can be awaited) - Validates that hooks fire in the correct order during load and unload - Confirms that CancellationToken is accepted by every hook - Documents that the interface is opt-in (plugins not implementing it skip hooks automatically, as the loader uses reflection to discover implementors) closes #41
- Make plugin metadata optional in PluginValidator (was requiring it for all plugins, breaking basic validation tests) - Add author validation when metadata is provided - Add maximum version < minimum version validation for dependencies - Update dependency error messages to include 'minimum version' - Fix DependencyResolutionService tests to mock GetAllLoadedPluginsAsync (implementation uses this, not GetLoadedPluginAsync) - Fix ClearDependencyCacheAsync test assertion to use NotBeSameAs - Fix Plugin.AddDependency dedup check to use DependencyPluginId instead of PluginId (bug prevented adding multiple dependencies) - Fix chained dependency test to expect transitive resolution (2 items)
- IMarketplaceBrowserService interface with GetCategoriesAsync, GetTrendingAsync, GetFeaturedAsync, BrowseCategoryAsync, GetHomePageAsync - MarketplaceBrowserService implementation with multi-level caching (categories 6h, trending 15m, featured 1h, home page 10m) - 8 built-in plugin categories (analytics, auth, caching, database, logging, messaging, security, ui) - Registered via AddPluginMarketplace() alongside existing marketplace service - CLI: marketplace --action search|info|install with --query, --id, --version, --target, --limit flags - 7 unit tests covering categories, trending, featured, browse, home page
- IHotSwapService interface: SwapPluginAsync, RollbackSwapAsync, GetLastSwapRecordAsync, GetSwapHistoryAsync, RegisterPostSwapCallback, CanSwap - HotSwapService implementation: unloads old ALC, loads new assembly in a fresh context, best-effort rollback on failure, per-plugin swap history capped at 50 entries, post-swap callbacks - SwapRecord immutable model with PreviousAssemblyPath, NewAssemblyPath, Duration, RolledBack flag - Registered as IHotSwapService singleton in AddPluginEngine() - CLI: swap --id <guid> --path <new-assembly-path> - 15 unit tests covering CanSwap states, success/failure paths, rollback, history, and callback lifecycle
- IPluginDependencyResolver interface: GetInstallOrderAsync, FindConflictsAsync, BuildResolutionPlanAsync - PluginDependencyResolver implementation using Kahn's topological sort for install ordering; pairwise min/max constraint intersection for conflict detection; transitive closure for resolution plans - DependencyConflict, ConflictingRequirement, DependencyResolutionPlan, ResolutionStep, ResolutionAction models - ResolutionPlan.IsExecutable = true only when zero conflicts detected - Registered as IPluginDependencyResolver singleton in AddPluginEngine() - CLI: resolve --id <guid> prints ordered steps and any conflicts - 9 unit tests covering linear chains, diamond graphs, circular deps, conflict detection, and full resolution plan generation
--- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.7.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Updated Microsoft.NET.Test.Sdk from 17.12.0 to 18.7.0.
Release notes
Sourced from Microsoft.NET.Test.Sdk's releases.
18.7.0
What's Changed
New Contributors
Full Changelog: microsoft/vstest@v18.6.0...v18.7.0
18.6.0
What's Changed
Changes to tests and infra
... (truncated)
18.5.1
What's Changed
Full Changelog: microsoft/vstest@v18.5.0...v18.5.1
18.5.0
What's Changed
Full Changelog: microsoft/vstest@v18.4.0...v18.5.0
18.4.0
What's Changed
Add LoongArch64 support by @stdmnpkg in Add LoongArch64 support microsoft/vstest#15359
Refactor Condition evaluation by @Youssef1313 in Refactor Condition evaluation microsoft/vstest#15357
Adding info on extensions points part 1 by @nohwnd in Adding info on extensions points part 1 microsoft/vstest#15360
Add option to ask for uploading code QL before the standard window ends by @nohwnd in Add option to ask for uploading code QL before the standard window ends microsoft/vstest#15373
Update runtime versions by @nohwnd in Update runtime versions microsoft/vstest#15372
Fix .NET 10 regression for traits by @Youssef1313 in Fix .NET 10 regression for traits microsoft/vstest#15370
Update target frameworks to net10.0 and net11.0 by @dotnet-maestro[bot] in Update target frameworks to net10.0 and net11.0 microsoft/vstest#15349
Fix names in pipeline matrix so we don't have to align them by @nohwnd in Fix names in pipeline matrix so we don't have to align them microsoft/vstest#15365
Update SECURITY.md by @Youssef1313 in Update SECURITY.md microsoft/vstest#15342
New Contributors
Full Changelog: microsoft/vstest@v18.3.0...v18.4.0
18.3.0
What's Changed
Internal fixes and updates
New Contributors
18.0.1
What's Changed
Fixing an issue with loading covrun64.dll on systems that have .NET 10 SDK installed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/10.0/code-coverage-dynamic-native-instrumentation
Internal changes
Full Changelog: microsoft/vstest@v18.0.0...v18.0.1
18.0.0
What's Changed
Internal fixes and updates
... (truncated)
17.14.1
What's Changed
Full Changelog: microsoft/vstest@v17.14.0...v17.14.1
17.14.0
What's Changed
.NET versions updated
This version of VS Test upgraded .NET to net8 and net9. All projects targeting net6.0 (or other end-of-life .NET target frameworks) should pin their version of Microsoft.NET.Test.SDK to 17.13.0, or update the projects to net8 or newer. We remain backwards compatible with previous versions of Microsoft.NET.Test.SDK. This change does NOT prevent you from:
It also has no impact on .NET Framework projects, where we continue targeting .NET Framework 4.6.2.
Changes
Internal version updates and fixes
New Contributors
... (truncated)
17.14.0-preview-25107-01
What's Changed
.NET versions updated
This version of VS Test upgraded .NET to net8 and net9. All projects targeting net6.0 (or other end-of-life .NET target frameworks) should pin their version of Microsoft.NET.Test.SDK to 17.13.0, or update the projects to net8 or newer. We remain backwards compatible with previous versions of Microsoft.NET.Test.SDK. This change does NOT prevent you from:
It also has no impact on .NET Framework projects, where we continue targeting .NET Framework 4.6.2.
Changes
Internal version updates and fixes
Will probably revert before release:
New Contributors
Full Changelog: microsoft/vstest@v17.13.0...v17.14.0-preview-25107-01
17.13.0
What's Changed
Add letter number among valid identifiers in class name by @nohwnd in Add letter number among valid identifiers in class name microsoft/vstest#13868
Fix formatting in Runner by @mthalman in Fix formatting in Runner microsoft/vstest#13871
Downgrade xunit skip warning to info by @nohwnd in Downgrade xunit skip warning to info microsoft/vstest#10381
Add msdia for arm64 into nuget by @nohwnd in Add msdia for arm64 into nuget microsoft/vstest#10382
Enable native debugging for vstest.console by @ocitrev in Enable native debugging for vstest.console microsoft/vstest#10401
Fix RFCs links by @Youssef1313 in Fix RFCs links microsoft/vstest#10424
Convert to auto property by @nohwnd in Convert to auto property microsoft/vstest#10365
Update Versions.props by @nohwnd in Update Versions.props microsoft/vstest#10378
Enable TSA by @jakubch1 in Enable TSA microsoft/vstest#10385
Arm64 dia by @nohwnd in Arm64 dia microsoft/vstest#10390
Update source-build team references by @MichaelSimons in Update source-build team references microsoft/vstest#10388
Exclude .signature.p7s from nupkg file count by @ellahathaway in Exclude .signature.p7s from nupkg file count microsoft/vstest#10418
Set NetCurrent so that it doesn't roll forward automatically by @ViktorHofer in Set NetCurrent so that it doesn't roll forward automatically microsoft/vstest#10622
New Contributors
Full Changelog: microsoft/vstest@v17.12.0...v17.13.0
Commits viewable in compare view.
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 commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)