Skip to content

Commit 4e9e046

Browse files
authored
(2) Clean up changesets and generate release notes and changelogs for 2.50 (#24978)
`pnpm flub generate releaseNotes -g client -t minor --outFile RELEASE_NOTES/2.50.0md ` run after fixing metadata format on a change set `pnpm flub generate changelog -g client` Second command deleted the release note file so I had to add it back manually.
1 parent e7b67a6 commit 4e9e046

File tree

163 files changed

+1008
-116
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

163 files changed

+1008
-116
lines changed

.changeset/green-poets-run.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

.changeset/jumpy-turtles-panic.md

Lines changed: 0 additions & 95 deletions
This file was deleted.

.changeset/wide-rocks-hammer.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

RELEASE_NOTES/2.50.0.md

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
<!-- THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -->
2+
3+
# Fluid Framework v2.50.0
4+
5+
## Contents
6+
7+
- [🚨 Breaking Changes](#-breaking-changes)
8+
- [IFluidHandleInternal.bind (deprecated) has been removed (#24974)](#ifluidhandleinternalbind-deprecated-has-been-removed-24974)
9+
- [🌳 SharedTree DDS Changes](#-sharedtree-dds-changes)
10+
- [Record node kind was added (alpha) (#24908)](#record-node-kind-was-added-alpha-24908)
11+
- [Other Changes](#other-changes)
12+
- [StateFactory.latest now accepts a validator parameter (#24432)](#statefactorylatest-now-accepts-a-validator-parameter-24432)
13+
14+
## 🚨 Breaking Changes
15+
16+
### IFluidHandleInternal.bind (deprecated) has been removed ([#24974](https://github.com/microsoft/FluidFramework/issues/24974))
17+
18+
`IFluidHandleInternal.bind` was deprecated in 2.40 and has now been removed. See [release notes entry](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.40.0#user-content-ifluidhandleinternalbind-has-been-deprecated-24553) for more details.
19+
20+
#### Change details
21+
22+
Commit: [`07e1837`](https://github.com/microsoft/FluidFramework/commit/07e183795fa8118fae717c118ab7a7945ac1ad57)
23+
24+
Affected packages:
25+
26+
- @fluidframework/core-interfaces
27+
- @fluidframework/datastore
28+
- @fluidframework/runtime-utils
29+
- @fluidframework/test-runtime-utils
30+
31+
[⬆️ Table of contents](#contents)
32+
33+
## 🌳 SharedTree DDS Changes
34+
35+
### Record node kind was added (alpha) ([#24908](https://github.com/microsoft/FluidFramework/issues/24908))
36+
37+
Adds a new kind of node to SharedTree that models a TypeScript record. As is the case with map nodes, record nodes only support string keys.
38+
39+
```typescript
40+
class MyRecord extends schemaFactory.record("my-record", [
41+
schemaFactory.number,
42+
schemaFactory.string,
43+
]) {}
44+
const myRecord = new MyRecord({
45+
foo: 42,
46+
bar: "Hello world!",
47+
});
48+
49+
const foo = myRecord.foo; // 42
50+
51+
delete myRecord.foo;
52+
53+
myRecord.baz = 37;
54+
55+
const keys = Object.keys(myRecord); // ["bar", "baz"]
56+
const values = Object.values(myRecord); // ["Hello world!", 37]
57+
const entries = Object.entries(myRecord); // [["bar", "Hello world!"], ["baz", 37]]
58+
```
59+
60+
#### `NodeKind` enum update
61+
62+
This change includes the addition of a new flag to the [NodeKind](https://fluidframework.com/docs/api/fluid-framework/nodekind-enum) enum. This API notes in its documentation that users should not treat its flags as an exhaustive set.
63+
64+
This change may break code that treats it that way. We recommend updating your code to be more tolerant of unknown node kinds going forward.
65+
66+
Also see alternative options for schema-agnostic tree traversal if needed:
67+
68+
- [Tree.parent](https://fluidframework.com/docs/api/fluid-framework/treenodeapi-interface#parent-methodsignature)
69+
- [TreeAlpha.child](https://fluidframework.com/docs/api/fluid-framework/treealpha-interface#child-methodsignature)
70+
- [TreeAlpha.children](https://fluidframework.com/docs/api/fluid-framework/treealpha-interface#children-methodsignature)
71+
72+
#### Additional features
73+
74+
In addition to the operations afforded by TypeScript records, SharedTree record nodes can be iterated (equivalent to Object.entries).
75+
76+
```typescript
77+
class MyRecord extends schemaFactory.record("my-record", [schemaFactory.number, schemaFactory.string]) {}
78+
const myRecord = new MyRecord({
79+
foo: 42,
80+
bar: "Hello world!"
81+
});
82+
83+
for (const [key, value] of myRecord) {
84+
...
85+
}
86+
87+
const a = { ...myRecord }; // { foo: 42, bar: "Hello world!" }
88+
const b = [...myRecord]; // [["foo", 42], ["bar, "Hello world!"]]
89+
```
90+
91+
#### Recursive records
92+
93+
Recursive record schema can be defined using `recordRecursive` on [SchemaFactoryAlpha](https://fluidframework.com/docs/api/fluid-framework/schemafactoryalpha-class).
94+
95+
```typescript
96+
class MyRecord extends schemaFactory.recordRecursive("my-record", [
97+
schemaFactory.string,
98+
() => MyRecord,
99+
]) {}
100+
const myRecord = new MyRecord({
101+
foo: "Hello world!",
102+
bar: new MyRecord({
103+
x: "foo",
104+
y: new MyRecord({}),
105+
}),
106+
});
107+
```
108+
109+
#### TableSchema update (alpha)
110+
111+
The [TableSchema](https://fluidframework.com/docs/api/fluid-framework/tableschema-namespace/) APIs have been updated to use record nodes in the schema they generate. Specifically, the `Row` representation now uses a record to store its column-cell pairs, rather than a map.
112+
113+
The node types derived from these APIs model their data in a row-major format. That is, each row in the table contains the set of cells that belong to that row, where each cell is indexed by its corresponding column.
114+
115+
Previously, this was modeled using a [MapNode](https://fluidframework.com/docs/api/fluid-framework/treemapnode-interface). This format proved cumbersome to interop with popular table rendering libraries like [tanstack](https://tanstack.com/table), which expect a record-like format.
116+
117+
The persisted format of documents containing trees derived from these APIs is the same, so this change is forward and backward compatible.
118+
119+
#### JsonDomainSchema update (alpha)
120+
121+
[JsonObject](https://fluidframework.com/docs/api/fluid-framework/jsonastree-namespace/jsonobject-class) has been updated to a record rather than a map.
122+
123+
The persisted format of documents containing trees derived from these APIs is the same, so this change is forward and backward compatible.
124+
125+
#### Change details
126+
127+
Commit: [`b25667b`](https://github.com/microsoft/FluidFramework/commit/b25667bcdcad5584f35783f6a32270803b6dfb1c)
128+
129+
Affected packages:
130+
131+
- @fluidframework/tree
132+
- fluid-framework
133+
134+
[⬆️ Table of contents](#contents)
135+
136+
## Other Changes
137+
138+
### StateFactory.latest now accepts a validator parameter ([#24432](https://github.com/microsoft/FluidFramework/issues/24432))
139+
140+
The StateFactory.latest API now accepts a `validator` argument. The `validator` is a function that will be called at runtime to verify that the data is valid. This is especially useful when changing the schema of presence data.
141+
142+
See [the presence documentation](https://fluidframework.com/docs/build/presence) for more details.
143+
144+
#### Change details
145+
146+
Commit: [`ffe5d0b`](https://github.com/microsoft/FluidFramework/commit/ffe5d0be95c00f19e1074c507ec5f4013b7f639b)
147+
148+
Affected packages:
149+
150+
- @fluidframework/presence
151+
152+
[⬆️ Table of contents](#contents)
153+
154+
### 🛠️ Start Building Today!
155+
156+
Please continue to engage with us on GitHub [Discussion](https://github.com/microsoft/FluidFramework/discussions) and [Issue](https://github.com/microsoft/FluidFramework/issues) pages as you adopt Fluid Framework!

azure/packages/azure-local-service/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# @fluidframework/azure-local-service
22

3+
## 2.50.0
4+
5+
Dependency updates only.
6+
37
## 2.43.0
48

59
Dependency updates only.

azure/packages/azure-service-utils/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# @fluidframework/azure-service-utils
22

3+
## 2.50.0
4+
5+
Dependency updates only.
6+
37
## 2.43.0
48

59
Dependency updates only.

examples/apps/ai-collab/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# @fluid-example/ai-collab
22

3+
## 2.50.0
4+
5+
Dependency updates only.
6+
37
## 2.43.0
48

59
Dependency updates only.

examples/apps/attributable-map/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# @fluid-example/attributable-map
22

3+
## 2.50.0
4+
5+
Dependency updates only.
6+
37
## 2.43.0
48

59
Dependency updates only.

examples/apps/blobs/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# @fluid-example/blobs
22

3+
## 2.50.0
4+
5+
Dependency updates only.
6+
37
## 2.43.0
48

59
Dependency updates only.

examples/apps/collaborative-textarea/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# @fluid-example/collaborative-textarea
22

3+
## 2.50.0
4+
5+
Dependency updates only.
6+
37
## 2.43.0
48

59
Dependency updates only.

0 commit comments

Comments
 (0)