Bump Microsoft.AspNetCore.Http from 2.1.22 to 2.2.2 - #2
Closed
dependabot[bot] wants to merge 1 commit into
Closed
dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [Microsoft.AspNetCore.Http](https://github.com/aspnet/AspNetCore) from 2.1.22 to 2.2.2. - [Release notes](https://github.com/aspnet/AspNetCore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v2.1.22...v2.2.2) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Http dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Author
|
Looks like Microsoft.AspNetCore.Http is no longer a dependency, so this is no longer needed. |
dependabot
Bot
deleted the
dependabot/nuget/Microsoft.AspNetCore.Http-2.2.2
branch
March 7, 2022 06:16
marcschier
added a commit
that referenced
this pull request
Jun 15, 2026
… + rename AddOpcUaBindingsPcap → AddPcapBinding Five review comments on Docs/migrate/2.0.x/sessions-subscriptions.md addressed: 1. (line 344) 'These were added in 2.0, no need to discuss migration' — dropped the 'Two additive surface additions for the new WSS reverse-connect path' block and the 'Channel-customization hooks' block. They documented additive 2.0-new surface, not migration guidance from 1.5.378. 2. (line 347) 'Just document the removal of IMessageSocket abstraction, drop the Transports: WSS and HTTPS-JSON' — renamed the section heading from 'Transports: WSS and HTTPS-JSON, IMessageSocket removed' to 'IMessageSocket abstraction removed' and dropped the intro paragraph about the new WSS / HTTPS-JSON transport profiles (also additive, covered by Docs/Profiles.md / WhatsNewIn2.0.md). Kept the IMessageSocket removal table + custom-IMessageSocket migration note as the actual migration content. 3. (line 349) 'Remove this section' — same intent, addressed by #2. 4. (line 434) 'Remove this section since Pcap package is new in 2.0' — dropped the 'Opc.Ua.Bindings.Pcap consumers' block from the Transport-binding-registry section + the 'PcapBindings.Install' line from the DI consumers code snippet. Pcap is new in 2.0 so it has no migration story from 1.5.378. 5. (line 446) 'Rename AddOpcUaBindingsPcap() to AddPcapBinding(). In code, in this PR, no obsoletion required since it is new' — code rename: AddOpcUaBindingsPcap → AddPcapBinding. For symmetry the sister methods follow the same convention: - AddOpcUaBindingsPcap → AddPcapBinding - AddOpcUaBindingsPcapFormatters → AddPcapFormatters - AddOpcUaBindingsPcapReplay → AddPcapReplay All callers updated: PcapServiceCollectionExtensions.cs, PcapBindings.cs (xmldoc), PcapTransportChannelBinding.cs (xmldoc), ChannelCaptureRegistry.cs (xmldoc), IKeyEscrowProvider.cs (xmldoc), NugetREADME.md, Applications/McpServer/Program.cs, Tests/Opc.Ua.Bindings.Pcap.Tests/.../*Tests.cs, Docs/PacketCapture.md. No [Obsolete] shim added per review instruction (the package is new in 2.0 and has no prior consumers to break). Verification: - 'dotnet build Tests/Opc.Ua.Bindings.Pcap.Tests': clean. - 20/20 Pcap DI extension tests pass.
marcschier
added a commit
that referenced
this pull request
Jul 2, 2026
…aling, Warm/Hot client standby Plan items #3 and #4 from plans/28-distributed-ha-remaining.md (items #1/#2 are now issues OPCFoundation#3938/OPCFoundation#3939). #3: RedundantClientSessionFailoverIntegrationTests (Opc.Ua.Sessions.Tests) drives two RedundantClientSession replicas with a controllable leader election against a live ReferenceServer; asserts a follower blocks/throws BadInvalidState, then after a forced handoff the same facade reference keeps serving browse/read over the swapped-in session. Passes net10 + net48. Added a Redundancy.Client project reference. #4a: RedundantServer DNS peer discovery (HA_PEER_DISCOVERY=dns + HA_SERVICE_NAME, self-exclusion + startup retry) + docker-compose.scale.yml so 'docker compose up --scale server=N' self-configures gossip peers. Active/active eventual only; Raft dynamic scaling stays on the Kubernetes StatefulSet path. #4b: RedundantClient --standby <Cold|Warm|Hot> selects the replica-set standby mode; --suite with --replicas>1 runs the browse/read/subscribe workload through the promoted leader facade. RedundantClient AOT-publishes clean. Docs: RedundantClient/RedundantServer READMEs updated; plans/28 moves #3/#4 to Delivered.
marcschier
added a commit
that referenced
this pull request
Jul 31, 2026
Reconcile the PumpX-2000 datasheet work with the address-space compliance changes from OPCFoundation#4117, which reshaped the same sample. Conflict resolutions: - WithIdentification: keep the upstream per-pump signature (builder, pump, pumpNumber) and NodeId-based lookup, and apply the full 21-field datasheet nameplate through it. Unit-specific fields (serial, asset id, component name, location, fabrication number) are now derived from the pump number, so every instance materialised by --pumps N gets a consistent nameplate instead of only the first two. - Program.cs: take upstream. Identification is configured centrally in WithIdentification for every pump, so the per-pump nameplate block in the ConfigureDevicesFor delegate is superseded; the delegate keeps upstream's loop that adds the Diagnostics functional group. - PumpSimulationState.Publish: keep upstream's status code and source timestamp plumbing and publish the datasheet curve values through it. - Supervision booleans: keep upstream's WireBoolean helper (TrueState / FalseState text and history) and drop the alarm's MonitorVariable on the boolean, because the alarm now sources BearingTemperature, which is what its Kelvin trip points describe. - Node-surface baseline: union of both identification lists. - docs/SourceGeneratedNodeManagers.md was consolidated upstream into docs/NodeManagers.md; the datasheet-related snippet fixes were ported there and the old file deleted. Documentation and tests follow the upstream rename of the pump BrowseNames to Pump_1 / Pump_2 (DisplayName "Pump #1" / "Pump #2"). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: fe608993-f3c9-4779-a6b9-9a9eabfc24ba
marcschier
pushed a commit
that referenced
this pull request
Aug 29, 2026
…r nodes (Objects folder placement) (OPCFoundation#4331) # Description A node created inside the fluent `Configure` hook (source-generated `[NodeManager]` partial, or the hosting `AddNodeManager(uri, build)` route) had no way to appear below the Objects folder — or below any node owned by another node manager. `AsyncCustomNodeManager.AddReverseReferencesAsync` mirrors inverse references into the `externalReferences` dictionary **before** the `Configure` partials run, and the fluent surface never sees the dictionary, so a configure-created node with an inverse `Organizes` reference to `ObjectsFolder` existed and simulated but never showed up under Objects. This implements the three coordinated pieces proposed in OPCFoundation#4329, plus the companion namespace gap: **1. Idempotent mirroring pass** (independently worthwhile hardening) - `AddExternalReference` in `AsyncCustomNodeManager` and `CustomNodeManager2` now has if-missing semantics (linear scan of the per-source list). - `TypeTable.AddEncoding` no longer appends a duplicate encoding id; re-registering the same encoding is a succeeding no-op. (`AddRootNotifierAsync` and the node-side `AddReferenceIfMissing` branch were already idempotent.) **2. Re-run the pass after `Configure`** - New protected `FluentNodeManagerBase.CompleteConfigureAsync(externalReferences, ct)` wraps `AddReverseReferencesAsync` so hand-written managers using `CreateFluentBuilder` benefit too. - The generator-emitted `CreateAddressSpaceAsync` and the hosting `FluentNodeManager` invoke it once between the `Configure` callbacks and `Seal()`. Timing is safe: the master distributes `externalReferences` only after every manager's `CreateAddressSpaceAsync` returns. Side benefit: inverse `HasNotifier` references on configure-created event sources get root-notifier registration for free. - The hosting `FluentNodeManager`'s hand-rolled `externalReferences` workaround for its root folder is deleted — the root's inverse `Organizes` reference now flows through the shared pass (mirrored exactly once, covered by a test). **3. Discoverable fluent sugar** - `OrganizedBy(parentId)` / `UnderObjectsFolder()` on `INodeBuilder` write the inverse `Organizes` reference; with piece 2, placement is just "write the inverse reference". - A parentless `CreateInstance<TState>` on `INodeManagerBuilder` takes a constructor-style factory (`p => new BoilerState(p)`, keeping the surface reflection-free and AOT-safe), materializes the subtree from the type model via `NodeState.Create`, rebases all NodeIds through the manager's `INodeIdFactory` (`AssignInstanceNodeId`/`AssignInstanceChildNodeIds` — the same pair the generated factories use, so declaration-id children cannot collide with the type model), and registers via `AddPredefinedNodeSynchronously`. The Boiler #2 shape becomes fully fluent: ```csharp builder.CreateInstance( new QualifiedName("Boiler #2", NamespaceIndexes[1]), p => new BoilerState(p)) .Configure(n => n.UnderObjectsFolder()); ``` **Companion gap, same theme:** `[NodeManager]` grows `AdditionalNamespaceUris`, flowing through attribute discovery → binding → generator so the generated constructor reports a second (instance) namespace at construction and the generated factory advertises it in `NamespacesUris` — today `SetNamespaces` after construction is not enough because `MasterNodeManager` builds its namespace routing from what the manager reported when it was built. **Scope boundary** (as discussed in the issue): startup-time configuration only; for nodes created after startup the correct primitive remains `IMasterNodeManager.AddReferencesAsync`. **Reviewer notes** - The generated-code change was validated against the real pipeline: a forced fresh compile of `Opc.Ua.Server.Tests` (whose CoverageNodeSet managers are `[NodeManager]`-generated) emits `await CompleteConfigureAsync(externalReferences, cancellationToken)` between `Configure` and `Seal()` and compiles against the real base class. - The distribution consumer (`AddReferencesAsync`) already used `AddReferenceIfMissing`, so the whole chain is defense-in-depth idempotent. - 15 new tests: double-run idempotence, second-pass pickup of late-registered nodes, the new reference sugar, root-instance creation incl. child-id rebasing and reference remapping, hosting end-to-end Objects-folder placement, emitted-sequence and `AdditionalNamespaceUris` generator tests, and a full Roslyn-pipeline attribute test. Docs updated in `docs/NodeManagers.md` (new "Creating nodes under other managers' nodes" section, attribute docs, fluent-surface sections). - Verified locally: all touched projects build with 0 warnings; full `Opc.Ua.Server.Tests` (4,725 passed / 0 failed / 5 skipped, net9.0), `TypeTableTests` (113), `Opc.Ua.SourceGeneration.Core.Tests` (41), `Opc.Ua.SourceGeneration.Tests` (132), and the Quickstarts.Servers sample all pass. ## Related Issues - Fixes OPCFoundation#4329 - Motivating case: OPCFoundation/UA-.NETStandard-Samples#756 / OPCFoundation/UA-.NETStandard-Samples#795 (Workshop/Boiler migration) ## Checklist - [x] 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. - [x] 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. - [x] 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. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
marcschier
added a commit
that referenced
this pull request
Sep 2, 2026
…oundation#4386) Two related robustness fixes on the reverse-connect / UA-SC handshake path, both surfaced by the Sessions suite. ## 1. Certificate handle leak in the asymmetric header parse `UaSCBinaryChannel.ReadAsymmetricMessageHeader` parses the sender certificate chain (`Utils.ParseCertificateChainBlob`, allocating fresh `Certificate` handles) and then runs several validations that can throw — invalid/missing sender thumbprint, no matching receiver certificate, receiver thumbprint mismatch, missing receiver thumbprint. The chain is returned through an `out` parameter, so a throw never reaches the caller's `using (senderCertificateChain)` in `ReadAsymmetricMessageAsync`, and the freshly parsed chain is abandoned. For a self-signed leaf that is exactly the intermittent `created == disposed + 1` seen on the Release leak gate under coverage instrumentation. This is the third sibling of the two concurrent-reconnect ownership leaks closed in OPCFoundation#4356. **Fix:** wrap the post-allocation region in a `try/catch` that disposes the chain before rethrowing (validation logic unchanged). **Test:** `ReadAsymmetricMessageHeaderDisposesSenderChainWhenReceiverThumbprintMismatches` crafts a header with a valid sender certificate and a mismatched receiver thumbprint; without the fix it reproduces `created=3, disposed=2` and trips the assembly leak gate, with the fix it passes. ## 2. Stale reverse-connection retry A reverse connection the `ReverseConnectManager` delivers can already have been closed by the server before the secure-channel handshake runs: a server rotates and times out the outbound connections it offers, so the one matched here — especially after an `updateBeforeConnect` discovery round consumed an earlier one — may be stale. That surfaced as an intermittent `BadConnectionClosed` ("Remote side closed the connection") failing the whole connect (e.g. `ReverseConnect2Async(true,true,…)`). **Fix:** wrap reverse-connect session creation in `DefaultSessionFactory` in a bounded retry (3 attempts) that requests a freshly delivered connection when an attempt fails with a connection-drop status (`BadConnectionClosed` / `BadNotConnected` / `BadSecureChannelClosed`). Non-transient failures and cancellation still surface immediately; the bound prevents an unbounded loop against a genuinely unreachable server. ## 3. Test-host crash: NULL channel map in the inactivity timer `TcpTransportListener.DetectInactiveChannels` (a fire-and-forget inactivity-timer callback) iterated `m_channels` without holding `m_lock`, while `CloseAsync` disposes the timer and nulls `m_channels` under the lock. Disposing an `ITimer` does not join an already-dispatched callback, so a late callback dereferenced the now-null map and threw an unhandled `NullReferenceException` on a thread-pool thread, crashing the process. This intermittently aborted the `test-macOS-latest-Client` host. **Fix:** snapshot `m_channels` and return early when null (mirroring the existing guarded read on the accept path). Deterministic regression test invokes the callback on a listener whose channel map is null (its state before `OpenAsync` / after `CloseAsync`) and asserts it does not throw. ## Verification - `Opc.Ua.Core.Tests` Stack.Transport/Client/Server: 2178 passed, leak gate green. - Coverage-instrumented `Opc.Ua.Sessions.Tests` (the CI leg): 775 passed, 0 failed, leak gate green. - Reverse-connect suite (`ReverseConnect*`): 52 passed with the retry. - `Opc.Ua.Core` and `Opc.Ua.Client` build warning-free (net10.0, net48, netstandard2.1, net472). Note: the reverse-connect failure is a rare timing flake (0 reproductions in 88 local attempts), so fix #2 addresses the root cause identified from the ADO log and is validated by construction plus regression rather than by a captured local repro. ## Related - Follows OPCFoundation#4356 (concurrent channel reconnect certificate leaks). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Marc <marcschier@hotmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Bumps Microsoft.AspNetCore.Http from 2.1.22 to 2.2.2.
Release notes
Sourced from Microsoft.AspNetCore.Http's releases.
... (truncated)
Commits
522705fMerge pull request #6994 from aspnet/halter73/1531-part22853b45Add RequestAbortedTokenIsUsableAfterCancellation test5d554aeRevert "Wait to dispose RequestAborted CTS (#4447)"f4c5ac7Move Kestrel.Core.Tests to their own test group (#6927)8c06f04Call StopAsync before disposing (#6189) (#6866)a2151cbDo not include prodcon build ID in version metadata829cd72Fix signing for 2.2 site extensions (#6777)c992f0dFix NU1604 error during prodcon builds (#6806)4c1a375Merge branch 'release/2.1' into release/2.2ad31f94Fix failing Razor file comparison tests (#6757)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 mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@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)