Tags: dotnet/dotnet-operator-sdk
Tags
deps(tools): update dependency nuget-license to v4.0.18 (#1259) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [nuget-license](https://redirect.github.com/sensslen/nuget-license) | `4.0.17` → `4.0.18` |  |  | --- ### Release Notes <details> <summary>sensslen/nuget-license (nuget-license)</summary> ### [`v4.0.18`](https://redirect.github.com/sensslen/nuget-license/releases/tag/v4.0.18) [Compare Source](https://redirect.github.com/sensslen/nuget-license/compare/v4.0.17...v4.0.18) #### What's Changed - Retry the url-to-license test on an empty response by [@​sensslen](https://redirect.github.com/sensslen) in [#​655](https://redirect.github.com/sensslen/nuget-license/pull/655) - Update dependency TUnit to 1.67.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​659](https://redirect.github.com/sensslen/nuget-license/pull/659) - Freeze Microsoft.Build 18.9 for the net10.0 reference by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​657](https://redirect.github.com/sensslen/nuget-license/pull/657) - Use central package management and replace Verify by [@​sensslen](https://redirect.github.com/sensslen) in [#​661](https://redirect.github.com/sensslen/nuget-license/pull/661) - Update dependency Microsoft.NET.Test.Sdk to 18.10.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​662](https://redirect.github.com/sensslen/nuget-license/pull/662) - Update tunit monorepo to 1.68.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​663](https://redirect.github.com/sensslen/nuget-license/pull/663) - Update tunit monorepo to 1.68.17 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​664](https://redirect.github.com/sensslen/nuget-license/pull/664) - Update dependency Sensslen.SPDX.Licenses.Net to 3.29.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​665](https://redirect.github.com/sensslen/nuget-license/pull/665) **Full Changelog**: <sensslen/nuget-license@v4.0.17...v4.0.18> </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Zurich) - Branch creation - "after 9pm,before 6am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dotnet/dotnet-operator-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMDMuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjEwMy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
deps(core): update opentelemetry-dotnet-contrib monorepo to 1.19.0 (#… …1254) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [OpenTelemetry.Instrumentation.Http](https://opentelemetry.io/) ([source](https://redirect.github.com/open-telemetry/opentelemetry-dotnet-contrib)) | `1.18.0` → `1.19.0` |  |  | | [OpenTelemetry.Instrumentation.Runtime](https://opentelemetry.io/) ([source](https://redirect.github.com/open-telemetry/opentelemetry-dotnet-contrib)) | `1.18.0` → `1.19.0` |  |  | --- ### Configuration 📅 **Schedule**: (in timezone Europe/Zurich) - Branch creation - "after 9pm,before 6am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dotnet/dotnet-operator-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMDMuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjEwMy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
deps(core): update dependency messagepack to 3.1.9 (#1253) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [MessagePack](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp) | `3.1.8` → `3.1.9` |  |  | --- ### Release Notes <details> <summary>MessagePack-CSharp/MessagePack-CSharp (MessagePack)</summary> ### [`v3.1.9`](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/releases/tag/v3.1.9) #### What's Changed ##### Security fix - Fix [Nested arrays can blow past buffer length limits](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-qhrr-8q5h-9q3h) via [`7fd78bb`](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/commit/7fd78bbf3476) ##### Other fixes - Update DynamicAssembly usage to honor different AssemblyLoadContext's by [@​BertanAygun](https://redirect.github.com/BertanAygun) in [#​2183](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2183) - Update v2.x to build again by [@​AArnott](https://redirect.github.com/AArnott) in [#​2264](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2264) - Add more types to the default disallow list of named types to be deserialized by [@​AArnott](https://redirect.github.com/AArnott) in [#​2263](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2263) - Add several known unsafe 'gadgets' to the disallow list by [@​AArnott](https://redirect.github.com/AArnott) in [#​2269](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2269) - Revise end-of-life date for version 2.x by [@​AArnott](https://redirect.github.com/AArnott) in [#​2282](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2282) - Fix OldSpec byte\[] encoding emitting unsupported str8 headers by [@​AArnott](https://redirect.github.com/AArnott) with [@​Copilot](https://redirect.github.com/Copilot) in [#​2287](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2287) - v2 to master by [@​AArnott](https://redirect.github.com/AArnott) in [#​2295](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2295) - Fix build warning and Windows build break by [@​AArnott](https://redirect.github.com/AArnott) in [#​2300](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2300) - Fix source generator snapshot ordering by [@​AArnott](https://redirect.github.com/AArnott) in [#​2303](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2303) - Test before versioned release build by [@​AArnott](https://redirect.github.com/AArnott) in [#​2304](https://redirect.github.com/MessagePack-CSharp/MessagePack-CSharp/pull/2304) **Full Changelog**: <MessagePack-CSharp/MessagePack-CSharp@v3.1.8...v3.1.9> </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Zurich) - Branch creation - "after 9pm,before 6am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dotnet/dotnet-operator-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC45Ni4zIiwidXBkYXRlZEluVmVyIjoiNDQuOTYuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fix(transpiler): terminate type-graph walks that never end (#1252) ## Problem The CRD transpiler walks the type graph twice — once for the schema (`Map`/`MapObjectType`) and once for printer columns (`MapPrinterColumns`). Both terminate via a path-scoped `HashSet<Type>` of ancestors. Two classes of input escape that guard: **1. The ancestor set only grows inside `MapObjectType`.** The enumerable and dictionary branches passed `ancestors` through unchanged, so a type that *is* a collection or dictionary of itself never passed through a guarded frame: ```csharp public class Tree : List<Tree>; // Map -> MapEnumerationType -> Map -> ... public class Config : Dictionary<string, Config>; // Map -> Map -> ... public class A : List<B>; public class B : List<A>; ``` These recursed until the process died with `Stack overflow.` — not catchable, so neither the `catch` in `Transpile` nor the `[PreserveUnknownFields]` fallback could turn it into a diagnostic. **2. Cycle detection compares `Type` identity.** A recursively constructed generic produces an endless chain of *distinct* types, so the guard can never match: ```csharp public class Wrapper<T> { public Wrapper<Wrapper<T>>? Inner { get; set; } } ``` In the schema walk this overflowed the stack. In the printer-column walk — which is iterative — it was a genuine infinite loop: a measured run sat at 2 minutes 26 seconds and 2.8 GB RSS, still growing, and had to be killed. That path was reachable even when the property was annotated `[Ignore]`, because printer-column discovery did not evaluate `[Ignore]`. ## Changes - **Record the current type in the enumerable and dictionary branches** before descending into the item/value type. The item or value type is reported rather than the collection, so the message for the already-covered case `class A { List<A> X; }` keeps naming `A`. - **Cap the length of a single path through the type graph** (`MaxTypeGraphDepth = 100`) in both walks. A guard on the generic type definition was considered and rejected: it would reject legitimate nesting such as `List<List<string>>`. The new exception is a `CircularTypeReferenceException`, so existing catch clauses and the `[PreserveUnknownFields]` degradation keep working. - **Skip `[Ignore]` properties during printer-column discovery.** A column below an ignored property referenced a JSON path that does not exist in the generated schema. ## Verification Each case run through `Transpile` before and after: | Input | Before | After | |---|---|---| | `class Node { List<Node> Children; }` (control) | `TranspilationFailedException … circular … 'Node'` | unchanged | | `class Tree : List<Tree>` | `Stack overflow.` | `… circular … 'Tree'` | | `class Config : Dictionary<string, Config>` | `Stack overflow.` | `… circular … 'Config'` | | `Wrapper<Wrapper<T>>`, schema walk | `Stack overflow.` (1470 frames) | `… exceeds the maximum nesting depth of 100 …` | | `Wrapper<Wrapper<T>>` behind `[Ignore]` | infinite loop, 2m26s / 2.8 GB RSS | transpiles immediately | `KubeOps.Transpiler.Test` 241/241, `KubeOps.Generator.Test` 61/61, `KubeOps.Cli.Test` 31/31 (2 skipped). `dotnet build -c Release` with no new warnings, `dotnet format --verify-no-changes` clean. Seven new tests in `Crds.Mlc.CircularReference.Test.cs`, including a negative test asserting the depth limit does not fire on `List<List<string>>`. ## Behaviour changes - Type graphs that previously crashed or hung now fail with a descriptive `TranspilationFailedException` during generation. - An `[AdditionalPrinterColumn]` below an `[Ignore]` property is no longer emitted. It previously produced a column whose `jsonPath` pointed at a field absent from the schema. - `[PreserveUnknownFields]` still opts a subtree out of the schema only, not out of printer-column discovery. That inconsistency is left untouched here. ## Relation to #1233 The `[Ignore]` filter in `MapPrinterColumns` is the same change as #1233 and will conflict textually. The stack overflow described in that PR's title is the case `class Tree { List<Tree> Children; }`, which is already handled by the cycle guards from #1141/#1201; what remains reachable through an ignored member is the infinite loop measured above. Docs updated in `docs/docs/operator/building-blocks/entities.mdx`.
feat(cli/rbac): add explicit --rbac-scope option (#1251) Follow-up to #1230. Static discovery of the watch namespace does not cover all cases, so this adds a simple, deterministic opt-in and fixes two discovery bugs. ## Changes - **New CLI option** `--rbac-scope auto|cluster|namespaced` on `generate operator`: - `auto` (default) keeps the existing discovery behaviour - `cluster` always generates `ClusterRole`/`ClusterRoleBinding` - `namespaced` always generates `Role`/`RoleBinding` — also when the namespace is only known at runtime (e.g. `WATCH_NAMESPACE`) - Namespace for `namespaced`: `--namespace` → statically discovered namespace → `<operator-name>-system` (in the fallback case the namespace resource is generated, so the kustomization stays relocatable). - The cluster-wide fallback warning now points to `--rbac-scope namespaced`. - Passed through by MSBuild (`KubeOpsRbacScope`, `KubeOpsNamespace`) and Aspire (`KubeOpsKubernetesManifestOptions.RbacScope`). `--namespace` intentionally does **not** imply namespaced RBAC — Aspire always sends it. - **Bugfixes** in `OperatorWatchScopeDiscovery`: an enclosing `try` is no longer treated as a conditional (`catch` still is), and the ancestor walk stops at the analyzed configuration lambda. The common `try { … } finally { Log.CloseAndFlush(); }` host shape no longer defeats discovery. ## Tests - New `OperatorRbacTargetResolverTest` covering all scope/namespace combinations including the mismatch error. - New discovery tests for `try/finally`, conditional registration, and assignment inside `catch`. No breaking changes, the default stays `auto`. Refs #1213
deps(core): update aspire monorepo (#1248) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [Aspire.Hosting](https://redirect.github.com/microsoft/aspire) | `13.5.3` → `13.5.4` |  |  | | [Aspire.Hosting.Kubernetes](https://redirect.github.com/microsoft/aspire) | `13.5.3-preview.1.26425.3` → `13.5.4-preview.1.26464.4` |  |  | | [Aspire.Hosting.Testing](https://redirect.github.com/microsoft/aspire) | `13.5.3` → `13.5.4` |  |  | --- ### Release Notes <details> <summary>microsoft/aspire (Aspire.Hosting)</summary> ### [`v13.5.4`](https://redirect.github.com/microsoft/aspire/compare/v13.5.3...v13.5.4) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Zurich) - Branch creation - "after 9pm,before 6am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dotnet/dotnet-operator-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC45My40IiwidXBkYXRlZEluVmVyIjoiNDQuOTMuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
deps(test): update dependency fluentassertions to 8.11.0 (#1247) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [FluentAssertions](https://xceed.com/products/unit-testing/fluent-assertions/) ([source](https://redirect.github.com/fluentassertions/fluentassertions)) | `8.10.0` → `8.11.0` |  |  | --- ### Release Notes <details> <summary>fluentassertions/fluentassertions (FluentAssertions)</summary> ### [`v8.11.0`](https://redirect.github.com/fluentassertions/fluentassertions/releases/tag/8.11.0) [Compare Source](https://redirect.github.com/fluentassertions/fluentassertions/compare/8.10.0...8.11.0) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### New features - Add `ThatSatisfy` for methods and properties by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3257](https://redirect.github.com/fluentassertions/fluentassertions/pull/3257) - Add BeSupersetOf, BeProperSubsetOf and BeProperSupersetOf collection assertions by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3271](https://redirect.github.com/fluentassertions/fluentassertions/pull/3271) - Add BeJsonSerializable round-trip assertions by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3293](https://redirect.github.com/fluentassertions/fluentassertions/pull/3293) - Support asserting on delegates that return a value task by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3301](https://redirect.github.com/fluentassertions/fluentassertions/pull/3301) ##### Improvements - BeEmpty for IEnumerable<T> assertions now lists the first 10 items in… by [@​Xceed-DelvaJB](https://redirect.github.com/Xceed-DelvaJB) in [#​3198](https://redirect.github.com/fluentassertions/fluentassertions/pull/3198) - Clean-up the stack trace further by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3290](https://redirect.github.com/fluentassertions/fluentassertions/pull/3290) - Add HaveLineCount()/NotHaveLineCount() and ContainLine()/NotContainLine() to StringAssertions by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3297](https://redirect.github.com/fluentassertions/fluentassertions/pull/3297) - Add public ValueTypeAssertions\<TSubject, TAssertions> base class by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3308](https://redirect.github.com/fluentassertions/fluentassertions/pull/3308) ##### Fixes - Fix JsonNodeAssertions.HaveProperty/NotHaveProperty for properties with explicit null values by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) with [@​Copilot](https://redirect.github.com/Copilot) in [#​3282](https://redirect.github.com/fluentassertions/fluentassertions/pull/3282) - Fix exception on `HaveProperty` on `JsonArray` by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3295](https://redirect.github.com/fluentassertions/fluentassertions/pull/3295) - Fix potential NREs when using AssertionScope ([#​3178](https://redirect.github.com/fluentassertions/fluentassertions/issues/3178)) by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3323](https://redirect.github.com/fluentassertions/fluentassertions/pull/3323) ##### Documentation - Fix typos by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3310](https://redirect.github.com/fluentassertions/fluentassertions/pull/3310) - Fix typo in exceptions page by [@​jpgomezv](https://redirect.github.com/jpgomezv) in [#​3317](https://redirect.github.com/fluentassertions/fluentassertions/pull/3317) ##### Others - Simplify GetMinValue/GetMaxValue by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3210](https://redirect.github.com/fluentassertions/fluentassertions/pull/3210) - Revert "Bump coverlet.collector from 6.0.4 to 8.0.1" by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3218](https://redirect.github.com/fluentassertions/fluentassertions/pull/3218) - Update nugets by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3226](https://redirect.github.com/fluentassertions/fluentassertions/pull/3226) - Convert the build pipeline from Nuke to Fallout by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3234](https://redirect.github.com/fluentassertions/fluentassertions/pull/3234) - Expose ShouldThrowOnCyclicReference on IEquivalencyValidationContext by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3242](https://redirect.github.com/fluentassertions/fluentassertions/pull/3242) - Prevent pwn-request RCE via the Qodana workflow by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3217](https://redirect.github.com/fluentassertions/fluentassertions/pull/3217) - Harden NPM install by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3258](https://redirect.github.com/fluentassertions/fluentassertions/pull/3258) - Pin System.Security.Cryptography.Xml to patched version to fix build restore failures by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3283](https://redirect.github.com/fluentassertions/fluentassertions/pull/3283) - Exclude dependabot PRs from auto-generated release notes by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3294](https://redirect.github.com/fluentassertions/fluentassertions/pull/3294) - Fix Qodana PR scans failing on pull requests from forks by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3299](https://redirect.github.com/fluentassertions/fluentassertions/pull/3299) - Cancel duplicate CI runs when a push triggers both push and pull\_request events by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3298](https://redirect.github.com/fluentassertions/fluentassertions/pull/3298) - Fix Qodana-flagged possible multiple enumeration and unused auto-property warnings by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3300](https://redirect.github.com/fluentassertions/fluentassertions/pull/3300) - Document lessons learned from [#​3291](https://redirect.github.com/fluentassertions/fluentassertions/issues/3291) in agents.md by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3307](https://redirect.github.com/fluentassertions/fluentassertions/pull/3307) - Pin SDK to workaround 10.0.400 by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3309](https://redirect.github.com/fluentassertions/fluentassertions/pull/3309) - Stop the Build workflow from running twice on same-repo PRs by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3311](https://redirect.github.com/fluentassertions/fluentassertions/pull/3311) - Update NuGet.Frameworks to workaround Fallout issue by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3318](https://redirect.github.com/fluentassertions/fluentassertions/pull/3318) - Prefer Count > 0 over Any() by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3321](https://redirect.github.com/fluentassertions/fluentassertions/pull/3321) - Correct the arguments passed to `string.Format` on failure by [@​jnyrup](https://redirect.github.com/jnyrup) in [#​3325](https://redirect.github.com/fluentassertions/fluentassertions/pull/3325) - Migrate xunit v3 test projects off the VSTest pipeline by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3320](https://redirect.github.com/fluentassertions/fluentassertions/pull/3320) - Include PackageGuard risk report and SBOM in pipeline by [@​dennisdoomen](https://redirect.github.com/dennisdoomen) in [#​3324](https://redirect.github.com/fluentassertions/fluentassertions/pull/3324) #### New Contributors - [@​jpgomezv](https://redirect.github.com/jpgomezv) made their first contribution in [#​3317](https://redirect.github.com/fluentassertions/fluentassertions/pull/3317) **Full Changelog**: <fluentassertions/fluentassertions@8.10.0...8.11.0> </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Zurich) - Branch creation - "after 9pm,before 6am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dotnet/dotnet-operator-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC43OS4xIiwidXBkYXRlZEluVmVyIjoiNDQuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
deps(core): update dependency ziggycreatures.fusioncache to 2.8.0 (#1245 ) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [ZiggyCreatures.FusionCache](https://redirect.github.com/ZiggyCreatures/FusionCache) | `2.7.2` → `2.8.0` |  |  | --- ### Release Notes <details> <summary>ZiggyCreatures/FusionCache (ZiggyCreatures.FusionCache)</summary> ### [`v2.8.0`](https://redirect.github.com/ZiggyCreatures/FusionCache/releases/tag/v2.8.0) ##### 🔒 Fix for distributed lock release when skipping L2 write Community member [@​joaopbnogueira](https://redirect.github.com/joaopbnogueira) spotted a problem with an edge case: when using `SkipDistributedCacheWrite` the distributed locker was not being properly disposed, which was unfortunate. Now this has been fixed. See [here](https://redirect.github.com/ZiggyCreatures/FusionCache/issues/644) for the issue. ##### 🏷️ Fix for tag marker re-materialization Community member [@​igor-henriques](https://redirect.github.com/igor-henriques) noticed an issues because of which when the tag marker (the special cache entry containing the `RemoveByTag()` timestamp) expired, it was being re-materialized with a newer timestamp: this could have led to the same results as a new `RemoveByTag()` call. That was unfortunate, but it has now been fixed. See [here](https://redirect.github.com/ZiggyCreatures/FusionCache/issues/627) for the issue. ##### 🏷️ Better handling of `RemoveByTagBehavior.Remove` Community member [@​gpetrou](https://redirect.github.com/gpetrou) asked for some help regarding a certain scenario, and during the explanation/investigation it emerged that FusionCache could have handled `RemoveByTagBehavior.Remove` in a slightly better way. It was mostly an edge case, but still: now the way it is internally handled is even better than before. See [here](https://redirect.github.com/ZiggyCreatures/FusionCache/issues/638) for the issue. ##### 🔭 Better observability for user-initiated cancellations Community member [@​dzmitry-tsarevich](https://redirect.github.com/dzmitry-tsarevich) highlighted that user-initiated cancellations were being handled in a little-too-aggressive way from the oint of view of observability: too much background noise was being generated, which could lead to bloat. Now this has been made better, slimmer. See [here](https://redirect.github.com/ZiggyCreatures/FusionCache/pull/641) for the issue. ##### 👷 New builder ext methods Community member [@​Stepami](https://redirect.github.com/Stepami) noticed the lack of a specific ext method on the builder to register the distributed locker based on Redis, basically `WithRedisDistributedLocker()`. After accepting his PR, I noticed a couple of extra ones were also missing, and so I added them. See [here](https://redirect.github.com/ZiggyCreatures/FusionCache/issues/619) for the issue. Also, community member [@​petriceko](https://redirect.github.com/petriceko) asked for a new overload of the `WithOptions()` ext method with better DI support: promptly, community member [@​vrbyjimmy](https://redirect.github.com/vrbyjimmy) made a PR to add that, which I merged. Talk about community collaboration 🙂 See [here](https://redirect.github.com/ZiggyCreatures/FusionCache/issues/605) for the issue. </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Zurich) - Branch creation - "after 9pm,before 6am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dotnet/dotnet-operator-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC43OS4xIiwidXBkYXRlZEluVmVyIjoiNDQuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fix(cli): prevent CLI assembly inspection (#1237) - Skip inspecting assemblies loaded from the CLI directory to avoid runtime errors. - Add `AssemblyLoaderTest` to validate CLI assembly handling logic. - Document CLI exit codes for enhanced error handling in scripts and CI pipelines.
deps(core): update dotnet monorepo to 10.10.0 (#1239) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [Microsoft.Extensions.Http.Resilience](https://dot.net/) ([source](https://redirect.github.com/dotnet/extensions)) | `10.9.0` → `10.10.0` |  |  | | [Microsoft.Extensions.ServiceDiscovery](https://dot.net/) ([source](https://redirect.github.com/dotnet/extensions)) | `10.9.0` → `10.10.0` |  |  | | [Microsoft.Extensions.TimeProvider.Testing](https://dot.net/) ([source](https://redirect.github.com/dotnet/extensions)) | `10.9.0` → `10.10.0` |  |  | --- ### Configuration 📅 **Schedule**: (in timezone Europe/Zurich) - Branch creation - "after 9pm,before 6am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/dotnet/dotnet-operator-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC43MS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
PreviousNext