Skip to content

Commit

Permalink
Automation: main-next integrate
Browse files Browse the repository at this point in the history
  • Loading branch information
msfluid-bot committed Dec 13, 2023
2 parents ef49d00 + da913cd commit 710cd18
Show file tree
Hide file tree
Showing 55 changed files with 4,054 additions and 1,229 deletions.
22 changes: 17 additions & 5 deletions .changeset/brown-roses-drive.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,22 @@
"@fluidframework/sequence": minor
---

Incorporate change and change properties into the same method, and update the change signature to match the new add signature.
sequence: `change` and `changeProperties` are now a single method

Instead of having 2 separate methods to change the endpoints of an interval and the properties, combine them into a single method that will change the endpoints, properties, or both, depending on the arguments passed in. The signature of this combined method is now updated as well, so the new usage of the change method is to call it with an interval id as the first parameter and an object containing the desired portions of the interval to update as the second parameter. For the object parameter, the endpoints field should be an object containing the new start and end values for the interval, and the properties field should be an object containing the new properties for the interval. Either the endpoints field or the properties field can be omitted, and if neither are present, change will return undefined. The new usage of the change method is as follows:
Instead of having two separate methods to change the endpoints of an interval and the properties, they have been combined into a
single method that will change the endpoints, properties, or both, depending on the arguments passed in. The signature
of this combined method is now updated as well.

Change interval endpoints: change(id, { endpoints: { start: 1, end: 4 } });
Change interval properties: change(id { props: { a: 1 } });
Change interval endpoints and properties: change(id, { endpoints: { start: 1, end: 4 }, props: { a: 1 } });
The new way to use the change method is to call it with an interval id as the first parameter and an object containing
the desired portions of the interval to update as the second parameter. For the object parameter, the `endpoints` field
should be an object containing the new `start` and `end` values for the interval, and the `properties` field should be
an object containing the new properties for the interval. Either the `endpoints` field or the `properties` field can be
omitted, and if neither are present, `change` will return `undefined`.

The new usage of the change method is as follows:

Change interval endpoints: `change(id, { endpoints: { start: 1, end: 4 } });`

Change interval properties: `change(id { props: { a: 1 } });`

Change interval endpoints and properties: `change(id, { endpoints: { start: 1, end: 4 }, props: { a: 1 } });`
10 changes: 4 additions & 6 deletions .changeset/cool-goats-open.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
---
"@fluidframework/azure-client": minor
"@fluidframework/container-runtime": minor
"@fluidframework/core-interfaces": minor
"@fluid-experimental/odsp-client": minor
"@fluidframework/telemetry-utils": minor
"@fluid-experimental/tree2": minor
---

Move config base types from telemetry-utils to core-interfaces
telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase

The types ConfigTypes, and IConfigProviderBase have been deprecated in the @fluidframework/telemetry-utils and copied to the @fluidframework/core-interfaces. Please update your reference to use these types from @fluidframework/core-interfaces.
The types `ConfigTypes` and `IConfigProviderBase` have been deprecated in the @fluidframework/telemetry-utils package.
The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from
@fluidframework/core-interfaces.
9 changes: 6 additions & 3 deletions .changeset/happy-pens-lie.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
---
"@fluidframework/sequence": minor
"@fluid-private/test-end-to-end-tests": minor
---

Deprecate API `findOverlappingIntervals` from `IntervalCollection`, this functionality is moved to the `OverlappingIntervalsIndex`. Users are advised to independently attach the index to the collection and utilize the API accordingly, for instance:
sequence: Deprecated findOverlappingIntervals API

The `findOverlappingIntervals` API from `IntervalCollection` has been deprecated. This functionality is moved to the
`OverlappingIntervalsIndex`. Users should independently attach the index to the collection and utilize the API
accordingly, for instance:

```typescript
const overlappingIntervalsIndex = createOverlappingIntervalsIndex(sharedString);
collection.attachIndex(overlappingIntervalsIndex)
const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
```
```
8 changes: 4 additions & 4 deletions .changeset/loose-comics-wonder.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"@fluidframework/container-runtime": minor
---

GC: Tombstoned objects will fail to load by default
container-runtime: (GC) Tombstoned objects will fail to load by default

Previously, by default Tombstoned objects would merely trigger informational logs, with an option via config
to also cause errors to be thrown on load. Now failure to load is the default, with an option to disable it if necessary.
This reflects the purpose of Tombstone stage which is to mimic the user experience of having objects deleted.
Previously, Tombstoned objects would only trigger informational logs by default, with an option via config to also cause
errors to be thrown on load. Now, failure to load is the default with an option to disable it if necessary. This
reflects the purpose of the Tombstone stage which is to mimic the user experience of objects being deleted.
10 changes: 6 additions & 4 deletions .changeset/lovely-stave-squad.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
"@fluidframework/runtime-definitions": minor
---

Moves `IdCompressor` and related types from `@fluidframework/container-runtime` and `@fluidframework/runtime-definitions` into their own package, `@fluidframework/id-compressor`.
Exports from original packages have been marked as deprecated.
container-runtime/runtime-definitions: `IdCompressor` and related types deprecated

Additionally, marks the `IdCompressor` class as deprecated.
Consumers should use the interfaces, `IIdCompressor` and `IIdCompressorCore`, in conjunction with the factory function `createIdCompressor` instead.
`IdCompressor` and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions
packages have been deprecated. They can now be found in a new package, @fluidframework/id-compressor.

The `IdCompressor` class is deprecated even in the new package. Consumers should use the interfaces, `IIdCompressor` and
`IIdCompressorCore`, in conjunction with the factory function `createIdCompressor` instead.
4 changes: 2 additions & 2 deletions .changeset/smol-kittens-blep.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"@fluidframework/telemetry-utils": minor
---

Deprecate logIfFalse
telemetry-utils: Deprecated logIfFalse

This functionality was not intended for export and will be removed in a future release.
No replacement API is offered, as the logic is trivial to reproduce as needed.
No replacement API is offered because the logic is trivial to reproduce as needed.
7 changes: 5 additions & 2 deletions .changeset/soft-taxis-thank.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
---
"@fluidframework/sequence": minor
"@fluid-experimental/sequence-deprecated": minor
---

Deprecate API `previousInterval` and `nextInterval` from `IntervalCollection`, these functionalities are moved to the `EndpointIndex`. Users are advised to independently attach the index to the collection and utilize the API accordingly, for instance:
sequence: Deprecated previousInterval and nextInterval APIs

The `previousInterval` and `nextInterval` APIs from `IntervalCollection` have been deprecated. These functions are moved
to the `EndpointIndex`. Users should independently attach the index to the collection and utilize the API accordingly,
for instance:

```typescript
const endpointIndex = createEndpointIndex(sharedString);
Expand Down
7 changes: 5 additions & 2 deletions .changeset/spicy-laws-pick.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"@fluidframework/sequence": minor
---

Deprecate ICombiningOp, PropertiesRollback.Rewrite, and SharedString.annotateMarkerNotifyConsensus
sequence: Deprecated ICombiningOp, PropertiesRollback.Rewrite, and SharedString.annotateMarkerNotifyConsensus

This change deprecates usage of ICombiningOp in various APIs, including SharedSegmentSequence.annotateRange and SharedString.annotateMarker. It also deprecates SharedString.annotateMarkerNotifyConsensus which is related to combining ops. This functionality had no test coverage and was largely unused.
The `ICombiningOp` and its usage in various APIs has been deprecated. APIs affected include
`SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`. `SharedString.annotateMarkerNotifyConsensus`
has also been deprecated, because it is related to combining ops. This functionality had no test coverage and was
largely unused.
5 changes: 3 additions & 2 deletions .changeset/swift-geese-tap.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"@fluidframework/aqueduct": minor
---

Deprecated `IRootDataObjectFactory`
aqueduct: Deprecated IRootDataObjectFactory

The `IRootDataObjectFactory` interface has been deprecated and will be removed in a future major release. Please remove all usage of it.
The `IRootDataObjectFactory` interface has been deprecated and will be removed in a future major release. Please remove
all usage of it.
16 changes: 9 additions & 7 deletions .changeset/wet-bees-scream.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@
"@fluidframework/tinylicious-client": minor
---

Deprecate FluidStatic Classes
azure-client: Deprecated FluidStatic Classes

This change deprecates a number of unnecessarily exposed FluidStatic classes, and replaces them with creation functions. This helps us keep implementations decoupled from usage which is easier to maintain and extend. It has very minimal impact on the public surface area of downstream packages. The deprecated classes are as follows:
Several FluidStatic classes were unnecessarily exposed. They have been replaced with creation functions. This helps us
keep implementations decoupled from usage which is easier to maintain and extend. It has very minimal impact on the
public surface area of downstream packages. The deprecated classes are as follows:

- AzureAudience
- TinyliciousAudience
- DOProviderContainerRuntimeFactory
- FluidContainer
- ServiceAudience
- `AzureAudience` (use `IAzureAudience` instead)
- `TinyliciousAudience` (use `ITinyliciousAudience` instead)
- `DOProviderContainerRuntimeFactory`
- `FluidContainer`
- `ServiceAudience`
75 changes: 75 additions & 0 deletions RELEASE_NOTES/2.0.0-internal.7.4.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<!-- THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -->

# Upcoming changes in Fluid Framework v2.0.0-internal.7.4.0

## container-runtime: (GC) Tombstoned objects will fail to load by default

Previously, Tombstoned objects would only trigger informational logs by default, with an option via config to also cause errors to be thrown on load. Now, failure to load is the default with an option to disable it if necessary. This reflects the purpose of the Tombstone stage which is to mimic the user experience of objects being deleted.

## container-runtime/runtime-definitions: `IdCompressor` and related types deprecated

`IdCompressor` and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions packages have been deprecated. They can now be found in a new package, @fluidframework/id-compressor.

The `IdCompressor` class is deprecated even in the new package. Consumers should use the interfaces, `IIdCompressor` and `IIdCompressorCore`, in conjunction with the factory function `createIdCompressor` instead.

## telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase

The types `ConfigTypes` and `IConfigProviderBase` have been deprecated in the @fluidframework/telemetry-utils package. The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from @fluidframework/core-interfaces.

## telemetry-utils: Deprecated logIfFalse

This functionality was not intended for export and will be removed in a future release. No replacement API is offered because the logic is trivial to reproduce as needed.

## sequence: Deprecated findOverlappingIntervals API

The `findOverlappingIntervals` API from `IntervalCollection` has been deprecated. This functionality is moved to the `OverlappingIntervalsIndex`. Users should independently attach the index to the collection and utilize the API accordingly, for instance:

```typescript
const overlappingIntervalsIndex = createOverlappingIntervalsIndex(sharedString);
collection.attachIndex(overlappingIntervalsIndex);
const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
```

## sequence: Deprecated previousInterval and nextInterval APIs

The `previousInterval` and `nextInterval` APIs from `IntervalCollection` have been deprecated. These functions are moved to the `EndpointIndex`. Users should independently attach the index to the collection and utilize the API accordingly, for instance:

```typescript
const endpointIndex = createEndpointIndex(sharedString);
collection.attachIndex(endpointIndex);

const result1 = endpointIndex.previousInterval(pos);
const result2 = endpointIndex.nextInterval(pos);
```

## sequence: Deprecated ICombiningOp, PropertiesRollback.Rewrite, and SharedString.annotateMarkerNotifyConsensus

The `ICombiningOp` and its usage in various APIs has been deprecated. APIs affected include `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`. `SharedString.annotateMarkerNotifyConsensus` has also been deprecated, because it is related to combining ops. This functionality had no test coverage and was largely unused.

## sequence: `change` and `changeProperties` are now a single method

Instead of having two separate methods to change the endpoints of an interval and the properties, they have been combined into a single method that will change the endpoints, properties, or both, depending on the arguments passed in. The signature of this combined method is now updated as well.

The new way to use the change method is to call it with an interval id as the first parameter and an object containing the desired portions of the interval to update as the second parameter. For the object parameter, the `endpoints` field should be an object containing the new `start` and `end` values for the interval, and the `properties` field should be an object containing the new properties for the interval. Either the `endpoints` field or the `properties` field can be omitted, and if neither are present, `change` will return `undefined`.

The new usage of the change method is as follows:

Change interval endpoints: `change(id, { endpoints: { start: 1, end: 4 } });`

Change interval properties: `change(id { props: { a: 1 } });`

Change interval endpoints and properties: `change(id, { endpoints: { start: 1, end: 4 }, props: { a: 1 } });`

## aqueduct: Deprecated IRootDataObjectFactory

The `IRootDataObjectFactory` interface has been deprecated and will be removed in a future major release. Please remove all usage of it.

## azure-client: Deprecated FluidStatic Classes

Several FluidStatic classes were unnecessarily exposed. They have been replaced with creation functions. This helps us keep implementations decoupled from usage which is easier to maintain and extend. It has very minimal impact on the public surface area of downstream packages. The deprecated classes are as follows:

- `AzureAudience` (use `IAzureAudience` instead)
- `TinyliciousAudience` (use `ITinyliciousAudience` instead)
- `DOProviderContainerRuntimeFactory`
- `FluidContainer`
- `ServiceAudience`
8 changes: 7 additions & 1 deletion common/build/build-common/tsc-multi.esm.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
{
"targets": [
{ "extname": ".mjs", "module": "ESNext", "moduleResolution": "node10", "outDir": "./lib" }
{
"extname": ".mjs",
"rewriteDtsImports": true,
"module": "ESNext",
"moduleResolution": "Node16",
"outDir": "./lib"
}
],
"projects": ["tsconfig.json"]
}
4 changes: 2 additions & 2 deletions common/build/build-common/tsconfig.esm.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "Node10",
"module": "Node16",
"moduleResolution": "Node16",
},
}
10 changes: 9 additions & 1 deletion common/lib/protocol-definitions/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,15 @@

## [3.1.0](https://github.com/microsoft/FluidFramework/releases/tag/protocol-definitions_v3.1.0)

`ISequencedDocumentMessage` properties `compression` and `expHash1` are deprecated. They have been extracted into a separate interface `ISequencedDocumentMessageExperimental` and should be used from there instead.
### Deprecated properties on ISequencedDocumentMessage

`ISequencedDocumentMessage` properties `compression` and `expHash1` are deprecated. They have been extracted into a
separate interface `ISequencedDocumentMessageExperimental` and should be used from there instead.

### Package now works properly with TypeScript's node16 moduleResolution

The package now has an "exports" field in its package.json so node16 moduleResolution will work
for both CJS and ESM.

## [3.0.0](https://github.com/microsoft/FluidFramework/releases/tag/protocol-definitions_v3.0.0)

Expand Down
Loading

0 comments on commit 710cd18

Please sign in to comment.