Skip to content

Commit

Permalink
build(client): Generate release notes for 2.4.0 (#22785)
Browse files Browse the repository at this point in the history
Generated release notes for the 2.4 release. The notes were generated using the following command:

```shell
flub generate releaseNotes -g client -t minor --outFile RELEASE_NOTES/2.4.0.md
```
  • Loading branch information
tylerbutler authored Oct 14, 2024
1 parent 0b3dda1 commit a06e3c1
Show file tree
Hide file tree
Showing 15 changed files with 392 additions and 33 deletions.
3 changes: 2 additions & 1 deletion .changeset/clever-dancers-post.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
---
---
"section": tree
highlight: true
---

Add alpha API for providing SharedTree configuration options
✨ New! Alpha API for providing SharedTree configuration options

A new alpha `configuredSharedTree` had been added.
This allows providing configuration options, primarily for debugging, testing and evaluation of upcoming features.
Expand Down
5 changes: 3 additions & 2 deletions .changeset/common-jokes-press.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
---
---
"section": tree
highlight: true
---

Add alpha API for snapshotting Schema
✨ New! Alpha API for snapshotting Schema

`extractPersistedSchema` can now be used to extra a JSON compatible representation of the subset of a schema that gets stored in documents.
`extractPersistedSchema` can now be used to extra a JSON-compatible representation of the subset of a schema that gets stored in documents.
This can be used write tests which snapshot an applications schema.
Such tests can be used to detect schema changes which could would impact document compatibility,
and can be combined with the new `comparePersistedSchema` to measure what kind of compatibility impact the schema change has.
2 changes: 1 addition & 1 deletion .changeset/curvy-tables-kiss.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"fluid-framework": minor
---
---
"section": tree
"section": fix
---

Fix reading of `null` from unhydrated trees
Expand Down
2 changes: 1 addition & 1 deletion .changeset/dark-circles-whine.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
section: tree
---

Exposes the view schema from the TreeView interface.
Expose the view schema from the TreeView interface

Users of TreeView can now access the type-safe view schema directly on the view object via `TreeView.schema`.
This allows users to avoid passing the schema around in addition to the view in scenarios where both are needed.
Expand Down
6 changes: 3 additions & 3 deletions .changeset/light-rectangles-rejoice.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
section: tree
---

Allow associating metadata with Field Schema
Metadata can now be associated with Field Schema

Users of TreeView can now specify metadata when creating Field Schema.
This includes system-understood metadata, i.e., `description`.
Expand All @@ -25,7 +25,7 @@ class Point extends schemaFactory.object("Point", {

```

Functionality like the experimental conversion of Tree Schema to [JSON Schema](https://json-schema.org/). (`getJsonSchema`) can leverage such system-understood metadata to generate useful information.
Functionality like the experimental conversion of Tree Schema to [JSON Schema](https://json-schema.org/) (`getJsonSchema`) can leverage such system-understood metadata to generate useful information.
In the case of the `description` property, this is mapped directly to the `description` property supported by JSON Schema.

Custom, user-defined properties can also be specified.
Expand All @@ -34,7 +34,7 @@ These properties will not be leveraged by the system by default, but can be used
Example:

An application is implementing search functionality.
By default, the app author wishes for all app content to be potentially indexable by search, unless otherwise specified.
By default, the app author wishes for all app content to be indexable by search, unless otherwise specified.
They can leverage schema metadata to decorate fields that should be ignored by search, and leverage that information when walking the tree during a search.

```typescript
Expand Down
11 changes: 8 additions & 3 deletions .changeset/lucky-goats-find.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
"@fluidframework/tree": minor
---
---
"section": feature
"section": tree
highlight: true
---

Add (alpha) SharedTree branching APIs
✨ New! Alpha SharedTree branching APIs

This adds a handful of APIs to allow for creating and coordinating "version-control"-style branches of the SharedTree.
Several APIs have been added to allow for creating and coordinating "version-control"-style branches of the SharedTree.
Use the `getBranch` entry point function to acquire a branch.
For example:

Expand All @@ -25,3 +26,7 @@ function makeEditOnBranch(mainView: TreeView<typeof MySchema>) {
// To prevent this, use `mainBranch.merge(forkBranch, false)`.
}
```

Merging any number of commits into a target branch (via the `TreeBranch.merge` method) generates a revertible for each
commit on the target branch. See [#22644](https://github.com/microsoft/FluidFramework/pull/22644) for more information
about revertible support in the branching APIs.
2 changes: 1 addition & 1 deletion .changeset/poor-islands-battle.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"section": tree
---

Unhydrated SharedTree nodes emit change events when edited
Unhydrated SharedTree nodes now emit change events when edited

Newly-created SharedTree nodes which have not yet been inserted into the tree will now emit `nodeChanged` and `treeChanged` events when they are mutated via editing operations.

Expand Down
7 changes: 4 additions & 3 deletions .changeset/purple-hats-roll.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
"@fluidframework/tree": minor
---
---
"section": "tree"
"section": "deprecation"
---
RestrictiveReadonlyRecord is deprecated

`RestrictiveReadonlyRecord` was an attempt to implement a version of the built-in `Record<TKey, TValue>` type that would prohibit (instead of leaving unrestricted like Record does) values under keys that do not extend `TKey`.
SharedTree's `RestrictiveReadonlyRecord` is deprecated

`RestrictiveReadonlyRecord` was an attempt to implement a version of TypeScript's built-in `Record<TKey, TValue>` type that would prohibit (instead of leaving unrestricted like Record does) values under keys that do not extend `TKey`.

The implementation of `RestrictiveReadonlyRecord` failed to accomplish this except for the edge cases where `TKey` was exactly `string` or exactly `symbol`.
Fixing this bug appears to be impossible within the current limitation of TypeScript, however this library does not require any case other than `TKey` being exactly `string`.
Expand Down
6 changes: 3 additions & 3 deletions .changeset/quiet-lizards-prove.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
"@fluidframework/container-runtime": minor
---
---
"section": other
"section": deprecation
---

ContainerRuntime's `batchBegin`/`batchEnd` events: Deprecating the `contents` member on event arg `op`
The `op.contents` member on ContainerRuntime's `batchBegin`/`batchEnd` event args is deprecated

The `batchBegin`/`batchEnd` events on ContainerRuntime indicate when a batch is beginning/finishing being processed.
The events include an argument of type `ISequencedDocumentMessage` which is the first or last message of the batch.

The `contents` should not be used when reasoning over the begin/end of a batch.
The `contents` property of the `op` argument should not be used when reasoning over the begin/end of a batch.
If you want to look at the `contents` of an op, wait for the `op` event.
5 changes: 3 additions & 2 deletions .changeset/seven-women-pick.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"@fluidframework/tree": minor
---
---
"section": tree
"section": fix
---

Fix `.create` on structurally named MapNode and ArrayNode schema
Expand All @@ -20,7 +20,8 @@ const _fromObject: MyMap = MyMap.create({});
```

This change causes some types to reference `TreeNodeSchemaNonClass` which did not reference it before.
While `TreeNodeSchemaNonClass` is `@system` (See [releases-and-apitags](https://fluidframework.com/docs/build/releases-and-apitags/) for details) and thus not intended to be referred to by users of Fluid,
While `TreeNodeSchemaNonClass` is `@system` (See [Fluid Releases and API Support Levels
](https://fluidframework.com/docs/build/releases-and-apitags/) for details) and thus not intended to be referred to by users of Fluid,
this change caused the TypeScript compiler to generate references to it in more cases when compiling `d.ts` files.
Since the TypeScript compiler is unable to generate references to `TreeNodeSchemaNonClass` with how it was nested in `internalTypes.js`,
this change could break the build of packages exporting types referencing structurally named map and array schema.
Expand Down
3 changes: 2 additions & 1 deletion .changeset/shaggy-pens-occur.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"section": deprecation
---

Further MergeTree Client Legacy Deprecations
Several MergeTree `Client` Legacy APIs are now deprecated

To reduce exposure of the `Client` class in the merge-tree package, several types have been deprecated. These types directly or indirectly expose the merge-tree `Client` class.

Expand All @@ -19,6 +19,7 @@ Most of these types are not meant to be used directly, and direct use is not sup
- SharedStringClass

Some of the deprecations are class constructors. In those cases, we plan to replace the class with an interface which has an equivalent API. Direct instantiation of these classes is not currently supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types:

- SequenceInterval
- SequenceEvent
- SequenceDeltaEvent
Expand Down
10 changes: 0 additions & 10 deletions .changeset/small-months-heal.md

This file was deleted.

2 changes: 1 addition & 1 deletion .changeset/spicy-candles-smash.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"section": tree
---

Optimize non-leaf field access
Non-leaf field access has been optimized

When reading non-leaf children which have been read previously, they are retrieved from cache faster.
Several operations on subtrees under arrays have been optimized, including reading of non-leaf nodes for the first time.
Expand Down
6 changes: 5 additions & 1 deletion .changeset/witty-suits-worry.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@
"fluid-framework": minor
"@fluidframework/tree": minor
---
---
section: tree
highlight: true
---

Expose experimental alpha APIs for producing schema from enums
✨ New! Alpha APIs for producing SharedTree schema from enums

`adaptEnum` and `enumFromStrings` have been added to `@fluidframework/tree/alpha` and `fluid-framework/alpha`.
These unstable alpha APIs are relatively simple helpers on-top of public APIs (source: [schemaCreationUtilities.ts](https://github.com/microsoft/FluidFramework/blob/main/packages/dds/tree/src/simple-tree/schemaCreationUtilities.ts)):
Expand Down
Loading

0 comments on commit a06e3c1

Please sign in to comment.