Skip to content

2.0.1-alpha - Develop - #21

Open
ReneSchwarzer wants to merge 10 commits into
mainfrom
develop
Open

ReneSchwarzer wants to merge 10 commits into
mainfrom
develop

Conversation

@ReneSchwarzer

Copy link
Copy Markdown
Member

No description provided.

ReneSchwarzer and others added 10 commits November 1, 2026 09:42
…ils on anything missing

- every file named by the spec is resolved before the archive is written; a missing file, a missing or empty plugin output stops the build and leaves no archive behind
- build output only counts for the requested configuration and target framework, obj never; a stale bin/Debug or a net8.0 build no longer ends up in a Release net10.0 package
- the lookup stays inside the spec folder and matches whole path segments (icon.png no longer hits favicon.png); plugin paths leading outside of it are refused
- licenses copied to the build output are not packed twice
- WebEx reports a failed package on the console and returns 1 instead of crashing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Version is the single version; AssemblyVersion, FileVersion and PackageVersion are derived from it
- the component detection scans a copy of the restore graph instead of obj, whose stale nuspecs made the package depend on itself in every version ever packed
- Microsoft.Sbom.Targets is a PackageDownload and its download entry is left out of the copy, so the build tool is no dependency of the package

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A plugin that contributes to an application of another plugin registers its pages, REST
endpoints, assets, fragments, jobs, sockets and the other components for the applications it
names, instead of only the applications of its own assembly. The plugin context carries the
assembly it was loaded from, so the binding is read from the right attributes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… it on every request

AuthenticationSettings.ApplicationGroups lists applications that accept each other's tokens.
A renewed token keeps the audience of the application the sign-in was issued for, so renewing
in a member of two overlapping groups does not widen the trust of the sign-in.

IIdentityValidator is asked on every request for the identity a token carries; a refusal or an
exception makes the request anonymous and stops the renewal. Plugins' validators are discovered
for the applications they serve.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
IUriPathSegmentTrail lets a path segment stand for a chain of crumbs, such as the ancestors of a
node in a hierarchy, which a breadcrumb renders one by one. UriData carries a data URL as a URI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pages, rest apis, resources, sockets and setting pages of a plugin that does not
own the application were mounted under the lower-cased plugin name - often an
i18n key, so the route carried a colon - while its assets sat under the plugin
id. All of them now share EndpointManager.CreatePluginRoute.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A bound segment stays a variable, so binding the current request onto a link to
another record turned it into a link to the current record.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PluginTypeCatalog<TItem> collects the types plugins contribute to an
extension point, follows plugins arriving and leaving, keeps every offer
per key in arrival order and can bind items per application. The
HealthManager now discovers its checks through it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant