Skip to content

Merge tag 4.2.0 into 4.x (retry)#1716

Merged
bart-vmware merged 82 commits into
4.xfrom
merge-tag-420-into-4x
May 29, 2026
Merged

Merge tag 4.2.0 into 4.x (retry)#1716
bart-vmware merged 82 commits into
4.xfrom
merge-tag-420-into-4x

Conversation

@bart-vmware
Copy link
Copy Markdown
Member

Same contents as #1712.

github-actions Bot and others added 30 commits September 4, 2025 11:21
> [!TIP]
> Close and reopen this pull request to run status checks.
…http would be registered as non-secure (but with the https port number) in Consul (#1596)
…1604)

* Expose secure/non-secure uris on service instance

* Optimize returned instances from Eureka
* Optimize NuGet package restore

Don't query for all packages in all feeds

* Trigger component builds on nuget.config change
* Reduce the level of recurring logging to reduce noise in apps

* Remove redundant ?

* Log at Info level only the first time
…ymous delegates, and is thus not safe to be called multiple times. (#1609)

With a pre-check in place, several Try* methods behind it can be replaced for efficiency, but only if:
- The implementation is an internal type and does not implement a public interface
- The implementation type is not shared between Steeltoe components
* Update dependent package versions to capture dumps

* Fixed: assembly load exception during gcdump in consuming app

Steeltoe employs a trick to download the gcdump assembly without referencing it (because adding a PackageReference to a tool package is not possible). The same needs to be done in consuming apps.
* Update to latest Sonar version

* Fix IDE0340: Use unbound generic type

* Fix IDE0031: Null check can be simplified, add suppression to workaround Sonar bug

* Update to new R# major version

* Install .NET 10 in workflows, update setup-dotnet version

* Resharper: use field keyword

* Add net10.0 to target frameworks in test projects

* Run tests against .NET 10 in workflows

* Adapt for breaking change in JsonStreamConfigurationProvider

* Suppress new warning in tests: CA1873 Avoid potentially expensive logging

* Suppress obsolete warnings for WebHostBuilder/WebHost

* Adapt test for new ForwardedHeadersOptions.KnownIPNetworks property

* Adapt test for cleaned logging

* Adapt for changed SQL Server connection string (EF Core 10 adds the app name)

* Add workaround for missing stable/unstable packages for EF Core 10

* Remove the need for some suppressions

* Sync up with ConfigurationSchemaGenerator changes in Aspire v13

* Remove redundant Sonar suppression

* Package updates

* Multi-target Steeltoe against net8.0/net10.0

* Address new issues after multi-targeting

* Increase cibuild timeouts
* Fix gcdump publish and transitive references

* Remove comment
* Dispose CapturingLoggerProvider in tests

* Remove redundant typeof(...).FullName in string interpolations

* Log warning on configureMiddleware false with custom middleware

* Add support for UsePathBase in actuators

* Apply suggestions from code review

Co-authored-by: Tim Hess <tim.hess@broadcom.com>

---------

Co-authored-by: Tim Hess <tim.hess@broadcom.com>
* Bump GHA versions

* Update R#, tweak code cleanup
- Address breaking change: version is no longer printed
- Build upfront
- Do not check for updates
- Skip NuGet vulnerability checks
- Skip roslyn analyzers

* Fix test isolation for memory dumps

* Fixed: Redis security tests did not run on net10.0

* Reuse shared settings for ConfigurationSchemaGeneratorTests

* Replace test categories for OS filter with xUnit attributes

* Do not skip Redis test on macOS

* Increase timeout for flaky test on Windows

* Review feedback: remove extended timeout

* Review feedback: rename skip attributes

* Review feedback: remove skipFilter

* Review feedback: rename skip attributes in comments
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Bart Koelman <104792814+bart-vmware@users.noreply.github.com>
* Fix broken tests in WSL2 on Ubuntu

* Run tests for all frameworks in single command, explicitly use VSTest mode

* Add diagnostics to investigate intermittent hostname lookup failures on macOS

* Add workaround to enable hang/crashdumps on macOS

* Reduce hang timeout (otherwise component job is killed before dump is uploaded)

* TEST: Add new tests to verify coverage diff

* Revert "TEST: Add new tests to verify coverage diff"

This reverts commit 28263c5.

* TEST: Add test that crashes with StackOverflowException

* Revert "TEST: Add test that crashes with StackOverflowException"

This reverts commit 4f84d3c.

* TEST: Add test that never completes

* Revert "TEST: Add test that never completes"

This reverts commit 251ca8d.

* Fixed: unable to discover tests in WSL

Based on xunit/xunit#3457 (comment)
…1636)

* Create a service scope for each ASP.NET health check, correct AddHealthContributor documentation

* Update src/Management/test/Endpoint.Test/Actuators/Health/HealthAggregationTest.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Clear non-indented HTML tags (used to be: html,body,thead,tbody,tfoot), hide hint to add return statement before local function

* Reformat RazorPagesTestWebApp
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Tim Hess <tim.hess@broadcom.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Enable skipping AspNet health checks at actuator endpoint

* Rename tag to ExcludeFromHealthActuator
bart-vmware and others added 21 commits May 13, 2026 17:43
* Fix CA1873: Potentially expensive logging

* Refactor UriExtensions.ToMaskedString into MaskedUri struct with implicit conversion

* Mask request URLs in HTTP exchanges actuator
…#1705)

Snapshot from sample logs before the fix (press Ctrl+C on running FortuneTellerWeb):

```text
dbug: Steeltoe.Discovery.Eureka.EurekaClient[868536339]
      HTTP DELETE request to 'http://localhost:8761/eureka/apps/STEELTOE.SAMPLES.FORTUNETELLERWEB/JVBD4M3%3ASteeltoe.Samples.FortuneTellerWeb%3A7233' returned status 404 in attempt 1.
info: Steeltoe.Discovery.Eureka.EurekaClient[601900377]
      HTTP DELETE request to 'http://localhost:8761/eureka/apps/STEELTOE.SAMPLES.FORTUNETELLERWEB/JVBD4M3%3ASteeltoe.Samples.FortuneTellerWeb%3A7233' failed with status 404: '{"timestamp":"2026-05-28T11:15:52.686+00:00","status":404,"error":"Not Found","path":"/eureka/apps/STEELTOE.SAMPLES.FORTUNETELLERWEB/JVBD4M3%3ASteeltoe.Samples.FortuneTellerWeb%3A7233"}'.
warn: Steeltoe.Discovery.Eureka.EurekaDiscoveryClient[1003466929]
      Deregister failed during shutdown.
      Steeltoe.Discovery.Eureka.Transport.EurekaTransportException: Failed to execute request on all known Eureka servers.
```
* Use HttpContext.Connection.LocalPort when evaluating management port
* Management port must be less than 65536
- Add .*connectionstring.* to default keys to sanitize
- Env actuator: sanitize connection strings and embedded credentials
- Mask values containing Password= or Pwd= (case-insensitive)
- Redact user:password@ sequences in URI-like values

---------

Co-authored-by: Bart Koelman <104792814+bart-vmware@users.noreply.github.com>
- log when a redirect happens to avoid silent failure
- add tests to verify auto-redirects are not followed

---------

Co-authored-by: Bart Koelman <104792814+bart-vmware@users.noreply.github.com>
* Create temp file with user-only access
* Delete temporary cert files
- add integration test with Config Server
- move non-hex salt theory data to AesTextDecryptorTest
- add docker-compose for integration tests to repo root
---------

Co-authored-by: Bart Koelman <104792814+bart-vmware@users.noreply.github.com>
Refactor cache invalidation for JWT keys and tests

---------

Co-authored-by: Tim Hess <tim.hess@broadcom.com>
@bart-vmware bart-vmware changed the base branch from main to 4.x May 29, 2026 15:36
@bart-vmware bart-vmware force-pushed the merge-tag-420-into-4x branch from 27a4c12 to f220ff0 Compare May 29, 2026 15:37
@bart-vmware bart-vmware requested a review from TimHess May 29, 2026 15:38
@bart-vmware bart-vmware marked this pull request as ready for review May 29, 2026 15:38
@bart-vmware bart-vmware merged commit 51cbe4b into 4.x May 29, 2026
42 of 53 checks passed
@bart-vmware bart-vmware deleted the merge-tag-420-into-4x branch May 29, 2026 15:40
@github-actions
Copy link
Copy Markdown
Contributor

Summary - All Code Coverage (ubuntu-latest)

Line coverage Branch coverage

Assembly Line coverage Branch coverage
Steeltoe.Bootstrap.AutoConfiguration 97.4% 83.3%
Steeltoe.Common 86.4% 77%
Steeltoe.Common.Certificates 97.2% 80.2%
Steeltoe.Common.Hosting 83.5% 65%
Steeltoe.Common.Http 97.4% 80.9%
Steeltoe.Common.Logging 81.1% 56.2%
Steeltoe.Common.Net 64.5% 66.6%
Steeltoe.Configuration.Abstractions 96.3% 89.4%
Steeltoe.Configuration.CloudFoundry 97.8% 92.7%
Steeltoe.Configuration.ConfigServer 91.8% 86.2%
Steeltoe.Configuration.Encryption 97.6% 87.8%
Steeltoe.Configuration.Kubernetes.ServiceBindings 95.6% 82.6%
Steeltoe.Configuration.Placeholder 93.8% 82.6%
Steeltoe.Configuration.RandomValue 93.2% 83.3%
Steeltoe.Configuration.SpringBoot 98.3% 85%
Steeltoe.Connectors 94.5% 85.6%
Steeltoe.Connectors.EntityFrameworkCore 79.7% 65.3%
Steeltoe.Discovery.Configuration 96.3% 75%
Steeltoe.Discovery.Consul 91.5% 84.4%
Steeltoe.Discovery.Eureka 91.5% 81.3%
Steeltoe.Discovery.HttpClients 89.9% 91.4%
Steeltoe.Logging.Abstractions 99.4% 95.6%
Steeltoe.Logging.DynamicConsole 100% 92.3%
Steeltoe.Logging.DynamicSerilog 99.1% 95.4%
Steeltoe.Management.Abstractions 100% 100%
Steeltoe.Management.Endpoint 96% 87.1%
Steeltoe.Management.Prometheus 95.8% 76.9%
Steeltoe.Management.Tasks 95.2% 80%
Steeltoe.Management.Tracing 100% 75%
Steeltoe.Security.Authentication.JwtBearer 100% 93.7%
Steeltoe.Security.Authentication.OpenIdConnect 87.7% 66.6%
Steeltoe.Security.Authorization.Certificate 95.6% 61.5%
Steeltoe.Security.DataProtection.Redis 100% ****

@sonarqubecloud
Copy link
Copy Markdown

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.

3 participants