Skip to content

Latest commit

 

History

History
337 lines (214 loc) · 17.2 KB

File metadata and controls

337 lines (214 loc) · 17.2 KB

@fluidframework/container-runtime-definitions

2.5.0

Dependency updates only.

2.4.0

Dependency updates only.

2.3.0

Dependency updates only.

2.2.0

Dependency updates only.

2.1.0

Dependency updates only.

2.0.0-rc.5.0.0

Minor Changes

  • Update to TypeScript 5.4 (#21214) 0e6256c722

    Update package implementations to use TypeScript 5.4.5.

2.0.0-rc.4.0.0

Minor Changes

  • Type Erase IFluidDataStoreRuntime.deltaManager 96872186d0

    Make IFluidDataStoreRuntime.deltaManager have an opaque type. Marks the following types which were reachable from it as alpha:

    • IConnectionDetails
    • IDeltaSender
    • IDeltaManagerEvents
    • IDeltaManager
    • IDeltaQueueEvents
    • IDeltaQueue
    • ReadOnlyInfo

    As a temporary workaround, users needing access to the full delta manager API can use the @alpha toDeltaManagerInternal API to retrieve its members, but should migrate away from requiring access to those APIs.

    Implementing a custom IFluidDataStoreRuntime is not supported: this is now indicated by it being marked with @sealed.

2.0.0-rc.3.0.0

Major Changes

  • 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.

2.0.0-rc.2.0.0

Minor Changes

  • container-runtime: New feature: ID compression for DataStores & DDSs (#19859) 51f0d3db73

    Key changes

    1. A new API IContainerRuntimeBase.generateDocumentUniqueId() is exposed. This API will opportunistically generate IDs in short format (non-negative numbers). If it can't achieve that, it will return UUID strings. UUIDs generated will have low entropy in groups and will compress well. It can be leveraged anywhere in container where container unique IDs are required. I.e. any place that uses uuid() and stores data in container is likely candidate to start leveraging this API.
    2. Data store internal IDs (IDs that are auto generated by FF system) will opportunistically be generated in shorter form. Data stores created in detached container will always have short IDs, data stores created in attached container will opportunistically be short (by using newly added IContainerRuntimeBase.generateDocumentUniqueId() capability)
    3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)

    Implementation details

    1. Container level ID Compressor can now be enabled with delay. With such setting, only new IContainerRuntimeBase.generateDocumentUniqueId() is exposed (ID Compressor is not exposed in such case, as leveraging any of its other capabilities requires future container sessions to load ID Compressor on container load, for correctness reasons). Once Container establishes connection and any changes are made in container, newly added API will start generating more compact IDs (in most cases).

    Breaking changes

    1. DDS names can no longer start with "_" symbol - this is reserved for FF needs. I've validated that's not an issue for AzureClient (it only creates root object by name, everything else is referred by handle). Our main internal partners almost never use named DDSs (I can find only 4 instances in Loop).

    Backward compatibility considerations

    1. Data store internal IDs could collide with earlier used names data stores. Earlier versions of FF framework (before DataStore aliasing feature was added) allowed customers to supply IDs for data stores. And thus, files created with earlier versions of framework could have data store IDs that will be similar to names FF will use for newly created data stores ("A", ... "Z", "a"..."z", "AA", etc.). While such collision is possible, it's very unlikely (almost impossible) if user-provided names were at least 4-5 characters long.
    2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".

    Minor changes

    1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
    2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
  • driver-definitions: repositoryUrl removed from IDocumentStorageService (#19522) 90eb3c9d33

    The repositoryUrl member of IDocumentStorageService was unused and always equal to the empty string. It has been removed.

  • container-definitions: ILoaderOptions no longer accepts arbitrary key/value pairs (#19306) 741926e225

    ILoaderOptions has been narrowed to the specific set of supported loader options, and may no longer be used to pass arbitrary key/value pairs through to the runtime.

2.0.0-rc.1.0.0

Minor Changes

  • Updated server dependencies (#19122) 25366b4229

    The following Fluid server dependencies have been updated to the latest version, 3.0.0. See the full changelog.

    • @fluidframework/gitresources
    • @fluidframework/server-kafka-orderer
    • @fluidframework/server-lambdas
    • @fluidframework/server-lambdas-driver
    • @fluidframework/server-local-server
    • @fluidframework/server-memory-orderer
    • @fluidframework/protocol-base
    • @fluidframework/server-routerlicious
    • @fluidframework/server-routerlicious-base
    • @fluidframework/server-services
    • @fluidframework/server-services-client
    • @fluidframework/server-services-core
    • @fluidframework/server-services-ordering-kafkanode
    • @fluidframework/server-services-ordering-rdkafka
    • @fluidframework/server-services-ordering-zookeeper
    • @fluidframework/server-services-shared
    • @fluidframework/server-services-telemetry
    • @fluidframework/server-services-utils
    • @fluidframework/server-test-utils
    • tinylicious
  • Updated @fluidframework/protocol-definitions (#19122) 25366b4229

    The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. See the full changelog.

2.0.0-internal.8.0.0

Major Changes

  • container-runtime-definitions: Removed resolveHandle and IFluidHandleContext from ContainerRuntime interfaces 9a451d4946

    The IContainerRuntime.resolveHandle(...) method and the IContainerRuntimeBase.IFluidHandleContext property have been removed. Please remove all usage of these APIs.

    See Removing-IFluidRouter.md for more details.

  • container-runtime-definitions: Removed getRootDataStore 9a451d4946

    The getRootDataStore method has been removed from IContainerRuntime and ContainerRuntime. Please migrate all usage to the new getAliasedDataStoreEntryPoint method. This method returns the data store's entry point which is its IFluidHandle.

    See Removing-IFluidRouter.md for more details.

2.0.0-internal.7.4.0

Dependency updates only.

2.0.0-internal.7.3.0

Dependency updates only.

2.0.0-internal.7.2.0

Dependency updates only.

2.0.0-internal.7.1.0

Dependency updates only.

2.0.0-internal.7.0.0

Major Changes

  • 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.
  • container-runtime-definitions: IDataStoreWithBindToContext_Deprecated interface removed 871b3493dd

    IDataStoreWithBindToContext_Deprecated has been removed. It has been deprecated for a while and cannot be used anymore.

  • DEPRECATED: resolveHandle and IFluidHandleContext deprecated on IContainerRuntime 871b3493dd

    The resolveHandle(...) and get IFluidHandleContext() methods have been deprecated on the following interfaces:

    • IContainerRuntime
    • IContainerRuntimeBase

    Requesting arbitrary URLs has been deprecated on IContainerRuntime. Please migrate all usage to the IContainerRuntime.getEntryPoint() method if trying to obtain the application-specified root object.

    See Removing-IFluidRouter.md for more details.

  • 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
  • Minimum TypeScript version now 5.1.6 871b3493dd

    The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.

  • container-runtime-definitions: getAliasedDataStoreEntryPoint in IContainerRuntime is now required 871b3493dd

    getAliasedDataStoreEntryPoint was added to IContainerRuntime in 2.0.0-internal.6.0 and is now required.

2.0.0-internal.6.4.0

Dependency updates only.

2.0.0-internal.6.3.0

Dependency updates only.

2.0.0-internal.6.2.0

Minor Changes

  • 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

2.0.0-internal.6.1.0

Dependency updates only.

2.0.0-internal.6.0.0

Major Changes

  • getRootDataStore API is deprecated 8abce8cdb4

    The getRootDataStore API that is used to get aliased data store has been deprecated. It will be removed in a future release. Use getAliasedDataStoreEntryPoint API to get aliased data stores instead. It returns the data store's entry point which is its IFluidHandle. To use this API initializeEntryPoint must be provided when creating FluidDataStoreRuntime here. getAliasedDataStoreEntryPoint and initializeEntryPoint will become required in a future release.

  • 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.

  • IDeltaManager members disposed and dispose() removed 8abce8cdb4

    IDeltaManager members disposed and dispose() were deprecated in 2.0.0-internal.5.3.0 and have now been removed.

2.0.0-internal.5.4.0

Dependency updates only.

2.0.0-internal.5.3.0

Dependency updates only.

2.0.0-internal.5.2.0

Dependency updates only.

2.0.0-internal.5.1.0

Dependency updates only.

2.0.0-internal.5.0.0

Major Changes

  • The following functions and classes were deprecated in previous releases and have been removed: 8b242fdc79

    • PureDataObject.getFluidObjectFromDirectory
    • IProvideContainerRuntime and its IContainerRuntime member.
    • ContainerRuntime's IProvideContainerRuntime has also been removed.

2.0.0-internal.4.4.0

Dependency updates only.

2.0.0-internal.4.1.0

Dependency updates only.