Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
-
Promote core devtools APIs from alpha to beta (#25695) 7c8e203249
The primary devtools APIs may now be imported from
/beta. This includes:initializeDevtools- Initialize the devtools singletontryGetFluidDevtools- Get the existing devtools instance if initializedIFluidDevtools- Main devtools interface for registering containersContainerDevtoolsProps- Properties for registering containers with devtools
For example:
import { initializeDevtools, tryGetFluidDevtools, type IFluidDevtools, type ContainerDevtoolsProps, } from "@fluidframework/devtools-core/beta"; // Initialize devtools const devtools = initializeDevtools(); // Register a container devtools.registerContainerDevtools({ containerKey: "my-container", container: myContainer, });
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
-
API clarifications for devtools packages (#23165) cea34d10d0
APIs that were never intended for direct consumer use have been marked as
@system. These are:- HasContainerKey
APIs that were not intended to be extended by consumers have been marked as
@sealed. These are:- ContainerDevtoolsProps
- DevtoolsProps
- HasContainerKey
- IDevtools
Additionally, interface properties have been marked as
readonly.
-
The inbound and outbound properties have been removed from IDeltaManager (#22282) 45a57693f2
The inbound and outbound properties were deprecated in version 2.0.0-rc.2.0.0 and have been removed from
IDeltaManager.IDeltaManager.inboundcontained functionality that could break core runtime features such as summarization and processing batches if used improperly. Data loss or corruption could occur whenIDeltaManger.inbound.pause()orIDeltaManager.inbound.resume()were called.Similarly,
IDeltaManager.outboundcontained functionality that could break core runtime features such as generation of batches and chunking. Data loss or corruption could occur whenIDeltaManger.inbound.pause()orIDeltaManager.inbound.resume()were called.- Alternatives to
IDeltaManager.inbound.on("op", ...)areIDeltaManager.on("op", ...) - Alternatives to calling
IDeltaManager.inbound.pause,IDeltaManager.outbound.pauseforIContainerdisconnect useIContainer.disconnect. - Alternatives to calling
IDeltaManager.inbound.resume,IDeltaManager.outbound.resumeforIContainerreconnect useIContainer.connect.
- Alternatives to
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
-
Update to TypeScript 5.4 (#21214) 0e6256c722
Update package implementations to use TypeScript 5.4.5.
Dependency updates only.
-
Packages now use package.json "exports" and require modern module resolution 97d68aa06b
Fluid Framework packages have been updated to use the package.json "exports" field to define explicit entry points for both TypeScript types and implementation code.
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
"moduleResolution": "Node16"with"module": "Node16""moduleResolution": "Bundler"with"module": "ESNext"
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable for use with modern versions of Node.js and Bundlers. See the TypeScript documentation for more information regarding the module and moduleResolution options.
Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used to distinguish stable APIs from those that are in development.
-
container-definitions: Added containerMetadata prop on IContainer interface (#19142) d0d77f3516
Added
containerMetadataprop on IContainer interface. -
runtime-definitions: Moved ISignalEnvelope interface to core-interfaces (#19142) d0d77f3516
The
ISignalEnvelopeinterface has been moved to the @fluidframework/core-interfaces package.
Dependency updates only.
-
datastore-definitions: Jsonable and Serializable now require a generic parameter 9a451d4946
The
JsonableandSerializabletypes from @fluidframework/datastore-definitions now require a generic parameter and if that type isanyorunknownwill return a new resultJsonableTypeWith<>that more accurately represents the limitation of serialization.Additional modifications:
Jsonable'sTReplacementparameter default has also been changed fromvoidtonever, which now disallowsvoid.- Unrecognized primitive types like
symbolare now filtered toneverinstead of{}. - Recursive types with arrays (
[]) are now supported.
Serializableis commonly used for DDS values and now requires more precision when using them. For example SharedMatrix (unqualified) has ananydefault that meant values wereSerializable<any>(i.e.any), but nowSerializable<any>isJsonableTypeWith<IFluidHandle>which may be problematic for reading or writing. Preferred correction is to specify the value type but casting throughanymay provide a quick fix.
Dependency updates only.
Dependency updates only.
Dependency updates only.
-
tree2: Rename "Value" Multiplicity and FieldKind (#17622) bb68aeb30c
Multiplicity.Valuehas been renamed toMultiplicity.SingleandFieldKinds.valuehas been renamed toFieldKinds.required.
-
Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 871b3493dd
This included the following changes from the protocol-definitions release:
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
submitted by clients to the server and the resulting signals sent from the server to clients.
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has been added, which will be the typing for signals sent from the client to the server. Both extend a new ISignalMessageBase interface that contains common members.
- The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
submitted by clients to the server and the resulting signals sent from the server to clients.
-
Server upgrade: dependencies on Fluid server packages updated to 2.0.1 871b3493dd
Dependencies on the following Fluid server package have been updated to version 2.0.1:
- @fluidframework/gitresources: 2.0.1
- @fluidframework/server-kafka-orderer: 2.0.1
- @fluidframework/server-lambdas: 2.0.1
- @fluidframework/server-lambdas-driver: 2.0.1
- @fluidframework/server-local-server: 2.0.1
- @fluidframework/server-memory-orderer: 2.0.1
- @fluidframework/protocol-base: 2.0.1
- @fluidframework/server-routerlicious: 2.0.1
- @fluidframework/server-routerlicious-base: 2.0.1
- @fluidframework/server-services: 2.0.1
- @fluidframework/server-services-client: 2.0.1
- @fluidframework/server-services-core: 2.0.1
- @fluidframework/server-services-ordering-kafkanode: 2.0.1
- @fluidframework/server-services-ordering-rdkafka: 2.0.1
- @fluidframework/server-services-ordering-zookeeper: 2.0.1
- @fluidframework/server-services-shared: 2.0.1
- @fluidframework/server-services-telemetry: 2.0.1
- @fluidframework/server-services-utils: 2.0.1
- @fluidframework/server-test-utils: 2.0.1
- tinylicious: 2.0.1
-
test-utils: provideEntryPoint is required 871b3493dd
The optional
provideEntryPointmethod has become required on a number of constructors. A value will need to be provided to the following classes:BaseContainerRuntimeFactoryRuntimeFactoryContainerRuntime(constructor andloadRuntime)FluidDataStoreRuntime
See testContainerRuntimeFactoryWithDefaultDataStore.ts for an example implemtation of
provideEntryPointfor ContainerRuntime. See pureDataObjectFactory.ts for an example implementation ofprovideEntryPointfor DataStoreRuntime.Subsequently, various
entryPointandgetEntryPoint()endpoints have become required. Please see containerRuntime.ts for example implementations of these APIs.For more details, see Removing-IFluidRouter.md
-
Minimum TypeScript version now 5.1.6 871b3493dd
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
Dependency updates only.
Dependency updates only.
-
Remove use of @fluidframework/common-definitions (#16638) a8c81509c9
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
Dependency updates only.
-
Upgraded typescript transpilation target to ES2020 8abce8cdb4
Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.
Dependency updates only.