Skip to content

Releases: microsoft/FluidFramework

common-utils v2.0.0 (major)

31 Aug 18:31
0ea5182
Compare
Choose a tag to compare

This is a major release.

Deprecated classes and functions

The following classes, functions, and types are deprecated in this release. In some cases, the implementations have been
moved to other packages.

Moved to @fluidframework/core-utils

  • class Lazy
  • class LazyPromise
  • class PromiseCache<TKey, TResult>
  • interface PromiseCacheOptions
  • type PromiseCacheExpiry
  • class Deferred
  • class Heap
  • class PromiseTimer
  • class Timer
  • const delay
  • const NumberComparer
  • function assert
  • function safelyParseJSON
  • function setLongTimeout
  • function unreachableCase
  • interface IComparer
  • interface IHeapNode
  • interface IPromiseTimer
  • interface IPromiseTimerResult
  • interface ITimer

Moved to @fluid-internal/client-utils

  • class Buffer
  • class EventForwarder
  • class Trace
  • class TypedEventEmitter
  • class TypedEventTransform
  • function bufferToString
  • function fromBase64ToUtf8
  • function fromUtf8ToBase64
  • function gitHashFile
  • function hashFile
  • function stringToBuffer
  • function toUtf8
  • function Uint8ArrayToArrayBuffer
  • function Uint8ArrayToString
  • interface ITraceEvent
  • type EventEmitterEventType
  • type IsoBuffer
  • type IsomorphicPerformance

Deprecated with no replacement

  • function doIfNotDisposed
  • class RateLimiter
  • class RangeTracker
  • interface IRange
  • interface IRangeTrackerSnapshot

Fluid Framework v2.0.0-internal.6.2.0 (minor)

30 Aug 18:04
607786b
Compare
Choose a tag to compare

Deprecations and other changes

Deprecate SharedSequence, SubSequence, and IJSONRunSegment

The types SharedSequence, SubSequence, and IJSONRunSegment are being deprecated and moved.

They are now, and will continue to be exposed from the @fluid-experimental/sequence-deprecated package.

New usages of these types should not be added, but they may be necessary for migration.

PureDataObject temporarily extends EventForwarder and implements IDisposable again

PureDataObject extends EventForwarder and implements IDìsposable again to ease the transition to 2.0.0-internal.6.x. These interfaces will no longer be implemented on PureDataObject in version 2.0.0-internal.7.0.0.

The original deprecation announcement for these members can be found here.

Once the change is re-applied in 2.0.0-internal.7.0.0, if your code was overriding any methods/properties from EventForwarder and or IDisposable on a class that inherits (directly or transitively) from PureDataObject, you'll have to remove the override keyword.

Temporarily restore id property on IContainerContext

The id property on IContainerContext has been temporarily restored to ease the transition to 2.0.0-internal.6.x. It will be removed again in 2.0.0-internal.7.0.0.

The original deprecation announcement can be found here.

Deprecate getStackContext and associated NestBegin/End

Deprecate SharedSegmentSequence.getStackContext and Client.getStackContext (and the enums ReferenceType.NestBegin and NestEnd they use). This functionality is unused, poorly tested, and incurs performance overhead.

Deprecated refreshLatestAck in ISummarizeOptions, IOnDemandSummarizeOptions and IEnqueueSummarizeOptions

Passing refreshLatestAck as true will result in closing the summarizer. It is not supported anymore and will be removed in a future release. It should not be passed in to summarizeOnDemand and enqueueSummarize APIs anymore.

Remove use of @fluidframework/common-definitions

The @fluidframework/common-definitions package is being deprecated, so the following interfaces and types are now imported from the @fluidframework/core-interfaces package:

  • interface IDisposable
  • interface IErrorEvent
  • interface IErrorEvent
  • interface IEvent
  • interface IEventProvider
  • interface ILoggingError
  • interface ITaggedTelemetryPropertyType
  • interface ITelemetryBaseEvent
  • interface ITelemetryBaseLogger
  • interface ITelemetryErrorEvent
  • interface ITelemetryGenericEvent
  • interface ITelemetryLogger
  • interface ITelemetryPerformanceEvent
  • interface ITelemetryProperties
  • type ExtendEventProvider
  • type IEventThisPlaceHolder
  • type IEventTransformer
  • type ReplaceIEventThisPlaceHolder
  • type ReplaceIEventThisPlaceHolder
  • type TelemetryEventCategory
  • type TelemetryEventPropertyType

Deprecation of findTile in favor of searchForMarker, which uses depthFirstNodeWalk to locate the nearest marker.

findTile has a decent amount of buggy behavior, which leads partners who want to use it to implement workarounds for the odd behavior. searchForMarker is being introduced as a replacement. It performs the same basic functionality of searching for the nearest marker to a given start position in the indicated direction. However, it includes the start position as one of the nodes to search, so markers at the start position will be returned as the nearest marker to that position. Notably, positions 0 and length-1 will be included in the search as well, so searching forwards from position 0 or backwards from position length-1 would allow the entire string to be searched.

build-tools v0.23.0 (minor)

30 Aug 18:04
88b2e09
Compare
Choose a tag to compare

This is a minor release.

common-definitions v1.0.0 (major)

31 Aug 18:29
641c934
Compare
Choose a tag to compare

This is a major release.

Deprecated interfaces and types

The following interfaces and types are deprecated in this release. They can now be found in @fluidframework/core-interfaces.

These deprecated APIs will be removed in version 2.0.0.

Moved to @fluidframework/core-interfaces

  • interface IDisposable
  • interface IErrorEvent
  • interface IErrorEvent
  • interface IEvent
  • interface IEventProvider
  • interface ILoggingError
  • interface ITaggedTelemetryPropertyType
  • interface ITelemetryBaseEvent
  • interface ITelemetryBaseLogger
  • interface ITelemetryErrorEvent
  • interface ITelemetryGenericEvent
  • interface ITelemetryLogger
  • interface ITelemetryPerformanceEvent
  • interface ITelemetryProperties
  • type ExtendEventProvider
  • type IEventThisPlaceHolder
  • type IEventTransformer
  • type ReplaceIEventThisPlaceHolder
  • type ReplaceIEventThisPlaceHolder
  • type TelemetryEventCategory
  • type TelemetryEventPropertyType

Fluid Framework v2.0.0-internal.6.1.1 (patch)

18 Aug 00:10
a52347b
Compare
Choose a tag to compare

What's Changed

  • [bump] client: 2.0.0-internal.6.1.0 => 2.0.0-internal.6.1.1 (patch) #16905
  • [main > 6.1] build: Remove lerna from client and build-tools] #16909
  • [port 6.1] revert: Temporarily revert some breaking changes (for 2.0.0-internal.6.x) #16891

Full Changelog: client_v2.0.0-internal.6.1.0...client_v2.0.0-internal.6.1.1

Fluid Framework v2.0.0-internal.6.0.1 (patch)

30 Aug 18:05
8b9e980
Compare
Choose a tag to compare

What's Changed

  • [main > 6.0] build: Remove lerna from client and build-tools #16908
  • [port 6.0] revert: Temporarily revert some breaking changes (for 2.0.0-internal.6.x) #16893
  • [6.0 port] Move quorum validation back to ProtocolHandler so it can be overridde… #16862
  • Fix the seqnum issue when creating subdirectory with grouped batching - release 6.0 #16857
  • [main > 6.0] revert: Bring back TelemetryNullLogger for 6.x #16849
  • build: typetests generate in release branch #16716
  • [bump] client: 2.0.0-internal.6.0.0 => 2.0.0-internal.6.0.1 (patch) #16708

Full Changelog: client_v2.0.0-internal.6.0.0...client_v2.0.0-internal.6.0.1

Fluid Framework v2.0.0-internal.5.4.2 (patch)

30 Aug 18:05
c326b42
Compare
Choose a tag to compare

What's Changed

  • [main > 5.4] build: Remove lerna from client and build-tools] #16910
  • [bump] client: 2.0.0-internal.5.4.1 => 2.0.0-internal.5.4.2 (patch) #16897

Full Changelog: client_v2.0.0-internal.5.4.1...client_v2.0.0-internal.5.4.2

Fluid Framework v2.0.0-internal.6.1.0 (minor)

17 Aug 18:16
22ce1f4
Compare
Choose a tag to compare

Changes in Fluid Framework v2.0.0-internal.6.1.0

Removed TelemetryNullLogger class is again exported from @fluidframework/telemetry-utils

The TelemetryNullLogger class has been brought back to ease the transition to 2.0.0-internal.6.x but is still deprecated and will be removed in 2.0.0-internal.7.0.0.

For internal use within the FluidFramework codebase, use createChildLogger() with no arguments instead. For external consumers we recommend writing a trivial implementation of ITelemetryBaseLogger (from the @fluidframework/core-interfaces package) where the send() method does nothing and using that.

Deprecates DeltaManagerProxyBase

DeltaManagerProxyBase is only used internally in FluidFramework code and will no longer be exported in a future release. No replacement API is intended for external consumers.

Fluid Framework v2.0.0-internal.5.4.1 (patch)

17 Aug 18:06
07ebad6
Compare
Choose a tag to compare

What's Changed

  • [5.4 port] Move quorum validation back to ProtocolHandler so it can be overridde… #16861
  • [bump] client: 2.0.0-internal.5.4.0 => 2.0.0-internal.5.4.1 (patch) #16704

Full Changelog: client_v2.0.0-internal.5.4.0...client_v2.0.0-internal.5.4.1

Fluid Framework v2.0.0-internal.5.3.4 (patch)

07 Aug 20:44
61ce59c
Compare
Choose a tag to compare

What's Changed

  • [bump] client: 2.0.0-internal.5.3.3 => 2.0.0-internal.5.3.4 (patch) #16732
  • [main > release/v2int/5.3]: getFileLink() was not retrying for all retriable errors (#16659) #16727
  • [bump] client: 2.0.0-internal.5.3.2 => 2.0.0-internal.5.3.3 (patch) #16594

Full Changelog: client_v2.0.0-internal.5.3.2...client_v2.0.0-internal.5.3.4