---
title: Release digest for week of 2026-05-25 to 2026-06-01
---

## Added
- **AuthProxy** ([Release v2.4.0](https://github.com/Cratis/AuthProxy/releases/tag/v2.4.0)): `Source/Aspire` class library (`Aspire.Hosting` 9.5.2) with `AuthProxyResource : ContainerResource` pointing at `cratis/authproxy` and a full set of fluent extension methods on `IResourceBuilder<T> where T : IResourceWithEnvironment` — works on both container and project resources
- **AuthProxy** ([Release v2.4.0](https://github.com/Cratis/AuthProxy/releases/tag/v2.4.0)): `OidcProviderType` enum (`Custom`, `Microsoft`, `Google`, `GitHub`, `Apple`) in the Aspire library — standalone, no dependency on the AuthProxy web project
- **AuthProxy** ([Release v2.4.0](https://github.com/Cratis/AuthProxy/releases/tag/v2.4.0)): `Documentation/aspire/index.md` — how-to guide covering container vs project resource setup, all `With*` extension methods, the `OidcProviderType` enum, tenant selection, invites & lobby, identity details resolution, resource-based endpoint references, and cross-links to the existing configuration reference
- **AuthProxy** ([Release v2.4.0](https://github.com/Cratis/AuthProxy/releases/tag/v2.4.0)): `publish-nuget` job in `.github/workflows/publish.yml` using OIDC trusted publishing (`NuGet/login@v1`) — packs and pushes only `Source/Aspire/Aspire.csproj` as `Cratis.AuthProxy.Aspire` to NuGet.org; runs independently of the Docker pipeline
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added `CratisComponentsProvider` as the single setup point for PrimeReact global options such as `unstyled`, `pt`, `ptOptions`, locale, ripple, and overlay config.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added a `--cratis-*` CSS variable token layer for Cratis-owned surfaces, themed out of the box from whichever PrimeReact theme is loaded.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added PrimeReact 10 and 11 compatibility for the token layer — each `--cratis-*` token resolves the PrimeReact v11 design token (`@primeuix/themes`) first and falls back to the v10 theme variable, so the same build works across both majors.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added `pt`, `ptOptions`, `unstyled`, and `className` forwarding on single-widget wrappers.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added per-slot pass-through props on composite wrappers, including `dialogPt`, `tablePt`, `menubarPt`, and `paginatorPt`.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added root `className` support on large composites where per-slot forwarding is not practical.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added subpath exports for `ObjectContentEditor`, `ObjectNavigationalBar`, `SchemaEditor`, and `tokens`.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added Styling documentation for using a PrimeReact theme, applying a custom palette, using fully unstyled mode, combining styling setups, Cratis tokens, and PrimeReact pass-through props.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added a migration guide covering peer dependency changes, visual changes, provider setup, and optional styling capabilities.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added a Storybook Styling toolbar with previews for Lara Dark Blue, Lara Light Blue, Custom palette, Unstyled bare, and Unstyled + Tailwind `pt`.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Added `sideEffects: ["**/*.css"]` so bundlers can tree-shake unused JS while preserving CSS imports.
- **Arc** ([Release v20.33.1](https://github.com/Cratis/Arc/releases/tag/v20.33.1)): Added `payloadSchema` to command introspection metadata output. (#2258)
- **Arc** ([Release v20.33.1](https://github.com/Cratis/Arc/releases/tag/v20.33.1)): Added `argumentsSchema` to query introspection metadata, including required argument fields. (#2258)
- **Arc** ([Release v20.33.1](https://github.com/Cratis/Arc/releases/tag/v20.33.1)): Added Arc.Core round-trip specs for plain numbers, `NaN`, `Infinity`, and `-Infinity`. (#2263)
- **Arc** ([Release v20.33.0](https://github.com/Cratis/Arc/releases/tag/v20.33.0)): Expose live observable query diagnostics through ArcContext with RxJS snapshot streaming.
- **Arc** ([Release v20.32.0](https://github.com/Cratis/Arc/releases/tag/v20.32.0)): Expose live observable query diagnostics through ArcContext with RxJS snapshot streaming.
- **Arc** ([Release v20.31.0](https://github.com/Cratis/Arc/releases/tag/v20.31.0)): Expose live observable query diagnostics through ArcContext with RxJS snapshot streaming.
- **Arc** ([Release v20.30.0](https://github.com/Cratis/Arc/releases/tag/v20.30.0)): Expose live observable query diagnostics through ArcContext with RxJS snapshot streaming.
- **Arc** ([Release v20.29.0](https://github.com/Cratis/Arc/releases/tag/v20.29.0)): Expose live observable query diagnostics through ArcContext with RxJS snapshot streaming.
- **Arc** ([Release v20.28.0](https://github.com/Cratis/Arc/releases/tag/v20.28.0)): Expose live observable query diagnostics through ArcContext with RxJS snapshot streaming.
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Added no-provider specs for identity schema, users, and tenants endpoint responses.
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Added assertions that provider-missing mapping still registers `/.cratis/identity-details/schema`, `/.cratis/users`, and `/.cratis/tenants`.
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Added model-bound projection spec coverage for self-referencing children to assert nested placement of sub-children.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Public `AddNamedMeter(string name)` extension to register a keyed `System.Diagnostics.Metrics.Meter` and keyed open-generic `IMeter<T>`.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Public `AddNamedActivitySource(string name)` extension to register a keyed `System.Diagnostics.ActivitySource` and keyed open-generic `IActivitySource<T>`.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Focused DI specs for named diagnostics resolution under `for_DiagnosticsServiceCollectionExtensions`.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): New observability docs pages for named registration:
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): `Documentation/csharp/metrics/named-registration.md`
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): `Documentation/csharp/traces/named-registration.md`
- **Arc** ([Release v20.27.0](https://github.com/Cratis/Arc/releases/tag/v20.27.0)): `useOnMessage` React hook that subscribes to messages of a given type from the nearest `MessengerScope`, with an optional filter predicate that receives the typed message and decides whether the consumer is interested.
- **Arc** ([Release v20.27.0](https://github.com/Cratis/Arc/releases/tag/v20.27.0)): `useSendMessage` React hook that returns a stable function for publishing messages to the nearest `MessengerScope`.
- **Arc** ([Release v20.27.0](https://github.com/Cratis/Arc/releases/tag/v20.27.0)): `ICanProvideUsers` and `User` (`MicrosoftIdentity: ClientPrincipal`, `Details: object`) in `Cratis.Arc.Identity` (#2249).
- **Arc** ([Release v20.27.0](https://github.com/Cratis/Arc/releases/tag/v20.27.0)): `ICanProvideTenants`, `Tenant` (`Id: TenantId`, `Name: TenantName`), and `TenantName` concept in `Cratis.Arc.Tenancy` (#2249).
- **Chronicle.TypeScript** ([Release v0.2.0](https://github.com/Cratis/Chronicle.TypeScript/releases/tag/v0.2.0)): Top-level module re-exports from the package entrypoint to support module-style consumption.
- **Chronicle.TypeScript** ([Release v0.2.0](https://github.com/Cratis/Chronicle.TypeScript/releases/tag/v0.2.0)): Explicit top-level subpath exports in `Source/package.json` for redistributable module access.

## Changed
- **Fundamentals** ([Release v7.10.6](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.6)): Route named and default diagnostics registrations through dedicated keyed and unkeyed meter/activity source implementations to avoid constructor-selection ambiguity during DI activation.
- **Fundamentals** ([Release v7.10.6](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.6)): Align related specs and analyzer test sources with concise type references and update local dictionary entries for new diagnostics terminology.
- **AuthProxy** ([Release v2.4.0](https://github.com/Cratis/AuthProxy/releases/tag/v2.4.0)): `Composition/AppHost.cs` updated to use `WithBackend` / `WithFrontend` instead of bare `WithReference`, and now wires up the frontend (`web`) service as well
- **AuthProxy** ([Release v2.4.0](https://github.com/Cratis/AuthProxy/releases/tag/v2.4.0)): `Source/Aspire/Aspire.csproj` updated with full NuGet package metadata (`PackageId`, `Title`, `Description`, `Authors`, `PackageLicenseExpression`, `RepositoryUrl`, `PackageTags`, `IsPackable`)
- **AuthProxy** ([Release v2.4.0](https://github.com/Cratis/AuthProxy/releases/tag/v2.4.0)): `WithSelectionTenantReso
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Changed `primereact` and `primeicons` from runtime dependencies to peer dependencies; consumers must declare them directly after upgrading.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Changed `pixi.js`, `framer-motion`, and `allotment` to optional peer dependencies so consumers only install them when using the matching components.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Changed `FormElement` addon styling to use stable Cratis CSS classes and `--cratis-*` tokens instead of PrimeReact `p-inputgroup-addon` classes.
- **Components** ([Release v2.0.0](https://github.com/Cratis/Components/releases/tag/v2.0.0)): Changed `ObjectNavigationalBar` and `SchemaEditor` bottom borders to render through Cratis CSS instead of PrimeFlex u
- **Fundamentals** ([Release v7.10.5](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.5)): Reworked `Meter<T>` and `ActivitySource<T>` to resolve keyed services via `IServiceProvider` and `[ServiceKey] string?`, while preserving parameterless and explicit-instance constructors.
- **Fundamentals** ([Release v7.10.5](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.5)): Kept named diagnostics registrations returning the same keyed `Meter` and `ActivitySource` instances for typed wrappers.
- **Fundamentals** ([Release v7.10.5](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.5)): Updated the .NET build workflow to run on `pull_request` so CI validates PR changes instead of the base branch.
- **Arc** ([Release v20.33.1](https://github.com/Cratis/Arc/releases/tag/v20.33.1)): Switched introspection schema generation to Arc serializer options for consistent metadata contracts. (#2258)
- **Arc** ([Release v20.33.1](https://github.com/Cratis/Arc/releases/tag/v20.33.1)): Extended query parameter metadata to carry requiredness in model-bound and controller performers. (#2258)
- **Arc** ([Release v20.33.1](https://github.com/Cratis/Arc/releases/tag/v20.33.1)): Enabled named floating-point literals in Arc JSON defaults via `JsonNumberHandling.AllowNamedFloatingPointLiterals`. (#2263)
- **Arc** ([Release v20.33.0](https://github.com/Cratis/Arc/releases/tag/v20.33.0)): Route command, query, and introspection metadata through the shared route helper so skipped namespace segments stay consistent.
- **Arc** ([Release v20.32.0](https://github.com/Cratis/Arc/releases/tag/v20.32.0)): Route command, query, and introspection metadata through the shared route helper so skipped namespace segments stay consistent.
- **Arc** ([Release v20.31.0](https://github.com/Cratis/Arc/releases/tag/v20.31.0)): Route command, query, and introspection metadata through the shared route helper so skipped namespace segments stay consistent.
- **Arc** ([Release v20.30.0](https://github.com/Cratis/Arc/releases/tag/v20.30.0)): Route command, query, and introspection metadata through the shared route helper so skipped namespace segments stay consistent.
- **Arc** ([Release v20.29.0](https://github.com/Cratis/Arc/releases/tag/v20.29.0)): Route command, query, and introspection metadata through the shared route helper so skipped namespace segments stay consistent.
- **Arc** ([Release v20.28.0](https://github.com/Cratis/Arc/releases/tag/v20.28.0)): Route command, query, and introspection metadata through the shared route helper so skipped namespace segments stay consistent.
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Changed `IdentityEndpointMapper` to always map:
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): `/.cratis/identity-details/schema`
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): `/.cratis/users`
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): `/.cratis/tenants`
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Changed schema resolution to return `{}` when no `IProvideIdentityDetails` is registered.
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Changed users/tenants handlers to return `[]` when no provider instances are available.
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Updated identity endpoint handler test fixture to capture only the `/.cratis/me` handler, preserving existing identity request test behavior.
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Updated introspection docs to reflect always-mapped schema endpoint and empty-schema fallback.
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Changed class-level `FromEvent<T>` propagation for child types so nested `ChildrenFrom<T>` routes take precedence for child creation.
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Changed in-memory `ReadModelScenario` child materialization to set child identifiers from resolved child keys for nested children.
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Changed self-referencing test fixture events/attributes to model nested child creation through parent key hierarchy.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Named meter registration now reuses existing `Meter<T>` instead of a separate `NamedMeter<T>` implementation.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Named activity source registration now reuses existing `ActivitySource<T>` instead of a separate `NamedActivitySource<T>` implementation.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): `Meter<T>` and `ActivitySource<T>` now support keyed resolution via `[FromKeyedServices]` while preserving non-keyed fallback behavior.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Named diagnostics registrations use keyed factory-based singleton registration for underlying `Meter` / `ActivitySource`, preserving container-managed lifetime/disposal.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Documentation was reorganized so named/keyed observability registration guidance lives under metrics and traces, not dependency injection:
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Updated `Documentation/csharp/metrics/index.md` and `Documentation/csharp/traces/index.md` to link to named registration pages.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Updated `Documentation/csharp/metrics/toc.yml` and `Documentation/csharp/traces/toc.yml` to include named registration pages.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Removed named observability registration guidance from `Documentation/csharp/dependency_injection.md`.
- **Chronicle.TypeScript** ([Release v0.2.0](https://github.com/Cratis/Chronicle.TypeScript/releases/tag/v0.2.0)): Consolidated the feature work from the open PR branches into this integration PR.
- **Chronicle.TypeScript** ([Release v0.2.0](https://github.com/Cratis/Chronicle.TypeScript/releases/tag/v0.2.0)): Renamed `Source` module folders from PascalCase to camelCase across the package.
- **Chronicle.TypeScript** ([Release v0.2.0](https://github.com/Cratis/Chronicle.TypeScript/releases/tag/v0.2.0)): Updated internal imports/re-exports to match the new module folder naming.
- **Chronicle.TypeScript** ([Release v0.2.0](https://github.com/Cratis/Chronicle.TypeScript/releases/tag/v0.2.0)): Updated JavaScript/TypeScript AI instructions to state the redistributable package convention: camelCase `Source` modules plus top-level package exports.

## Fixed
- **Fundamentals** ([Release v7.10.6](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.6)): Prevent failures resolving `IActivitySource<T>` and `IMeter<T>` when an unkeyed framework `ActivitySource` or `Meter` is present in the service collection.
- **Fundamentals** ([Release v7.10.6](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.6)): Add regression specs covering named and self-binding diagnostics resolution with unkeyed framework diagnostics registrations.
- **Fundamentals** ([Release v7.10.5](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.5)): Restored successful release builds for the diagnostics wrappers across net8.0, net9.0, and net10.0.
- **Fundamentals** ([Release v7.10.5](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.5)): Fixed CI build validation so the .NET build workflow checks the PR head and reports the actual status of the diagnostics wrapper changes.
- **Fundamentals** ([Release v7.10.5](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.5)): Fixed the publish workflow failure caused by constructor binding differences between target frameworks.
- **Arc** ([Release v20.33.1](https://github.com/Cratis/Arc/releases/tag/v20.33.1)): Eliminated React Native/Hermes failure risk by removing `CustomEvent` usage from diagnostics snapshot publishing. (#2260)
- **Arc** ([Release v20.33.0](https://github.com/Cratis/Arc/releases/tag/v20.33.0)): Introspection route metadata now reflects the same route prefix and skipped namespace segments as runtime endpoint mapping.
- **Arc** ([Release v20.32.0](https://github.com/Cratis/Arc/releases/tag/v20.32.0)): Introspection route metadata now reflects the same route prefix and skipped namespace segments as runtime endpoint mapping.
- **Arc** ([Release v20.31.0](https://github.com/Cratis/Arc/releases/tag/v20.31.0)): Introspection route metadata now reflects the same route prefix and skipped namespace segments as runtime endpoint mapping.
- **Arc** ([Release v20.30.0](https://github.com/Cratis/Arc/releases/tag/v20.30.0)): Introspection route metadata now reflects the same route prefix and skipped namespace segments as runtime endpoint mapping.
- **Arc** ([Release v20.29.0](https://github.com/Cratis/Arc/releases/tag/v20.29.0)): Introspection route metadata now reflects the same route prefix and skipped namespace segments as runtime endpoint mapping.
- **Arc** ([Release v20.28.0](https://github.com/Cratis/Arc/releases/tag/v20.28.0)): Introspection route metadata now reflects the same route prefix and skipped namespace segments as runtime endpoint mapping.
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Fixed `.cratis` users/tenants/schema endpoints not being present in no-provider setups.
- **Arc** ([Release v20.27.3](https://github.com/Cratis/Arc/releases/tag/v20.27.3)): Fixed no-provider responses to be explicit and machine-consumable (`[]` / `{}`) rather than implicit host fallback content.
- **Arc** ([Release v20.27.2](https://github.com/Cratis/Arc/releases/tag/v20.27.2)): Fixed read model DbContext auto-registration failing on iOS NativeAOT by scanning the provided assemblies directly instead of relying on `Types.Types.Instance` discovery (#2255).
- **Arc** ([Release v20.27.2](https://github.com/Cratis/Arc/releases/tag/v20.27.2)): This regression is observed from v20.10.10, where reverted AOT safeguards exposed a `DependencyContext`-dependent discovery path that can return no DbContext types on iOS, causing startup resolution failures (#2255).
- **Arc** ([Release v20.27.2](https://github.com/Cratis/Arc/releases/tag/v20.27.2)): Also prevents silent type-loss when multiple DbContext types share the same class name in different namespaces (#2255).
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Fixed self-referencing `ChildrenFrom` projections that placed sub-children at root instead of under the parent child node.
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Fixed nested self-referencing read model materialization where child concept identifiers could deserialize incorrectly.
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Fixed regressions where child identifier properties were unintentionally mapped in `ChildrenFrom` definitions, breaking no-auto-map and identified-by-property expectations.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): `IMeter<T>` and `IActivitySource<T>` keyed resolutions bind to the correct named underlying `Meter` / `ActivitySource` instance instead of defaulting to type-name instances.
- **Arc** ([Release v20.27.0](https://github.com/Cratis/Arc/releases/tag/v20.27.0)): Dialogs created via `useDialog` no longer remount on every render of the hosting component. The wrapper component now has a stable identity, preventing portal leaks and visible remounts with PrimeReact and other portal-based dialogs.
- **Arc** ([Release v20.26.20](https://github.com/Cratis/Arc/releases/tag/v20.26.20)): Dialogs created via `useDialog` no longer remount on every render of the hosting component. The wrapper component now has a stable identity, preventing portal leaks and visible remounts with PrimeReact and other portal-based dialogs.
- **Chronicle** ([Release v15.31.4](https://github.com/Cratis/Chronicle/releases/tag/v15.31.4)): Resolved ReadModelScenario parent-key resolution for child events on separate event sources by using an in-memory sink during projection and deferred retries.
- **Chronicle** ([Release v15.31.4](https://github.com/Cratis/Chronicle/releases/tag/v15.31.4)): Added regression coverage for self-referencing child-event projections to prevent unresolved parent-key failures in the testing pipeline.
- **Chronicle** ([Release v15.31.3](https://github.com/Cratis/Chronicle/releases/tag/v15.31.3)): Model-bound projections that reference their own type via `[ChildrenFrom]` (self-referential or mutually recursive children) no longer crash the client with `StackOverflowException` during projection discovery.
- **Chronicle.TypeScript** ([Release v0.2.0](https://github.com/Cratis/Chronicle.TypeScript/releases/tag/v0.2.0)): Resolved integration issues caused by mixed module naming and export paths after consolidation.
- **Chronicle.TypeScript** ([Release v0.2.0](https://github.com/Cratis/Chronicle.TypeScript/releases/tag/v0.2.0)): Verified workspace compile succeeds after consolidation and module/export restructuring.

## Removed
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Removed duplicate root-level creation path for nested self-referencing child events when a nested route already exists.
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): Removed unintended automatic child identifier property mapping that caused projection model-building regressions.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Removed `NamedMeter<T>` in favor of the existing `Meter<T>` implementation.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): Removed `NamedActivitySource<T>` in favor of the existing `ActivitySource<T>` implementation.

## Security
- **Fundamentals** ([Release v7.10.5](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.5)): Replaced `pull_request_target` with `pull_request` for the .NET build workflow, reducing privileged workflow execution for PR validation.
- **Chronicle** ([Release v15.31.5](https://github.com/Cratis/Chronicle/releases/tag/v15.31.5)): No security-impacting behavior changes.
- **Fundamentals** ([Release v7.10.4](https://github.com/Cratis/Fundamentals/releases/tag/v7.10.4)): No security behavior change.

## Deprecated
- No updates
