## Description

Generate change logs with `pnpm exec flub generate changelog -g client`
This commit is contained in:
Craig Macomber (Microsoft) 2024-11-18 16:16:38 -08:00 коммит произвёл GitHub
Родитель 116064a36e
Коммит 3cd1f01a14
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
167 изменённых файлов: 1375 добавлений и 367 удалений

Просмотреть файл

@ -1,34 +0,0 @@
---
"fluid-framework": minor
"@fluidframework/merge-tree": minor
"@fluidframework/sequence": minor
---
---
"section": deprecation
---
Unsupported merge-tree types and related exposed internals have been removed
As part of ongoing improvements, several internal types and related APIs have been removed. These types are unnecessary for any supported scenarios and could lead to errors if used. Since directly using these types would likely result in errors, these changes are not likely to impact any Fluid Framework consumers.
Removed types:
- IMergeTreeTextHelper
- MergeNode
- ObliterateInfo
- PropertiesManager
- PropertiesRollback
- SegmentGroup
- SegmentGroupCollection
In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
Removed functions:
- addProperties
- ack
Removed properties:
- propertyManager
- segmentGroups
The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.2.0:
[Fluid Framework v2.2.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.2.0.md)

Просмотреть файл

@ -1,10 +0,0 @@
---
"@fluidframework/runtime-definitions": minor
---
---
"section": other
---
Changes to the batchBegin and batchEnd events on ContainerRuntime
The 'batchBegin'/'batchEnd' events on ContainerRuntime indicate when a batch is beginning or finishing being processed. The `contents` property on the event argument `op` is not useful or relevant when reasoning over incoming changes at the batch level. Accordingly, it has been removed from the `op` event argument.

Просмотреть файл

@ -1,37 +0,0 @@
---
"fluid-framework": minor
"@fluidframework/tree": minor
---
---
"section": tree
---
Fix typing bug in `adaptEnum` and `enumFromStrings`
When using the return value from [`adaptEnum`](https://fluidframework.com/docs/api/v2/tree#adaptenum-function) as a function, passing in a value who's type is a union no longer produced an incorrectly typed return value. This has been fixed.
Additionally [`enumFromStrings`](https://fluidframework.com/docs/api/v2/tree#enumfromstrings-function) has improved the typing of its schema, ensuring the returned object's members have sufficiently specific types.
Part of this improvement was fixing the `.schema` property to be a tuple over each of the schema where it was previously a tuple of a single combined schema due to a bug.
One side-effect of these fixes is that narrowing of the `value` field of a node typed from the `.schema` behaves slightly different, such that the node type is now a union instead of it being a single type with a `.value` that is a union.
This means that narrowing based on `.value` property narrows which node type you have, not just the value property.
This mainly matters when matching all cases like the switch statement below:
```typescript
const Mode = enumFromStrings(schema, ["Fun", "Bonus"]);
type Mode = TreeNodeFromImplicitAllowedTypes<typeof Mode.schema>;
const node = new Mode.Bonus() as Mode;
switch (node.value) {
case "Fun": {
assert.fail();
}
case "Bonus": {
// This one runs
break;
}
default:
// Before this change, "node.value" was never here, now "node" is never.
unreachableCase(node);
}
```

Просмотреть файл

@ -1,14 +0,0 @@
---
"@fluidframework/container-runtime": minor
"@fluidframework/runtime-definitions": minor
"@fluidframework/test-runtime-utils": minor
---
---
"section": legacy
---
"Remove `IFluidParentContext.ensureNoDataModelChanges` and its implementations
- `IFluidParentContext.ensureNoDataModelChanges` has been removed. [prior deprecation commit](https://github.com/microsoft/FluidFramework/commit/c9d156264bdfa211a3075bdf29cde442ecea234c)
- `MockFluidDataStoreContext.ensureNoDataModelChanges` has also been removed.

Просмотреть файл

@ -1,10 +0,0 @@
---
"@fluidframework/runtime-utils": minor
---
---
"section": feature
---
New compareFluidHandle function for comparing FluidHandles
The new `compareFluidHandle` function has been added to allow comparing handles without having to inspect their internals.

Просмотреть файл

@ -1,27 +0,0 @@
---
"fluid-framework": minor
"@fluidframework/tree": minor
---
---
"section": tree
---
SharedTree event listeners that implement `Listenable` now allow deregistration of event listeners via an `off()` function.
The ability to deregister events via a callback returned by `on()` remains the same.
Both strategies will remain supported and consumers of SharedTree events may choose which method of deregistration they prefer in a given instance.
```typescript
// The new behavior
function deregisterViaOff(view: TreeView<MySchema>): {
const listener = () => { /* ... */ };
view.events.on("commitApplied", listener); // Register
view.events.off("commitApplied", listener); // Deregister
}
// The existing behavior (still supported)
function deregisterViaCallback(view: TreeView<MySchema>): {
const off = view.events.on("commitApplied", () => { /* ... */ }); // Register
off(); // Deregister
}
```

Просмотреть файл

@ -1,26 +0,0 @@
---
"fluid-framework": minor
"@fluidframework/tree": minor
---
---
"section": tree
---
Allow constructing recursive maps from objects
Previously only non-recursive maps could be constructed from objects.
Now all maps nodes can constructed from objects:
```typescript
class MapRecursive extends sf.mapRecursive("Map", [() => MapRecursive]) {}
{
type _check = ValidateRecursiveSchema<typeof MapRecursive>;
}
// New:
const fromObject = new MapRecursive({ x: new MapRecursive() });
// Existing:
const fromIterator = new MapRecursive([["x", new MapRecursive()]]);
const fromMap = new MapRecursive(new Map([["x", new MapRecursive()]]));
const fromNothing = new MapRecursive();
const fromUndefined = new MapRecursive(undefined);
```

Просмотреть файл

@ -1,32 +0,0 @@
---
"@fluidframework/aqueduct": minor
"@fluidframework/container-definitions": minor
"@fluidframework/container-loader": minor
"@fluidframework/container-runtime": minor
"@fluidframework/container-runtime-definitions": minor
"@fluidframework/datastore": minor
"@fluidframework/devtools-core": minor
"@fluidframework/fluid-static": minor
"@fluidframework/runtime-definitions": minor
"@fluidframework/runtime-utils": minor
"@fluid-private/test-end-to-end-tests": minor
"@fluidframework/test-runtime-utils": minor
"@fluidframework/test-utils": minor
---
---
"section": legacy
---
The inbound and outbound properties have been removed from IDeltaManager
The inbound and outbound properties were [deprecated in version 2.0.0-rc.2.0.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.0.0-rc.2.0.0.md#container-definitions-deprecate-ideltamanagerinbound-and-ideltamanageroutbound) and have been removed from `IDeltaManager`.
`IDeltaManager.inbound` contained functionality that could break core runtime features such as summarization and processing batches if used improperly. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
Similarly, `IDeltaManager.outbound` contained functionality that could break core runtime features such as generation of batches and chunking. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
#### Alternatives
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
- Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.

Просмотреть файл

@ -1,30 +0,0 @@
---
"fluid-framework": minor
"@fluidframework/merge-tree": minor
"@fluidframework/sequence": minor
"@fluidframework/undo-redo": minor
---
---
"section": feature
---
SharedString DDS annotateAdjustRange
This update introduces a new feature to the `SharedString` DDS, allowing for the adjustment of properties over a specified range. The `annotateAdjustRange` method enables users to apply adjustments to properties within a given range, providing more flexibility and control over property modifications.
An adjustment is a modification applied to a property value within a specified range. Adjustments can be used to increment or decrement property values dynamically. They are particularly useful in scenarios where property values need to be updated based on user interactions or other events. For example, in a rich text editor, adjustments can be used for modifying indentation levels or font sizes, where multiple users could apply differing numerical adjustments.
### Key Features and Use Cases:
- **Adjustments with Constraints**: Adjustments can include optional minimum and maximum constraints to ensure the final value falls within specified bounds. This is particularly useful for maintaining consistent formatting in rich text editors.
- **Consistent Property Changes**: The feature ensures that property changes are consistent, managing both local and remote changes effectively. This is essential for collaborative rich text editing where multiple users may be making adjustments simultaneously.
- **Rich Text Formatting**: Adjustments can be used to modify text properties such as font size, indentation, or other formatting attributes dynamically based on user actions.
### Configuration and Compatibility Requirements:
This feature is only available when the configuration `Fluid.Sequence.mergeTreeEnableAnnotateAdjust` is set to `true`. Additionally, all collaborating clients must have this feature enabled to use it. If any client does not have this feature enabled, it will lead to the client exiting collaboration. A future major version of Fluid will enable this feature by default.
### Usage Example:
```typescript
sharedString.annotateAdjustRange(start, end, {
key: { value: 5, min: 0, max: 10 }
});
```

Просмотреть файл

@ -1,30 +0,0 @@
---
"fluid-framework": minor
"@fluidframework/merge-tree": minor
"@fluidframework/sequence": minor
---
---
"section": legacy
---
MergeTree `Client` Legacy API Removed
The `Client` class in the merge-tree package has been removed. Types that directly or indirectly expose the merge-tree `Client` class have also been removed.
The removed types were not meant to be used directly, and direct usage was not supported:
- AttributionPolicy
- IClientEvents
- IMergeTreeAttributionOptions
- SharedSegmentSequence
- SharedStringClass
Some classes that referenced the `Client` class have been transitioned to interfaces. Direct instantiation of these classes was not 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
- SequenceMaintenanceEvent
The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.4.0:
[Several MergeTree Client Legacy APIs are now deprecated](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.4.0.md#several-mergetree-client-legacy-apis-are-now-deprecated-22629)

Просмотреть файл

@ -1,11 +0,0 @@
---
"@fluidframework/tree": minor
---
---
"section": tree
---
Provide more comprehensive replacement to the `commitApplied` event
Adds a new `changed` event to the (currently alpha) `TreeBranchEvents` that replaces the `commitApplied` event on `TreeViewEvents`.
This new event is fired for both local and remote changes and maintains the existing functionality of `commitApplied` that is used for obtaining `Revertibles`.

Просмотреть файл

@ -1,32 +0,0 @@
---
"@fluidframework/presence": minor
---
---
"section": other
---
Presence package updates
#### Package scope advanced from `@fluid-experimental` ([#23073](https://github.com/microsoft/FluidFramework/pull/23073))
To update existing:
- package.json: replace `@fluid-experimental/presence` with `@fluidframework/presence`
- code imports: replace `@fluid-experimental/presence` with `@fluidframework/presence/alpha`
#### The methods and properties of `PresenceStates` have been reorganized ([#23021](https://github.com/microsoft/FluidFramework/pull/23021))
The `PresenceStatesEntries` object, which represents each of the states in the `PresenceStates` schema, has been moved from directly within `PresenceStates` to under property names `props`. Only the `add` method remains directly within `PresenceStates`. The type `PresenceStatesMethods` has also been removed since it is no longer used.
To update existing code, access your presence states from the `props` property instead of directly on the `PresenceStates` object. For example:
```patch
- presenceStatesWorkspace.myMap.local.get("key1");
+ presenceStatesWorkspace.props.myMap.local.get("key1");
```
#### `BroadcastControls` replace `LatestValueControls` ([#23120](https://github.com/microsoft/FluidFramework/pull/23120))
`BroadcastControls` maybe specified on `PresenceStates` thru new `controls` property as defaults for all value managers.
`allowableUpdateLatencyMs` was renamed from `allowableUpdateLatency` to clarify units are milliseconds. Specifying this value currently has no effect, but use is recommended to light up as implementation comes online.
Unsupported `forcedRefreshInterval` has been removed until implementation is closer.

Просмотреть файл

@ -1,74 +0,0 @@
---
"@fluidframework/container-runtime": minor
"@fluidframework/runtime-definitions": minor
---
---
"section": feature
---
Enable Synchronous Child Datastore Creation
## Overview
This feature introduces a new pattern for creating datastores synchronously within the Fluid Framework. It allows for the synchronous creation of a child datastore from an existing datastore, provided that the child datastore is available synchronously via the existing datastore's registry and that the child's factory supports synchronous creation. This method also ensures strong typing for the consumer.
In this context, "child" refers specifically to the organization of factories and registries, not to any hierarchical or hosting relationship between datastores. The parent datastore does not control the runtime behaviors of the child datastore beyond its creation.
The synchronous creation of child datastores enhances the flexibility of datastore management within the Fluid Framework. It ensures type safety and provides a different way to manage datastores within a container. However, it is important to consider the overhead associated with datastores, as they are stored, summarized, garbage collected, loaded, and referenced independently. This overhead should be justified by the scenario's requirements.
Datastores offer increased capabilities, such as the ability to reference them via handles, allowing multiple references to exist and enabling those references to be moved, swapped, or changed. Additionally, datastores are garbage collected after becoming unreferenced, which can simplify final cleanup across clients. This is in contrast to subdirectories in a shared directory, which do not have native capabilities for referencing or garbage collection but are very low overhead to create.
Synchronous creation relies on both the factory and the datastore to support it. This means that asynchronous operations, such as resolving handles, some browser API calls, consensus-based operations, or other asynchronous tasks, cannot be performed during the creation flow. Therefore, synchronous child datastore creation is best limited to scenarios where the existing asynchronous process cannot be used, such as when a new datastore must be created in direct response to synchronous user input.
## Key Benefits
- **Synchronous Creation**: Allows for the immediate creation of child datastores without waiting for asynchronous operations.
- **Strong Typing**: Ensures type safety and better developer experience by leveraging TypeScript's type system.
## Use Cases
### Example 1: Creating a Child Datastore
In this example, we demonstrate how to support creating a child datastore synchronously from a parent datastore.
```typescript
/**
* This is the parent DataObject, which is also a datastore. It has a
* synchronous method to create child datastores, which could be called
* in response to synchronous user input, like a key press.
*/
class ParentDataObject extends DataObject {
get ParentDataObject() {
return this;
}
protected override async initializingFirstTime(): Promise<void> {
// create synchronously during initialization
this.createChild("parentCreation");
}
createChild(name: string): ChildDataStore {
assert(
this.context.createChildDataStore !== undefined,
"this.context.createChildDataStore",
);
// creates a detached context with a factory who's package path is the same
// as the current datastore, but with another copy of its own type.
const { entrypoint } = this.context.createChildDataStore(
ChildDataStoreFactory.instance,
);
const dir = this.root.createSubDirectory("children");
dir.set(name, entrypoint.handle);
entrypoint.setProperty("childValue", name);
return entrypoint;
}
getChild(name: string): IFluidHandle<ChildDataStore> | undefined {
const dir = this.root.getSubDirectory("children");
return dir?.get<IFluidHandle<ChildDataStore>>(name);
}
}
```
For a complete example see the follow test:
https://github.com/microsoft/FluidFramework/blob/main/packages/test/local-server-tests/src/test/synchronousDataStoreCreation.spec.ts

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/azure-local-service
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/azure-service-utils
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/azure-scenario-runner
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/ai-collab
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/attributable-map
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/collaborative-textarea
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/contact-collection
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/data-object-grid
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/presence-tracker
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/task-selection
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,3 +1,7 @@
# @fluid-example/tree-cli-app
## 2.10.0
Dependency updates only.
## 2.5.0

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/tree-comparison
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/bubblebench-baseline
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/bubblebench-common
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/bubblebench-experimental-tree
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/bubblebench-ot
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/bubblebench-simple-tree
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/odspsnapshotfetch-perftestapp
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-internal/tablebench
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/app-insights-logger
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/canvas
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/clicker
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/codemirror
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/diceroller
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/inventory-app
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/monaco
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/multiview-constellation-model
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/multiview-constellation-view
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/multiview-container
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/multiview-coordinate-model
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/multiview-coordinate-interface
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/multiview-plot-coordinate-view
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/multiview-slider-coordinate-view
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/multiview-triangle-view
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/prosemirror
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/smde
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/table-document
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/todo
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/webflow
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/app-integration-external-data
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/app-integration-external-controller
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/shared-tree-demo
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/bundle-size-tests
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/example-utils
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/migration-tools
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/webpack-fluid-loader
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/app-integration-live-schema-upgrade
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/version-migration-same-container
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/version-migration-separate-container
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/tree-comparison
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/app-integration-container-views
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/app-integration-external-views
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-example/view-framework-sampler
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/property-changeset
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/property-common
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-internal/platform-dependent
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/property-dds
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/property-properties
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/attributable-map
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/ot
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/sharejs-json1
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/sequence-deprecated
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/tree
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/data-objects
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/last-edited
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/tree-react-api
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-internal/client-utils
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,23 @@
# @fluidframework/container-definitions
## 2.10.0
### Minor Changes
- The inbound and outbound properties have been removed from IDeltaManager ([#22282](https://github.com/microsoft/FluidFramework/pull/22282)) [45a57693f2](https://github.com/microsoft/FluidFramework/commit/45a57693f291e0dc5e91af7f29a9b9c8f82dfad5)
The inbound and outbound properties were [deprecated in version 2.0.0-rc.2.0.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.0.0-rc.2.0.0.md#container-definitions-deprecate-ideltamanagerinbound-and-ideltamanageroutbound) and have been removed from `IDeltaManager`.
`IDeltaManager.inbound` contained functionality that could break core runtime features such as summarization and processing batches if used improperly. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
Similarly, `IDeltaManager.outbound` contained functionality that could break core runtime features such as generation of batches and chunking. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
#### Alternatives
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
- Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/core-interfaces
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/core-utils
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/driver-definitions
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/cell
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/counter
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/ink
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/map
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/matrix
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,84 @@
# @fluidframework/merge-tree
## 2.10.0
### Minor Changes
- Unsupported merge-tree types and related exposed internals have been removed ([#22696](https://github.com/microsoft/FluidFramework/pull/22696)) [7a032533a6](https://github.com/microsoft/FluidFramework/commit/7a032533a6ee6a6f76fe154ef65dfa33f87e5a7b)
As part of ongoing improvements, several internal types and related APIs have been removed. These types are unnecessary for any supported scenarios and could lead to errors if used. Since directly using these types would likely result in errors, these changes are not likely to impact any Fluid Framework consumers.
Removed types:
- IMergeTreeTextHelper
- MergeNode
- ObliterateInfo
- PropertiesManager
- PropertiesRollback
- SegmentGroup
- SegmentGroupCollection
In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
Removed functions:
- addProperties
- ack
Removed properties:
- propertyManager
- segmentGroups
The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.2.0:
[Fluid Framework v2.2.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.2.0.md)
- SharedString DDS annotateAdjustRange ([#22751](https://github.com/microsoft/FluidFramework/pull/22751)) [d54b9dde14](https://github.com/microsoft/FluidFramework/commit/d54b9dde14e9e0e5eb7999db8ebf6da98fdfb526)
This update introduces a new feature to the `SharedString` DDS, allowing for the adjustment of properties over a specified range. The `annotateAdjustRange` method enables users to apply adjustments to properties within a given range, providing more flexibility and control over property modifications.
An adjustment is a modification applied to a property value within a specified range. Adjustments can be used to increment or decrement property values dynamically. They are particularly useful in scenarios where property values need to be updated based on user interactions or other events. For example, in a rich text editor, adjustments can be used for modifying indentation levels or font sizes, where multiple users could apply differing numerical adjustments.
### Key Features and Use Cases:
- **Adjustments with Constraints**: Adjustments can include optional minimum and maximum constraints to ensure the final value falls within specified bounds. This is particularly useful for maintaining consistent formatting in rich text editors.
- **Consistent Property Changes**: The feature ensures that property changes are consistent, managing both local and remote changes effectively. This is essential for collaborative rich text editing where multiple users may be making adjustments simultaneously.
- **Rich Text Formatting**: Adjustments can be used to modify text properties such as font size, indentation, or other formatting attributes dynamically based on user actions.
### Configuration and Compatibility Requirements:
This feature is only available when the configuration `Fluid.Sequence.mergeTreeEnableAnnotateAdjust` is set to `true`. Additionally, all collaborating clients must have this feature enabled to use it. If any client does not have this feature enabled, it will lead to the client exiting collaboration. A future major version of Fluid will enable this feature by default.
### Usage Example:
```typescript
sharedString.annotateAdjustRange(start, end, {
key: { value: 5, min: 0, max: 10 },
});
```
- MergeTree `Client` Legacy API Removed ([#22697](https://github.com/microsoft/FluidFramework/pull/22697)) [2aa0b5e794](https://github.com/microsoft/FluidFramework/commit/2aa0b5e7941efe52386782595f96ff847c786fc3)
The `Client` class in the merge-tree package has been removed. Types that directly or indirectly expose the merge-tree `Client` class have also been removed.
The removed types were not meant to be used directly, and direct usage was not supported:
- AttributionPolicy
- IClientEvents
- IMergeTreeAttributionOptions
- SharedSegmentSequence
- SharedStringClass
Some classes that referenced the `Client` class have been transitioned to interfaces. Direct instantiation of these classes was not 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
- SequenceMaintenanceEvent
The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.4.0:
[Several MergeTree Client Legacy APIs are now deprecated](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.4.0.md#several-mergetree-client-legacy-apis-are-now-deprecated-22629)
## 2.5.0
### Minor Changes

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/ordered-collection
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-experimental/pact-map
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/register-collection
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,84 @@
# @fluidframework/sequence
## 2.10.0
### Minor Changes
- Unsupported merge-tree types and related exposed internals have been removed ([#22696](https://github.com/microsoft/FluidFramework/pull/22696)) [7a032533a6](https://github.com/microsoft/FluidFramework/commit/7a032533a6ee6a6f76fe154ef65dfa33f87e5a7b)
As part of ongoing improvements, several internal types and related APIs have been removed. These types are unnecessary for any supported scenarios and could lead to errors if used. Since directly using these types would likely result in errors, these changes are not likely to impact any Fluid Framework consumers.
Removed types:
- IMergeTreeTextHelper
- MergeNode
- ObliterateInfo
- PropertiesManager
- PropertiesRollback
- SegmentGroup
- SegmentGroupCollection
In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
Removed functions:
- addProperties
- ack
Removed properties:
- propertyManager
- segmentGroups
The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.2.0:
[Fluid Framework v2.2.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.2.0.md)
- SharedString DDS annotateAdjustRange ([#22751](https://github.com/microsoft/FluidFramework/pull/22751)) [d54b9dde14](https://github.com/microsoft/FluidFramework/commit/d54b9dde14e9e0e5eb7999db8ebf6da98fdfb526)
This update introduces a new feature to the `SharedString` DDS, allowing for the adjustment of properties over a specified range. The `annotateAdjustRange` method enables users to apply adjustments to properties within a given range, providing more flexibility and control over property modifications.
An adjustment is a modification applied to a property value within a specified range. Adjustments can be used to increment or decrement property values dynamically. They are particularly useful in scenarios where property values need to be updated based on user interactions or other events. For example, in a rich text editor, adjustments can be used for modifying indentation levels or font sizes, where multiple users could apply differing numerical adjustments.
### Key Features and Use Cases:
- **Adjustments with Constraints**: Adjustments can include optional minimum and maximum constraints to ensure the final value falls within specified bounds. This is particularly useful for maintaining consistent formatting in rich text editors.
- **Consistent Property Changes**: The feature ensures that property changes are consistent, managing both local and remote changes effectively. This is essential for collaborative rich text editing where multiple users may be making adjustments simultaneously.
- **Rich Text Formatting**: Adjustments can be used to modify text properties such as font size, indentation, or other formatting attributes dynamically based on user actions.
### Configuration and Compatibility Requirements:
This feature is only available when the configuration `Fluid.Sequence.mergeTreeEnableAnnotateAdjust` is set to `true`. Additionally, all collaborating clients must have this feature enabled to use it. If any client does not have this feature enabled, it will lead to the client exiting collaboration. A future major version of Fluid will enable this feature by default.
### Usage Example:
```typescript
sharedString.annotateAdjustRange(start, end, {
key: { value: 5, min: 0, max: 10 },
});
```
- MergeTree `Client` Legacy API Removed ([#22697](https://github.com/microsoft/FluidFramework/pull/22697)) [2aa0b5e794](https://github.com/microsoft/FluidFramework/commit/2aa0b5e7941efe52386782595f96ff847c786fc3)
The `Client` class in the merge-tree package has been removed. Types that directly or indirectly expose the merge-tree `Client` class have also been removed.
The removed types were not meant to be used directly, and direct usage was not supported:
- AttributionPolicy
- IClientEvents
- IMergeTreeAttributionOptions
- SharedSegmentSequence
- SharedStringClass
Some classes that referenced the `Client` class have been transitioned to interfaces. Direct instantiation of these classes was not 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
- SequenceMaintenanceEvent
The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.4.0:
[Several MergeTree Client Legacy APIs are now deprecated](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.4.0.md#several-mergetree-client-legacy-apis-are-now-deprecated-22629)
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/shared-object-base
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/shared-summary-block
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/task-manager
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,9 @@
# @fluid-private/test-dds-utils
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Просмотреть файл

@ -1,5 +1,83 @@
# @fluidframework/tree
## 2.10.0
### Minor Changes
- Fix typing bug in `adaptEnum` and `enumFromStrings` ([#23077](https://github.com/microsoft/FluidFramework/pull/23077)) [cfb68388cb](https://github.com/microsoft/FluidFramework/commit/cfb68388cb6b88a0ef670633b3afa46a82c99972)
When using the return value from [`adaptEnum`](https://fluidframework.com/docs/api/v2/tree#adaptenum-function) as a function, passing in a value who's type is a union no longer produced an incorrectly typed return value. This has been fixed.
Additionally [`enumFromStrings`](https://fluidframework.com/docs/api/v2/tree#enumfromstrings-function) has improved the typing of its schema, ensuring the returned object's members have sufficiently specific types.
Part of this improvement was fixing the `.schema` property to be a tuple over each of the schema where it was previously a tuple of a single combined schema due to a bug.
One side-effect of these fixes is that narrowing of the `value` field of a node typed from the `.schema` behaves slightly different, such that the node type is now a union instead of it being a single type with a `.value` that is a union.
This means that narrowing based on `.value` property narrows which node type you have, not just the value property.
This mainly matters when matching all cases like the switch statement below:
```typescript
const Mode = enumFromStrings(schema, ["Fun", "Bonus"]);
type Mode = TreeNodeFromImplicitAllowedTypes<typeof Mode.schema>;
const node = new Mode.Bonus() as Mode;
switch (node.value) {
case "Fun": {
assert.fail();
}
case "Bonus": {
// This one runs
break;
}
default:
// Before this change, "node.value" was never here, now "node" is never.
unreachableCase(node);
}
```
- SharedTree event listeners that implement `Listenable` now allow deregistration of event listeners via an `off()` function. ([#23046](https://github.com/microsoft/FluidFramework/pull/23046)) [c59225db03](https://github.com/microsoft/FluidFramework/commit/c59225db033a516ee20e459ae31567d97ce8776c)
The ability to deregister events via a callback returned by `on()` remains the same.
Both strategies will remain supported and consumers of SharedTree events may choose which method of deregistration they prefer in a given instance.
```typescript
// The new behavior
function deregisterViaOff(view: TreeView<MySchema>): {
const listener = () => { /* ... */ };
view.events.on("commitApplied", listener); // Register
view.events.off("commitApplied", listener); // Deregister
}
// The existing behavior (still supported)
function deregisterViaCallback(view: TreeView<MySchema>): {
const off = view.events.on("commitApplied", () => { /* ... */ }); // Register
off(); // Deregister
}
```
- Allow constructing recursive maps from objects ([#23070](https://github.com/microsoft/FluidFramework/pull/23070)) [0185a08c6f](https://github.com/microsoft/FluidFramework/commit/0185a08c6f8bf6e922a6467f11da049503c4d215)
Previously only non-recursive maps could be constructed from objects.
Now all maps nodes can constructed from objects:
```typescript
class MapRecursive extends sf.mapRecursive("Map", [() => MapRecursive]) {}
{
type _check = ValidateRecursiveSchema<typeof MapRecursive>;
}
// New:
const fromObject = new MapRecursive({ x: new MapRecursive() });
// Existing:
const fromIterator = new MapRecursive([["x", new MapRecursive()]]);
const fromMap = new MapRecursive(new Map([["x", new MapRecursive()]]));
const fromNothing = new MapRecursive();
const fromUndefined = new MapRecursive(undefined);
```
- Provide more comprehensive replacement to the `commitApplied` event ([#22977](https://github.com/microsoft/FluidFramework/pull/22977)) [e51c94da32](https://github.com/microsoft/FluidFramework/commit/e51c94da3248868de3c0c7fdce568cc425204155)
Adds a new `changed` event to the (currently alpha) `TreeBranchEvents` that replaces the `commitApplied` event on `TreeViewEvents`.
This new event is fired for both local and remote changes and maintains the existing functionality of `commitApplied` that is used for obtaining `Revertibles`.
## 2.5.0
### Minor Changes

Просмотреть файл

@ -1,5 +1,9 @@
# @fluidframework/debugger
## 2.10.0
Dependency updates only.
## 2.5.0
Dependency updates only.

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше