microsoft / microsoft/FluidFramework
Upcoming Release: FluidFramework v3.2.0
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 4.9k
- Forks
- 586
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 146
Description
This issue is automatically updated with a preview of the release notes for the upcoming Fluid Framework release.
To generate release notes locally to commit to the RELEASE_NOTES folder in the repo, run the following command:
pnpm flub generate releaseNotes -g client -t minor --outFile RELEASE_NOTES/3.2.0.md
To generate the release notes to paste into the GitHub Release, run the following command:
pnpm flub generate releaseNotes -g client -t minor --headingLinks --excludeH1 --outFile temporary-file.md
This should happen automatically as part of the release process, but if you need to generate the release notes manually, you can use the above command.
Fluid Framework v3.2.0
Contents
- ✨ New Features
- Require the oldest supported client version in ServiceOptions (#27902)
- Add ServiceClient for Tinylicious (#27902)
- Add session-storage-backed local services (#27902)
- 🐛 Bug Fixes
- createIdentifierIndex handles schemas with multiple identifiers consistently (#28233)
- createTreeIndex now interprets object field selectors as property keys (#28233)
✨ New Features
Require the oldest supported client version in ServiceOptions (#27902)
The alpha ServiceOptions.oldestSupportedClient property is now required. Code that constructs service options must specify the oldest Fluid Framework client version that can open and process documents written by the service client.
const options: ServiceOptions = {
oldestSupportedClient: "2.100.0",
};
Change details
Commit: da0dd40
Affected packages:
- @fluidframework/driver-definitions
- fluid-framework
⬆️ Table of contents
Add ServiceClient for Tinylicious (#27902)
The new alpha createTinyliciousServiceClient API creates a ServiceClient backed by a Tinylicious service.
Change details
Commit: da0dd40
Affected packages:
- @fluidframework/tinylicious-driver
⬆️ Table of contents
Add session-storage-backed local services (#27902)
The new alpha getSessionService API provides a ServiceClient compatible way to use the browser-local Fluid service that retains attached documents across page reloads in the same browser tab. Calls within one JavaScript realm share a lazily created service for the lifetime of that realm. Local services also expose APIs to list and delete their stored documents.
Session storage can be shared by separate same-origin JavaScript realms or applications loading separate copies of the package. Such instances run independent local servers, so concurrently editing the same stored document across them is unsupported.
The alpha EphemeralServiceClient type has been replaced by the more general LocalServiceClient type. Update type imports and annotations to use LocalServiceClient<EphemeralService>.
Change details
Commit: da0dd40
Affected packages:
- @fluidframework/local-driver
⬆️ Table of contents
🐛 Bug Fixes
createIdentifierIndex handles schemas with multiple identifiers consistently (#28233)
createIdentifierIndex now indexes a node only when its schema has exactly one identifier field. Schemas with multiple identifier fields are skipped instead of arbitrarily indexing the first identifier field. This avoids field-order-dependent behavior while allowing identifier indexes to be created for trees containing such schemas.
Identifier indexes now also take advantage of identifier fields being immutable. This avoids unnecessarily re-indexing existing nodes after tree edits while continuing to index newly created nodes and filter detached nodes from index results.
Change details
Commit: 7663ec8
Affected packages:
- @fluidframework/tree
- fluid-framework
⬆️ Table of contents
createTreeIndex now interprets object field selectors as property keys (#28233)
createTreeIndex previously interpreted keys returned by TreeIndexKeyFieldSelector as stored keys. This was inconsistent with the Simple Tree schema API and caused indexes to fail when an object field's property key differed from its stored key. Object field selectors are now translated from property keys to stored keys internally. Selectors must return undefined for non-object schemas.
Change details
Commit: 7663ec8
Affected packages:
- @fluidframework/tree
- fluid-framework
⬆️ Table of contents
🛠️ Start Building Today!
Please continue to engage with us on GitHub Discussion and Issue pages as you adopt Fluid Framework!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Use the release-note generation commands in the issue as the entry point, writing the committed output to RELEASE_NOTES/3.2.0.md or the temporary file for GitHub. Confirm that the generated notes contain the listed v3.2.0 features and bug fixes, then use the appropriate output for the release process.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- release
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100