Repository navigation
Bump the cocoar-internals group with 3 updates - #62
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 Cocoar.Configuration from 6.0.0 to 6.1.0 Bumps Cocoar.Configuration.AspNetCore from 6.0.0 to 6.1.0 Bumps Cocoar.SignalARRR.Server from 4.3.0 to 4.3.1 --- updated-dependencies: - dependency-name: Cocoar.Configuration dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cocoar-internals - dependency-name: Cocoar.Configuration.AspNetCore dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cocoar-internals - dependency-name: Cocoar.SignalARRR.Server dependency-version: 4.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cocoar-internals ... Signed-off-by: dependabot[bot] <support@github.com>
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
Contributor
|
Superseded by #64 — consolidated into one branch and gated on a local build + full test run (per our local-upgrade policy). Note: |
Author
|
This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests. To ignore these dependencies, configure ignore rules in dependabot.yml |
dependabot
Bot
deleted the
dependabot/nuget/src/dotnet/cocoar-internals-a92b9abca1
branch
June 9, 2026 11:43
windischb
added a commit
that referenced
this pull request
Jun 9, 2026
… 2.7 (critter-stack deferred) (#64) * chore(deps): consolidate Dependabot upgrades — Marten/Wolverine 9.6/6.5, vue-ui 2.7, IdentityModel, Cocoar libs Consolidates Dependabot PRs #58-#62 into one branch, gated on a local build + full test run (per the local-upgrade policy) rather than merging the bot PRs directly. Backend (Directory.Packages.props): - Marten + Marten.AspNetCore 9.3.5 -> 9.6.0 - WolverineFx.Marten + .RuntimeCompilation 6.3.2 -> 6.5.1 - Microsoft.IdentityModel.Tokens 8.19.0 -> 8.19.1 - Cocoar.Configuration + .AspNetCore 6.0.0 -> 6.1.0 - Cocoar.SignalARRR.Server 4.3.0 -> 4.3.1 Frontend (package.json + pnpm-lock.yaml): - @cocoar/vue-ui + vue-data-grid/fragment-parser/localization/page-builder/script-editor 2.5.2 -> 2.7.0 - @cocoar/signalarrr 4.3.0 -> 4.3.1 - vue-tsc (dev) 3.3.3 -> 3.3.4 Deviation from Dependabot's critter-stack group: JasperFx.Events.SourceGenerator is HELD at 2.5.0. 2.6+ (confirmed 2.8.2) reintroduced the AggregateEvolverGenerator that emits a duplicate ctor + Evolve(...) colliding with our SingleStreamProjection subclasses (AppProjection / PermissionRoleProjection / PrincipalProjectionBase -> CS0111, reproduced on a clean build). It is the compile-time analyzer, versioned independently of the Marten runtime, so Marten/Wolverine still advance. dependabot.yml ignores >2.5.0; engineering-gotchas/critter-stack-2026.md updated. Gate (local): dotnet build green; Modgud.Tests.Unit 1090/1090; Modgud.Api.Tests 301/301 (isolated). Frontend: vue-tsc --build + vite build green; modals live-verified against vue-ui 2.7.0 (overflow fix, dual-listbox, AA accent intact). Supersedes #58, #59, #60, #61, #62. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore(deps): defer critter-stack upgrade; fix KpiCard duplicate keydown handler CI surfaced two issues with the first (full) consolidation, so this scopes the PR down to the deps that pass the gate cleanly. Deferred — critter-stack (Marten/Wolverine) reverted to develop's versions (Marten + Marten.AspNetCore 9.3.5, WolverineFx.* 6.3.2, JasperFx.Events.SourceGenerator 2.5.0), plus the related dependabot.yml + gotchas-doc changes. Two real blockers need a dedicated effort: (1) JasperFx.Events.SourceGenerator 2.8.2 reintroduces the AggregateEvolverGenerator CS0111 collision (clean-build reproducible); (2) Marten 9.6.0's async-daemon cold-start exceeds the test rig's 10s WaitForNonStaleProjectionDataAsync on CI runners -> `TimeoutException: projections timed out` across the integration suite (develop with 9.3.5 passes). Per "keep current versions if not clean". Kept (gate green): Microsoft.IdentityModel.Tokens 8.19.1, Cocoar.Configuration(.AspNetCore) 6.1.0, Cocoar.SignalARRR.Server 4.3.1, frontend @cocoar/* 2.7.0, @cocoar/signalarrr 4.3.1, vue-tsc 3.3.4. KpiCard.vue: two @keydown handlers (.enter / .space) compiled to a duplicate onKeydown property that vue-tsc 3.3.4 now flags (TS1117) — combined into one @keydown.enter.space.prevent handler. Gate (local): dotnet build green; vue-tsc --build green; frontend modals live-verified against vue-ui 2.7.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.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.
Updated Cocoar.Configuration from 6.0.0 to 6.1.0.
Release notes
Sourced from Cocoar.Configuration's releases.
6.1.0
Minor, fully additive release — no breaking changes, drop-in over 6.0.0. Four new configuration file formats, Kubernetes ConfigMap / Secret support, and a provider hardening pass.
✨ New file-format providers
All four sit on a shared, reusable
FileBackedProviderbase, so they get the same reactive file-watching, path-traversal protection, and per-file debounce as the JSON file provider.YAML — new opt-in package
Cocoar.Configuration.Yaml(YamlDotNet). Plain scalars map to their JSON types (true→bool,42→number,null/~→null); quoted/block scalars stay strings.TOML — new opt-in package
Cocoar.Configuration.Toml(Tomlyn). TOML is strongly typed, so values map unambiguously to JSON (incl. arrays-of-tables → arrays of objects; dates → ISO-8601 strings).dotenv and INI — built into the core package, no extra dependency:
☸️ Kubernetes ConfigMap / Secret support
A ConfigMap/Secret-mounted file is a symlink whose content is updated by an atomic swap of a sibling
..datasymlink — not by rewriting the file. Opt in withfollowSymlinks(default off) on any file provider:..dataswap (viaCocoar.FileSystem2.3.0 symlink-target tracking), even though the watched file's name and timestamp never change. Detection rides on the directory watcher's periodic re-scan — expect propagation within roughly a minute, in line with how Kubernetes itself rolls ConfigMap updates.Default behaviour is unchanged: symlinks remain rejected as defense in depth.
🛠️ Provider hardening & internals
HttpResponseMessageis disposed after fetch; opt-inSseReadIdleTimeoutreconnects a half-open SSE stream.FileBackedProviderbase (watch / path+symlink security / debounce / dispose) shared by all file formats;FileSourceProvideris now a thin subclass.FromCommandLine();FileSourceProvider.Disposemade race-safe; removed deadMicrosoftConfigurationSource*code (theFromMicrosoftSourceAPI was dropped in 6.0.0).📦 Packages
... (truncated)
Commits viewable in compare view.
Updated Cocoar.Configuration.AspNetCore from 6.0.0 to 6.1.0.
Release notes
Sourced from Cocoar.Configuration.AspNetCore's releases.
6.1.0
Minor, fully additive release — no breaking changes, drop-in over 6.0.0. Four new configuration file formats, Kubernetes ConfigMap / Secret support, and a provider hardening pass.
✨ New file-format providers
All four sit on a shared, reusable
FileBackedProviderbase, so they get the same reactive file-watching, path-traversal protection, and per-file debounce as the JSON file provider.YAML — new opt-in package
Cocoar.Configuration.Yaml(YamlDotNet). Plain scalars map to their JSON types (true→bool,42→number,null/~→null); quoted/block scalars stay strings.TOML — new opt-in package
Cocoar.Configuration.Toml(Tomlyn). TOML is strongly typed, so values map unambiguously to JSON (incl. arrays-of-tables → arrays of objects; dates → ISO-8601 strings).dotenv and INI — built into the core package, no extra dependency:
☸️ Kubernetes ConfigMap / Secret support
A ConfigMap/Secret-mounted file is a symlink whose content is updated by an atomic swap of a sibling
..datasymlink — not by rewriting the file. Opt in withfollowSymlinks(default off) on any file provider:..dataswap (viaCocoar.FileSystem2.3.0 symlink-target tracking), even though the watched file's name and timestamp never change. Detection rides on the directory watcher's periodic re-scan — expect propagation within roughly a minute, in line with how Kubernetes itself rolls ConfigMap updates.Default behaviour is unchanged: symlinks remain rejected as defense in depth.
🛠️ Provider hardening & internals
HttpResponseMessageis disposed after fetch; opt-inSseReadIdleTimeoutreconnects a half-open SSE stream.FileBackedProviderbase (watch / path+symlink security / debounce / dispose) shared by all file formats;FileSourceProvideris now a thin subclass.FromCommandLine();FileSourceProvider.Disposemade race-safe; removed deadMicrosoftConfigurationSource*code (theFromMicrosoftSourceAPI was dropped in 6.0.0).📦 Packages
... (truncated)
Commits viewable in compare view.
Updated Cocoar.SignalARRR.Server from 4.3.0 to 4.3.1.
Release notes
Sourced from Cocoar.SignalARRR.Server's releases.
4.3.1
Fixes fire-and-forget
sendserver methods silently doing nothing (e.g. group joins), plus three Swift-client robustness bugs.Documentation | Changelog
What was broken
Server methods invoked via
sendsilently did nothing. The server routed fire-and-forget calls (SendMessage) through a detachedTask.Runthat started after the hub method returned — by which point SignalR had already disposed theHub. The disposed hub's injectedContext/Clients/Groupswere then invalid, so any hub-dependent work (aGroups.AddToGroupAsync(...)group join, a server-to-client push, etc.) failed without an exception, a log line, or any effect.This was easy to hit without explicitly choosing
send: the typed proxy routes everyvoid- orTask-returning server method through this path, so aSubscribe-style method that joins a group would silently never join — while the identical method declared with a return value (Task<T>, routed throughinvoke) worked. It affected all clients (.NET, Swift, TypeScript).The Swift client additionally had three independent issues:
.../hub/sync?user=x) produced a malformed URL during negotiate (.../hub/sync?user=x/negotiate?...) and the WebSocket upgrade (...?user=x?id=...), so negotiate returned HTTP 400.localhosthung for ~30s. Whenlocalhostresolved to IPv6 (::1) against an IPv4-only server, the negotiate/WebSocket path hung on the OS connect timeout with no Happy-Eyeballs fallback (plainURLSessionREST calls fell back fine).on(...)silently swallowed server→client contracts. Registering a SignalARRR server→client contract withon(...)(which only handles raw SignalR events) instead ofonServerMethod(...)never fired and never logged.What changed
SendMessagenow awaits the handler within the hub invocation, keeping theHub(and itsContext/Clients/Groups) alive for the call's duration. The client-sidesendis non-blocking at the SignalR layer, so this is transparent to callers — fire-and-forget semantics are preserved.URLComponents, preserving existing query parameters and inserting/negotiateinto the path correctly.127.0.0.1workaround for IPv4-only servers is documented.onServerMethod(...)(mirroring the .NET client), and theon(...)vsonServerMethod(...)distinction is documented on both APIs.send-routed server method joins a group against a liveHub(red on the old fire-and-forget behaviour), plus Swift unit tests for query-string-safe transport URLs.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 <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions