Repository navigation
chore(dev): release 4.0.0 - #220
Conversation
|
🛑 Held deliberately — do not merge yet. The The decision is to ship 4.0.0 later, once a significant new feature and further bug fixes have landed. Until then this PR stays open and release-please keeps refreshing it on every push to Two notes for whoever picks this up:
"No checks" on this PR is expected, not a gap. release-please opens it with |
34a384b to
26e9e75
Compare
7cc560d to
92535ba
Compare
0cf1b95 to
9670a28
Compare
cd94e87 to
b380c8b
Compare
|
🤖 Created releases: 🌻 |
🤖 I have created a release beep boop
4.0.0 (2026-09-24)
⚠ BREAKING CHANGES
ILovConfiguration<TItem, TValue>gained aGetByKeyProviderproperty. A custom class implementing that interface must add it (returningnullkeeps the previous behaviour). Configurations built throughLovBuilderare unaffected.MudBlazorLovFieldComponentandFluentUILovFieldComponentgained aTKeytype parameter (<TModel, TValue, TKey, TItem>), withTValuenow the field's bound type. Code that renders these components directly by their old three-argument generic shape must add the key type; fields configured through.AsLov(...)/.AsMultiSelectLov(...)are unaffected.AsMultiSelectLov<TModel, TValue, TItem>'sconfigureparameter changed fromAction<LovBuilder<TModel, IEnumerable<TValue>, TItem>>toAction<LovBuilder<TModel, TValue, TItem>>, soWithKeynow takes the scalar item key. Callers with an explicitly-typed configure lambda must update the type; inferred lambdas are unaffected.IFormConfiguration<TModel>.ShowValidationSummarynow defaults tofalse(it wastrue, but had no effect). A form now renders a validation summary only after opting in with.ShowValidationSummary().IFormConfiguration<TModel>.ShowRequiredIndicator,.RequiredIndicator,FormBuilder<TModel>.ShowRequiredIndicator(bool, string)andFormLayout.Horizontalare[Obsolete]. A consumer that builds with warnings as errors getsCS0618until it moves to.WithNativeRequired()/FormLayout.Gridor suppresses the warning locally.FieldNameis now its full dotted path (Shipping.Value), not its last member name (Value). This is visible throughGetRequiredFields,OnFieldChanged, validation message keys (FieldIdentifier),DependsOn/group membership keys, and DOM ids built from the field name. Single-level fields are unchanged.EncryptFieldnow fails closed. An expression that does not resolve to a string property, or a path that cannot be resolved, throwsArgumentExceptionat configuration time instead of being silently skipped. Nested members (x => x.Address.City) are now actually encrypted and stored under their full dotted path.FormDiagnosticScopeandDiagnosticLogmoved fromFormCraft.ForMudBlazortoFormCraft.Diagnostics(core). Code that references them by the old namespace must update itsusingdirective. No forwarding shim is provided.Features
Bug Fixes
Performance
Refactor
This PR was generated with Release Please. See documentation.