Skip to content

Upgrade Settings and MultiLingual to 1.0.0-preview.3 - #4

Merged
sadeqabuhattem merged 1 commit into
mainfrom
chore/settings-multilingual-preview3
Nov 6, 2026
Merged

sadeqabuhattem merged 1 commit into
mainfrom
chore/settings-multilingual-preview3

Conversation

@sadeqabuhattem

Copy link
Copy Markdown
Member

Moves the four DotNetBoost.Settings.* and four DotNetBoost.MultiLingual.* packages from 1.0.0-preview.2 to 1.0.0-preview.3. Media and Auditing stay on preview.2.

Settings

  • SettingGroupAuditObserver (an ISettingWriteObserver, which ran after the commit) becomes SettingGroupAuditParticipant (an ISettingWriteParticipant).
  • The participant enlists the audit entry and each of its change rows through EfCoreSettingWriteScope.Add. The entry now commits in the settings store's own save, or not at all. A failure to record fails the request instead of being logged and swallowed.
  • The group's class comes from SettingWrite.GroupType, so the assembly scan that rebuilt the name-to-type map is gone.

MultiLingual

  • TranslatedText writes through SetAll and reads through GetAllAsync(includeBase: true). It no longer switches the request into the base language, and Assign / WithBaseValues are gone.
  • Creates use a new CreateAsync, which gives "" to any base-language property the body left out. Without it, a create under Accept-Language: ar without every English property would be refused (409).
  • Category and Product keep their HiLo keys. Preview.3 fixed the nested-save problem on MultiLingual's side, but the nested save is Auditing's, so the comments now give that as the reason.

Tests

Three new tests, 160 → 163:

  • a settings save's entry commits in the caller's save;
  • a settings write that fails after the entry is enlisted leaves neither the group change nor the entry (a test-only participant fails the write on purpose);
  • a create under another language without every base property still answers 201.

The README, ARCHITECTURE-SLICES.md and the documented test counts are updated to match.

Verification

  • dotnet test -p:UseLocalDotNetBoost=false (published NuGet packages): 163/163 pass.
  • dotnet test with the local workspace (sibling library sources): 163/163 pass.
  • The build shows Source control information is not available warnings. These come from the published Settings preview.3 packages, which list Source Link as a dependency; it's fixed in dotnetboost/settings but not released yet.

🤖 Generated with Claude Code

MultiLingual: TranslatedText writes and reads every language through
SetAll and GetAllAsync(includeBase: true), so it no longer switches the
request into the base language. Creates go through a new CreateAsync,
which gives "" to base-language properties the body left out. HiLo keys
stay, now only for Auditing's nested save.

Settings: SettingGroupAuditObserver becomes SettingGroupAuditParticipant,
which enlists the audit entry and its change rows in the settings save,
so the entry commits with the change or not at all. It uses
SettingWrite.GroupType instead of scanning the assembly.

Tests cover the entry committing in the caller's save, a failed settings
write leaving nothing behind, and a create under another language
without every base property. Docs and documented counts updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sadeqabuhattem
sadeqabuhattem merged commit bda5469 into main Nov 6, 2026
2 checks passed
@sadeqabuhattem
sadeqabuhattem deleted the chore/settings-multilingual-preview3 branch November 6, 2026 20:37
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