You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Docs for Storage/Spaces/IdentityServer/User Management preview.6 releases - #1268
Every change was checked against the code and PublicApi snapshots in products-private: storage-2.0.0-preview.3..storage-2.0.0-preview.6, spaces-1.0.0-preview.3..spaces-1.0.0-preview.6, is-8.1.0-preview.4..360f647a (the released is-8.1.0-preview.6 commit), and um-2.0.0-preview.3..um-2.0.0-preview.6.
Spaces
spaces/getting-started.md: Spaces is now added with AddSpaces(options => ...) on IIdentityServerBuilder, replacing services.AddSpaces() and Configure<SpacesOptions>. Adds a caution that using Spaces with the Entity Framework stores fails at startup with OptionsValidationException. Explains that Data Protection is partitioned per space (SpacesOptions.PartitionDataProtection, GetUnpartitioned()), and covers the keyed HybridCache under SpacesServiceProviderKeys.SpacesCache: Spaces no longer registers the app's default HybridCache.
spaces/index.mdx: The "What Spaces Does Not Isolate" section now says that Data Protection and space-aware HybridCache entries are isolated by default, and that IdentityServer signing keys stay global.
Storage
duende-storage/getting-started.md: duende storage migrate now supports --provider oracle, so the old "no Oracle in the CLI" caveat is removed. Also notes that the purge service follows the registered TimeProvider.
duende-storage/schemas.md: New "List Schemas" section. ISchemaAdmin.QueryAsync returns real schema ids. Schemas from earlier previews are upgraded the first time they're read by id, and until then they're reported as unknown.
duende-storage/multiple-storage-instances.md: Fixed the sample to call .AddSpaces(...) on the IdentityServer builder.
diagnostics/otel.md: Documents the Duende.Storage meter (duende.storage.operation.count and duende.storage.operation.duration, with their tags) and the Duende.Storage activity source.
IdentityServer
data/providers/entityframework-core.md: Adds a caution that the EF stores can't be combined with Spaces as of 8.1.0-preview.6.
The EnableJwtRequestUri SSRF link and the per-instance purge/outbox behavior were already documented in reference/v8/options.md, tokens/jar.mdx and multiple-storage-instances.md.
User Management
authentication/passkeys.mdx: New sections on custom signature verifiers (ISignatureVerifier, AddPasskeySignatureVerifier<T>()) and custom attestation format validators (IAttestationFormatValidator, AttestationContext, AttestationValidationResult, AddAttestationFormatValidator<T>()). Also notes that a ChallengeSize below 16 fails at startup.
reference/configuration.md: ChallengeSize now says it fails options validation at startup instead of throwing ArgumentOutOfRangeException.
Not changed
AttributeSchema and AttributeSchemaFactory: AttributeSchema was already internal, no page referenced it, and AttributeSchemaFactory is in the Duende.Storage.EntityAttributeValue.Internal namespace, so the docs don't cover it.
No page pins a package version; the install commands use --prerelease.
Verified with a local npx astro build, which succeeded.
…or preview.6
- Document Duende Storage metrics and traces in OpenTelemetry, gated to IdentityServer 8.1
- Document Oracle support in the Duende CLI storage migrate command across Storage and User Management pages
- Document storage purge TimeProvider behavior and schema listing
- Document Spaces registration on IIdentityServerBuilder, Data Protection partitioning and keyed HybridCache
- Add Entity Framework and Spaces incompatibility caution, gated to IdentityServer 8.1
- Add AttestationValidationError values to the passkey attestation format validator docs
- Explain how the purge service uses TimeProvider for scheduling
- Remove preview-specific wording from schema id upgrade note
- Move Spaces caution above the setup introduction
- Rephrase Entity Framework and Spaces caution wording
- Document when to disable PartitionDataProtection
- Drop "no longer does this for you" from HybridCache guidance
- Add keyed HybridCache injection example to Spaces overview
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Release-specific API details and security-isolation guarantees remain unverified against the referenced private product source and need human confirmation.
No open issues 🎉
2 previously missed issues
In code that hasn't changed since last review
Add Password= attribute to Oracle connection string
This Oracle connection string also needs the Password= attribute name. The bare ****** segment remains invalid even after substituting a password, preventing the documented migration from connecting. Keep the attribute name and use a placeholder only for its value.
Add Password= attribute to Oracle connection string
The Oracle connection string has a bare ****** segment instead of a Password=... attribute. Replacing only the asterisks with a password still leaves an invalid connection string, so the migration commands cannot connect. Include Password= and replace only its value with the deployment credential.
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
documentationImprovements or additions to documentation
4 participants
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.
Updates the docs for the preview release published to nuget.org on October 16, 2026:
Every change was checked against the code and PublicApi snapshots in products-private:
storage-2.0.0-preview.3..storage-2.0.0-preview.6,spaces-1.0.0-preview.3..spaces-1.0.0-preview.6,is-8.1.0-preview.4..360f647a(the released is-8.1.0-preview.6 commit), andum-2.0.0-preview.3..um-2.0.0-preview.6.Spaces
spaces/getting-started.md: Spaces is now added withAddSpaces(options => ...)onIIdentityServerBuilder, replacingservices.AddSpaces()andConfigure<SpacesOptions>. Adds a caution that using Spaces with the Entity Framework stores fails at startup withOptionsValidationException. Explains that Data Protection is partitioned per space (SpacesOptions.PartitionDataProtection,GetUnpartitioned()), and covers the keyedHybridCacheunderSpacesServiceProviderKeys.SpacesCache: Spaces no longer registers the app's defaultHybridCache.spaces/index.mdx: The "What Spaces Does Not Isolate" section now says that Data Protection and space-awareHybridCacheentries are isolated by default, and that IdentityServer signing keys stay global.Storage
duende-storage/getting-started.md:duende storage migratenow supports--provider oracle, so the old "no Oracle in the CLI" caveat is removed. Also notes that the purge service follows the registeredTimeProvider.duende-storage/schemas.md: New "List Schemas" section.ISchemaAdmin.QueryAsyncreturns real schema ids. Schemas from earlier previews are upgraded the first time they're read by id, and until then they're reported asunknown.duende-storage/multiple-storage-instances.md: Fixed the sample to call.AddSpaces(...)on the IdentityServer builder.diagnostics/otel.md: Documents theDuende.Storagemeter (duende.storage.operation.countandduende.storage.operation.duration, with their tags) and theDuende.Storageactivity source.IdentityServer
data/providers/entityframework-core.md: Adds a caution that the EF stores can't be combined with Spaces as of 8.1.0-preview.6.EnableJwtRequestUriSSRF link and the per-instance purge/outbox behavior were already documented inreference/v8/options.md,tokens/jar.mdxandmultiple-storage-instances.md.User Management
authentication/passkeys.mdx: New sections on custom signature verifiers (ISignatureVerifier,AddPasskeySignatureVerifier<T>()) and custom attestation format validators (IAttestationFormatValidator,AttestationContext,AttestationValidationResult,AddAttestationFormatValidator<T>()). Also notes that aChallengeSizebelow 16 fails at startup.reference/configuration.md:ChallengeSizenow says it fails options validation at startup instead of throwingArgumentOutOfRangeException.Not changed
AttributeSchemaandAttributeSchemaFactory:AttributeSchemawas already internal, no page referenced it, andAttributeSchemaFactoryis in theDuende.Storage.EntityAttributeValue.Internalnamespace, so the docs don't cover it.--prerelease.Verified with a local
npx astro build, which succeeded.