Skip to content

Latest commit

 

History

History
396 lines (248 loc) · 19.6 KB

CHANGELOG.md

File metadata and controls

396 lines (248 loc) · 19.6 KB

@fluidframework/aqueduct

2.11.0

Dependency updates only.

2.10.0

Minor Changes

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

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

Dependency updates only.

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

  • aqueduct: Deprecated PureDataObjectFactory.createRootInstance and replaced with PureDataObjectFactory.createInstanceWithDataStore (#19471) 0a79375ccb

    Deprecated: PureDataObjectFactory.createRootInstance

    This was deprecated because PureDataObjectFactory.createRootInstance has an issue at scale. PureDataObjectFactory.createRootInstance used the old method of creating PureDataObjects with names. The issue was that simultaneous creations could happen, and the old api had no good way of dealing with those types of collisions. This version slightly improved it by resolving those collisions by assuming whatever datastore was created with the alias or rootDataStoreId would just return that datastore. This will work for developers who expect the same type of PureDataObject to be returned from the createRootInstance api, but if a potentially different PureDataObject would be returned, then this api would give you the wrong typing.

    For a replacement api see PureDataObjectFactory.createInstanceWithDataStore.

    New method PureDataObjectFactory.createInstanceWithDataStore

    This was done as a replacement of PureDataObjectFactory.createRootInstance. This exposes the IDataStore interface in the form of [PureDataObject, IDataStore]. IDataStore provides the opportunity for developers to use the IDataStore.trySetAlias method. This can return 3 different scenarios Success, Conflict, or AlreadyAliased. These scenarios can allow the developer to handle conflicts as they wish.

  • aqueduct: PureDataObjectFactory.instantiateDataStore now returns IFluidDataStoreChannel (#19353) 3aad53da1e

    The return type of PureDataObjectFactory.instantiateDataStore was changed from FluidDataStoreRuntime to IFluidDataStoreChannel.

2.0.0-rc.1.0.0

Dependency updates only.

2.0.0-internal.8.0.0

Major Changes

  • aqueduct: Removed getDefaultObjectFromContainer, getObjectWithIdFromContainer and getObjectFromContainer 9a451d4946

    The getDefaultObjectFromContainer, getObjectWithIdFromContainer and getObjectFromContainer helper methods have been removed from @fluidframework/aqueduct. Please move all code usage to the new entryPoint pattern.

    See Removing-IFluidRouter.md for more details.

  • data-object-base: Removed IFluidRouter from DataObject interfaces and classes 9a451d4946

    The IFluidRouter property has been removed from a number of DataObject related classes:

    • PureDataObject
    • LazyLoadedDataObject
    • TestFluidObject

    Please migrate to the new entryPoint pattern or use the relevant request method as necessary.

    See Removing-IFluidRouter.md for more details.

  • aqueduct: Removed IRootDataObjectFactory 9a451d4946

    The IRootDataObjectFactory interface has been removed. Please remove all usage of it.

  • aqueduct: Removed requestHandler utilities 9a451d4946

    The following requestHandler utilities have been removed:

    • makeModelRequestHandler
    • defaultFluidObjectRequestHandler
    • defaultRouteRequestHandler
    • mountableViewRequestHandler
    • createFluidObjectResponse
    • rootDataStoreRequestHandler
    • handleFromLegacyUri
    • RuntimeRequestHandlerBuilder

    Please migrate all usage to the new entryPoint pattern.

    See Removing-IFluidRouter.md for more details.

2.0.0-internal.7.4.0

Minor Changes

  • aqueduct: Deprecated IRootDataObjectFactory (#18565) 030ab7adf9

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

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

  • aqueduct: ContainerRuntimeFactory constructors have changed 871b3493dd

    The following class constructors have been changed to allow for better flexible in arguments passed:

    • BaseContainerRuntimeFactory
    • ContainerRuntimeFactoryWithDefaultDataStore
    • RuntimeFactory

    They now use a single object for constructor params. Example change to be made:

    // Old
    new BaseContainerRuntimeFactory(
    	myRegistryEntries,
    	myDependencyContainer,
    	myRequestHandlers,
    	myRuntimeOptions,
    	myProvideEntryPoint,
    );
    
    // New
    new BaseContainerRuntimeFactory({
    	registryEntries: myRegistryEntries,
    	dependencyContainer: myDependencyContainer,
    	requestHandlers: myRequestHandlers,
    	runtimeOptions: myRuntimeOptions,
    	provideEntryPoint: myProvideEntryPoint,
    });
  • DEPRECATED: container-runtime: requestHandlers are deprecated 871b3493dd

    The concept of requestHandlers has been deprecated. Please migrate all usage of the following APIs to the new entryPoint pattern:

    • requestHandler property in ContainerRuntime.loadRuntime(...)
    • RuntimeRequestHandler
    • RuntimeRequestHandlerBuilder
    • defaultFluidObjectRequestHandler(...)
    • defaultRouteRequestHandler(...)
    • mountableViewRequestHandler(...)
    • buildRuntimeRequestHandler(...)
    • createFluidObjectResponse(...)
    • handleFromLegacyUri(...)
    • rootDataStoreRequestHandler(...)

    See Removing-IFluidRouter.md for more details.

  • DEPRECATED: container-loader: Various request related APIs have been deprecated 871b3493dd

    Please remove all calls to the following functions and instead use the new entryPoint pattern:

    • requestFluidObject
    • requestResolvedObjectFromContainer
    • getDefaultObjectFromContainer
    • getObjectWithIdFromContainer
    • getObjectFromContainer

    See Removing-IFluidRouter.md for more details.

  • container-definitions: IContainer's and IDataStore's IFluidRouter capabilities are deprecated 871b3493dd

    IFluidRouter and request({ url: "/" }) on IContainer and IDataStore are deprecated and will be removed in a future major release. Please migrate all usage to the appropriate getEntryPoint() or entryPoint APIs.

    See Removing-IFluidRouter.md for more details.

  • test-utils: provideEntryPoint is required 871b3493dd

    The optional provideEntryPoint method has become required on a number of constructors. A value will need to be provided to the following classes:

    • BaseContainerRuntimeFactory
    • RuntimeFactory
    • ContainerRuntime (constructor and loadRuntime)
    • FluidDataStoreRuntime

    See testContainerRuntimeFactoryWithDefaultDataStore.ts for an example implemtation of provideEntryPoint for ContainerRuntime. See pureDataObjectFactory.ts for an example implementation of provideEntryPoint for DataStoreRuntime.

    Subsequently, various entryPoint and getEntryPoint() 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.

  • aqueduct: EventForwarder and IDisposable members removed from PureDataObject 871b3493dd

    The EventForwarder and IDisposable members of PureDataObject were deprecated in 2.0.0-internal.5.2.0 and have now been removed.

    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.

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

  • PureDataObject temporarily extends EventForwarder and implements IDisposable again (#16846) 9825a692dd

    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.

  • 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

  • initializeEntryPoint will become required 8abce8cdb4

    The optional initializeEntryPoint method has been added to a number of constructors. This method argument will become required in an upcoming release and a value will need to be provided to the following classes:

    • BaseContainerRuntimeFactory
    • ContainerRuntimeFactoryWithDefaultDataStore
    • RuntimeFactory
    • ContainerRuntime (constructor and loadRuntime)
    • FluidDataStoreRuntime

    For an example implementation of initializeEntryPoint, see pureDataObjectFactory.ts.

    This work will replace the request pattern. See Removing-IFluidRouter.md for more info on this effort.

  • EventForwarder and IDisposable members removed from PureDataObject 8abce8cdb4

    The EventForwarder and IDisposable members of PureDataObject were deprecated in 2.0.0-internal.5.2.0 and have now been removed.

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

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

Minor Changes

  • EventForwarder and IDisposable members deprecated from PureDataObject (#16201) 0e838fdb3e

    The EventForwarder and IDisposable members have been deprecated from PureDataObject and will be removed in an upcoming release. The EventForwarder pattern was mostly unused by the current implementation, and is also recommended against generally (instead, register and forward events explicitly). The disposal implementation was incomplete and likely to cause poor behavior as the disposal was not observable by default. Inheritors of the PureDataObject can of course still implement their own disposal logic.

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

Minor Changes

  • PureDataObject.getFluidObjectFromDirectory has been deprecated and will be removed in an upcoming release. Instead prefer to interface directly with the directory and handles. 9238304c77

2.0.0-internal.4.1.0

Dependency updates only.