GeoBlazor Core Release Notes

v4.4.3

Bug fix for "A task was cancelled" exception on async MapView property queries (e.g., await view.GetExtent()) after 60 seconds interacting with a map.

v4.4.1, v4.4.2

No changes, patch release to fix build error for Pro NuGetPackage

v4.4.0

While there are breaking changes in 4.4.0, every effort was made to keep the impact on high-use features as low as possible.

Breaking Changes

Namespace Changes

  • GeoLocationOptions moved from dymaptic.GeoBlazor.Core.Components to dymaptic.GeoBlazor.Core.Options
  • InitialViewProperties, WebsceneApplicationProperties, and WebsceneInitialViewProperties moved from dymaptic.GeoBlazor.Core.Components to dymaptic.GeoBlazor.Core.Model

Removed Classes

These classes were not being referenced/implemented and will return in Core or Pro when fully implemented.

  • Weather - multiple related classes
  • Lighting - multiple related classes
  • SpriteSource - multiple related classes
  • Slide - multiple related classes
  • Numerous internal-use interfaces
  • DateTimePickerInput, Environment, Presentation, ServiceEdits, Shading

Removed Members (Properties/Methods)

  • SetObjectIdField on FeatureLayer, CSVLayer, WFSLayer: cannot be set on layers after they are loaded.
  • SetGeometryType on CSVLayer, WFSLayer: cannot be set on layers after they are loaded.
  • SetHighlightOptions and GetHighlightOptions on CSVLayerView, FeatureLayerView, GraphicsLayerView, ImageryLayerView, and WFSLayerView: HighlightOptions is being deprecated in favor of MapView.Highlights.
  • SetView and GetView on ExpandViewModel: cannot be set after initial load.

Changed Signatures

  • LocationService.AddressesToLocations: multiple signatures were re-organized; should still have all overload options available
  • MapView.OnJavascriptError: return type changed from void to Task
  • Type of ElevationInfo property on CSVLayer, FeatureLayer, GraphicsLayer, and WFSLayer consolidated to type of ElevationInfo rather than individual types
  • Incorrect type fixes: (object types do not deserialize correctly)
    • DynamicMapLayer.MapLayerId - changed from int to long? to support longer IDs and null
    • TemporalDomain.Units and ValidateServiceEdits.EditedFeatures - changed from object? to string?
    • WMSLayer.Dimensions and WMSSublayer.Dimensions - changed from IReadOnlyList<object>? to IReadOnlyList<IWMSLayerDimension>?
  • Renamed/Changed types:
    • LegendViewModel.LayerInfos - renamed from IReadOnlyList<LegendViewModelLayerInfos>? to IReadOnlyList<LegendViewModelLayerInfo>?
    • ImageryTileLayer.Interpolation - renamed from Interpolation? to PixelInterpolation?
    • WebSceneUpdateFromOptions.ThumbnailSize - renamed from WebSceneUpdateFromOptionsThumbnailSize? to WebSceneThumbnailSize?
    • Webscene.Presentation - changed from Presentation? to IPresentation?
  • Records changed to Immutable/Readonly Properties: GeographicTransformationStep, WebMapSaveAsOptions, WebMapSaveOptions, WebMapUpdateFromOptions, WebsceneApplicationProperties, WebsceneInitialViewProperties

New Features

  • BookmarksViewModel has two new event handlers: OnBookmarkEdit and OnBookmarkSelect
  • ElevationInfo - new combined type for all layers with elevation data
    • FeatureExpressionInfo - property of ElevationInfo
  • LegendViewModelLayerInfo - two new properties: IReadOnlyList<long>? SublayerIds and string? Title
  • OnExceptionHandler method on MapView and AuthenticationManager - new parameter function to handle runtime exceptions. Return true to indicate the exception was handled, or false to re-throw.
  • AuthenticationManager.OnExceptionHandler - new parameter to handle JavaScript errors during authentication initialization.
  • OverlayPosition enum - new values for RTL (right-to-left) language support: TopLeading, TopTrailing, BottomLeading, BottomTrailing
  • ViewModelChanged method on AreaMeasurement2DWidget and DistanceMeasurement2DWidget - new EventCallback for ViewModel property changes

Bug Fixes

  • Fixed SearchWidget event results not returning correctly
  • Fixed FeatureLayer.ApplyEdits not throwing exceptions on failure
  • Fixed registration of ArcGIS-loaded objects like Sublayer
## **All API Changes**
### **AreaMeasurement2DWidget**

New Members

  • Properties
    • Property ViewModelChanged added
### **AuthenticationManager**

New Members

  • Properties
    • Property OnExceptionHandler added
  • Methods
    • Method OnJavascriptError added
### **Basemap**

Changed Members

  • Methods
    • When signature changed
      • From: Task<string?> When(Func<Task> callback, Func<Task> errback)
      • To: Task<string?> When(Func<Task> onFulfilled, Func<Task> onRejected)
### **BookmarksViewModel**

New Members

  • Properties
    • Property HasBookmarkEditListener added
    • Property HasBookmarkSelectListener added
    • Property OnBookmarkEdit added
    • Property OnBookmarkSelect added
### **BookmarksViewModelBookmarkEditEvent**

New Members

  • Properties
    • Bookmark? Bookmark { get; } added
### **BookmarksViewModelBookmarkSelectEvent**

New Members

  • Properties
    • Bookmark? Bookmark { get; } added
### **CloudyWeather**

Type removed

### **ConditionallyRequiredPropertyAttribute**

New Members

  • Properties
    • string DependentOn { get; } added
### **CoverageDescriptionV100DomainSetSpatialDomainOffset**

Changed Members

  • Properties
    • Y type changed
      • From: object?
      • To: double?
### **CoverageDescriptionV100DomainSetSpatialDomainOrigin**

Changed Members

  • Properties
    • Y type changed
      • From: object?
      • To: double?
### **CoverageDescriptionV110DomainSpatialDomainOffset**

Changed Members

  • Properties
    • Y type changed
      • From: object?
      • To: double?
### **CoverageDescriptionV110DomainSpatialDomainOrigin**

Changed Members

  • Properties
    • Y type changed
      • From: object?
      • To: double?
### **CoverageDescriptionV110Resolution**

Changed Members

  • Properties
    • X type changed
      • From: object?
      • To: double?
    • Y type changed
      • From: object?
      • To: double?
### **CoverageDescriptionV201**

Changed Members

  • Properties
    • CoverageFunction type changed
      • From: object?
      • To: string?
    • ServiceParameters type changed
      • From: object?
      • To: string?
### **CoverageInfoVersion**

Removed Members

  • Enum Members
    • CoverageInfoVersion OnePointOnePointOne removed
    • CoverageInfoVersion OnePointOnePointTwo removed
    • CoverageInfoVersion OnePointOnePointZero removed
    • CoverageInfoVersion OnePointZeroPointZero removed
    • CoverageInfoVersion TwoPointZeroPointOne removed
### **CSVLayer**

Removed Members

  • Methods
    • Task SetGeometryType(string? value) removed
    • Task SetObjectIdField(string? value) removed

Changed Members

  • Methods
    • GetElevationInfo signature changed
      • From: Task<CSVLayerElevationInfo?> GetElevationInfo()
      • To: Task<ElevationInfo?> GetElevationInfo()
    • SetElevationInfo signature changed
      • From: Task SetElevationInfo(CSVLayerElevationInfo? value)
      • To: Task SetElevationInfo(ElevationInfo? value)
  • Properties
    • ElevationInfo type changed
      • From: CSVLayerElevationInfo?
      • To: ElevationInfo?
### **CSVLayerView**

Removed Members

  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) removed
    • Task<HighlightOptions?> GetHighlightOptions() removed
### **DateTimePickerInput**

Type removed

### **DistanceMeasurement2DWidget**

New Members

  • Properties
    • Property ViewModelChanged added
### **DynamicDataLayerFields**

Changed Members

  • Methods
    • SetAlias signature changed
      • From: Task SetAlias(string value)
      • To: Task SetAlias(string? value)
    • SetName signature changed
      • From: Task SetName(string value)
      • To: Task SetName(string? value)
### **DynamicMapLayer**

Changed Members

  • Properties
    • MapLayerId type changed
      • From: int
      • To: long?

New Members

  • Methods
    • Method GetGdbVersion added
    • Method GetMapLayerId added
    • Method SetGdbVersion added
    • Method SetMapLayerId added
### **ElevationInfo**

New Members

  • Properties
    • double? Offset { get; set; } added
    • ElevationInfoMode? Mode { get; set; } added
    • ElevationUnit? Unit { get; set; } added
    • FeatureExpressionInfo? FeatureExpressionInfo { get; set; } added
  • Methods
    • Task SetFeatureExpressionInfo(FeatureExpressionInfo? value) added
    • Task SetMode(ElevationInfoMode? value) added
    • Task SetOffset(double? value) added
    • Task SetUnit(ElevationUnit? value) added
    • Task<double?> GetOffset() added
    • Task<ElevationInfoMode?> GetMode() added
    • Task<ElevationUnit?> GetUnit() added
    • Task<FeatureExpressionInfo?> GetFeatureExpressionInfo() added
### **Environment**

Type removed

### **ExpandViewModel**

Removed Members

  • Methods
    • Task SetView(MapView? value) removed
    • Task<MapView?> GetView() removed
### **FeatureExpressionInfo**

New Members

  • Properties
    • string? Expression { get; set; } added
    • string? Title { get; set; } added
  • Methods
    • Task SetExpression(string? value) added
    • Task SetTitle(string? value) added
    • Task<string?> GetExpression() added
    • Task<string?> GetTitle() added
### **FeatureLayer**

Removed Members

  • Methods
    • Task SetObjectIdField(string? value) removed

Changed Members

  • Methods
    • GetElevationInfo signature changed
      • From: Task<FeatureLayerBaseElevationInfo?> GetElevationInfo()
      • To: Task<ElevationInfo?> GetElevationInfo()
    • SetElevationInfo signature changed
      • From: Task SetElevationInfo(FeatureLayerBaseElevationInfo? value)
      • To: Task SetElevationInfo(ElevationInfo? value)
  • Properties
    • ElevationInfo type changed
      • From: FeatureLayerBaseElevationInfo?
      • To: ElevationInfo?
### **FeatureLayerView**

Removed Members

  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) removed
    • Task<HighlightOptions?> GetHighlightOptions() removed
### **FoggyWeather**

Type removed

### **GeographicTransformationStep**

Changed Members

  • Properties
    • IsInverse accessors changed
      • From: { get; set; }
      • To: { get; }
    • Wkid accessors changed
      • From: { get; set; }
      • To: { get; }
    • Wkt accessors changed
      • From: { get; set; }
      • To: { get; }

New Members

  • Properties
    • Property AbortManager added
    • Property CoreJsModule added
    • Property Id added
    • Property JsComponentReference added
  • Methods
    • Method GetInverse added
### **GeometryFieldsInfo**

New Members

  • Properties
    • Property ShapeAreaField added
    • Property ShapeLengthField added
    • Property Units added
### **GetAllHeaders**

New Type

### **GetHeader**

New Type

### **GraphicsLayer**

Changed Members

  • Methods
    • GetElevationInfo signature changed
      • From: Task<GraphicsLayerElevationInfo?> GetElevationInfo()
      • To: Task<ElevationInfo?> GetElevationInfo()
    • SetElevationInfo signature changed
      • From: Task SetElevationInfo(GraphicsLayerElevationInfo? value)
      • To: Task SetElevationInfo(ElevationInfo? value)
  • Properties
    • ElevationInfo type changed
      • From: GraphicsLayerElevationInfo?
      • To: ElevationInfo?
### **GraphicsLayerView**

Removed Members

  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) removed
    • Task<HighlightOptions?> GetHighlightOptions() removed
### **Ground**

Changed Members

  • Methods
    • When signature changed
      • From: Task<string?> When(Func<Task> callback, Func<Task> errback)
      • To: Task<string?> When(Func<Task> onFulfilled, Func<Task> onRejected)

New Members

  • Properties
    • Property Loaded added
### **HeightModelInfo**

New Members

  • Properties
    • Property HeightModel added
    • Property HeightUnit added
    • Property VertCRS added
### **IAttributeTableGroupElementElements**

Type removed

### **IClassBreaksRendererBackgroundFillSymbol**

Type removed

### **IColorRampServiceCreateColorRamp**

Type removed

### **IColorSizeSliderWidgetUpdateVisualVariables**

Type removed

### **IDynamicDataLayerDataSource**

Type removed

### **IElementsAttributeTableElement**

Type removed

### **IEnvironment**

New Type

### **IEnvironmentLighting**

Type removed

### **IEnvironmentWeather**

Type removed

### **IFeatureFormInputBase**

Type removed

### **IFeatureLayerBase**

Removed Members

  • Methods
    • Task SetObjectIdField(string? value) removed

Changed Members

  • Methods
    • GetElevationInfo signature changed
      • From: Task<FeatureLayerBaseElevationInfo?> GetElevationInfo()
      • To: Task<ElevationInfo?> GetElevationInfo()
    • SetElevationInfo signature changed
      • From: Task SetElevationInfo(FeatureLayerBaseElevationInfo? value)
      • To: Task SetElevationInfo(ElevationInfo? value)
  • Properties
    • ElevationInfo type changed
      • From: FeatureLayerBaseElevationInfo?
      • To: ElevationInfo?
    • ObjectIdField accessors changed
      • From: { get; set; }
      • To: { get; }
### **IFeatureTemplatesViewModelItems**

Type removed

### **IHighlightLayerViewMixin**

Removed Members

  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) removed
    • Task<HighlightOptions?> GetHighlightOptions() removed
### **IImageryTileMixin**

Type removed

### **ImageryLayerView**

Removed Members

  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) removed
    • Task<HighlightOptions?> GetHighlightOptions() removed
### **ImageryTileLayer**

Changed Members

  • Methods
    • GetInterpolation signature changed
      • From: Task<Interpolation?> GetInterpolation()
      • To: Task<PixelInterpolation?> GetInterpolation()
    • SetInterpolation signature changed
      • From: Task SetInterpolation(Interpolation? value)
      • To: Task SetInterpolation(PixelInterpolation? value)
  • Properties
    • Interpolation type changed
      • From: Interpolation?
      • To: PixelInterpolation?
### **InitialViewProperties**

Removed Members

  • Methods
    • Task SetBackground(ColorBackground? value) removed
    • Task SetSpatialReference(SpatialReference? value) removed
    • Task SetTimeZone(string? value) removed
    • Task SetViewpoint(Viewpoint? value) removed
    • Task<ColorBackground?> GetBackground() removed
    • Task<SpatialReference?> GetSpatialReference() removed
    • Task<string?> GetTimeZone() removed
    • Task<Viewpoint?> GetViewpoint() removed

Changed Members

  • Properties
    • Background accessors changed
      • From: { get; set; }
      • To: { get; }
    • SpatialReference accessors changed
      • From: { get; set; }
      • To: { get; }
    • TimeZone accessors changed
      • From: { get; set; }
      • To: { get; }
    • Viewpoint accessors changed
      • From: { get; set; }
      • To: { get; }

New Members

  • Properties
    • Property TimeExtent added
### **IPresentation**

New Type

### **ISceneViewEnvironmentWeather**

Type removed

### **ISliceAnalysis**

New Type

### **ITileLayer**

New Type

### **ITimeSliderViewModelDocument**

Type removed

### **ITimeSliderWidgetDocument**

Type removed

### **ITimeUtilsDocument**

Type removed

### **IVectorTileLayerSpriteSourceInfo**

Type removed

### **IVersionManagementUtilsInput**

Type removed

### **IWMSLayerDimension**

New Type

### **IWMSSublayerDimensions**

Type removed

### **JoinTableDataSource**

Changed Members

  • Methods
    • SetJoinType signature changed
      • From: Task SetJoinType(DynamicJoinType value)
      • To: Task SetJoinType(DynamicJoinType? value)
    • SetLeftTableKey signature changed
      • From: Task SetLeftTableKey(string value)
      • To: Task SetLeftTableKey(string? value)
    • SetLeftTableSource signature changed
      • From: Task SetLeftTableSource(DynamicLayer value)
      • To: Task SetLeftTableSource(DynamicLayer? value)
    • SetRightTableKey signature changed
      • From: Task SetRightTableKey(string value)
      • To: Task SetRightTableKey(string? value)
    • SetRightTableSource signature changed
      • From: Task SetRightTableSource(DynamicLayer value)
      • To: Task SetRightTableSource(DynamicLayer? value)
### **LayerView**

Changed Members

  • Methods
    • When signature changed
      • From: Task<string?> When(Func<Task> callback, Func<Task> errback)
      • To: Task<string?> When(Func<Task> onFulfilled, Func<Task> onRejected)
### **LegendViewModel**

Changed Members

  • Methods
    • AddToLayerInfos signature changed
      • From: Task AddToLayerInfos(params dymaptic.GeoBlazor.Core.Components.LegendViewModelLayerInfos[] values)
      • To: Task AddToLayerInfos(params dymaptic.GeoBlazor.Core.Components.LegendViewModelLayerInfo[] values)
    • GetLayerInfos signature changed
      • From: Task<IReadOnlyList<LegendViewModelLayerInfos>?> GetLayerInfos()
      • To: Task<IReadOnlyList<LegendViewModelLayerInfo>?> GetLayerInfos()
    • RemoveFromLayerInfos signature changed
      • From: Task RemoveFromLayerInfos(params dymaptic.GeoBlazor.Core.Components.LegendViewModelLayerInfos[] values)
      • To: Task RemoveFromLayerInfos(params dymaptic.GeoBlazor.Core.Components.LegendViewModelLayerInfo[] values)
    • SetLayerInfos signature changed
      • From: Task SetLayerInfos(IReadOnlyList<LegendViewModelLayerInfos>? value)
      • To: Task SetLayerInfos(IReadOnlyList<LegendViewModelLayerInfo>? value)
  • Properties
    • LayerInfos type changed
      • From: IReadOnlyList<LegendViewModelLayerInfos>?
      • To: IReadOnlyList<LegendViewModelLayerInfo>?
### **LegendViewModelLayerInfo**

New Members

  • Properties
    • IReadOnlyList<long>? SublayerIds { get; set; } added
    • string? Title { get; set; } added
  • Methods
    • Task AddToSublayerIds(params long[] values) added
    • Task RemoveFromSublayerIds(params long[] values) added
    • Task SetLayer(Layer? value) added
    • Task SetSublayerIds(IReadOnlyList<long>? value) added
    • Task SetTitle(string? value) added
    • Task<IReadOnlyList<long>?> GetSublayerIds() added
    • Task<Layer?> GetLayer() added
    • Task<string?> GetTitle() added
### **LocationService**

Changed Members

  • Methods
    • AddressesToLocations signature changed
      • From: Task<List<AddressCandidate>> AddressesToLocations(string url, object addresses, string? countryCode = null, List<string>? categories = null, LocationType? locationType = null, SpatialReference? outSpatialReference = null, RequestOptions? requestOptions = null, string? addressSearchStringParameterName = null)
      • To: Task<List<AddressCandidate>> AddressesToLocations(string url, List<Address> addresses)
### **MapComponent**

New Members

  • Methods
    • Method GetPropertyInfos added
### **MapView**

Changed Members

  • Methods
    • OnJavascriptError signature changed
      • From: void OnJavascriptError(JavascriptError error)
      • To: Task OnJavascriptError(JavascriptError error)

New Members

  • Properties
    • Property Highlights added
    • Property OnExceptionHandler added
  • Methods
    • Method SetHighlights added
### **MeshComponent**

New Members

  • Properties
    • byte[]? Faces { get; set; } added
    • IMeshComponentMaterial? Material { get; set; } added
    • MeshShading? Shading { get; set; } added
    • string? Name { get; set; } added
  • Methods
    • Task AddToFaces(params byte[] values) added
    • Task RemoveFromFaces(params byte[] values) added
    • Task SetFaces(byte[]? value) added
    • Task SetMaterial(IMeshComponentMaterial? value) added
    • Task SetName(string? value) added
    • Task SetShading(MeshShading? value) added
    • Task<byte[]?> GetFaces() added
    • Task<MeshShading?> GetShading() added
    • Task<string?> GetName() added
### **MeshMaterial**

New Members

  • Properties
    • AlphaMode? AlphaMode { get; set; } added
    • bool? DoubleSided { get; set; } added
    • double? AlphaCutoff { get; set; } added
    • MapColor? Color { get; set; } added
    • MeshTexture? ColorTexture { get; set; } added
    • MeshTexture? NormalTexture { get; set; } added
    • MeshTextureTransform? ColorTextureTransform { get; set; } added
    • MeshTextureTransform? NormalTextureTransform { get; set; } added
  • Methods
    • Task SetAlphaCutoff(double? value) added
    • Task SetAlphaMode(AlphaMode? value) added
    • Task SetColor(MapColor? value) added
    • Task SetColorTexture(MeshTexture? value) added
    • Task SetColorTextureTransform(MeshTextureTransform? value) added
    • Task SetDoubleSided(bool? value) added
    • Task SetNormalTexture(MeshTexture? value) added
    • Task SetNormalTextureTransform(MeshTextureTransform? value) added
    • Task<AlphaMode?> GetAlphaMode() added
    • Task<bool?> GetDoubleSided() added
    • Task<double?> GetAlphaCutoff() added
    • Task<MapColor?> GetColor() added
    • Task<MeshTexture?> GetColorTexture() added
    • Task<MeshTexture?> GetNormalTexture() added
    • Task<MeshTextureTransform?> GetColorTextureTransform() added
    • Task<MeshTextureTransform?> GetNormalTextureTransform() added
### **MeshMaterialMetallicRoughness**

New Members

  • Properties
    • double? Metallic { get; set; } added
    • double? Roughness { get; set; } added
    • MapColor? EmissiveColor { get; set; } added
    • MeshTexture? EmissiveTexture { get; set; } added
    • MeshTexture? MetallicRoughnessTexture { get; set; } added
    • MeshTexture? OcclusionTexture { get; set; } added
    • MeshTextureTransform? EmissiveTextureTransform { get; set; } added
    • MeshTextureTransform? OcclusionTextureTransform { get; set; } added
  • Methods
    • Task SetEmissiveColor(MapColor? value) added
    • Task SetEmissiveTexture(MeshTexture? value) added
    • Task SetEmissiveTextureTransform(MeshTextureTransform? value) added
    • Task SetMetallic(double? value) added
    • Task SetMetallicRoughnessTexture(MeshTexture? value) added
    • Task SetOcclusionTexture(MeshTexture? value) added
    • Task SetOcclusionTextureTransform(MeshTextureTransform? value) added
    • Task SetRoughness(double? value) added
    • Task<double?> GetMetallic() added
    • Task<double?> GetRoughness() added
    • Task<MapColor?> GetEmissiveColor() added
    • Task<MeshTexture?> GetEmissiveTexture() added
    • Task<MeshTexture?> GetMetallicRoughnessTexture() added
    • Task<MeshTexture?> GetOcclusionTexture() added
    • Task<MeshTextureTransform?> GetEmissiveTextureTransform() added
    • Task<MeshTextureTransform?> GetOcclusionTextureTransform() added
### **MeshShading**

New Members

  • Enum Members
    • Flat added
    • Smooth added
    • Source added
### **MeshTexture**

New Members

  • Properties
    • bool? Transparent { get; set; } added
    • ElementReference? HtmlData { get; set; } added
    • ImageData? ImageData { get; set; } added
    • object? ObjectData { get; set; } added
    • SeparableWrapModes? SeparableWrapModesWrap { get; set; } added
    • string? StringWrap { get; set; } added
    • string? Url { get; set; } added
  • Methods
    • Task SetHtmlData(ElementReference? value) added
    • Task SetImageData(ImageData? value) added
    • Task SetObjectData(object? value) added
    • Task SetSeparableWrapModesWrap(SeparableWrapModes? value) added
    • Task SetStringWrap(string? value) added
    • Task SetTransparent(bool? value) added
    • Task SetUrl(string? value) added
    • Task<bool?> GetTransparent() added
    • Task<ElementReference?> GetHtmlData() added
    • Task<ImageData?> GetImageData() added
    • Task<object?> GetObjectData() added
    • Task<SeparableWrapModes?> GetSeparableWrapModesWrap() added
    • Task<string?> GetStringWrap() added
    • Task<string?> GetUrl() added
### **MeshTextureTransform**

New Members

  • Properties
    • double? Rotation { get; set; } added
    • IReadOnlyList<double>? Offset { get; set; } added
    • IReadOnlyList<double>? Scale { get; set; } added
  • Methods
    • Task AddToOffset(params double[] values) added
    • Task AddToScale(params double[] values) added
    • Task RemoveFromOffset(params double[] values) added
    • Task RemoveFromScale(params double[] values) added
    • Task SetOffset(IReadOnlyList<double>? value) added
    • Task SetRotation(double? value) added
    • Task SetScale(IReadOnlyList<double>? value) added
    • Task<double?> GetRotation() added
    • Task<IReadOnlyList<double>?> GetOffset() added
    • Task<IReadOnlyList<double>?> GetScale() added
### **MeshTransform**

New Members

  • Properties
    • double? RotationAngle { get; set; } added
    • IReadOnlyList<double>? RotationAxis { get; set; } added
    • IReadOnlyList<double>? Scale { get; set; } added
    • IReadOnlyList<double>? Translation { get; set; } added
  • Methods
    • Task AddToRotationAxis(params double[] values) added
    • Task AddToScale(params double[] values) added
    • Task AddToTranslation(params double[] values) added
    • Task RemoveFromRotationAxis(params double[] values) added
    • Task RemoveFromScale(params double[] values) added
    • Task RemoveFromTranslation(params double[] values) added
    • Task SetRotationAngle(double? value) added
    • Task SetRotationAxis(IReadOnlyList<double>? value) added
    • Task SetScale(IReadOnlyList<double>? value) added
    • Task SetTranslation(IReadOnlyList<double>? value) added
    • Task<double?> GetRotationAngle() added
    • Task<IReadOnlyList<double>?> GetRotationAxis() added
    • Task<IReadOnlyList<double>?> GetScale() added
    • Task<IReadOnlyList<double>?> GetTranslation() added
### **MeshVertexAttributes**

New Members

  • Properties
    • byte[]? Color { get; set; } added
    • double[]? Normal { get; set; } added
    • double[]? Position { get; set; } added
    • double[]? Tangent { get; set; } added
    • double[]? Uv { get; set; } added
  • Methods
    • Task AddToColor(params byte[] values) added
    • Task AddToNormal(params double[] values) added
    • Task AddToPosition(params double[] values) added
    • Task AddToTangent(params double[] values) added
    • Task AddToUv(params double[] values) added
    • Task RemoveFromColor(params byte[] values) added
    • Task RemoveFromNormal(params double[] values) added
    • Task RemoveFromPosition(params double[] values) added
    • Task RemoveFromTangent(params double[] values) added
    • Task RemoveFromUv(params double[] values) added
    • Task SetColor(byte[]? value) added
    • Task SetNormal(double[]? value) added
    • Task SetPosition(double[]? value) added
    • Task SetTangent(double[]? value) added
    • Task SetUv(double[]? value) added
    • Task<double[]?> GetNormal() added
    • Task<double[]?> GetPosition() added
    • Task<double[]?> GetTangent() added
    • Task<double[]?> GetUv() added
### **MissingConditionallyRequiredChildElementException**

New Type

### **OverlayPosition**

New Members

  • Enum Members
    • EnumMember BottomLeading added
    • EnumMember BottomTrailing added
    • EnumMember TopLeading added
    • EnumMember TopTrailing added
### **Portal**

Changed Members

  • Methods
    • When signature changed
      • From: Task<string?> When(Func<Task> callback, Func<Task> errback)
      • To: Task<string?> When(Func<Task> onFulfilled, Func<Task> onRejected)
### **PortalItem**

Changed Members

  • Methods
    • FetchRelatedItems signature changed
      • From: Task<PortalItem[]?> FetchRelatedItems(string relationshipType, RelationshipDirection direction, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
      • To: Task<PortalItem[]?> FetchRelatedItems(string? relationshipType, RelationshipDirection? direction, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • FetchResources signature changed
      • From: Task<FetchResourcesResult?> FetchResources(double num, double start, PortalQuerySortOrder sortOrder, SortField sortField, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
      • To: Task<FetchResourcesResult?> FetchResources(double? num, double? start, PortalQuerySortOrder? sortOrder, SortField? sortField, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • Update signature changed
      • From: Task<PortalItem?> Update(string data)
      • To: Task<PortalItem?> Update(string? data)
    • UpdateThumbnail signature changed
      • From: Task<PortalItem?> UpdateThumbnail(Stream thumbnail, string filename)
      • To: Task<PortalItem?> UpdateThumbnail(Stream? thumbnail, string? filename)
    • When signature changed
      • From: Task<string?> When(Func<Task> callback, Func<Task> errback)
      • To: Task<string?> When(Func<Task> onFulfilled, Func<Task> onRejected)
### **PortalUser**

Changed Members

  • Methods
    • AddItem signature changed
      • From: Task<PortalItem?> AddItem(PortalItem item, string data, string folder)
      • To: Task<PortalItem?> AddItem(PortalItem? item, string? data, string? folder)
    • FetchItems signature changed
      • From: Task<FetchItemsResult?> FetchItems(PortalFolder folder, bool inRecycleBin, bool includeSubfolderItems, double num, string sortField, OrderBy sortOrder, double start)
      • To: Task<FetchItemsResult?> FetchItems(PortalFolder? folder, bool? inRecycleBin, bool? includeSubfolderItems, double? num, string? sortField, PortalQuerySortOrder? sortOrder, double? start)
### **Presentation**

Type removed

### **PublishingInfo**

New Members

  • Properties
    • Property Status added
    • Property Updating added
### **QueryTableDataSource**

Changed Members

  • Methods
    • SetGeometryType signature changed
      • From: Task SetGeometryType(FeatureGeometryType value)
      • To: Task SetGeometryType(FeatureGeometryType? value)
    • SetOidFields signature changed
      • From: Task SetOidFields(string value)
      • To: Task SetOidFields(string? value)
    • SetQuery signature changed
      • From: Task SetQuery(string value)
      • To: Task SetQuery(string? value)
    • SetSpatialReference signature changed
      • From: Task SetSpatialReference(SpatialReference value)
      • To: Task SetSpatialReference(SpatialReference? value)
    • SetWorkspaceId signature changed
      • From: Task SetWorkspaceId(string value)
      • To: Task SetWorkspaceId(string? value)
### **RainyWeather**

Type removed

### **RasterDataSource**

Changed Members

  • Methods
    • SetDataSourceName signature changed
      • From: Task SetDataSourceName(string value)
      • To: Task SetDataSourceName(string? value)
    • SetWorkspaceId signature changed
      • From: Task SetWorkspaceId(string value)
      • To: Task SetWorkspaceId(string? value)
### **SearchViewModel**

Changed Members

  • Methods
    • When signature changed
      • From: Task<string?> When(Func<Task> callback, Func<Task> errback)
      • To: Task<string?> When()
### **ServiceEdits**

Type removed

### **Shading**

Type removed

### **Slide**

Type removed

### **SlideDescription**

Type removed

### **SlideEnvironment**

Type removed

### **SlideGround**

Type removed

### **SlideTitle**

Type removed

### **SlideVisibleLayers**

Type removed

### **SnowyWeather**

Type removed

### **SpriteSourceImageInfo**

Type removed

### **SpriteSourceImageInfoSpriteSource1x**

Type removed

### **SpriteSourceImageInfoSpriteSource2x**

Type removed

### **SpriteSourceUrlInfo**

Type removed

### **Sublayer**

Changed Members

  • Methods
    • When signature changed
      • From: Task<string?> When(Func<Task> callback, Func<Task> errback)
      • To: Task<string?> When(Func<Task> onFulfilled, Func<Task> onRejected)

New Members

  • Methods
    • Method Reload added
### **SunLighting**

Type removed

### **SunnyWeather**

Type removed

### **TableDataSource**

Changed Members

  • Methods
    • SetDataSourceName signature changed
      • From: Task SetDataSourceName(string value)
      • To: Task SetDataSourceName(string? value)
    • SetGdbVersion signature changed
      • From: Task SetGdbVersion(string value)
      • To: Task SetGdbVersion(string? value)
    • SetWorkspaceId signature changed
      • From: Task SetWorkspaceId(string value)
      • To: Task SetWorkspaceId(string? value)
### **TemporalDomain**

Changed Members

  • Properties
    • Units type changed
      • From: object?
      • To: string?
### **ValidateServiceEdits**

Changed Members

  • Properties
    • EditedFeatures type changed
      • From: object?
      • To: string?
### **VirtualLighting**

Type removed

### **WebMapSaveAsOptions**

Changed Members

  • Properties
    • Folder accessors changed
      • From: { get; set; }
      • To: { get; }
    • IgnoreUnsupported accessors changed
      • From: { get; set; }
      • To: { get; }
### **WebMapSaveOptions**

Changed Members

  • Properties
    • IgnoreUnsupported accessors changed
      • From: { get; set; }
      • To: { get; }
### **WebMapUpdateFromOptions**

Changed Members

  • Properties
    • BackgroundExcluded accessors changed
      • From: { get; set; }
      • To: { get; }
    • ScalePreserved accessors changed
      • From: { get; set; }
      • To: { get; }
    • ThumbnailExcluded accessors changed
      • From: { get; set; }
      • To: { get; }
    • ThumbnailSize accessors changed
      • From: { get; set; }
      • To: { get; }
    • ViewpointExcluded accessors changed
      • From: { get; set; }
      • To: { get; }
    • WidgetsExcluded accessors changed
      • From: { get; set; }
      • To: { get; }
### **WebScene**

Changed Members

  • Methods
    • GetPresentation signature changed
      • From: Task<Presentation?> GetPresentation()
      • To: Task<IPresentation?> GetPresentation()
    • SetPresentation signature changed
      • From: Task SetPresentation(Presentation? value)
      • To: Task SetPresentation(IPresentation? value)
  • Properties
    • Presentation type changed
      • From: Presentation?
      • To: IPresentation?
### **WebsceneApplicationProperties**

Removed Members

  • Methods
    • Task SetViewing(Viewing? value) removed
    • Task<Viewing?> GetViewing() removed

Changed Members

  • Properties
    • Viewing accessors changed
      • From: { get; set; }
      • To: { get; }
### **WebsceneInitialViewProperties**

Removed Members

  • Methods
    • Task SetEnvironment(Environment? value) removed
    • Task SetSpatialReference(SpatialReference? value) removed
    • Task SetTimeExtent(TimeExtent? value) removed
    • Task SetViewingMode(ViewingMode? value) removed
    • Task SetViewpoint(Viewpoint? value) removed
    • Task<Environment?> GetEnvironment() removed
    • Task<SpatialReference?> GetSpatialReference() removed
    • Task<TimeExtent?> GetTimeExtent() removed
    • Task<ViewingMode?> GetViewingMode() removed
    • Task<Viewpoint?> GetViewpoint() removed

Changed Members

  • Properties
    • Environment accessors changed
      • From: { get; set; }
      • To: { get; }
    • SpatialReference accessors changed
      • From: { get; set; }
      • To: { get; }
    • TimeExtent accessors changed
      • From: { get; set; }
      • To: { get; }
    • ViewingMode accessors changed
      • From: { get; set; }
      • To: { get; }
    • Viewpoint accessors changed
      • From: { get; set; }
      • To: { get; }

New Members

  • Properties
    • Property Analyses added
### **WebsceneSunLighting**

Type removed

### **WebSceneThumbnailSize**

New Members

  • Properties
    • int? Height { get; } added
    • int? Width { get; } added
### **WebSceneUpdateFromOptions**

Changed Members

  • Properties
    • ThumbnailSize type changed
      • From: WebSceneUpdateFromOptionsThumbnailSize?
      • To: WebSceneThumbnailSize?
### **WebsceneVirtualLighting**

Type removed

### **WFSLayer**

Removed Members

  • Methods
    • Task SetGeometryType(SimpleGeometryType? value) removed
    • Task SetObjectIdField(string? value) removed

Changed Members

  • Methods
    • GetElevationInfo signature changed
      • From: Task<WFSLayerElevationInfo?> GetElevationInfo()
      • To: Task<ElevationInfo?> GetElevationInfo()
    • SetElevationInfo signature changed
      • From: Task SetElevationInfo(WFSLayerElevationInfo? value)
      • To: Task SetElevationInfo(ElevationInfo? value)
  • Properties
    • ElevationInfo type changed
      • From: WFSLayerElevationInfo?
      • To: ElevationInfo?
### **WFSLayerView**

Removed Members

  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) removed
    • Task<HighlightOptions?> GetHighlightOptions() removed
### **WMSLayer**

Changed Members

  • Methods
    • GetDimensions signature changed
      • From: Task<IReadOnlyList<object>?> GetDimensions()
      • To: Task<IReadOnlyList<IWMSLayerDimension>?> GetDimensions()
  • Properties
    • Dimensions type changed
      • From: IReadOnlyList<object>?
      • To: IReadOnlyList<IWMSLayerDimension>?
### **WMSSublayer**

Changed Members

  • Methods
    • GetDimensions signature changed
      • From: Task<IReadOnlyList<object>?> GetDimensions()
      • To: Task<IReadOnlyList<IWMSLayerDimension>?> GetDimensions()
  • Properties
    • Dimensions type changed
      • From: IReadOnlyList<object>?
      • To: IReadOnlyList<IWMSLayerDimension>?

v4.3.0

OAuth Authentication Guidance Update

  • The property ArcGISPortalUrl for Enterprise servers should be populated with the portal url, which typically, but not always, ends with /portal (e.g., https://arcgis.my_company.com/portal). This property is not required for ArcGIS Online, and if it is set, it would be without /portal (e.g., https://my_company.arcgis.com).

New Features

  • ExpandWidget
    • Group - new property to group multiple ExpandWidgets together. When one is expanded, the others in the same group will collapse.
    • Added Get and Set async methods to the following properties:
      • Expanded
      • ExpandIconClass
      • ExpandTooltip
      • Group
      • CollapseIconClass
      • CollapseTooltip
  • ImageryTileLayerView and VectorTileLayerView - new sub-classes of LayerView.
    • VectorTileLayerView.HasVisibleFeatures

Bug Fixes

  • Fixed issues with loading correct LayerView class types.
  • Fixed issue with AuthenticationManager.RegisterToken appending /portal to path even if not needed. Updated documentation and examples as well.

New Sample Application

v4.2.0

Breaking Changes

  • MapView and child components as they are rendered in the DOM now set a z-index of 1. This was necessary with the change to web components described below. It is possible that any custom overlapping UI elements in your application will need to declare a z-index greater than 1 to be visible above the map.

    • Elements Impacted
      • Class .esri-ui (from MapView component, widgets, and popups)
      • Class .custom-overlay (from CustomOverlay component)
  • Light/Dark theme is now declared on MapView, so the <link> tag in the head of your App.razor, index.htmlor_Host.cshtml` file is no longer necessary.

    • If you have declared a <link> tag for the theme, you can remove it.

    • If you have not declared a theme, the default is now Light.

      <!-- Remove this line from your head tag -->
      <link href="_content/dymaptic.GeoBlazor.Core/assets/esri/themes/light/main.css" rel="stylesheet" />
      
      <!-- Remove this line from your head tag -->
      <link href="_content/dymaptic.GeoBlazor.Core/assets/esri/themes/light/main.css" rel="stylesheet" />
      
  • We no longer will be bundling assets beyond JavaScript with GeoBlazor. If you are running GeoBlazor disconnected from the internet (specifically without access to https://js.arcgis.com), see the instructions about

  • Bundled Assets for instructions on how to bundle the assets with your application.

  • BingMapsLayer - marked as Obsolete, no longer supported by Microsoft.

  • MapView.Rotation - this property is now nullable to prevent overwriting the rotation of published web maps.

  • Removed isSelfIntersecting from Polygon constructor. This was always readonly and should not have been in the constructor.

  • Removed ListItemPanelWidget.ListItem property, which is a reference to the parent ListItem of the widget. This class should be mostly for internal use and will not break any known usage patterns.

  • Type changes

    • CSVLayer.Capabilities - type simplified from CSVLayerCapabilities? to Capabilities?.
    • GeoJSONLayer.Capabilities - type simplified from GeoJSONLayerCapabilities? to Capabilities?.
    • WFSLayer.Capabilities - type simplified from WFSLayerCapabilities? to Capabilities?.
    • SceneFilter.Geometries - type changed from IReadOnlyCollection<string>? to IReadOnlyCollection<Polygon>?.
    • SearchResponse.Results - type changed from IReadOnlyCollection<SearchResponseResults> to IReadOnlyCollection<SearchResults>.
    • SearchResponse.Errors - type changed from IReadOnlyCollection<SearchResponseErrors> to IReadOnlyCollection<SearchResults>.
    • SuggestResponse.Results - type changed from IReadOnlyCollection<SuggestResponseResults> to IReadOnlyCollection<SuggestResults>.
    • SuggestResponse.Errors - type changed from IReadOnlyCollection<SuggestResponseErrors> to IReadOnlyCollection<SuggestResults>.
    • Consolidated the DatumTransformation properties in Query to a single DataTransformation property of type QueryDatumTransformation that can be instantiated with a double, a QuerySimpleTransformation, or a QueryCompositeTransformation.

Expiring Features

  • Microsoft has ended support for the Bing Maps API, which was used in the BingMapsLayer. As a result, we have marked the BingMapsLayer as deprecated, and it will be removed in a future release. It is unlikely to be working at the current time. We are looking at ways to support the newer Azure Maps in the future, but it is not currently supported.
  • Polygon.IsSelfIntersecting - this property is marked as Obsolete and will be removed in a future release. The recommendation is to use Geometry.IsSimple.

🚀 New Features

Bundled Assets Are Removed

  • Default asset loading now uses ArcGIS CDN for improved performance and 50% smaller package sizes!
    • GeoBlazor Core 4.1.0: 41.5 MB
    • GeoBlazor Core 4.2.0: 20.6 MB
  • Faster build times. The .NET 9+ Static Asset Compression issues are much less impactful due to reduced package size.
  • Fixes issues with stale assets in the browser cache when upgrading GeoBlazor versions.
  • For users still needing to bundle assets, see Asset Files for instructions on how to bundle the assets with your application.

Integrated Theme Management

  • Light and dark themes can now be selected directly as a parameter/property on MapView.

    <MapView Theme="ArcGISTheme.Light">
        <Map>
           ...
        </Map>
    </MapView>
    
    <MapView Theme="ArcGISTheme.Light">
        <Map>
           ...
        </Map>
    </MapView>
    
  • Defaults to Light theme without having to declare at all.

  • Simplifies project setup, can now remove link tag from head (see breaking changes above).

MapView WebComponent Integration

  • Rebuilt the GeoBlazor MapView on top of the ArcGIS Map Component (Web Component).
  • This should be a transparent change, but the startup logic is significantly different, so please report any issues that you run into, and we will address them immediately.
  • Moving to the Map Component prepares us to move our Widgets to the ArcGIS Components as well in the near future, which will address the deprecation warnings.
  • The ZoomWidget controls (+/-) on the map are now optional with the Map Component. We have left them on by default to not be a breaking change, but to disable them, use <MapView ShowZoomWidget="false">.

ExcludeApiKey Parameter

  • This parameter, which was previously available on WebMap, PortalItem, Basemap, and FeatureLayer, is now also available on all Layer types, MapView, SceneView, and AuthenticationManager. For the last three, the effect is global for that view, but you can then re-add api keys to specific layers if necessary.
  • The purpose of the ExcludeApiKey parameter is for scenarios where a public ArcGIS-hosted layer throws an invalid token error when provided a token, but is fine with no token.
  • We have registered this as a bug with Esri as well, and hope that they will fix it in a future version of ArcGIS so this step will not be necessary.

Smaller Images

  • Replaced the GeoBlazor logos and images in docs and samples with webp images for faster loading

Layers

  • FeatureLayer.GlobalIdField - provides the name of the field that contains the globally unique identifier (gid) for each feature in the layer.
  • ImageryTileLayer and WCSLayer - added readonly SpatialReference property along with GetSpatialReference method.
  • Unknown Layer types from ArcGIS are now deserialized as UnknownLayer instead of null.

Other Improvements

  • Upgraded to ArcGIS Maps SDK for JavaScript 4.33.10

  • LocationServices.AddressToLocations - added new optional parameter addressSearchStringParameterName to allow users to specify the name of the single line address field for locator services published with ArcGIS 10 or later. By default, we set this property to address, which works with the default ArcGIS geocoding Locator Service. See Esri's notes below:

    Locators published using ArcGIS 10 or later support a single line address field, which can be specified using the following syntax where field_name is the name of the single line address field. You can find this name by viewing the help or services directory for your locator services. Common values are SingleLine and SingleLineFieldName:

     let address = {
         "field_name": "380 New York St, Redlands, CA 92373"
     };
    
     let address = {
         "field_name": "380 New York St, Redlands, CA 92373"
     };
    

    The Services Directory can be used to find out the required and optional address fields and the correct names for the input name fields. If you are using the World Geocoding Service visit the ArcGIS Online Geocoding Service help for more details on the World Geocoder.

  • Graphic.GlobalId - added new property and GetGlobalId method to fetch the global ID (gid) for the feature.

  • Geometry.IsSimple - added a new property to all Geometry types that indicates if the given geometry is non-OGC topologically simple.

  • MapView.MapRenderTimeoutInMilliseconds - allows developers to customize the amount of time for the map to load before timing out and canceling. Default value is 60 seconds (60000 milliseconds). This is set very high to allow for large maps to load with lots of data, but can be set lower if desired.

  • PortalUser.PortalUserId - added new property.

🐛 Bug Fixes

Widgets

  • Fixed inconsistent ordering of widgets stacked in the same corner of the map.
  • Fixed "bounce" of view back to original extent after search, bookmark, other widget navigation.
  • PopupWidget - fixed broken return of large geometries in GetSelectedFeature method.
  • LayerListWidget and BasemapLayerListWidget now populate ListItem.Layer in the ListItemCreatedHandler methods.
  • SearchWidget - added clear error message and load pattern for methods if CoreJsModule is not loaded.

Layers

  • Fixed the loading of Capabilities for Layers from ArcGIS Services.
  • Fixed issue with deserializing Layer.FullExtent for some layer types.
  • Added web-tile to Layer json deserialization.
  • Fixed issue with deserializing Basemap.BaseLayers and Basemap.ReferenceLayers.

Other Bug Fixes

  • Fixed non-specific geocoding results when using LocationService.AddressToLocations and LocationService.AddressesToLocations.
  • Fixed incorrect conversions of Hex colors with alpha values in MapColor.
  • Added clearer exception message to calling AuthenticationManager.IsLoggedIn when not using OAuth.
  • WebMap published custom rotation is now honored and not overridden.
  • Sublayers from published WebMaps are now correctly deserialized and can be used to call SetDefinitionExpression and other methods.
  • Fixed PopupExpressionInfo using expressions in popups.

Docs and Samples Site

  • Fixed broken links in the documentation site.
  • Updated and consolidated styles across GeoBlazor sites
  • Fixed and updated multiple samples

Detailed API Changes (Includes 4.1 & 4.2)

## **Namespace Changes**
  • From dymaptic.GeoBlazor.Core.Components

  • **To  ** dymaptic.GeoBlazor.Core.Model

    • WFSCapabilities
    • WFSFeatureType
    • WFSOperations
    • WFSOperationsDescribeFeatureType
    • WFSOperationsGetCapabilities
    • WFSOperationsGetFeature
  • From dymaptic.GeoBlazor.Core.Components

  • **To  ** dymaptic.GeoBlazor.Core.Options

    • GeolocationOptions
## **Other Breaking Changes**
### **Removed Classes**

_Imports

  • _Imports removed

CompositeTransformationGeoTransforms1

  • Model.CompositeTransformationGeoTransforms1 removed

CoordinateConversionVisibleElements

  • Components.CoordinateConversionVisibleElements removed

CoordinateSegment

  • Components.CoordinateSegment removed

IFeatureTableViewModelColumns

  • Interfaces.IFeatureTableViewModelColumns removed

IFeatureTableWidgetColumns

  • Interfaces.IFeatureTableWidgetColumns removed

IFeatureTableWidgetFindColumn

  • Interfaces.IFeatureTableWidgetFindColumn removed
### **Removed Members**

Layer

  • Task Load() removed

ListItemPanelWidget

  • ListItem? ListItem removed

  • Task AddToContent(params dymaptic.GeoBlazor.Core.Model.ListItemPanelContent[] values) removed

  • Task RemoveFromContent(params dymaptic.GeoBlazor.Core.Model.ListItemPanelContent[] values) removed

  • Task SetContent(IReadOnlyList<ListItemPanelContent>? value) removed

  • Task<IReadOnlyList<ListItemPanelContent>?> GetContent() removed

MapComponent

  • void OnReactiveListenerTriggered(string eventName, JsonElement? value) removed

  • void OnReactiveWatcherUpdate(string watchExpression, JsonElement? value) removed

Polygon

  • Task<bool?> GetIsSelfIntersecting() removed

Query

  • double? DoubleDatumTransformation removed

  • QueryCompositeTransformation? QueryCompositeTransformationDatumTransformation removed

  • QuerySimpleTransformation? QuerySimpleTransformationDatumTransformation removed

SearchResponse

  • int ActiveSourceIndex removed

  • int NumResults removed

  • string SearchTerm removed

SuggestResponse

  • int ActiveSourceIndex removed

  • int NumResults removed

  • string? SearchTerm removed

WFSCapabilities

  • Task AddToFeatureTypes(params dymaptic.GeoBlazor.Core.Components.WFSFeatureType[] values) removed

  • Task RemoveFromFeatureTypes(params dymaptic.GeoBlazor.Core.Components.WFSFeatureType[] values) removed

  • Task SetFeatureTypes(IReadOnlyList<WFSFeatureType>? value) removed

  • Task SetOperations(WFSOperations? value) removed

  • Task<IReadOnlyList<WFSFeatureType>?> GetFeatureTypes() removed

  • Task<WFSOperations?> GetOperations() removed

WFSFeatureType

  • Task AddToSupportedSpatialReferences(params double[] values) removed

  • Task RemoveFromSupportedSpatialReferences(params double[] values) removed

  • Task SetDefaultSpatialReference(double? value) removed

  • Task SetDescription(string? value) removed

  • Task SetExtent(Extent? value) removed

  • Task SetName(string? value) removed

  • Task SetNamespacePrefix(string? value) removed

  • Task SetNamespaceUri(string? value) removed

  • Task SetSupportedSpatialReferences(IReadOnlyList<double>? value) removed

  • Task SetTitle(string? value) removed

  • Task SetTypeName(string? value) removed

  • Task<double?> GetDefaultSpatialReference() removed

  • Task<Extent?> GetExtent() removed

  • Task<IReadOnlyList<double>?> GetSupportedSpatialReferences() removed

  • Task<string?> GetDescription() removed

  • Task<string?> GetName() removed

  • Task<string?> GetNamespacePrefix() removed

  • Task<string?> GetNamespaceUri() removed

  • Task<string?> GetTitle() removed

  • Task<string?> GetTypeName() removed

WFSLayer

  • Task SetWfsCapabilities(WFSCapabilities? value) removed

WFSOperations

  • Task SetDescribeFeatureType(WFSOperationsDescribeFeatureType? value) removed

  • Task SetGetCapabilities(WFSOperationsGetCapabilities? value) removed

  • Task SetGetFeature(WFSOperationsGetFeature? value) removed

  • Task<WFSOperationsDescribeFeatureType?> GetDescribeFeatureType() removed

  • Task<WFSOperationsGetCapabilities?> GetGetCapabilities() removed

  • Task<WFSOperationsGetFeature?> GetGetFeature() removed

WFSOperationsDescribeFeatureType

  • Task SetUrl(string? value) removed

  • Task<string?> GetUrl() removed

WFSOperationsGetCapabilities

  • Task SetUrl(string? value) removed

  • Task<string?> GetUrl() removed

WFSOperationsGetFeature

  • Task SetOutputFormat(string? value) removed

  • Task SetSupportsPagination(bool? value) removed

  • Task SetUrl(string? value) removed

  • Task<bool?> GetSupportsPagination() removed

  • Task<string?> GetOutputFormat() removed

  • Task<string?> GetUrl() removed

### **Changed Signatures**

BasemapLayerListWidget

  • OnBaseListItemCreated signature changed

    • From: Task<object> OnBaseListItemCreated(ListItem item)
    • To: Task<object?> OnBaseListItemCreated(ListItem item)
  • OnReferenceListItemCreated signature changed

    • From: Task<object> OnReferenceListItemCreated(ListItem item)
    • To: Task<object?> OnReferenceListItemCreated(ListItem item)

CSVLayer

  • Capabilities type changed

    • From: CSVLayerCapabilities?
    • To: Capabilities?
  • GetCapabilities signature changed

    • From: Task<CSVLayerCapabilities?> GetCapabilities()
    • To: Task<Capabilities?> GetCapabilities()

ListItemPanelWidget

  • Content type changed
    • From: IReadOnlyList<ListItemPanelContent>?
    • To: IReadOnlyList<ListItemPanelContent>

LocationService

  • AddressesToLocations signature changed
    • From: Task<List<AddressCandidate>> AddressesToLocations(string url, List<Address> addresses)
    • To: Task<List<AddressCandidate>> AddressesToLocations(string url, object addresses, string? countryCode = null, List<string>? categories = null, LocationType? locationType = null, SpatialReference? outSpatialReference = null, RequestOptions? requestOptions = null, string? addressSearchStringParameterName = null)

MapView

  • Rotation type changed
    • From: double
    • To: double?

QueryCompositeTransformation

  • GeoTransforms type changed
    • From: IReadOnlyCollection<CompositeTransformationGeoTransforms1>?
    • To: IReadOnlyCollection<CompositeTransformationGeoTransforms>?

Relationship

  • Cardinality accessors changed

    • From: { get; }
    • To: { get; set; }
  • CatalogId accessors changed

    • From: { get; }
    • To: { get; set; }
  • Composite accessors changed

    • From: { get; }
    • To: { get; set; }
  • KeyField accessors changed

    • From: { get; }
    • To: { get; set; }
  • KeyFieldInRelationshipTable accessors changed

    • From: { get; }
    • To: { get; set; }
  • Name accessors changed

    • From: { get; }
    • To: { get; set; }
  • RelatedTableId accessors changed

    • From: { get; }
    • To: { get; set; }
  • RelationshipId accessors changed

    • From: { get; }
    • To: { get; set; }
  • RelationshipTableId accessors changed

    • From: { get; }
    • To: { get; set; }
  • Role accessors changed

    • From: { get; }
    • To: { get; set; }

SceneFilter

  • Geometries type changed
    • From: IReadOnlyCollection<string>?
    • To: IReadOnlyCollection<Polygon>?

SearchResponse

  • Errors type changed

    • From: IReadOnlyCollection<SearchResponseErrors>
    • To: IReadOnlyCollection<SearchResults>
  • Results type changed

    • From: IReadOnlyCollection<SearchResponseResults>
    • To: IReadOnlyCollection<SearchResults>

SearchViewModel

  • GetSelectedResult signature changed

    • From: Task<string?> GetSelectedResult()
    • To: Task<SearchResult?> GetSelectedResult()
  • Search signature changed

    • From: Task<SearchResponse?> Search(string searchItem)
    • To: Task<SearchResponse?> Search(string searchItem, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
  • SearchNearby signature changed

    • From: Task<SearchResponse?> SearchNearby()
    • To: Task<SearchResponse?> SearchNearby(CancellationToken cancellationToken = default(System.Threading.CancellationToken)
  • Select signature changed

    • From: Task<SearchViewModelSearchResult?> Select(string value)
    • To: Task<SearchResult?> Select(string value)
  • SelectedResult type changed

    • From: string?
    • To: SearchResult?
  • Suggest signature changed

    • From: Task<SuggestResponse?> Suggest(string value)
    • To: Task<SuggestResponse?> Suggest(string value, double suggestionDelay, CancellationToken cancellationToken = default(System.Threading.CancellationToken)

SearchViewModelSearchCompleteEventResults

  • Results type changed

    • From: IReadOnlyCollection<SearchResult>?
    • To: IReadOnlyCollection<SearchResults>?
  • Source type changed

    • From: IReadOnlyCollection<string>?
    • To: SearchSource?

SizeRampStop

  • GetSize signature changed

    • From: Task<int?> GetSize()
    • To: Task<double?> GetSize()
  • SetSize signature changed

    • From: Task SetSize(int? value)
    • To: Task SetSize(double? value)
  • Size type changed

    • From: int?
    • To: double?

SuggestResponse

  • Errors type changed

    • From: IReadOnlyCollection<SuggestResponseErrors>
    • To: IReadOnlyCollection<SuggestResults>
  • Results type changed

    • From: IReadOnlyCollection<SuggestResponseResults>
    • To: IReadOnlyCollection<SuggestResults>

TopFeaturesQuery

  • ObjectIds type changed
    • From: IReadOnlyCollection<long>?
    • To: IReadOnlyCollection<ObjectId>?

WFSCapabilities

  • FeatureTypes type changed
    • From: IReadOnlyList<WFSFeatureType>?
    • To: IReadOnlyCollection<WFSFeatureType>?

WFSFeatureType

  • DefaultSpatialReference accessors changed

    • From: { get; set; }
    • To: { get; }
  • Description accessors changed

    • From: { get; set; }
    • To: { get; }
  • Extent accessors changed

    • From: { get; set; }
    • To: { get; }
  • Name accessors changed

    • From: { get; set; }
    • To: { get; }
  • NamespacePrefix accessors changed

    • From: { get; set; }
    • To: { get; }
  • NamespaceUri accessors changed

    • From: { get; set; }
    • To: { get; }
  • SupportedSpatialReferences accessors changed

    • From: { get; set; }
    • To: { get; }
  • Title accessors changed

    • From: { get; set; }
    • To: { get; }
  • TypeName accessors changed

    • From: { get; set; }
    • To: { get; }

WFSLayer

  • Capabilities type changed

    • From: WFSLayerCapabilities?
    • To: Capabilities?
  • GetCapabilities signature changed

    • From: Task<WFSLayerCapabilities?> GetCapabilities()
    • To: Task<Capabilities?> GetCapabilities()

WFSOperations

  • DescribeFeatureType accessors changed

    • From: { get; set; }
    • To: { get; }
  • GetCapabilities accessors changed

    • From: { get; set; }
    • To: { get; }
  • GetFeature accessors changed

    • From: { get; set; }
    • To: { get; }

WFSOperationsDescribeFeatureType

  • Url accessors changed
    • From: { get; set; }
    • To: { get; }

WFSOperationsGetCapabilities

  • Url accessors changed
    • From: { get; set; }
    • To: { get; }

WFSOperationsGetFeature

  • OutputFormat accessors changed

    • From: { get; set; }
    • To: { get; }
  • SupportsPagination accessors changed

    • From: { get; set; }
    • To: { get; }
  • Url accessors changed

    • From: { get; set; }
    • To: { get; }
## **New Types**
### **`ISublayersLayer`**
  • Properties
    • IReadOnlyList<Sublayer>? Sublayers { get; } added
## **All API Changes**
### **_Imports**

Type removed

### **BasemapLayerListWidget**

Changed Members

  • Methods
    • OnBaseListItemCreated signature changed
      • From: Task<object> OnBaseListItemCreated(ListItem item)
      • To: Task<object?> OnBaseListItemCreated(ListItem item)
    • OnReferenceListItemCreated signature changed
      • From: Task<object> OnReferenceListItemCreated(ListItem item)
      • To: Task<object?> OnReferenceListItemCreated(ListItem item)
### **CompositeTransformationGeoTransforms1**

Type removed

### **CoordinateConversionVisibleElements**

Type removed

### **CoordinateSegment**

Type removed

### **CSVLayer**

Changed Members

  • Methods
    • GetCapabilities signature changed
      • From: Task<CSVLayerCapabilities?> GetCapabilities()
      • To: Task<Capabilities?> GetCapabilities()
  • Properties
    • Capabilities type changed
      • From: CSVLayerCapabilities?
      • To: Capabilities?
### **IFeatureTableViewModelColumns**

Type removed

### **IFeatureTableWidgetColumns**

Type removed

### **IFeatureTableWidgetFindColumn**

Type removed

### **ISublayersLayer**

New Members

  • Properties
    • IReadOnlyList<Sublayer>? Sublayers { get; } added
### **Layer**

Removed Members

  • Methods
    • Task Load() removed
### **ListItemPanelWidget**

Removed Members

  • Methods
    • Task AddToContent(params dymaptic.GeoBlazor.Core.Model.ListItemPanelContent[] values) removed
    • Task RemoveFromContent(params dymaptic.GeoBlazor.Core.Model.ListItemPanelContent[] values) removed
    • Task SetContent(IReadOnlyList<ListItemPanelContent>? value) removed
    • Task<IReadOnlyList<ListItemPanelContent>?> GetContent() removed
  • Properties
    • ListItem? ListItem removed

Changed Members

  • Properties
    • Content type changed
      • From: IReadOnlyList<ListItemPanelContent>?
      • To: IReadOnlyList<ListItemPanelContent>
### **LocationService**

Changed Members

  • Methods
    • AddressesToLocations signature changed
      • From: Task<List<AddressCandidate>> AddressesToLocations(string url, List<Address> addresses)
      • To: Task<List<AddressCandidate>> AddressesToLocations(string url, object addresses, string? countryCode = null, List<string>? categories = null, LocationType? locationType = null, SpatialReference? outSpatialReference = null, RequestOptions? requestOptions = null, string? addressSearchStringParameterName = null)
### **MapComponent**

Removed Members

  • Methods
    • void OnReactiveListenerTriggered(string eventName, JsonElement? value) removed
    • void OnReactiveWatcherUpdate(string watchExpression, JsonElement? value) removed
### **MapView**

Changed Members

  • Properties
    • Rotation type changed
      • From: double
      • To: double?
### **Polygon**

Removed Members

  • Methods
    • Task<bool?> GetIsSelfIntersecting() removed
### **Query**

Removed Members

  • Properties
    • double? DoubleDatumTransformation removed
    • QueryCompositeTransformation? QueryCompositeTransformationDatumTransformation removed
    • QuerySimpleTransformation? QuerySimpleTransformationDatumTransformation removed
### **QueryCompositeTransformation**

Changed Members

  • Properties
    • GeoTransforms type changed
      • From: IReadOnlyCollection<CompositeTransformationGeoTransforms1>?
      • To: IReadOnlyCollection<CompositeTransformationGeoTransforms>?
### **Relationship**

Changed Members

  • Properties
    • Cardinality accessors changed
      • From: { get; }
      • To: { get; set; }
    • CatalogId accessors changed
      • From: { get; }
      • To: { get; set; }
    • Composite accessors changed
      • From: { get; }
      • To: { get; set; }
    • KeyField accessors changed
      • From: { get; }
      • To: { get; set; }
    • KeyFieldInRelationshipTable accessors changed
      • From: { get; }
      • To: { get; set; }
    • Name accessors changed
      • From: { get; }
      • To: { get; set; }
    • RelatedTableId accessors changed
      • From: { get; }
      • To: { get; set; }
    • RelationshipId accessors changed
      • From: { get; }
      • To: { get; set; }
    • RelationshipTableId accessors changed
      • From: { get; }
      • To: { get; set; }
    • Role accessors changed
      • From: { get; }
      • To: { get; set; }
### **SceneFilter**

Changed Members

  • Properties
    • Geometries type changed
      • From: IReadOnlyCollection<string>?
      • To: IReadOnlyCollection<Polygon>?
### **SearchResponse**

Removed Members

  • Properties
    • int ActiveSourceIndex removed
    • int NumResults removed
    • string SearchTerm removed

Changed Members

  • Properties
    • Errors type changed
      • From: IReadOnlyCollection<SearchResponseErrors>
      • To: IReadOnlyCollection<SearchResults>
    • Results type changed
      • From: IReadOnlyCollection<SearchResponseResults>
      • To: IReadOnlyCollection<SearchResults>
### **SearchViewModel**

Changed Members

  • Methods
    • GetSelectedResult signature changed
      • From: Task<string?> GetSelectedResult()
      • To: Task<SearchResult?> GetSelectedResult()
    • Search signature changed
      • From: Task<SearchResponse?> Search(string searchItem)
      • To: Task<SearchResponse?> Search(string searchItem, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • SearchNearby signature changed
      • From: Task<SearchResponse?> SearchNearby()
      • To: Task<SearchResponse?> SearchNearby(CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • Select signature changed
      • From: Task<SearchViewModelSearchResult?> Select(string value)
      • To: Task<SearchResult?> Select(string value)
    • Suggest signature changed
      • From: Task<SuggestResponse?> Suggest(string value)
      • To: Task<SuggestResponse?> Suggest(string value, double suggestionDelay, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
  • Properties
    • SelectedResult type changed
      • From: string?
      • To: SearchResult?
### **SearchViewModelSearchCompleteEventResults**

Changed Members

  • Properties
    • Results type changed
      • From: IReadOnlyCollection<SearchResult>?
      • To: IReadOnlyCollection<SearchResults>?
    • Source type changed
      • From: IReadOnlyCollection<string>?
      • To: SearchSource?
### **SizeRampStop**

Changed Members

  • Methods
    • GetSize signature changed
      • From: Task<int?> GetSize()
      • To: Task<double?> GetSize()
    • SetSize signature changed
      • From: Task SetSize(int? value)
      • To: Task SetSize(double? value)
  • Properties
    • Size type changed
      • From: int?
      • To: double?
### **SuggestResponse**

Removed Members

  • Properties
    • int ActiveSourceIndex removed
    • int NumResults removed
    • string? SearchTerm removed

Changed Members

  • Properties
    • Errors type changed
      • From: IReadOnlyCollection<SuggestResponseErrors>
      • To: IReadOnlyCollection<SuggestResults>
    • Results type changed
      • From: IReadOnlyCollection<SuggestResponseResults>
      • To: IReadOnlyCollection<SuggestResults>
### **TopFeaturesQuery**

Changed Members

  • Properties
    • ObjectIds type changed
      • From: IReadOnlyCollection<long>?
      • To: IReadOnlyCollection<ObjectId>?
### **WFSCapabilities**

Removed Members

  • Methods
    • Task AddToFeatureTypes(params dymaptic.GeoBlazor.Core.Components.WFSFeatureType[] values) removed
    • Task RemoveFromFeatureTypes(params dymaptic.GeoBlazor.Core.Components.WFSFeatureType[] values) removed
    • Task SetFeatureTypes(IReadOnlyList<WFSFeatureType>? value) removed
    • Task SetOperations(WFSOperations? value) removed
    • Task<IReadOnlyList<WFSFeatureType>?> GetFeatureTypes() removed
    • Task<WFSOperations?> GetOperations() removed

Changed Members

  • Properties
    • FeatureTypes type changed
      • From: IReadOnlyList<WFSFeatureType>?
      • To: IReadOnlyCollection<WFSFeatureType>?
### **WFSFeatureType**

Removed Members

  • Methods
    • Task AddToSupportedSpatialReferences(params double[] values) removed
    • Task RemoveFromSupportedSpatialReferences(params double[] values) removed
    • Task SetDefaultSpatialReference(double? value) removed
    • Task SetDescription(string? value) removed
    • Task SetExtent(Extent? value) removed
    • Task SetName(string? value) removed
    • Task SetNamespacePrefix(string? value) removed
    • Task SetNamespaceUri(string? value) removed
    • Task SetSupportedSpatialReferences(IReadOnlyList<double>? value) removed
    • Task SetTitle(string? value) removed
    • Task SetTypeName(string? value) removed
    • Task<double?> GetDefaultSpatialReference() removed
    • Task<Extent?> GetExtent() removed
    • Task<IReadOnlyList<double>?> GetSupportedSpatialReferences() removed
    • Task<string?> GetDescription() removed
    • Task<string?> GetName() removed
    • Task<string?> GetNamespacePrefix() removed
    • Task<string?> GetNamespaceUri() removed
    • Task<string?> GetTitle() removed
    • Task<string?> GetTypeName() removed

Changed Members

  • Properties
    • DefaultSpatialReference accessors changed
      • From: { get; set; }
      • To: { get; }
    • Description accessors changed
      • From: { get; set; }
      • To: { get; }
    • Extent accessors changed
      • From: { get; set; }
      • To: { get; }
    • Name accessors changed
      • From: { get; set; }
      • To: { get; }
    • NamespacePrefix accessors changed
      • From: { get; set; }
      • To: { get; }
    • NamespaceUri accessors changed
      • From: { get; set; }
      • To: { get; }
    • SupportedSpatialReferences accessors changed
      • From: { get; set; }
      • To: { get; }
    • Title accessors changed
      • From: { get; set; }
      • To: { get; }
    • TypeName accessors changed
      • From: { get; set; }
      • To: { get; }
### **WFSLayer**

Removed Members

  • Methods
    • Task SetWfsCapabilities(WFSCapabilities? value) removed

Changed Members

  • Methods
    • GetCapabilities signature changed
      • From: Task<WFSLayerCapabilities?> GetCapabilities()
      • To: Task<Capabilities?> GetCapabilities()
  • Properties
    • Capabilities type changed
      • From: WFSLayerCapabilities?
      • To: Capabilities?
### **WFSOperations**

Removed Members

  • Methods
    • Task SetDescribeFeatureType(WFSOperationsDescribeFeatureType? value) removed
    • Task SetGetCapabilities(WFSOperationsGetCapabilities? value) removed
    • Task SetGetFeature(WFSOperationsGetFeature? value) removed
    • Task<WFSOperationsDescribeFeatureType?> GetDescribeFeatureType() removed
    • Task<WFSOperationsGetCapabilities?> GetGetCapabilities() removed
    • Task<WFSOperationsGetFeature?> GetGetFeature() removed

Changed Members

  • Properties
    • DescribeFeatureType accessors changed
      • From: { get; set; }
      • To: { get; }
    • GetCapabilities accessors changed
      • From: { get; set; }
      • To: { get; }
    • GetFeature accessors changed
      • From: { get; set; }
      • To: { get; }
### **WFSOperationsDescribeFeatureType**

Removed Members

  • Methods
    • Task SetUrl(string? value) removed
    • Task<string?> GetUrl() removed

Changed Members

  • Properties
    • Url accessors changed
      • From: { get; set; }
      • To: { get; }
### **WFSOperationsGetCapabilities**

Removed Members

  • Methods
    • Task SetUrl(string? value) removed
    • Task<string?> GetUrl() removed

Changed Members

  • Properties
    • Url accessors changed
      • From: { get; set; }
      • To: { get; }
### **WFSOperationsGetFeature**

Removed Members

  • Methods
    • Task SetOutputFormat(string? value) removed
    • Task SetSupportsPagination(bool? value) removed
    • Task SetUrl(string? value) removed
    • Task<bool?> GetSupportsPagination() removed
    • Task<string?> GetOutputFormat() removed
    • Task<string?> GetUrl() removed

Changed Members

  • Properties
    • OutputFormat accessors changed
      • From: { get; set; }
      • To: { get; }
    • SupportsPagination accessors changed
      • From: { get; set; }
      • To: { get; }
    • Url accessors changed
      • From: { get; set; }
      • To: { get; }

v4.1.0

🚀 New Features

ReactiveUtils Nested Collection Events (#432)

  • Added support for nested events on collections in ReactiveUtils
  • Improved event handling for large data sets in ReactiveUtils

Authentication Manager Enhancements (#424, #437)

  • Added logout functionality to AuthenticationManager for User Authentication flows
  • Added AuthenticationManager.RegisterToken for App Authentication flows

Layer List Widget Improvements (#440)

  • Fixed legend display issues in LayerListWidget
  • Added full support and testing for HTML, Widgets, and strings in LayerListWidget panels

🐛 Bug Fixes

Print Widget Methods and Events (#443)

  • Fixed print widget methods and events functionality
  • Resolved XML build issues

Bookmark Thumbnails (#444)

  • Fixed bookmark thumbnail generation and display
  • Resolved thumbnail-related issues

Deserialization Issues (#429)

  • Fixed component deserialization for mismatched components
  • Improved property copying during deserialization

Dynamic Layer Constructors (#426)

  • Fixed missing constructor tags for DynamicDataLayer and DynamicMapLayer in .NET 9
  • Resolved .NET 9 compatibility issues

📚 Documentation & Testing

Enhanced Testing Infrastructure

  • Added comprehensive test coverage for LayerListWidget
  • Implemented ReactiveUtils testing components
  • Enhanced test runner functionality
  • Added WebApp test infrastructure

Update Samples and Tests (#435, #437)

  • Consolidated OAuth samples into unified structure
  • Removed redundant sample projects
  • Updated project references and dependencies
  • Improved sample code organization
  • Converted PNG and JPG files to WebP format for better performance
  • Optimized image assets throughout the project
  • Fixed double-click navigation errors

🏗️ Technical Improvements

Build System Enhancements

  • Added Claude Code integration for development workflow
  • Improved esbuild configuration and automation
  • Enhanced CI/CD pipeline with better commit handling
  • Updated package dependencies and versions

Performance Optimizations

  • Optimized image loading and storage
  • Improved build performance and asset management
  • Enhanced memory usage and resource handling

v4.0.0

GeoBlazor 4 represents a major milestone in our development process. We have moved from hand-written code for every feature to a code-generation utility that analyzes and generates C# code from the TypeScript definitions in the ArcGIS Maps SDK for JavaScript package. This change allows us to keep up with the rapid pace of development in ArcGIS and ensures that our API will always in sync with the latest features and improvements.

In order to align more closely with ArcGIS and support the automated code generation, we have had to make significant breaking changes to the API between version 3 and version 4. We know how painful breaking changes can be, and we promise that this will be a one-time large change. All steps will be taken to ensure that future releases will be as backwards-compatible as possible.

Please use these release notes to assist your migration from version 3 to version 4. We have provided a detailed list of breaking changes, new features, and other important information. If you need help with the migration process, please reach out to us on Discord.

Summary

Breaking Changes

  • 235 types moved to new namespaces
  • 46 types removed
  • 98 members removed
  • 311 signatures changed

New Features

  • 50 new types
  • 170 new properties
  • 334 new methods
  • 0 new events
## **Namespace Changes**
  • From dymaptic.GeoBlazor.Core

  • **To  ** dymaptic.GeoBlazor.Core.Attributes

    • RequiredPropertyAttribute
  • From dymaptic.GeoBlazor.Core.Components

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • ActiveTool
    • BasemapStyleName
    • OverlayPosition
  • From dymaptic.GeoBlazor.Core.Components.Geometries

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • SpatialReference
  • From dymaptic.GeoBlazor.Core.Components.Geometries

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • GeometryType
  • From dymaptic.GeoBlazor.Core.Components.Layers

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • ColorStop
    • ColorVariable
    • DynamicDataLayer
    • DynamicDataSource
    • DynamicLayer
    • DynamicMapLayer
    • FeatureEffect
    • FeatureFilter
    • FeatureLayerView
    • Field
    • Graphic
    • JoinTableDataSource
    • Label
    • LabelExpressionInfo
    • LayerFloorInfo
    • LayerView
    • MultidimensionalSubset
    • OpacityStop
    • OpacityVariable
    • QueryTableDataSource
    • RasterDataSource
    • RasterSensorInfo
    • RotationVariable
    • SizeStop
    • SizeVariable
    • TableDataSource
    • TileInfo
    • TimeInfo
    • VisualVariable
  • From dymaptic.GeoBlazor.Core.Components.Layers

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • BingImageryStyle
    • BlendMode
    • CSVDelimiter
    • DeconflictionStrategy
    • DrawingTool
    • DynamicJoinType
    • FieldType
    • FieldValueType
    • ImageFormat
    • LabelPlacement
    • LabelPosition
    • ListMode
    • MapImageFormat
    • PixelInterpolation
    • PixelType
    • RasterDataType
    • RotationType
    • SortOrder
    • TileInfoFormat
    • VisualAxis
    • VisualValueRepresentation
    • VisualValueUnit
    • VisualVariableType
  • From dymaptic.GeoBlazor.Core.Components.Layers

  • **To  ** dymaptic.GeoBlazor.Core.Interfaces

    • IPopupTemplateLayer
  • From dymaptic.GeoBlazor.Core.Components.Layers

  • **To  ** dymaptic.GeoBlazor.Core.Model

    • AnalyticsCapability
    • Attachment
    • AttachmentCapability
    • AttachmentEdit
    • DataCapability
    • EditingCapability
    • Effect
    • FeatureEdits
    • FeatureLayerCapabilities
    • FeatureSet
    • FeatureType
    • FieldsIndex
    • MetadataCapability
    • OperationsCapability
    • PixelSize
    • QueryCapability
    • QueryRelatedCapability
    • QueryTopFeaturesCapability
    • RasterBandInfo
    • RasterBandStatistics
    • RasterHistogram
    • RasterInfo
    • RasterMultidimensionalInfo
    • SublayerCapabilities
    • SupportedSpatialStatisticAggregations
    • Thumbnail
  • From dymaptic.GeoBlazor.Core.Components.Layers

  • **To  ** dymaptic.GeoBlazor.Core.Options

    • CreatePopupTemplateOptions
    • FeatureEditOptions
  • From dymaptic.GeoBlazor.Core.Components.Layers

  • **To  ** dymaptic.GeoBlazor.Core.Results

    • EditedFeatureResult
    • ExtentQueryResult
    • FeatureEditResult
    • FeatureEditsResult
  • From dymaptic.GeoBlazor.Core.Components.Popups

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • BarChartMediaInfo
    • ChartMediaInfoValue
    • ChartMediaInfoValueSeries
    • ColumnChartMediaInfo
    • ElementExpressionInfo
    • FieldInfo
    • FieldInfoFormat
    • ImageMediaInfo
    • ImageMediaInfoValue
    • LineChartMediaInfo
    • MediaInfo
    • PieChartMediaInfo
    • RelatedRecordsInfoFieldOrder
  • From dymaptic.GeoBlazor.Core.Components.Renderers

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • DimensionalDefinition
    • UniqueValueInfo
  • From dymaptic.GeoBlazor.Core.Components.Renderers

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • RendererType
    • StretchType
  • From dymaptic.GeoBlazor.Core.Components.Renderers

  • **To  ** dymaptic.GeoBlazor.Core.Interfaces

    • IImageryRenderer
  • From dymaptic.GeoBlazor.Core.Components.Renderers.ColorRamps

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • AlgorithmicColorRamp
    • ColorRamp
    • MultipartColorRamp
  • From dymaptic.GeoBlazor.Core.Components.Renderers.ColorRamps

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • Algorithm
    • ColorRampType
  • From dymaptic.GeoBlazor.Core.Components.Symbols

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • MapFont
  • From dymaptic.GeoBlazor.Core.Components.Symbols

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • HorizontalAlignment
    • VerticalAlignment
  • From dymaptic.GeoBlazor.Core.Components.Views

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • Viewpoint
  • From dymaptic.GeoBlazor.Core.Components.Views

  • **To  ** dymaptic.GeoBlazor.Core.Model

    • ViewExtentUpdate
  • From dymaptic.GeoBlazor.Core.Components.Widgets

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • BarcodeScannerInput
    • BasemapLayerListWidgetVisibleElements
    • Bookmark
    • CodedValue<T>
    • CodedValueDomain<T>
    • ComboBoxInput
    • DateTimePickerInput
    • Domain
    • FormInput
    • InheritedDomain
    • LegendStyle
    • ListItem
    • RadioButtonsInput
    • RangeDomain
    • SliderVisibleElements
    • SwitchInput
    • TextAreaInput
    • TextBoxInput
  • From dymaptic.GeoBlazor.Core.Components.Widgets

  • **To  ** dymaptic.GeoBlazor.Core.Components.Popups

    • PopupDockOptions
    • PopupVisibleElements
  • From dymaptic.GeoBlazor.Core.Components.Widgets

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • LegendStyleLayout
    • LegendStyleType
    • PopupAlignment
    • PopupDockPosition
    • ScaleUnit
    • SearchMenu
    • SliderLayout
    • SliderState
    • SliderThumbDragState
    • TickConfigMode
  • From dymaptic.GeoBlazor.Core.Components.Widgets

  • **To  ** dymaptic.GeoBlazor.Core.Events

    • SliderMaxChangeEvent
    • SliderMaxClickEvent
    • SliderMinChangeEvent
    • SliderMinClickEvent
    • SliderSegmentClickEvent
    • SliderSegmentDragEvent
    • SliderThumbChangeEvent
    • SliderThumbClickEvent
    • SliderThumbDragEvent
    • SliderTickClickEvent
    • SliderTrackClickEvent
  • From dymaptic.GeoBlazor.Core.Components.Widgets

  • **To  ** dymaptic.GeoBlazor.Core.Model

    • BreakPoint
    • GoToOverrideParameters
    • GoToTarget
    • TickElementGroup
  • From dymaptic.GeoBlazor.Core.Components.Widgets

  • **To  ** dymaptic.GeoBlazor.Core.Options

    • GoToOptions
    • PopupOpenOptions
    • PopupOptions
  • From dymaptic.GeoBlazor.Core.Events

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • DragAction
    • PointerType
  • From dymaptic.GeoBlazor.Core.Events

  • **To  ** dymaptic.GeoBlazor.Core.Model

    • GraphicHit
    • ScreenPoint
  • From dymaptic.GeoBlazor.Core.Events

  • **To  ** dymaptic.GeoBlazor.Core.Options

    • HitTestOptions
  • From dymaptic.GeoBlazor.Core.Events

  • **To  ** dymaptic.GeoBlazor.Core.Results

    • GroundIntersectionResult
    • HitTestResult
    • ViewHit
  • From dymaptic.GeoBlazor.Core.Model

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • GeometryEngine
  • From dymaptic.GeoBlazor.Core.Model

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • AuthMode
    • JoinType
    • LocationType
    • RequestMethod
    • ResponseType
  • From dymaptic.GeoBlazor.Core.Model

  • **To  ** dymaptic.GeoBlazor.Core.Options

    • RequestOptions
  • From dymaptic.GeoBlazor.Core.Model

  • **To  ** dymaptic.GeoBlazor.Core.Results

    • SuggestionResult
  • From dymaptic.GeoBlazor.Core.Objects

  • **To  ** dymaptic.GeoBlazor.Core.Components

    • HighlightOptions
    • LayerSearchSource
    • LocatorSearchSource
    • SearchSource
    • TimeExtent
    • TimeInterval
  • From dymaptic.GeoBlazor.Core.Objects

  • **To  ** dymaptic.GeoBlazor.Core.Enums

    • Cardinality
    • Direction
    • GeometryEngineAreaUnit
    • LengthUnit
    • LocatorSearchLocationType
    • OrderBy
    • OriginPosition
    • QuantizationMode
    • Role
    • SpatialRelationship
    • SqlFormat
    • StatisticType
    • TemporalTime
  • From dymaptic.GeoBlazor.Core.Objects

  • **To  ** dymaptic.GeoBlazor.Core.Model

    • AbortManager
    • AbortManagerResult
    • Address
    • AddressCandidate
    • AddressQuery
    • AttributesDictionary
    • Dimension
    • GeographicTransformation
    • GeographicTransformationStep
    • ImageData
    • LayerSearchSourceFilter
    • LocatorSearchSourceFilter
    • MapColor
    • MapPath
    • MapPoint
    • QuantizationParameters
    • Query
    • Relationship
    • RelationshipQuery
    • Screenshot
    • ScreenshotArea
    • ScreenshotFormat
    • ScreenshotOptions
    • SearchResponse
    • SpatialReferenceInfo
    • StatisticDefinition
    • SuggestResponse
    • TopFeaturesQuery
    • TopFilter
  • From dymaptic.GeoBlazor.Core.Objects

  • **To  ** dymaptic.GeoBlazor.Core.Results

    • NearestPointResult
    • SearchResult
    • SearchResultResponse
    • SuggestResult
## **Other Breaking Changes**
### **Removed Classes**

ArcadeReturnType

  • Components.Widgets.ArcadeReturnType removed

AreaUnit

  • Objects.AreaUnit removed

DynamicLayerField

  • Components.Layers.DynamicLayerField removed

EditedFeatures

  • Components.Layers.EditedFeatures removed

EditedFeatureUpdate

  • Components.Layers.EditedFeatureUpdate removed

EditError

  • Components.Layers.EditError removed

ElevationLayer

  • Components.Layers.ElevationLayer removed

ExpressionInfo

  • Components.Popups.ExpressionInfo removed

FeatureTemplate

  • Components.Layers.FeatureTemplate removed

FieldElement

  • Components.Widgets.FieldElement removed

FillStyle

  • Components.Symbols.FillStyle removed

FormElement

  • Components.Widgets.FormElement removed

FormTemplate

  • Components.Widgets.FormTemplate removed

GetResultsParameters

  • Objects.GetResultsParameters removed

GetSuggestionsParameters

  • Objects.GetSuggestionsParameters removed

GroupElement

  • Components.Widgets.GroupElement removed

HighlightHandle

  • Components.Layers.HighlightHandle removed

LayerInfo

  • Components.Widgets.LayerInfo removed

LayerObject

  • Components.Layers.LayerObject removed

LegendOptions

  • Components.Layers.LegendOptions removed

LinearUnit

  • Objects.LinearUnit removed

LineStyle

  • Components.Symbols.LineStyle removed

ListItemPanel

  • Components.Widgets.ListItemPanel removed

Locator

  • Model.Locator removed

LookupTypeAttribute

  • Components.Renderers.LookupTypeAttribute removed

MapImageExportMap

  • Components.Layers.MapImageExportMap removed

MapImageExportTiles

  • Components.Layers.MapImageExportTiles removed

MapImageLayerCapabilities

  • Components.Layers.MapImageLayerCapabilities removed

MapImageOperations

  • Components.Layers.MapImageOperations removed

Mode

  • Components.Widgets.Mode removed

OrderedLayerOrderBy

  • Components.Layers.OrderedLayerOrderBy removed

ParameterValue

  • Objects.ParameterValue removed

Projection

  • Model.Projection removed

RangeValue

  • Objects.RangeValue removed

RasterDimension

  • Components.Layers.RasterDimension removed

RasterMultidimensionalVariable

  • Components.Layers.RasterMultidimensionalVariable removed

RasterStatistics

  • Components.Renderers.RasterStatistics removed

ReturnType

  • Components.Popups.ReturnType removed

SimpleMarkerStyle

  • Components.Symbols.SimpleMarkerStyle removed

SliderDragState

  • Components.Widgets.SliderDragState removed

SliderTickConfig

  • Components.Widgets.SliderTickConfig removed

StatisticParameters

  • Objects.StatisticParameters removed

SublayerData

  • Components.Layers.SublayerData removed

SublayerOperations

  • Components.Layers.SublayerOperations removed

SuggestResultResponse

  • Objects.SuggestResultResponse removed

TimeEnumToKebabCaseStringConverter<T>

  • Serialization.TimeEnumToKebabCaseStringConverter<T> removed
### **Removed Members**

ActionBase

  • string? Id removed

ActionButton

  • string? ClassName removed

BarChartMediaInfo

  • string? AltText removed

  • string? Caption removed

  • string? Title removed

BasemapGalleryWidget

  • PortalBasemapsSource? PortalBasemapsSource removed

BasemapLayerListWidget

  • string? Label removed

BookmarksWidget

  • Task OnJavascriptBookmarkSelect(BookmarkSelectEvent bookmarkSelectEvent) removed

ColumnChartMediaInfo

  • string? AltText removed

  • string? Caption removed

  • string? Title removed

CompassWidget

  • string? Label removed

Direction

  • double Length removed

  • string Text removed

FeatureType

  • string Id removed

FieldsIndex

  • void JsFieldsReference removed

Graphic

  • Guid? LayerId removed

HomeWidget

  • string? Label removed

IImageryRenderer

  • string ImageryRendererType removed

ImageMediaInfo

  • string? AltText removed

  • string? Caption removed

  • string? Title removed

Layer

  • AbortManager? AbortManager removed

  • Task SetProperty(string propertyName, object? value) removed

  • void JsLayerReference removed

LayerListWidget

  • string? Label removed

LayerSearchSource

  • Guid? LayerId removed

  • Layer? Layer removed

  • LayerSearchSourceFilter? Filter removed

LayerView

  • bool Visible removed

  • Layer Layer removed

LineChartMediaInfo

  • string? AltText removed

  • string? Caption removed

  • string? Title removed

ListItem

  • bool? Visible removed

  • Guid? LayerId removed

LocatorSearchSource

  • LocatorSearchSourceFilter? Filter removed

MapColor

  • List<double> Values removed

MapComponent

  • Task Add(MapComponent child) removed

  • void JsModule removed

  • void ProJsModule removed

  • void ProProperties removed

MapFont

  • string? FontStyle removed

MapImageLayer

  • int? DPI removed

  • TimeInterval? TimeInterval removed

MapView

  • Task<Direction[]> DrawRouteAndGetDirections(Symbol routeSymbol, string routeUrl) removed

MarkerSymbol

  • Dimension? XOffset removed

  • Dimension? YOffset removed

MeasurementWidget

  • string? Label removed

MultidimensionalSubset

  • Extent? ExtentOfInterest removed

  • Polygon? PolygonOfInterest removed

PictureFillSymbol

  • Dimension? XOffset removed

  • Dimension? YOffset removed

  • Outline? Outline removed

PieChartMediaInfo

  • string? AltText removed

  • string? Caption removed

  • string? Title removed

PolyLine

  • MapPath[] Paths removed

  • PolyLine Clone() removed

PopupTemplate

  • Task<PopupContent[]?> OnContentFunction(Graphic graphic) removed

PopupWidget

  • string? Label removed

PortalItem

  • string Id removed

Query

  • double? DatumTransformation removed

RasterInfo

  • RasterBandInfo[] BandInfos removed

  • RasterDataType DataType removed

  • RasterSensorInfo SensorInfo removed

RasterStretchRenderer

  • RasterStatistics[]? Statistics removed

  • string ImageryRendererType removed

Relationship

  • int? Id removed

SearchSource

  • bool HasGetResultsHandler removed

  • bool HasGetSuggestionsHandler removed

  • string? Name removed

  • string? SearchTemplate removed

SearchWidget

  • string? Label removed

SimpleFillSymbol

  • FillStyle? FillStyle removed

  • Outline? Outline removed

SimpleLineSymbol

  • LineStyle? LineStyle removed

SimpleMarkerSymbol

  • SimpleMarkerStyle? MarkerStyle removed

SliderWidget

  • string? Label removed

  • Task OnJsMaxChange(SliderMaxChangeEvent changeEvent) removed

  • Task OnJsMaxClick(SliderMaxClickEvent clickEvent) removed

  • Task OnJsMinChange(SliderMinChangeEvent changeEvent) removed

  • Task OnJsMinClick(SliderMinClickEvent clickEvent) removed

  • Task OnJsSegmentClick(SliderSegmentClickEvent clickEvent) removed

  • Task OnJsSegmentDrag(SliderSegmentDragEvent dragEvent) removed

  • Task OnJsThumbChange(SliderThumbChangeEvent changeEvent) removed

  • Task OnJsThumbClick(SliderThumbClickEvent clickEvent) removed

  • Task OnJsThumbDrag(SliderThumbDragEvent dragEvent) removed

  • Task OnJsTickClick(SliderTickClickEvent clickEvent) removed

  • Task OnJsTrackClick(SliderTrackClickEvent clickEvent) removed

  • Task SetStepInterval(double stepInterval) removed

  • Task SetSteps(IReadOnlyCollection<double> steps) removed

Sublayer

  • Layer? Layer removed

  • Task SetProperty(string propertyName, object? value) removed

TextSymbol

  • Dimension? XOffset removed

  • Dimension? YOffset removed

UniqueValueRenderer

  • string ImageryRendererType removed

Widget

  • Task SetProperty(string propertyName, object? value) removed
### **Changed Signatures**

AreaMeasurement2DWidget

  • Unit type changed

    • From: AreaUnit
    • To: SystemOrAreaUnit?
  • UnitOptions type changed

    • From: AreaUnit[]?
    • To: IReadOnlyList<SystemOrAreaUnit>?

AttachmentEdit

  • ObjectId type changed
    • From: int?
    • To: ObjectId?

AttachmentsContent

  • DisplayType type changed
    • From: string?
    • To: AttachmentsContentDisplayType?

AttributesDictionary

  • AddOrUpdate signature changed
    • From: Task AddOrUpdate(string key, object value)
    • To: Task AddOrUpdate(string key, object? value)

BasemapStyle

  • Name type changed
    • From: BasemapStyleName
    • To: BasemapStyleName?

BaseTileLayer

  • SetEffect signature changed
    • From: Task SetEffect(Effect effect)
    • To: Task SetEffect(Effect? effect)

BingMapsLayer

  • Key type changed
    • From: string?
    • To: string

Bookmark

  • Thumbnail type changed
    • From: string?
    • To: BookmarkThumbnail?

BookmarksWidget

  • Bookmarks type changed
    • From: List<Bookmark>?
    • To: IReadOnlyList<Bookmark>?

ChartMediaInfoValue

  • Fields type changed

    • From: IEnumerable<string>
    • To: IReadOnlyList<string>?
  • Series type changed

    • From: IList<ChartMediaInfoValueSeries>?
    • To: IReadOnlyList<ChartMediaInfoValueSeries>?

ColorStop

  • Color type changed
    • From: MapColor?
    • To: MapColor

CreatePopupTemplateOptions

  • IgnoreFieldTypes type changed

    • From: string[]?
    • To: IReadOnlyCollection<IgnoreFieldTypes>?
  • VisibleFieldNames type changed

    • From: HashSet<string>?
    • To: IReadOnlyCollection<string>?

CSVLayer

  • Url type changed
    • From: string?
    • To: string

DimensionalDefinition

  • Values type changed
    • From: List<long>?
    • To: DimensionalDefinitionValues?

DynamicDataLayer

  • Fields type changed
    • From: IReadOnlyCollection<DynamicLayerField>
    • To: IReadOnlyList<DynamicDataLayerFields>?

EditedFeatureResult

  • EditedFeatures type changed
    • From: EditedFeatures?
    • To: EditedFeatureResultEditedFeatures?

ExpandWidget

  • Mode type changed
    • From: Mode
    • To: ExpandMode

ExtentQueryResult

  • Extent type changed
    • From: Extent
    • To: Extent?

FeatureEditOptions

  • ReturnServiceEditsOption type changed
    • From: string?
    • To: ReturnServiceEditsOption?

FeatureEditResult

  • Error type changed

    • From: EditError?
    • To: FeatureEditResultError?
  • ObjectId type changed

    • From: long?
    • To: ObjectId?

FeatureEdits

  • AddAttachments type changed

    • From: IEnumerable<AttachmentEdit>?
    • To: IReadOnlyList<AttachmentEdit>?
  • AddFeatures type changed

    • From: IEnumerable<Graphic>?
    • To: IReadOnlyList<Graphic>?
  • DeleteAttachments type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyList<string>?
  • DeleteFeatures type changed

    • From: IEnumerable<Graphic>?
    • To: IReadOnlyList<Graphic>?
  • UpdateAttachments type changed

    • From: IEnumerable<AttachmentEdit>?
    • To: IReadOnlyList<AttachmentEdit>?
  • UpdateFeatures type changed

    • From: IEnumerable<Graphic>?
    • To: IReadOnlyList<Graphic>?

FeatureEffect

  • ExcludedEffect type changed

    • From: List<Effect>?
    • To: IReadOnlyList<Effect>?
  • IncludedEffect type changed

    • From: List<Effect>?
    • To: IReadOnlyList<Effect>?

FeatureFilter

  • ObjectIds type changed

    • From: IEnumerable<int>?
    • To: IReadOnlyList<ObjectId>?
  • Units type changed

    • From: LinearUnit?
    • To: QueryUnits?

FeatureLayer

  • Fields type changed

    • From: IReadOnlyCollection<Field>?
    • To: IReadOnlyList<Field>?
  • FormTemplate type changed

    • From: FormTemplate?
    • To: IFormTemplate?
  • GeometryType type changed

    • From: GeometryType?
    • To: FeatureGeometryType?
  • GetCapabilities signature changed

    • From: Task<FeatureLayerCapabilities> GetCapabilities()
    • To: Task<FeatureLayerCapabilities?> GetCapabilities()
  • LabelingInfo type changed

    • From: List<Label>?
    • To: IReadOnlyList<Label>?
  • OrderBy type changed

    • From: List<OrderedLayerOrderBy>?
    • To: IReadOnlyList<OrderByInfo>?
  • OutFields type changed

    • From: string[]?
    • To: IReadOnlyList<string>?
  • QueryObjectIds signature changed

    • From: Task<int[]> QueryObjectIds(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • To: Task<ObjectId[]> QueryObjectIds(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
  • QueryTopObjectIds signature changed

    • From: Task<int[]> QueryTopObjectIds(TopFeaturesQuery query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • To: Task<ObjectId[]> QueryTopObjectIds(TopFeaturesQuery query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
  • Relationships type changed

    • From: Relationship[]?
    • To: IReadOnlyList<Relationship>?
  • SetEffect signature changed

    • From: Task SetEffect(Effect effect)
    • To: Task SetEffect(Effect? effect)
  • SetPopupTemplate signature changed

    • From: Task SetPopupTemplate(PopupTemplate template)
    • To: Task SetPopupTemplate(PopupTemplate? value)
  • Source type changed

    • From: IReadOnlyCollection<Graphic>?
    • To: IReadOnlyList<Graphic>?

FeatureLayerView

  • FeatureEffect accessors changed

    • From: { get; }
    • To: { get; set; }
  • Filter accessors changed

    • From: { get; }
    • To: { get; set; }
  • Highlight signature changed

    • From: Task<HighlightHandle> Highlight(Graphic graphic)
    • To: Task<Handle> Highlight(Graphic graphic)
  • QueryExtent signature changed

    • From: Task<ExtentQueryResult> QueryExtent(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • To: Task<ExtentQueryResult?> QueryExtent(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
  • QueryFeatureCount signature changed

    • From: Task<int> QueryFeatureCount(Query? query = null, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • To: Task<int?> QueryFeatureCount(Query? query = null, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
  • QueryObjectIds signature changed

    • From: Task<int[]> QueryObjectIds(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • To: Task<ObjectId[]?> QueryObjectIds(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)

FeatureSet

  • DisplayFieldName accessors changed

    • From: { get; set; }
    • To: { get; }
  • ExceededTransferLimit accessors changed

    • From: { get; set; }
    • To: { get; }
  • Features accessors changed

    • From: { get; set; }
    • To: { get; }
  • Fields accessors changed

    • From: { get; set; }
    • To: { get; }
  • GeometryType accessors changed

    • From: { get; set; }
    • To: { get; }
  • QueryGeometry accessors changed

    • From: { get; set; }
    • To: { get; }
  • SpatialReference accessors changed

    • From: { get; set; }
    • To: { get; }

FeatureType

  • Templates type changed
    • From: FeatureTemplate[]
    • To: IReadOnlyCollection<IFeatureTemplate>

Field

  • Type type changed
    • From: FieldType
    • To: FieldType?

FieldInfo

  • StringFieldOption type changed
    • From: string?
    • To: StringFieldOption?

FieldInfoFormat

  • DateFormat type changed
    • From: string?
    • To: DateFormat?

FieldsIndex

  • DateFields type changed

    • From: Field[]?
    • To: IReadOnlyList<Field>?
  • Get signature changed

    • From: Task<Field> Get(string fieldName)
    • To: Task<Field?> Get(string fieldName)
  • GetTimeZone signature changed

    • From: Task<string?> GetTimeZone(string fieldName)
    • To: Task<string?> GetTimeZone(string fieldOrFieldName)
  • Has signature changed

    • From: Task<bool> Has(string fieldName)
    • To: Task<bool?> Has(string fieldName)
  • IsDateField signature changed

    • From: Task<bool> IsDateField(string fieldName)
    • To: Task<bool?> IsDateField(string fieldName)

FieldsContent

  • FieldInfos type changed
    • From: HashSet<FieldInfo>?
    • To: IReadOnlyList<FieldInfo>?

Geometry

  • Extent accessors changed
    • From: { get; set; }
    • To: { get; }

GeometryEngine

  • AddPath signature changed

    • From: Task<PolyLine> AddPath(PolyLine polyLine, Point[] points)
    • To: Task<Polyline> AddPath(Polyline polyline, Point[] points)
  • Cut signature changed

    • From: Task<Geometry[]> Cut(Geometry geometry, PolyLine cutter)
    • To: Task<Geometry[]> Cut(Geometry geometry, Polyline cutter)
  • Densify signature changed

    • From: Task<Geometry> Densify(Geometry geometry, double maxSegmentLength, LinearUnit? maxSegmentLengthUnit = null)
    • To: Task<Geometry> Densify(Geometry geometry, double maxSegmentLength, GeometryEngineLinearUnit? maxSegmentLengthUnit = null)
  • Distance signature changed

    • From: Task<double> Distance(Geometry geometry1, Geometry geometry2, LinearUnit? distanceUnit = null)
    • To: Task<double> Distance(Geometry geometry1, Geometry geometry2, GeometryEngineLinearUnit? distanceUnit = null)
  • Generalize signature changed

    • From: Task<Geometry> Generalize(Geometry geometry, double maxDeviation, bool? removeDegenerateParts = null, LinearUnit? maxDeviationUnit = null)
    • To: Task<Geometry> Generalize(Geometry geometry, double maxDeviation, bool? removeDegenerateParts = null, GeometryEngineLinearUnit? maxDeviationUnit = null)
  • GeodesicDensify signature changed

    • From: Task<Geometry> GeodesicDensify(Geometry geometry, double maxSegmentLength, LinearUnit? maxSegmentLengthUnit = null)
    • To: Task<Geometry> GeodesicDensify(Geometry geometry, double maxSegmentLength)
  • GeodesicLength signature changed

    • From: Task<double> GeodesicLength(Geometry geometry, LinearUnit? unit = null)
    • To: Task<double> GeodesicLength(Geometry geometry, GeometryEngineLinearUnit? unit = null)
  • PlanarArea signature changed

    • From: Task<double> PlanarArea(Polygon geometry, GeometryEngineAreaUnit? unit = null)
    • To: Task<double> PlanarArea(Polygon geometry)
  • PlanarLength signature changed

    • From: Task<double> PlanarLength(Geometry geometry, LinearUnit? unit = null)
    • To: Task<double> PlanarLength(Geometry geometry)

Graphic

  • Geometry accessors changed

    • From: { get; }
    • To: { get; set; }
  • PopupTemplate accessors changed

    • From: { get; }
    • To: { get; set; }

GraphicsLayer

  • Graphics accessors changed
    • From: { get; set; }
    • To: { get; }

HitTestOptions

  • ExcludeGraphicsByArcGISId type changed

    • From: IEnumerable<string>?
    • To: IEnumerable<ObjectId>?
  • IncludeGraphicsByArcGISId type changed

    • From: IEnumerable<string>?
    • To: IEnumerable<ObjectId>?

IAppValidator

  • ValidateLicense signature changed
    • From: Task ValidateLicense()
    • To: ValueTask ValidateLicense()

ImageryLayer

  • BandIds type changed

    • From: IReadOnlyCollection<int>?
    • To: IReadOnlyList<long>?
  • CompressionQuality type changed

    • From: int?
    • To: double?
  • Interpolation type changed

    • From: int?
    • To: Interpolation?
  • MaxScale type changed

    • From: int?
    • To: double?
  • MinScale type changed

    • From: int?
    • To: double?
  • NoData type changed

    • From: IReadOnlyCollection<int>?
    • To: NoData?
  • NoDataInterpretation type changed

    • From: string?
    • To: NoDataInterpretation?

ImageryTileLayer

  • BandIds type changed

    • From: IReadOnlyCollection<int>?
    • To: IReadOnlyList<long>?
  • Interpolation type changed

    • From: PixelInterpolation?
    • To: Interpolation?
  • MaxScale type changed

    • From: int?
    • To: double?
  • MinScale type changed

    • From: int?
    • To: double?
  • MultidimensionalDefinition type changed

    • From: IReadOnlyList<DimensionalDefinition>
    • To: IReadOnlyList<DimensionalDefinition>?
  • SetRenderer signature changed

    • From: Task SetRenderer(IImageryRenderer renderer)
    • To: Task SetRenderer(IImageryRenderer? value)

Layer

  • LayerView accessors changed

    • From: { get; set; }
    • To: { get; }
  • Load signature changed

    • From: Task Load(CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • To: Task Load()

LayerSearchSource

  • OrderByFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyList<string>?
  • SearchFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyList<string>?

LayerView

  • SpatialReferenceSupported accessors changed

    • From: { get; }
    • To: { get; set; }
  • Suspended accessors changed

    • From: { get; }
    • To: { get; set; }
  • Updating accessors changed

    • From: { get; }
    • To: { get; set; }

LayerViewCreateInternalEvent

  • LayerGeoBlazorId type changed
    • From: Guid
    • To: Guid?

LegendWidget

  • LayerInfos type changed
    • From: List<LayerInfo>
    • To: IReadOnlyList<LegendLayerInfos>?

ListItem

  • Children type changed

    • From: List<ListItem>?
    • To: IReadOnlyList<ListItem>?
  • ChildrenSortable type changed

    • From: bool
    • To: bool?
  • Hidden type changed

    • From: bool
    • To: bool?
  • Open type changed

    • From: bool
    • To: bool?
  • Panel type changed

    • From: ListItemPanel?
    • To: ListItemPanelWidget?
  • Sortable type changed

    • From: bool
    • To: bool?

LocateWidget

  • GoToOverride type changed
    • From: Action<GoToOverrideParameters>?
    • To: GoToOverride?

LocatorSearchSource

  • Categories type changed
    • From: IEnumerable<string>?
    • To: IReadOnlyList<string>?

LOD

  • Level type changed
    • From: double?
    • To: int?

MapComponent

  • Id accessors changed

    • From: { get; }
    • To: { get; set; }
  • UpdateState signature changed

    • From: void UpdateState(bool mainThread = true)
    • To: void UpdateState()

MapFont

  • Weight type changed
    • From: string?
    • To: FontWeight?

MapImageLayer

  • AllSublayers accessors changed

    • From: { get; }
    • To: { get; set; }
  • Capabilities accessors changed

    • From: { get; }
    • To: { get; set; }
  • Copyright accessors changed

    • From: { get; }
    • To: { get; set; }
  • DateFieldsTimeZone accessors changed

    • From: { get; }
    • To: { get; set; }
  • DatesInUnknownTimezone accessors changed

    • From: { get; }
    • To: { get; set; }
  • MaxScale type changed

    • From: int?
    • To: double?
  • MinScale type changed

    • From: int?
    • To: double?
  • PreferredTimeZone accessors changed

    • From: { get; }
    • To: { get; set; }
  • SpatialReference accessors changed

    • From: { get; }
    • To: { get; set; }
  • Sublayers type changed

    • From: IReadOnlyList<Sublayer>
    • To: IReadOnlyList<Sublayer>?
  • Version accessors changed

    • From: { get; }
    • To: { get; set; }

MapView

  • AddLayer signature changed

    • From: Task AddLayer(Layer layer, bool isBasemapLayer = false)
    • To: Task AddLayer(Layer layer, bool isBasemapLayer = false, bool isBasemapReferenceLayer = false)
  • EventRateLimitInMilliseconds type changed

    • From: int?
    • To: int
  • OnJavascriptLayerViewCreate signature changed

    • From: Task OnJavascriptLayerViewCreate(LayerViewCreateInternalEvent layerViewCreateEvent)
    • To: Task<Guid?> OnJavascriptLayerViewCreate(LayerViewCreateInternalEvent layerViewCreateEvent)
  • RemoveLayer signature changed

    • From: Task RemoveLayer(Layer layer, bool isBasemapLayer = false)
    • To: Task RemoveLayer(Layer layer, bool isBasemapLayer = false, bool isReferenceLayer = false)

MeasurementWidget

  • AreaUnit type changed

    • From: AreaUnit?
    • To: SystemOrAreaUnit?
  • LinearUnit type changed

    • From: LengthUnit?
    • To: SystemOrLengthUnit?

MediaContent

  • ActiveMediaInfoIndex type changed

    • From: string?
    • To: int?
  • MediaInfos type changed

    • From: IList<MediaInfo>?
    • To: IReadOnlyList<MediaInfo>?

MultidimensionalSubset

  • SubsetDefinitions type changed
    • From: IReadOnlyList<DimensionalDefinition>
    • To: IReadOnlyList<DimensionalDefinition>?

MultipartColorRamp

  • ColorRamps accessors changed
    • From: { get; }
    • To: { get; set; }

PictureFillSymbol

  • XScale type changed

    • From: int?
    • To: double?
  • YScale type changed

    • From: int?
    • To: double?

Polygon

  • Rings type changed
    • From: MapPath[]
    • To: IReadOnlyList<MapPath>

PopupOpenOptions

  • Features type changed

    • From: Graphic[]?
    • To: IReadOnlyCollection<Graphic>?
  • Location type changed

    • From: Geometry?
    • To: Point?

PopupTemplate

  • Actions type changed

    • From: List<ActionBase>?
    • To: IReadOnlyList<ActionBase>?
  • Content type changed

    • From: List<PopupContent>
    • To: IReadOnlyList<PopupContent>?
  • ExpressionInfos type changed

    • From: List<ExpressionInfo>?
    • To: IReadOnlyList<PopupExpressionInfo>?
  • FieldInfos type changed

    • From: List<FieldInfo>?
    • To: IReadOnlyList<FieldInfo>?
  • OnTriggerAction signature changed

    • From: Task OnTriggerAction(string actionId)
    • To: EventCallback<PopupTriggerActionEvent> OnTriggerAction()
  • OutFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyList<string>?

PopupWidget

  • Actions type changed

    • From: List<ActionBase>?
    • To: IReadOnlyList<ActionBase>?
  • Features type changed

    • From: List<Graphic>
    • To: IReadOnlyList<Graphic>?
  • FetchFeatures signature changed

    • From: Task<Graphic[]> FetchFeatures()
    • To: Task<Graphic[]?> FetchFeatures()
  • GetFeatureCount signature changed

    • From: Task<int> GetFeatureCount()
    • To: Task<int?> GetFeatureCount()
  • GetSelectedFeatureIndex signature changed

    • From: Task<int> GetSelectedFeatureIndex()
    • To: Task<int?> GetSelectedFeatureIndex()
  • GetVisibility signature changed

    • From: Task<bool> GetVisibility()
    • To: Task<bool?> GetVisibility()
  • OnTriggerAction signature changed

    • From: Task OnTriggerAction(string actionId)
    • To: EventCallback<PopupTriggerActionEvent> OnTriggerAction()
  • Open signature changed

    • From: Task Open()
    • To: Task Open(PopupOpenOptions options)

Query

  • AggregateIds type changed

    • From: IEnumerable<int>?
    • To: IReadOnlyCollection<string>?
  • GroupByFieldsForStatistics type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?
  • ObjectIds type changed

    • From: IEnumerable<long>?
    • To: IReadOnlyCollection<ObjectId>?
  • OrderByFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?
  • OutFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?
  • OutStatistics type changed

    • From: IEnumerable<StatisticDefinition>?
    • To: IReadOnlyCollection<StatisticDefinition>?
  • ParameterValues accessors changed

    • From: { get; set; }
    • To: { set; }
  • RangeValues type changed

    • From: IEnumerable<RangeValue>?
    • To: IReadOnlyCollection<QueryRangeValues>?
  • Units type changed

    • From: LinearUnit?
    • To: QueryUnits?

QueryTableDataSource

  • GeometryType type changed
    • From: GeometryType?
    • To: FeatureGeometryType?

RangeDomain

  • MaxValue type changed

    • From: double?
    • To: string?
  • MinValue type changed

    • From: double?
    • To: string?

RasterBandInfo

  • MaxWavelength type changed

    • From: double
    • To: double?
  • MinWavelength type changed

    • From: double
    • To: double?
  • Name type changed

    • From: string
    • To: string?
  • RadianceBias type changed

    • From: double
    • To: double?
  • RadianceGain type changed

    • From: double
    • To: double?
  • ReflectanceBias type changed

    • From: double
    • To: double?
  • ReflectanceGain type changed

    • From: double
    • To: double?
  • SolarIrradiance type changed

    • From: double
    • To: double?

RasterBandStatistics

  • Avg type changed

    • From: double
    • To: double?
  • Max type changed

    • From: double
    • To: double?
  • Min type changed

    • From: double
    • To: double?
  • Stddev type changed

    • From: double
    • To: double?

RasterHistogram

  • Counts type changed

    • From: int[]
    • To: IReadOnlyCollection<double>?
  • Max type changed

    • From: double
    • To: double?
  • Min type changed

    • From: double
    • To: double?
  • Size type changed

    • From: int
    • To: int?

RasterInfo

  • AttributeTable type changed

    • From: FeatureSet
    • To: FeatureSet?
  • BandCount type changed

    • From: int
    • To: int?
  • Colormap type changed

    • From: double[][]
    • To: IReadOnlyList<ColormapPixel>?
  • Extent type changed

    • From: Extent
    • To: Extent?
  • HasMultidimensionalTranspose type changed

    • From: bool
    • To: bool?
  • Height type changed

    • From: double
    • To: int?
  • MultidimensionalInfo type changed

    • From: RasterMultidimensionalInfo
    • To: RasterMultidimensionalInfo?
  • NoDataValue type changed

    • From: double[]
    • To: NoData?
  • PixelSize type changed

    • From: PixelSize
    • To: RasterInfoPixelSize?
  • PixelType type changed

    • From: PixelType
    • To: PixelType?
  • SpatialReference type changed

    • From: SpatialReference
    • To: SpatialReference?
  • Statistics type changed

    • From: RasterStatistics[]
    • To: IReadOnlyCollection<RasterInfoStatistics>?
  • Width type changed

    • From: double
    • To: int?

RasterMultidimensionalInfo

  • Variables type changed
    • From: RasterMultidimensionalVariable[]
    • To: IReadOnlyCollection<RasterMultidimensionalInfoVariables>?

RasterSensorInfo

  • AcquisitionDate accessors changed

    • From: { get; }
    • To: { get; set; }
  • CloudCover accessors changed

    • From: { get; }
    • To: { get; set; }
  • ProductName accessors changed

    • From: { get; }
    • To: { get; set; }
  • SensorAzimuth accessors changed

    • From: { get; }
    • To: { get; set; }
  • SensorElevation accessors changed

    • From: { get; }
    • To: { get; set; }
  • SensorName accessors changed

    • From: { get; }
    • To: { get; set; }
  • SunAzimuth accessors changed

    • From: { get; }
    • To: { get; set; }
  • SunElevation accessors changed

    • From: { get; }
    • To: { get; set; }

RasterStretchRenderer

  • ColorRamp accessors changed

    • From: { get; }
    • To: { get; set; }
  • Gamma type changed

    • From: List<int>?
    • To: IReadOnlyList<double>?
  • Type type changed

    • From: string
    • To: ImageryRendererType

Relationship

  • Cardinality accessors changed

    • From: { get; set; }
    • To: { get; }
  • Composite accessors changed

    • From: { get; set; }
    • To: { get; }
  • KeyField accessors changed

    • From: { get; set; }
    • To: { get; }
  • KeyFieldInRelationshipTable accessors changed

    • From: { get; set; }
    • To: { get; }
  • Name accessors changed

    • From: { get; set; }
    • To: { get; }
  • RelatedTableId accessors changed

    • From: { get; set; }
    • To: { get; }
  • RelationshipTableId accessors changed

    • From: { get; set; }
    • To: { get; }
  • Role accessors changed

    • From: { get; set; }
    • To: { get; }

RelationshipContent

  • OrderByFields type changed

    • From: IReadOnlyList<RelatedRecordsInfoFieldOrder>
    • To: IReadOnlyList<RelatedRecordsInfoFieldOrder>?
  • RelationshipId type changed

    • From: int?
    • To: long?

RelationshipQuery

  • ObjectIds type changed

    • From: IEnumerable<int>?
    • To: IReadOnlyCollection<ObjectId>?
  • OrderByFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?
  • OutFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?
  • RelationshipId type changed

    • From: int?
    • To: long?

RequestOptions

  • Headers type changed
    • From: object?
    • To: string?

RotationVariable

  • Axis type changed
    • From: string?
    • To: Axis?

ScreenPoint

  • X accessors changed

    • From: { get; }
    • To: { get; set; }
  • Y accessors changed

    • From: { get; }
    • To: { get; set; }

SearchResponse

  • Errors type changed

    • From: JavascriptError[]
    • To: IReadOnlyCollection<SearchResponseErrors>
  • Results type changed

    • From: SearchResultResponse[]
    • To: IReadOnlyCollection<SearchResponseResults>

SearchResult

  • Extent accessors changed

    • From: { get; set; }
    • To: { get; }
  • Feature accessors changed

    • From: { get; set; }
    • To: { get; }
  • Name accessors changed

    • From: { get; set; }
    • To: { get; }
  • Target accessors changed

    • From: { get; set; }
    • To: { get; }

SearchSource

  • GetResultsHandler accessors changed

    • From: { set; }
    • To: { get; set; }
  • GetSuggestionsHandler accessors changed

    • From: { set; }
    • To: { get; set; }
  • OutFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyList<string>?

SearchWidget

  • GetActiveMenu signature changed

    • From: Task<SearchMenu> GetActiveMenu()
    • To: Task<SearchMenu?> GetActiveMenu()
  • GetActiveSourceIndex signature changed

    • From: Task<int> GetActiveSourceIndex()
    • To: Task<int?> GetActiveSourceIndex()
  • GetAllSources signature changed

    • From: Task<IReadOnlyList<SearchSource>> GetAllSources()
    • To: Task<IReadOnlyList<SearchSource>?> GetAllSources()
  • GetDefaultSources signature changed

    • From: Task<IReadOnlyList<SearchSource>> GetDefaultSources()
    • To: Task<IReadOnlyList<SearchSource>?> GetDefaultSources()
  • GetResults signature changed

    • From: Task<IReadOnlyList<SearchResultResponse>> GetResults()
    • To: Task<IReadOnlyList<SearchResultResponse>?> GetResults()
  • GetSearchTerm signature changed

    • From: Task<string> GetSearchTerm()
    • To: Task<string?> GetSearchTerm()
  • GetSuggestions signature changed

    • From: Task<SuggestResult[]> GetSuggestions()
    • To: Task<IReadOnlyList<SuggestResult>?> GetSuggestions()
  • GoToOverride type changed

    • From: Action<GoToOverrideParameters>?
    • To: GoToOverride?
  • SetSearchTerm signature changed

    • From: Task SetSearchTerm(string searchTerm)
    • To: Task SetSearchTerm(string? value)
  • Sources type changed

    • From: List<SearchSource>?
    • To: IReadOnlyList<SearchSource>?

SimpleRenderer

  • VisualVariables type changed
    • From: HashSet<VisualVariable>
    • To: IReadOnlyList<VisualVariable>?

SliderSegmentClickEvent

  • ThumbIndices type changed
    • From: int[]
    • To: IReadOnlyCollection<double>

SliderSegmentDragEvent

  • State type changed

    • From: SliderDragState
    • To: SliderDragEventState
  • ThumbIndices type changed

    • From: int[]
    • To: IReadOnlyCollection<double>

SliderWidget

  • GetEffectiveSegmentElements signature changed

    • From: Task<ElementReference[]?> GetEffectiveSegmentElements()
    • To: Task<IReadOnlyList<ElementReference>?> GetEffectiveSegmentElements()
  • GetLabelElements signature changed

    • From: Task<ElementReference[]?> GetLabelElements()
    • To: Task<IReadOnlyList<ElementReference>?> GetLabelElements()
  • GetLabels signature changed

    • From: Task<string[]?> GetLabels()
    • To: Task<LabelInfos?> GetLabels()
  • GetSegmentElements signature changed

    • From: Task<ElementReference[]?> GetSegmentElements()
    • To: Task<IReadOnlyList<ElementReference>?> GetSegmentElements()
  • GetThumbElements signature changed

    • From: Task<ElementReference[]?> GetThumbElements()
    • To: Task<IReadOnlyList<ElementReference>?> GetThumbElements()
  • GetTickElements signature changed

    • From: Task<TickElementGroup[][]?> GetTickElements()
    • To: Task<IReadOnlyList<IReadOnlyList<TickElementGroup>>?> GetTickElements()
  • InputCreatedFunction type changed

    • From: string?
    • To: InputCreatedFunction?
  • InputFormatFunction type changed

    • From: string?
    • To: SliderLabelFormatter?
  • InputParseFunction type changed

    • From: string?
    • To: InputParser?
  • LabelFormatFunction type changed

    • From: string?
    • To: SliderLabelFormatter?
  • SetMax signature changed

    • From: Task SetMax(double max)
    • To: Task SetMax(double? value)
  • SetMin signature changed

    • From: Task SetMin(double min)
    • To: Task SetMin(double? value)
  • SetValues signature changed

    • From: Task SetValues(IReadOnlyCollection<double> values)
    • To: Task SetValues(IReadOnlyList<double>? value)
  • Steps type changed

    • From: IReadOnlyCollection<double>?
    • To: IReadOnlyList<double>?
  • ThumbCreatedFunction type changed

    • From: string?
    • To: ThumbCreatedFunction?
  • TickConfigs type changed

    • From: IReadOnlyList<SliderTickConfig>
    • To: IReadOnlyList<TickConfig>?
  • Values type changed

    • From: IReadOnlyCollection<double>?
    • To: IReadOnlyList<double>?

SpatialReference

  • ImageCoordinateSystem type changed
    • From: object?
    • To: string?

StatisticDefinition

  • StatisticParameters type changed
    • From: StatisticParameters
    • To: StatisticDefinitionStatisticParameters

Sublayer

  • Fields type changed

    • From: Field[]?
    • To: IReadOnlyList<Field>?
  • GetAllSublayers signature changed

    • From: IReadOnlyList<Sublayer> GetAllSublayers()
    • To: IReadOnlyList<Sublayer>? GetAllSublayers()
  • LabelingInfo type changed

    • From: IReadOnlyCollection<Label>
    • To: IReadOnlyList<Label>?
  • MaxScale type changed

    • From: int?
    • To: double?
  • MinScale type changed

    • From: int?
    • To: double?
  • SetLegendEnabled signature changed

    • From: Task SetLegendEnabled(bool enabled)
    • To: Task SetLegendEnabled(bool? value)
  • SetPopupEnabled signature changed

    • From: Task SetPopupEnabled(bool enabled)
    • To: Task SetPopupEnabled(bool? value)
  • SetPopupTemplate signature changed

    • From: Task SetPopupTemplate(PopupTemplate popupTemplate)
    • To: Task SetPopupTemplate(PopupTemplate? value)
  • SublayerId type changed

    • From: int?
    • To: long?
  • Sublayers type changed

    • From: IReadOnlyList<Sublayer>
    • To: IReadOnlyList<Sublayer>?
  • Types type changed

    • From: FeatureType[]?
    • To: IReadOnlyList<FeatureType>?

SublayerCapabilities

  • Data type changed

    • From: SublayerData
    • To: SublayerCapabilitiesData
  • Operations type changed

    • From: SublayerOperations
    • To: SublayerCapabilitiesOperations

SuggestResponse

  • Errors type changed

    • From: JavascriptError[]
    • To: IReadOnlyCollection<SuggestResponseErrors>
  • Results type changed

    • From: SuggestResultResponse[]
    • To: IReadOnlyCollection<SuggestResponseResults>

TileInfo

  • Lods type changed

    • From: IList<LOD>?
    • To: IReadOnlyList<LOD>?
  • Size type changed

    • From: IList<double>?
    • To: IReadOnlyList<int>?

TileLayer

  • AllSublayers accessors changed

    • From: { get; }
    • To: { get; set; }
  • Capabilities accessors changed

    • From: { get; }
    • To: { get; set; }
  • Copyright accessors changed

    • From: { get; }
    • To: { get; set; }
  • SpatialReference accessors changed

    • From: { get; }
    • To: { get; set; }

TimeExtent

  • End accessors changed

    • From: { get; }
    • To: { get; set; }
  • Start accessors changed

    • From: { get; }
    • To: { get; set; }

TimeInterval

  • Unit type changed

    • From: TemporalTime
    • To: TemporalTime?
  • Value type changed

    • From: double
    • To: double?

TopFeaturesQuery

  • ObjectIds type changed

    • From: IEnumerable<int>?
    • To: IReadOnlyCollection<long>?
  • OrderByFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?
  • OutFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?
  • Units type changed

    • From: LinearUnit?
    • To: QueryUnits?

TopFilter

  • GroupByFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?
  • OrderByFields type changed

    • From: IEnumerable<string>?
    • To: IReadOnlyCollection<string>?

UniqueValueRenderer

  • DefaultSymbol type changed

    • From: DefaultSymbol?
    • To: Symbol?
  • UniqueValueInfos type changed

    • From: HashSet<UniqueValueInfo>
    • To: IReadOnlyList<UniqueValueInfo>?

VisualVariable

  • LegendOptions type changed
    • From: LegendOptions?
    • To: VisualVariableLegendOptions?

WCSLayer

  • MultidimensionalDefinition type changed

    • From: List<DimensionalDefinition>?
    • To: IReadOnlyList<DimensionalDefinition>?
  • Renderer type changed

    • From: RasterStretchRenderer?
    • To: IImageryRenderer?

WebMap

  • GetBookmarks signature changed
    • From: Task<List<Bookmark>> GetBookmarks()
    • To: Task<IReadOnlyList<Bookmark>?> GetBookmarks()

WebTileLayer

  • SubDomains type changed
    • From: IList<string>?
    • To: IReadOnlyList<string>?
## **New Types**
### **`ArcGISMapServiceCapabilitiesExportMap`**
  • Properties
    • bool? SupportsArcadeExpressionForLabeling { get; } added
    • bool? SupportsCIMSymbols { get; } added
    • bool? SupportsDynamicLayers { get; } added
    • bool? SupportsSublayerDefinitionExpression { get; } added
    • bool? SupportsSublayerOrderBy { get; } added
    • bool? SupportsSublayersChanges { get; } added
    • bool? SupportsSublayerVisibility { get; } added
### **`CSVLayerView`**
  • bool? DataUpdating { get; set; } added
  • bool? HasAllFeatures { get; set; } added
  • bool? HasAllFeaturesInView { get; set; } added
  • bool? HasFullGeometries { get; set; } added
  • bool? MaximumNumberOfFeaturesExceeded { get; set; } added
  • double? MaximumNumberOfFeatures { get; set; } added
  • FeatureEffect? FeatureEffect { get; set; } added
  • FeatureFilter? Filter { get; set; } added
  • HighlightOptions? HighlightOptions { get; set; } added
  • IReadOnlyList<string>? AvailableFields { get; set; } added
  • Methods
    • Task SetFeatureEffect(FeatureEffect? value) added
    • Task SetFilter(FeatureFilter? value) added
    • Task SetHighlightOptions(HighlightOptions? value) added
    • Task SetMaximumNumberOfFeatures(double? value) added
    • Task SetMaximumNumberOfFeaturesExceeded(bool? value) added
    • Task<bool?> GetDataUpdating() added
    • Task<bool?> GetHasAllFeatures() added
    • Task<bool?> GetHasAllFeaturesInView() added
    • Task<bool?> GetHasFullGeometries() added
    • Task<bool?> GetMaximumNumberOfFeaturesExceeded() added
    • Task<double?> GetMaximumNumberOfFeatures() added
    • Task<FeatureEffect?> GetFeatureEffect() added
    • Task<FeatureFilter?> GetFilter() added
    • Task<Handle> Highlight(Graphic graphic) added
    • Task<Handle> Highlight(IReadOnlyCollection<Graphic> graphics) added
    • Task<Handle> Highlight(IReadOnlyCollection<ObjectId> objectIds) added
    • Task<Handle> Highlight(ObjectId objectId) added
    • Task<HighlightOptions?> GetHighlightOptions() added
    • Task<IReadOnlyList<string>?> GetAvailableFields() added
### **`DistanceMeasurement2DWidget`**
  • Properties
    • DistanceMeasurement2DViewModel? ViewModel { get; set; } added
    • IReadOnlyList<SystemOrLengthUnit>? UnitOptions { get; set; } added
    • SnappingOptions? SnappingOptions { get; set; } added
    • SystemOrLengthUnit? Unit { get; set; } added
  • Methods
    • Task AddToUnitOptions(params dymaptic.GeoBlazor.Core.Enums.SystemOrLengthUnit[] values) added
    • Task RemoveFromUnitOptions(params dymaptic.GeoBlazor.Core.Enums.SystemOrLengthUnit[] values) added
    • Task SetSnappingOptions(SnappingOptions? value) added
    • Task SetUnit(SystemOrLengthUnit? value) added
    • Task SetUnitOptions(IReadOnlyList<SystemOrLengthUnit>? value) added
    • Task SetViewModel(DistanceMeasurement2DViewModel? value) added
    • Task<DistanceMeasurement2DViewModel?> GetViewModel() added
    • Task<IReadOnlyList<SystemOrLengthUnit>?> GetUnitOptions() added
    • Task<SnappingOptions?> GetSnappingOptions() added
    • Task<SystemOrLengthUnit?> GetUnit() added
### **`ExportTileMap`**
  • Properties
    • string? Export { get; } added
    • string? Source { get; } added
### **`FeaturesViewModelFetchFeaturesScreenPoint`**
  • double? X { get; set; } added
  • double? Y { get; set; } added
  • Methods
    • Task SetX(double? value) added
    • Task SetY(double? value) added
    • Task<double?> GetX() added
    • Task<double?> GetY() added
### **`FeaturesViewModelScreenPoint`**
  • Properties
    • double? X { get; set; } added
    • double? Y { get; set; } added
  • Methods
    • Task SetX(double? value) added
    • Task SetY(double? value) added
    • Task<double?> GetX() added
    • Task<double?> GetY() added

GeoJSONLayerView

GeoRSSLayerView

### **`GraphicsLayerView`**
  • Properties
    • HighlightOptions? HighlightOptions { get; set; } added
  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) added
    • Task<Handle> Highlight(Graphic graphic) added
    • Task<Handle> Highlight(IReadOnlyCollection<Graphic> graphics) added
    • Task<Handle> Highlight(IReadOnlyCollection<ObjectId> objectIds) added
    • Task<Handle> Highlight(ObjectId objectId) added
    • Task<HighlightOptions?> GetHighlightOptions() added
### **`IBlendLayer`**
  • Properties
    • BlendMode? BlendMode { get; set; } added
    • Effect? Effect { get; set; } added
  • Methods
    • Task SetBlendMode(BlendMode? value) added
    • Task SetEffect(Effect? value) added
    • Task<BlendMode?> GetBlendMode() added
    • Task<Effect?> GetEffect() added

ICatalogLayerListWidget

IClassBreaksRendererBackgroundFillSymbol

### **`IDisplayFilteredLayer`**
  • Properties
    • bool? DisplayFilterEnabled { get; set; } added
    • DisplayFilterInfo? DisplayFilterInfo { get; set; } added
  • Methods
    • Task SetDisplayFilterEnabled(bool? value) added
    • Task SetDisplayFilterInfo(DisplayFilterInfo? value) added
    • Task<bool?> GetDisplayFilterEnabled() added
    • Task<DisplayFilterInfo?> GetDisplayFilterInfo() added

IEditorViewModelGetTemplatesForLayer

IElevationLayer

### **`IFeatureEffectLayer`**
  • Properties
    • FeatureEffect? FeatureEffect { get; set; } added
  • Methods
    • Task SetFeatureEffect(FeatureEffect? value) added
    • Task<FeatureEffect?> GetFeatureEffect() added

IFeatureSetLayer

IFeatureWidget

### **`IGroupLayer`**
  • Properties
    • IReadOnlyList<Layer>? Layers { get; set; } added
### **`ImageryLayerView`**
  • HighlightOptions? HighlightOptions { get; set; } added
  • PixelData? PixelData { get; set; } added
  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) added
    • Task SetPixelData(PixelData? value) added
    • Task<Handle> Highlight(Graphic graphic) added
    • Task<Handle> Highlight(IReadOnlyCollection<Graphic> graphics) added
    • Task<HighlightOptions?> GetHighlightOptions() added
    • Task<PixelData?> GetPixelData() added

IMeasurementWidgetActiveWidget

### **`IOperationalLayer`**
  • Properties
    • bool? PersistenceEnabled { get; set; } added
  • Methods
    • Task SetPersistenceEnabled(bool? value) added
    • Task<bool?> GetPersistenceEnabled() added
### **`IOrderedLayer`**
  • Properties
    • IReadOnlyList<OrderByInfo>? OrderBy { get; set; } added
  • Methods
    • Task AddToOrderBy(params dymaptic.GeoBlazor.Core.Components.OrderByInfo[] values) added
    • Task RemoveFromOrderBy(params dymaptic.GeoBlazor.Core.Components.OrderByInfo[] values) added
    • Task SetOrderBy(IReadOnlyList<OrderByInfo>? value) added
    • Task<IReadOnlyList<OrderByInfo>?> GetOrderBy() added
### **`IPortalLayer`**
  • Properties
    • PortalItem? PortalItem { get; set; } added
  • Methods
    • Task SetPortalItem(PortalItem? value) added
    • Task<PortalItem?> GetPortalItem() added
### **`IPublishableLayer`**
  • Task<PublishingInfo?> GetPublishingInfo() added
### **`IRefreshableLayer`**
  • Properties
    • double? RefreshInterval { get; set; } added
  • Methods
    • Task SetRefreshInterval(double? value) added
    • Task<double?> GetRefreshInterval() added
    • ValueTask Refresh() added

IRenderersRenderer

### **`IScaleRangeLayer`**
  • Properties
    • double? MaxScale { get; set; } added
    • double? MinScale { get; set; } added
  • Methods
    • Task SetMaxScale(double? value) added
    • Task SetMinScale(double? value) added
    • Task<double?> GetMaxScale() added
    • Task<double?> GetMinScale() added

ISketchViewModelPointSymbol

ISketchViewModelPolygonSymbol

ISketchViewModelPolylineSymbol

ISymbolsFillSymbol

ISymbolsMarkerSymbol

ISymbolsSymbol

ITableListWidget

### **`ITemporalLayer`**
  • Properties
    • bool? UseViewTime { get; set; } added
    • TimeExtent? TimeExtent { get; set; } added
    • TimeInfo? TimeInfo { get; set; } added
    • TimeInterval? TimeOffset { get; set; } added
  • Methods
    • Task SetTimeExtent(TimeExtent? value) added
    • Task SetTimeInfo(TimeInfo? value) added
    • Task SetTimeOffset(TimeInterval? value) added
    • Task SetUseViewTime(bool? value) added
    • Task<bool?> GetUseViewTime() added
    • Task<TimeExtent?> GetTimeExtent() added
    • Task<TimeInfo?> GetTimeInfo() added
    • Task<TimeInterval?> GetTimeOffset() added
### **`ITemporalSceneLayer`**
  • Properties
    • TimeExtent? TimeExtent { get; set; } added
    • TimeInfo? TimeInfo { get; set; } added
    • TimeInterval? TimeOffset { get; set; } added
  • Methods
    • Task SetTimeExtent(TimeExtent? value) added
    • Task SetTimeInfo(TimeInfo? value) added
    • Task SetTimeOffset(TimeInterval? value) added
    • Task<TimeExtent?> GetTimeExtent() added
    • Task<TimeInfo?> GetTimeInfo() added
    • Task<TimeInterval?> GetTimeOffset() added
### **`ITrackableLayer`**
  • Properties
    • TrackInfo? TrackInfo { get; set; } added
  • Methods
    • Task SetTrackInfo(TrackInfo? value) added
    • Task<TrackInfo?> GetTrackInfo() added
### **`KMLLayerView`**
  • Properties
    • IReadOnlyList<Graphic>? AllVisiblePoints { get; set; } added
    • IReadOnlyList<Graphic>? AllVisiblePolygons { get; set; } added
    • IReadOnlyList<Graphic>? AllVisiblePolylines { get; set; } added
    • IReadOnlyList<KMLLayerViewMapImage>? AllVisibleMapImages { get; set; } added
  • Methods
    • Task<IReadOnlyList<Graphic>?> GetAllVisiblePoints() added
    • Task<IReadOnlyList<Graphic>?> GetAllVisiblePolygons() added
    • Task<IReadOnlyList<Graphic>?> GetAllVisiblePolylines() added
    • Task<IReadOnlyList<KMLLayerViewMapImage>?> GetAllVisibleMapImages() added
### **`ListItemPanelWidget`**
  • Properties
    • bool? Disabled { get; set; } added
    • bool? FlowEnabled { get; set; } added
    • bool? Open { get; set; } added
    • IReadOnlyList<ListItemPanelContent>? Content { get; set; } added
    • ListItem? ListItem { get; set; } added
    • string? Image { get; set; } added
    • string? Title { get; set; } added
  • Methods
    • Task AddToContent(params dymaptic.GeoBlazor.Core.Model.ListItemPanelContent[] values) added
    • Task RemoveFromContent(params dymaptic.GeoBlazor.Core.Model.ListItemPanelContent[] values) added
    • Task SetContent(IReadOnlyList<ListItemPanelContent>? value) added
    • Task SetDisabled(bool? value) added
    • Task SetFlowEnabled(bool? value) added
    • Task SetImage(string? value) added
    • Task SetOpen(bool? value) added
    • Task SetTitle(string? value) added
    • Task<bool?> GetDisabled() added
    • Task<bool?> GetFlowEnabled() added
    • Task<bool?> GetOpen() added
    • Task<IReadOnlyList<ListItemPanelContent>?> GetContent() added
    • Task<string?> GetImage() added
    • Task<string?> GetTitle() added
### **`Polyline`**
  • Properties
    • IReadOnlyList<MapPath> Paths { get; set; } added
  • Methods
    • Polyline Clone() added
    • Task<Point?> GetPoint(int pathIndex, int pointIndex) added
    • Task<Point?> RemovePoint(int pathIndex, int pointIndex) added
    • Task<Point[]?> RemovePath(int index) added
    • Task<Polyline?> AddPath(IReadOnlyCollection<Point> points) added
    • Task<Polyline?> InsertPoint(int pathIndex, int pointIndex, Point point) added
    • Task<Polyline?> SetPoint(int pathIndex, int pointIndex, Point point) added
### **`RasterPresetRenderer`**
  • Properties
    • IReadOnlyList<long>? BandIds { get; set; } added
    • Method? Method { get; set; } added
    • Renderer? Renderer { get; set; } added
    • string? Name { get; set; } added
    • string? Value { get; set; } added
  • Methods
    • Task AddToBandIds(params long[] values) added
    • Task RemoveFromBandIds(params long[] values) added
    • Task SetBandIds(IReadOnlyList<long>? value) added
    • Task SetMethod(Method? value) added
    • Task SetName(string? value) added
    • Task SetRenderer(Renderer? value) added
    • Task SetValue(string? value) added
    • Task<IReadOnlyList<long>?> GetBandIds() added
    • Task<Method?> GetMethod() added
    • Task<Renderer?> GetRenderer() added
    • Task<string?> GetName() added
    • Task<string?> GetValue() added
### **`SearchLayer`**
  • Properties
    • double? SubLayer { get; set; } added
    • SearchLayerField? Field { get; set; } added
    • string? SearchLayerId { get; set; } added
  • Methods
    • Task SetField(SearchLayerField? value) added
    • Task SetSearchLayerId(string? value) added
    • Task SetSubLayer(double? value) added
    • Task<double?> GetSubLayer() added
    • Task<SearchLayerField?> GetField() added
    • Task<string?> GetSearchLayerId() added

UnknownLayer

UnsupportedLayer

### **`WFSLayer`**
  • Properties
    • BlendMode? BlendMode { get; set; } added
    • bool HasRefreshListener { get; } added
    • bool? DisplayFilterEnabled { get; set; } added
    • bool? LabelsVisible { get; set; } added
    • bool? LegendEnabled { get; set; } added
    • bool? PopupEnabled { get; set; } added
    • bool? ScreenSizePerspectiveEnabled { get; set; } added
    • DisplayFilterInfo? DisplayFilterInfo { get; set; } added
    • double? MaxScale { get; set; } added
    • double? MinScale { get; set; } added
    • double? RefreshInterval { get; set; } added
    • Effect? Effect { get; set; } added
    • EventCallback<RefreshEvent> OnRefresh { get; set; } added
    • FeatureEffect? FeatureEffect { get; set; } added
    • FieldsIndex? FieldsIndex { get; set; } added
    • IFeatureReduction? FeatureReduction { get; set; } added
    • int? MaxPageCount { get; set; } added
    • int? MaxRecordCount { get; set; } added
    • IReadOnlyList<Field>? Fields { get; set; } added
    • IReadOnlyList<Label>? LabelingInfo { get; set; } added
    • IReadOnlyList<OrderByInfo>? OrderBy { get; set; } added
    • IReadOnlyList<string>? OutFields { get; set; } added
    • PopupTemplate? PopupTemplate { get; set; } added
    • PortalItem? PortalItem { get; set; } added
    • Renderer? Renderer { get; set; } added
    • SimpleGeometryType? GeometryType { get; set; } added
    • SpatialReference? SpatialReference { get; set; } added
    • string? Copyright { get; set; } added
    • string? DateFieldsTimeZone { get; set; } added
    • string? DefinitionExpression { get; set; } added
    • string? DisplayField { get; set; } added
    • string? Name { get; set; } added
    • string? NamespaceUri { get; set; } added
    • string? ObjectIdField { get; set; } added
    • string? Url { get; set; } added
    • TrackInfo? TrackInfo { get; set; } added
    • void CustomParameters { set; } added
    • WFSCapabilities? WfsCapabilities { get; set; } added
    • WFSLayerCapabilities? Capabilities { get; set; } added
    • WFSLayerElevationInfo? ElevationInfo { get; set; } added
  • Methods
    • Task AddToFields(params dymaptic.GeoBlazor.Core.Components.Field[] values) added
    • Task AddToLabelingInfo(params dymaptic.GeoBlazor.Core.Components.Label[] values) added
    • Task AddToOrderBy(params dymaptic.GeoBlazor.Core.Components.OrderByInfo[] values) added
    • Task AddToOutFields(params string[] values) added
    • Task RemoveFromFields(params dymaptic.GeoBlazor.Core.Components.Field[] values) added
    • Task RemoveFromLabelingInfo(params dymaptic.GeoBlazor.Core.Components.Label[] values) added
    • Task RemoveFromOrderBy(params dymaptic.GeoBlazor.Core.Components.OrderByInfo[] values) added
    • Task RemoveFromOutFields(params string[] values) added
    • Task SetBlendMode(BlendMode? value) added
    • Task SetCopyright(string? value) added
    • Task SetCustomParameters(Dictionary<string, object>? value) added
    • Task SetDefinitionExpression(string? value) added
    • Task SetDisplayField(string? value) added
    • Task SetDisplayFilterEnabled(bool? value) added
    • Task SetDisplayFilterInfo(DisplayFilterInfo? value) added
    • Task SetEffect(Effect? value) added
    • Task SetElevationInfo(WFSLayerElevationInfo? value) added
    • Task SetFeatureEffect(FeatureEffect? value) added
    • Task SetFeatureReduction(IFeatureReduction? value) added
    • Task SetFields(IReadOnlyList<Field>? value) added
    • Task SetGeometryType(SimpleGeometryType? value) added
    • Task SetLabelingInfo(IReadOnlyList<Label>? value) added
    • Task SetLabelsVisible(bool? value) added
    • Task SetLegendEnabled(bool? value) added
    • Task SetMaxPageCount(int? value) added
    • Task SetMaxRecordCount(int? value) added
    • Task SetMaxScale(double? value) added
    • Task SetMinScale(double? value) added
    • Task SetName(string? value) added
    • Task SetNamespaceUri(string? value) added
    • Task SetObjectIdField(string? value) added
    • Task SetOrderBy(IReadOnlyList<OrderByInfo>? value) added
    • Task SetOutFields(IReadOnlyList<string>? value) added
    • Task SetPersistenceEnabled(bool? value) added
    • Task SetPopupEnabled(bool? value) added
    • Task SetPopupTemplate(PopupTemplate? value) added
    • Task SetPortalItem(PortalItem? value) added
    • Task SetRefreshInterval(double? value) added
    • Task SetRenderer(Renderer? value) added
    • Task SetScreenSizePerspectiveEnabled(bool? value) added
    • Task SetSpatialReference(SpatialReference? value) added
    • Task SetTrackInfo(TrackInfo? value) added
    • Task SetUrl(string? value) added
    • Task SetWfsCapabilities(WFSCapabilities? value) added
    • Task<BlendMode?> GetBlendMode() added
    • Task<bool?> GetDisplayFilterEnabled() added
    • Task<bool?> GetLabelsVisible() added
    • Task<bool?> GetLegendEnabled() added
    • Task<bool?> GetPopupEnabled() added
    • Task<bool?> GetScreenSizePerspectiveEnabled() added
    • Task<DisplayFilterInfo?> GetDisplayFilterInfo() added
    • Task<double?> GetMaxScale() added
    • Task<double?> GetMinScale() added
    • Task<double?> GetRefreshInterval() added
    • Task<Effect?> GetEffect() added
    • Task<FeatureEffect?> GetFeatureEffect() added
    • Task<FieldsIndex?> GetFieldsIndex() added
    • Task<IFeatureReduction?> GetFeatureReduction() added
    • Task<int?> GetMaxPageCount() added
    • Task<int?> GetMaxRecordCount() added
    • Task<IReadOnlyList<Field>?> GetFields() added
    • Task<IReadOnlyList<Label>?> GetLabelingInfo() added
    • Task<IReadOnlyList<OrderByInfo>?> GetOrderBy() added
    • Task<IReadOnlyList<string>?> GetOutFields() added
    • Task<PopupTemplate?> GetPopupTemplate() added
    • Task<PortalItem?> GetPortalItem() added
    • Task<Renderer?> GetRenderer() added
    • Task<SimpleGeometryType?> GetGeometryType() added
    • Task<SpatialReference?> GetSpatialReference() added
    • Task<string?> GetCopyright() added
    • Task<string?> GetDateFieldsTimeZone() added
    • Task<string?> GetDefinitionExpression() added
    • Task<string?> GetDisplayField() added
    • Task<string?> GetName() added
    • Task<string?> GetNamespaceUri() added
    • Task<string?> GetObjectIdField() added
    • Task<string?> GetUrl() added
    • Task<TrackInfo?> GetTrackInfo() added
    • Task<WFSCapabilities?> GetWfsCapabilities() added
    • Task<WFSLayerCapabilities?> GetCapabilities() added
    • Task<WFSLayerElevationInfo?> GetElevationInfo() added
### **`WFSLayerView`**
  • Properties
    • bool? DataUpdating { get; set; } added
    • bool? HasAllFeatures { get; set; } added
    • bool? HasAllFeaturesInView { get; set; } added
    • bool? HasFullGeometries { get; set; } added
    • bool? MaximumNumberOfFeaturesExceeded { get; set; } added
    • double? MaximumNumberOfFeatures { get; set; } added
    • FeatureEffect? FeatureEffect { get; set; } added
    • FeatureFilter? Filter { get; set; } added
    • HighlightOptions? HighlightOptions { get; set; } added
    • IReadOnlyList<string>? AvailableFields { get; set; } added
  • Methods
    • Task SetFeatureEffect(FeatureEffect? value) added
    • Task SetFilter(FeatureFilter? value) added
    • Task SetHighlightOptions(HighlightOptions? value) added
    • Task SetMaximumNumberOfFeatures(double? value) added
    • Task SetMaximumNumberOfFeaturesExceeded(bool? value) added
    • Task<bool?> GetDataUpdating() added
    • Task<bool?> GetHasAllFeatures() added
    • Task<bool?> GetHasAllFeaturesInView() added
    • Task<bool?> GetHasFullGeometries() added
    • Task<bool?> GetMaximumNumberOfFeaturesExceeded() added
    • Task<double?> GetMaximumNumberOfFeatures() added
    • Task<FeatureEffect?> GetFeatureEffect() added
    • Task<FeatureFilter?> GetFilter() added
    • Task<Handle> Highlight(Graphic graphic) added
    • Task<Handle> Highlight(IReadOnlyCollection<Graphic> graphics) added
    • Task<Handle> Highlight(IReadOnlyCollection<ObjectId> objectIds) added
    • Task<Handle> Highlight(ObjectId objectId) added
    • Task<HighlightOptions?> GetHighlightOptions() added
    • Task<IReadOnlyList<string>?> GetAvailableFields() added
### **`WMSLayer`**
  • Properties
    • BlendMode? BlendMode { get; set; } added
    • bool HasFetchFeatureInfoFunction { get; } added
    • bool HasRefreshListener { get; } added
    • bool? ImageTransparency { get; set; } added
    • bool? LegendEnabled { get; set; } added
    • bool? UseViewTime { get; set; } added
    • double? MaxScale { get; set; } added
    • double? MinScale { get; set; } added
    • double? RefreshInterval { get; set; } added
    • Effect? Effect { get; set; } added
    • EventCallback<RefreshEvent> OnRefresh { get; set; } added
    • FeatureInfoFormat? FeatureInfoFormat { get; set; } added
    • FetchFeatureInfoFunction? FetchFeatureInfoFunction { get; set; } added
    • int? ImageMaxHeight { get; set; } added
    • int? ImageMaxWidth { get; set; } added
    • IReadOnlyList<double>? SpatialReferences { get; set; } added
    • IReadOnlyList<Extent>? FullExtents { get; set; } added
    • IReadOnlyList<object>? Dimensions { get; set; } added
    • IReadOnlyList<string>? FeatureInfoFormats { get; set; } added
    • IReadOnlyList<WMSSublayer>? AllSublayers { get; set; } added
    • IReadOnlyList<WMSSublayer>? Sublayers { get; set; } added
    • PortalItem? PortalItem { get; set; } added
    • SpatialReference? SpatialReference { get; set; } added
    • string? Copyright { get; set; } added
    • string? CustomLayerParameters { get; set; } added
    • string? Description { get; set; } added
    • string? FeatureInfoUrl { get; set; } added
    • string? ImageFormat { get; set; } added
    • string? Url { get; set; } added
    • string? Version { get; set; } added
    • TimeExtent? TimeExtent { get; set; } added
    • TimeInfo? TimeInfo { get; set; } added
    • TimeInterval? TimeOffset { get; set; } added
    • void CustomParameters { set; } added
  • Methods
    • Task AddToFullExtents(params dymaptic.GeoBlazor.Core.Components.Geometries.Extent[] values) added
    • Task AddToSpatialReferences(params double[] values) added
    • Task AddToSublayers(params dymaptic.GeoBlazor.Core.Components.WMSSublayer[] values) added
    • Task RemoveFromFullExtents(params dymaptic.GeoBlazor.Core.Components.Geometries.Extent[] values) added
    • Task RemoveFromSpatialReferences(params double[] values) added
    • Task RemoveFromSublayers(params dymaptic.GeoBlazor.Core.Components.WMSSublayer[] values) added
    • Task SetBlendMode(BlendMode? value) added
    • Task SetCopyright(string? value) added
    • Task SetCustomLayerParameters(string? value) added
    • Task SetCustomParameters(Dictionary<string, object>? value) added
    • Task SetDescription(string? value) added
    • Task SetEffect(Effect? value) added
    • Task SetFeatureInfoFormat(FeatureInfoFormat? value) added
    • Task SetFeatureInfoUrl(string? value) added
    • Task SetFullExtents(IReadOnlyList<Extent>? value) added
    • Task SetImageFormat(string? value) added
    • Task SetImageMaxHeight(int? value) added
    • Task SetImageMaxWidth(int? value) added
    • Task SetImageTransparency(bool? value) added
    • Task SetLegendEnabled(bool? value) added
    • Task SetMaxScale(double? value) added
    • Task SetMinScale(double? value) added
    • Task SetPersistenceEnabled(bool? value) added
    • Task SetPortalItem(PortalItem? value) added
    • Task SetRefreshInterval(double? value) added
    • Task SetSpatialReference(SpatialReference? value) added
    • Task SetSpatialReferences(IReadOnlyList<double>? value) added
    • Task SetSublayers(IReadOnlyList<WMSSublayer>? value) added
    • Task SetTimeExtent(TimeExtent? value) added
    • Task SetTimeInfo(TimeInfo? value) added
    • Task SetTimeOffset(TimeInterval? value) added
    • Task SetUrl(string? value) added
    • Task SetUseViewTime(bool? value) added
    • Task SetVersion(string? value) added
    • Task<BlendMode?> GetBlendMode() added
    • Task<bool?> GetImageTransparency() added
    • Task<bool?> GetLegendEnabled() added
    • Task<bool?> GetUseViewTime() added
    • Task<double?> GetMaxScale() added
    • Task<double?> GetMinScale() added
    • Task<double?> GetRefreshInterval() added
    • Task<Effect?> GetEffect() added
    • Task<FeatureInfoFormat?> GetFeatureInfoFormat() added
    • Task<Graphic[]?> OnJsFetchFeatureInfoFunction(string query) added
    • Task<int?> GetImageMaxHeight() added
    • Task<int?> GetImageMaxWidth() added
    • Task<IReadOnlyList<double>?> GetSpatialReferences() added
    • Task<IReadOnlyList<Extent>?> GetFullExtents() added
    • Task<IReadOnlyList<object>?> GetDimensions() added
    • Task<IReadOnlyList<string>?> GetFeatureInfoFormats() added
    • Task<IReadOnlyList<WMSSublayer>?> GetAllSublayers() added
    • Task<IReadOnlyList<WMSSublayer>?> GetSublayers() added
    • Task<PortalItem?> GetPortalItem() added
    • Task<SpatialReference?> GetSpatialReference() added
    • Task<string?> GetCopyright() added
    • Task<string?> GetCustomLayerParameters() added
    • Task<string?> GetDescription() added
    • Task<string?> GetFeatureInfoUrl() added
    • Task<string?> GetImageFormat() added
    • Task<string?> GetUrl() added
    • Task<string?> GetVersion() added
    • Task<TimeExtent?> GetTimeExtent() added
    • Task<TimeInfo?> GetTimeInfo() added
    • Task<TimeInterval?> GetTimeOffset() added
### **`WMTSLayer`**
  • Properties
    • BlendMode? BlendMode { get; set; } added
    • double? MaxScale { get; set; } added
    • double? MinScale { get; set; } added
    • double? RefreshInterval { get; set; } added
    • Effect? Effect { get; set; } added
    • IReadOnlyList<WMTSSublayer>? Sublayers { get; set; } added
    • PortalItem? PortalItem { get; set; } added
    • ServiceMode? ServiceMode { get; set; } added
    • string? Copyright { get; set; } added
    • string? CustomLayerParameters { get; set; } added
    • string? Url { get; set; } added
    • string? Version { get; set; } added
    • void CustomParameters { set; } added
    • WMTSSublayer? ActiveLayer { get; set; } added
  • Methods
    • Task AddToSublayers(params dymaptic.GeoBlazor.Core.Components.WMTSSublayer[] values) added
    • Task RemoveFromSublayers(params dymaptic.GeoBlazor.Core.Components.WMTSSublayer[] values) added
    • Task SetActiveLayer(WMTSSublayer? value) added
    • Task SetBlendMode(BlendMode? value) added
    • Task SetCopyright(string? value) added
    • Task SetCustomLayerParameters(string? value) added
    • Task SetCustomParameters(Dictionary<string, object>? value) added
    • Task SetEffect(Effect? value) added
    • Task SetMaxScale(double? value) added
    • Task SetMinScale(double? value) added
    • Task SetPersistenceEnabled(bool? value) added
    • Task SetPortalItem(PortalItem? value) added
    • Task SetRefreshInterval(double? value) added
    • Task SetServiceMode(ServiceMode? value) added
    • Task SetSublayers(IReadOnlyList<WMTSSublayer>? value) added
    • Task SetUrl(string? value) added
    • Task SetVersion(string? value) added
    • Task<BlendMode?> GetBlendMode() added
    • Task<double?> GetMaxScale() added
    • Task<double?> GetMinScale() added
    • Task<double?> GetRefreshInterval() added
    • Task<Effect?> GetEffect() added
    • Task<IReadOnlyList<WMTSSublayer>?> GetSublayers() added
    • Task<PortalItem?> GetPortalItem() added
    • Task<ServiceMode?> GetServiceMode() added
    • Task<string?> GetCopyright() added
    • Task<string?> GetCustomLayerParameters() added
    • Task<string?> GetUrl() added
    • Task<string?> GetVersion() added
    • Task<WMTSSublayer?> GetActiveLayer() added
### **`ZoomWidget`**
  • Properties
    • WidgetLayout? Layout { get; set; } added
    • ZoomViewModel? ViewModel { get; set; } added
  • Methods
    • Task SetLayout(WidgetLayout? value) added
    • Task SetViewModel(ZoomViewModel? value) added
    • Task ZoomIn() added
    • Task ZoomOut() added
    • Task<WidgetLayout?> GetLayout() added
    • Task<ZoomViewModel?> GetViewModel() added
## **All API Changes**
### **ActionBase**

Removed Members

  • Properties
    • string? Id removed
### **ActionButton**

Removed Members

  • Properties
    • string? ClassName removed
### **ArcadeReturnType**

Type removed

### **ArcGISMapServiceCapabilitiesExportMap**

New Members

  • Properties
    • bool? SupportsArcadeExpressionForLabeling { get; } added
    • bool? SupportsCIMSymbols { get; } added
    • bool? SupportsDynamicLayers { get; } added
    • bool? SupportsSublayerDefinitionExpression { get; } added
    • bool? SupportsSublayerOrderBy { get; } added
    • bool? SupportsSublayersChanges { get; } added
    • bool? SupportsSublayerVisibility { get; } added
### **AreaMeasurement2DWidget**

Changed Members

  • Properties
    • Unit type changed
      • From: AreaUnit
      • To: SystemOrAreaUnit?
    • UnitOptions type changed
      • From: AreaUnit[]?
      • To: IReadOnlyList<SystemOrAreaUnit>?
### **AreaUnit**

Type removed

### **AttachmentEdit**

Changed Members

  • Properties
    • ObjectId type changed
      • From: int?
      • To: ObjectId?
### **AttachmentsContent**

Changed Members

  • Properties
    • DisplayType type changed
      • From: string?
      • To: AttachmentsContentDisplayType?
### **AttributesDictionary**

Changed Members

  • Methods
    • AddOrUpdate signature changed
      • From: Task AddOrUpdate(string key, object value)
      • To: Task AddOrUpdate(string key, object? value)
### **BarChartMediaInfo**

Removed Members

  • Properties
    • string? AltText removed
    • string? Caption removed
    • string? Title removed
### **BasemapGalleryWidget**

Removed Members

  • Properties
    • PortalBasemapsSource? PortalBasemapsSource removed
### **BasemapLayerListWidget**

Removed Members

  • Properties
    • string? Label removed
### **BasemapStyle**

Changed Members

  • Properties
    • Name type changed
      • From: BasemapStyleName
      • To: BasemapStyleName?
### **BaseTileLayer**

Changed Members

  • Methods
    • SetEffect signature changed
      • From: Task SetEffect(Effect effect)
      • To: Task SetEffect(Effect? effect)
### **BingMapsLayer**

Changed Members

  • Properties
    • Key type changed
      • From: string?
      • To: string
### **Bookmark**

Changed Members

  • Properties
    • Thumbnail type changed
      • From: string?
      • To: BookmarkThumbnail?
### **BookmarksWidget**

Removed Members

  • Methods
    • Task OnJavascriptBookmarkSelect(BookmarkSelectEvent bookmarkSelectEvent) removed

Changed Members

  • Properties
    • Bookmarks type changed
      • From: List<Bookmark>?
      • To: IReadOnlyList<Bookmark>?
### **ChartMediaInfoValue**

Changed Members

  • Properties
    • Fields type changed
      • From: IEnumerable<string>
      • To: IReadOnlyList<string>?
    • Series type changed
      • From: IList<ChartMediaInfoValueSeries>?
      • To: IReadOnlyList<ChartMediaInfoValueSeries>?
### **ColorStop**

Changed Members

  • Properties
    • Color type changed
      • From: MapColor?
      • To: MapColor
### **ColumnChartMediaInfo**

Removed Members

  • Properties
    • string? AltText removed
    • string? Caption removed
    • string? Title removed
### **CompassWidget**

Removed Members

  • Properties
    • string? Label removed
### **CreatePopupTemplateOptions**

Changed Members

  • Properties
    • IgnoreFieldTypes type changed
      • From: string[]?
      • To: IReadOnlyCollection<IgnoreFieldTypes>?
    • VisibleFieldNames type changed
      • From: HashSet<string>?
      • To: IReadOnlyCollection<string>?
### **CSVLayer**

Changed Members

  • Properties
    • Url type changed
      • From: string?
      • To: string
### **CSVLayerView**

New Members

  • Properties
    • bool? DataUpdating { get; set; } added
    • bool? HasAllFeatures { get; set; } added
    • bool? HasAllFeaturesInView { get; set; } added
    • bool? HasFullGeometries { get; set; } added
    • bool? MaximumNumberOfFeaturesExceeded { get; set; } added
    • double? MaximumNumberOfFeatures { get; set; } added
    • FeatureEffect? FeatureEffect { get; set; } added
    • FeatureFilter? Filter { get; set; } added
    • HighlightOptions? HighlightOptions { get; set; } added
    • IReadOnlyList<string>? AvailableFields { get; set; } added
  • Methods
    • Task SetFeatureEffect(FeatureEffect? value) added
    • Task SetFilter(FeatureFilter? value) added
    • Task SetHighlightOptions(HighlightOptions? value) added
    • Task SetMaximumNumberOfFeatures(double? value) added
    • Task SetMaximumNumberOfFeaturesExceeded(bool? value) added
    • Task<bool?> GetDataUpdating() added
    • Task<bool?> GetHasAllFeatures() added
    • Task<bool?> GetHasAllFeaturesInView() added
    • Task<bool?> GetHasFullGeometries() added
    • Task<bool?> GetMaximumNumberOfFeaturesExceeded() added
    • Task<double?> GetMaximumNumberOfFeatures() added
    • Task<FeatureEffect?> GetFeatureEffect() added
    • Task<FeatureFilter?> GetFilter() added
    • Task<Handle> Highlight(Graphic graphic) added
    • Task<Handle> Highlight(IReadOnlyCollection<Graphic> graphics) added
    • Task<Handle> Highlight(IReadOnlyCollection<ObjectId> objectIds) added
    • Task<Handle> Highlight(ObjectId objectId) added
    • Task<HighlightOptions?> GetHighlightOptions() added
    • Task<IReadOnlyList<string>?> GetAvailableFields() added
### **DimensionalDefinition**

Changed Members

  • Properties
    • Values type changed
      • From: List<long>?
      • To: DimensionalDefinitionValues?
### **Direction**

Removed Members

  • Properties
    • double Length removed
    • string Text removed
### **DistanceMeasurement2DWidget**

New Members

  • Properties
    • DistanceMeasurement2DViewModel? ViewModel { get; set; } added
    • IReadOnlyList<SystemOrLengthUnit>? UnitOptions { get; set; } added
    • SnappingOptions? SnappingOptions { get; set; } added
    • SystemOrLengthUnit? Unit { get; set; } added
  • Methods
    • Task AddToUnitOptions(params dymaptic.GeoBlazor.Core.Enums.SystemOrLengthUnit[] values) added
    • Task RemoveFromUnitOptions(params dymaptic.GeoBlazor.Core.Enums.SystemOrLengthUnit[] values) added
    • Task SetSnappingOptions(SnappingOptions? value) added
    • Task SetUnit(SystemOrLengthUnit? value) added
    • Task SetUnitOptions(IReadOnlyList<SystemOrLengthUnit>? value) added
    • Task SetViewModel(DistanceMeasurement2DViewModel? value) added
    • Task<DistanceMeasurement2DViewModel?> GetViewModel() added
    • Task<IReadOnlyList<SystemOrLengthUnit>?> GetUnitOptions() added
    • Task<SnappingOptions?> GetSnappingOptions() added
    • Task<SystemOrLengthUnit?> GetUnit() added
### **DynamicDataLayer**

Changed Members

  • Properties
    • Fields type changed
      • From: IReadOnlyCollection<DynamicLayerField>
      • To: IReadOnlyList<DynamicDataLayerFields>?
### **DynamicLayerField**

Type removed

### **EditedFeatureResult**

Changed Members

  • Properties
    • EditedFeatures type changed
      • From: EditedFeatures?
      • To: EditedFeatureResultEditedFeatures?
### **EditedFeatures**

Type removed

### **EditedFeatureUpdate**

Type removed

### **EditError**

Type removed

### **ElevationLayer**

Type removed

### **ExpandWidget**

Changed Members

  • Properties
    • Mode type changed
      • From: Mode
      • To: ExpandMode
### **ExportTileMap**

New Members

  • Properties
    • string? Export { get; } added
    • string? Source { get; } added
### **ExpressionInfo**

Type removed

### **ExtentQueryResult**

Changed Members

  • Properties
    • Extent type changed
      • From: Extent
      • To: Extent?
### **FeatureEditOptions**

Changed Members

  • Properties
    • ReturnServiceEditsOption type changed
      • From: string?
      • To: ReturnServiceEditsOption?
### **FeatureEditResult**

Changed Members

  • Properties
    • Error type changed
      • From: EditError?
      • To: FeatureEditResultError?
    • ObjectId type changed
      • From: long?
      • To: ObjectId?
### **FeatureEdits**

Changed Members

  • Properties
    • AddAttachments type changed
      • From: IEnumerable<AttachmentEdit>?
      • To: IReadOnlyList<AttachmentEdit>?
    • AddFeatures type changed
      • From: IEnumerable<Graphic>?
      • To: IReadOnlyList<Graphic>?
    • DeleteAttachments type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyList<string>?
    • DeleteFeatures type changed
      • From: IEnumerable<Graphic>?
      • To: IReadOnlyList<Graphic>?
    • UpdateAttachments type changed
      • From: IEnumerable<AttachmentEdit>?
      • To: IReadOnlyList<AttachmentEdit>?
    • UpdateFeatures type changed
      • From: IEnumerable<Graphic>?
      • To: IReadOnlyList<Graphic>?
### **FeatureEffect**

Changed Members

  • Properties
    • ExcludedEffect type changed
      • From: List<Effect>?
      • To: IReadOnlyList<Effect>?
    • IncludedEffect type changed
      • From: List<Effect>?
      • To: IReadOnlyList<Effect>?
### **FeatureFilter**

Changed Members

  • Properties
    • ObjectIds type changed
      • From: IEnumerable<int>?
      • To: IReadOnlyList<ObjectId>?
    • Units type changed
      • From: LinearUnit?
      • To: QueryUnits?
### **FeatureLayer**

Changed Members

  • Methods
    • GetCapabilities signature changed
      • From: Task<FeatureLayerCapabilities> GetCapabilities()
      • To: Task<FeatureLayerCapabilities?> GetCapabilities()
    • QueryObjectIds signature changed
      • From: Task<int[]> QueryObjectIds(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
      • To: Task<ObjectId[]> QueryObjectIds(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • QueryTopObjectIds signature changed
      • From: Task<int[]> QueryTopObjectIds(TopFeaturesQuery query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
      • To: Task<ObjectId[]> QueryTopObjectIds(TopFeaturesQuery query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • SetEffect signature changed
      • From: Task SetEffect(Effect effect)
      • To: Task SetEffect(Effect? effect)
    • SetPopupTemplate signature changed
      • From: Task SetPopupTemplate(PopupTemplate template)
      • To: Task SetPopupTemplate(PopupTemplate? value)
  • Properties
    • Fields type changed
      • From: IReadOnlyCollection<Field>?
      • To: IReadOnlyList<Field>?
    • FormTemplate type changed
      • From: FormTemplate?
      • To: IFormTemplate?
    • GeometryType type changed
      • From: GeometryType?
      • To: FeatureGeometryType?
    • LabelingInfo type changed
      • From: List<Label>?
      • To: IReadOnlyList<Label>?
    • OrderBy type changed
      • From: List<OrderedLayerOrderBy>?
      • To: IReadOnlyList<OrderByInfo>?
    • OutFields type changed
      • From: string[]?
      • To: IReadOnlyList<string>?
    • Relationships type changed
      • From: Relationship[]?
      • To: IReadOnlyList<Relationship>?
    • Source type changed
      • From: IReadOnlyCollection<Graphic>?
      • To: IReadOnlyList<Graphic>?
### **FeatureLayerView**

Changed Members

  • Methods
    • Highlight signature changed
      • From: Task<HighlightHandle> Highlight(Graphic graphic)
      • To: Task<Handle> Highlight(Graphic graphic)
    • QueryExtent signature changed
      • From: Task<ExtentQueryResult> QueryExtent(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
      • To: Task<ExtentQueryResult?> QueryExtent(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • QueryFeatureCount signature changed
      • From: Task<int> QueryFeatureCount(Query? query = null, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
      • To: Task<int?> QueryFeatureCount(Query? query = null, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
    • QueryObjectIds signature changed
      • From: Task<int[]> QueryObjectIds(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
      • To: Task<ObjectId[]?> QueryObjectIds(Query query, CancellationToken cancellationToken = default(System.Threading.CancellationToken)
  • Properties
    • FeatureEffect accessors changed
      • From: { get; }
      • To: { get; set; }
    • Filter accessors changed
      • From: { get; }
      • To: { get; set; }
### **FeatureSet**

Changed Members

  • Properties
    • DisplayFieldName accessors changed
      • From: { get; set; }
      • To: { get; }
    • ExceededTransferLimit accessors changed
      • From: { get; set; }
      • To: { get; }
    • Features accessors changed
      • From: { get; set; }
      • To: { get; }
    • Fields accessors changed
      • From: { get; set; }
      • To: { get; }
    • GeometryType accessors changed
      • From: { get; set; }
      • To: { get; }
    • QueryGeometry accessors changed
      • From: { get; set; }
      • To: { get; }
    • SpatialReference accessors changed
      • From: { get; set; }
      • To: { get; }
### **FeaturesViewModelFetchFeaturesScreenPoint**

New Members

  • Properties
    • double? X { get; set; } added
    • double? Y { get; set; } added
  • Methods
    • Task SetX(double? value) added
    • Task SetY(double? value) added
    • Task<double?> GetX() added
    • Task<double?> GetY() added
### **FeaturesViewModelScreenPoint**

New Members

  • Properties
    • double? X { get; set; } added
    • double? Y { get; set; } added
  • Methods
    • Task SetX(double? value) added
    • Task SetY(double? value) added
    • Task<double?> GetX() added
    • Task<double?> GetY() added
### **FeatureTemplate**

Type removed

### **FeatureType**

Removed Members

  • Properties
    • string Id removed

Changed Members

  • Properties
    • Templates type changed
      • From: FeatureTemplate[]
      • To: IReadOnlyCollection<IFeatureTemplate>
### **Field**

Changed Members

  • Properties
    • Type type changed
      • From: FieldType
      • To: FieldType?
### **FieldElement**

Type removed

### **FieldInfo**

Changed Members

  • Properties
    • StringFieldOption type changed
      • From: string?
      • To: StringFieldOption?
### **FieldInfoFormat**

Changed Members

  • Properties
    • DateFormat type changed
      • From: string?
      • To: DateFormat?
### **FieldsIndex**

Removed Members

  • Properties
    • void JsFieldsReference removed

Changed Members

  • Methods
    • Get signature changed
      • From: Task<Field> Get(string fieldName)
      • To: Task<Field?> Get(string fieldName)
    • GetTimeZone signature changed
      • From: Task<string?> GetTimeZone(string fieldName)
      • To: Task<string?> GetTimeZone(string fieldOrFieldName)
    • Has signature changed
      • From: Task<bool> Has(string fieldName)
      • To: Task<bool?> Has(string fieldName)
    • IsDateField signature changed
      • From: Task<bool> IsDateField(string fieldName)
      • To: Task<bool?> IsDateField(string fieldName)
  • Properties
    • DateFields type changed
      • From: Field[]?
      • To: IReadOnlyList<Field>?
### **FieldsContent**

Changed Members

  • Properties
    • FieldInfos type changed
      • From: HashSet<FieldInfo>?
      • To: IReadOnlyList<FieldInfo>?
### **FillStyle**

Type removed

### **FormElement**

Type removed

### **FormTemplate**

Type removed

### **GeoJSONLayerView**

New Type

### **Geometry**

Changed Members

  • Properties
    • Extent accessors changed
      • From: { get; set; }
      • To: { get; }
### **GeometryEngine**

Changed Members

  • Methods
    • AddPath signature changed
      • From: Task<PolyLine> AddPath(PolyLine polyLine, Point[] points)
      • To: Task<Polyline> AddPath(Polyline polyline, Point[] points)
    • Cut signature changed
      • From: Task<Geometry[]> Cut(Geometry geometry, PolyLine cutter)
      • To: Task<Geometry[]> Cut(Geometry geometry, Polyline cutter)
    • Densify signature changed
      • From: Task<Geometry> Densify(Geometry geometry, double maxSegmentLength, LinearUnit? maxSegmentLengthUnit = null)
      • To: Task<Geometry> Densify(Geometry geometry, double maxSegmentLength, GeometryEngineLinearUnit? maxSegmentLengthUnit = null)
    • Distance signature changed
      • From: Task<double> Distance(Geometry geometry1, Geometry geometry2, LinearUnit? distanceUnit = null)
      • To: Task<double> Distance(Geometry geometry1, Geometry geometry2, GeometryEngineLinearUnit? distanceUnit = null)
    • Generalize signature changed
      • From: Task<Geometry> Generalize(Geometry geometry, double maxDeviation, bool? removeDegenerateParts = null, LinearUnit? maxDeviationUnit = null)
      • To: Task<Geometry> Generalize(Geometry geometry, double maxDeviation, bool? removeDegenerateParts = null, GeometryEngineLinearUnit? maxDeviationUnit = null)
    • GeodesicDensify signature changed
      • From: Task<Geometry> GeodesicDensify(Geometry geometry, double maxSegmentLength, LinearUnit? maxSegmentLengthUnit = null)
      • To: Task<Geometry> GeodesicDensify(Geometry geometry, double maxSegmentLength)
    • GeodesicLength signature changed
      • From: Task<double> GeodesicLength(Geometry geometry, LinearUnit? unit = null)
      • To: Task<double> GeodesicLength(Geometry geometry, GeometryEngineLinearUnit? unit = null)
    • PlanarArea signature changed
      • From: Task<double> PlanarArea(Polygon geometry, GeometryEngineAreaUnit? unit = null)
      • To: Task<double> PlanarArea(Polygon geometry)
    • PlanarLength signature changed
      • From: Task<double> PlanarLength(Geometry geometry, LinearUnit? unit = null)
      • To: Task<double> PlanarLength(Geometry geometry)
### **GeoRSSLayerView**

New Type

### **GetResultsParameters**

Type removed

### **GetSuggestionsParameters**

Type removed

### **Graphic**

Removed Members

  • Properties
    • Guid? LayerId removed

Changed Members

  • Properties
    • Geometry accessors changed
      • From: { get; }
      • To: { get; set; }
    • PopupTemplate accessors changed
      • From: { get; }
      • To: { get; set; }
### **GraphicsLayer**

Changed Members

  • Properties
    • Graphics accessors changed
      • From: { get; set; }
      • To: { get; }
### **GraphicsLayerView**

New Members

  • Properties
    • HighlightOptions? HighlightOptions { get; set; } added
  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) added
    • Task<Handle> Highlight(Graphic graphic) added
    • Task<Handle> Highlight(IReadOnlyCollection<Graphic> graphics) added
    • Task<Handle> Highlight(IReadOnlyCollection<ObjectId> objectIds) added
    • Task<Handle> Highlight(ObjectId objectId) added
    • Task<HighlightOptions?> GetHighlightOptions() added
### **GroupElement**

Type removed

### **HighlightHandle**

Type removed

### **HitTestOptions**

Changed Members

  • Properties
    • ExcludeGraphicsByArcGISId type changed
      • From: IEnumerable<string>?
      • To: IEnumerable<ObjectId>?
    • IncludeGraphicsByArcGISId type changed
      • From: IEnumerable<string>?
      • To: IEnumerable<ObjectId>?
### **HomeWidget**

Removed Members

  • Properties
    • string? Label removed
### **IAppValidator**

Changed Members

  • Methods
    • ValidateLicense signature changed
      • From: Task ValidateLicense()
      • To: ValueTask ValidateLicense()
### **IBlendLayer**

New Members

  • Properties
    • BlendMode? BlendMode { get; set; } added
    • Effect? Effect { get; set; } added
  • Methods
    • Task SetBlendMode(BlendMode? value) added
    • Task SetEffect(Effect? value) added
    • Task<BlendMode?> GetBlendMode() added
    • Task<Effect?> GetEffect() added
### **ICatalogLayerListWidget**

New Type

### **IClassBreaksRendererBackgroundFillSymbol**

New Type

### **IDisplayFilteredLayer**

New Members

  • Properties
    • bool? DisplayFilterEnabled { get; set; } added
    • DisplayFilterInfo? DisplayFilterInfo { get; set; } added
  • Methods
    • Task SetDisplayFilterEnabled(bool? value) added
    • Task SetDisplayFilterInfo(DisplayFilterInfo? value) added
    • Task<bool?> GetDisplayFilterEnabled() added
    • Task<DisplayFilterInfo?> GetDisplayFilterInfo() added
### **IEditorViewModelGetTemplatesForLayer**

New Type

### **IElevationLayer**

New Type

### **IFeatureEffectLayer**

New Members

  • Properties
    • FeatureEffect? FeatureEffect { get; set; } added
  • Methods
    • Task SetFeatureEffect(FeatureEffect? value) added
    • Task<FeatureEffect?> GetFeatureEffect() added
### **IFeatureSetLayer**

New Type

### **IFeatureWidget**

New Type

### **IGroupLayer**

New Members

  • Properties
    • IReadOnlyList<Layer>? Layers { get; set; } added
### **IImageryRenderer**

Removed Members

  • Properties
    • string ImageryRendererType removed
### **ImageMediaInfo**

Removed Members

  • Properties
    • string? AltText removed
    • string? Caption removed
    • string? Title removed
### **ImageryLayer**

Changed Members

  • Properties
    • BandIds type changed
      • From: IReadOnlyCollection<int>?
      • To: IReadOnlyList<long>?
    • CompressionQuality type changed
      • From: int?
      • To: double?
    • Interpolation type changed
      • From: int?
      • To: Interpolation?
    • MaxScale type changed
      • From: int?
      • To: double?
    • MinScale type changed
      • From: int?
      • To: double?
    • NoData type changed
      • From: IReadOnlyCollection<int>?
      • To: NoData?
    • NoDataInterpretation type changed
      • From: string?
      • To: NoDataInterpretation?
### **ImageryLayerView**

New Members

  • Properties
    • HighlightOptions? HighlightOptions { get; set; } added
    • PixelData? PixelData { get; set; } added
  • Methods
    • Task SetHighlightOptions(HighlightOptions? value) added
    • Task SetPixelData(PixelData? value) added
    • Task<Handle> Highlight(Graphic graphic) added
    • Task<Handle> Highlight(IReadOnlyCollection<Graphic> graphics) added
    • Task<HighlightOptions?> GetHighlightOptions() added
    • Task<PixelData?> GetPixelData() added
### **ImageryTileLayer**

Changed Members

  • Methods
    • SetRenderer signature changed
      • From: Task SetRenderer(IImageryRenderer renderer)
      • To: Task SetRenderer(IImageryRenderer? value)
  • Properties
    • BandIds type changed
      • From: IReadOnlyCollection<int>?
      • To: IReadOnlyList<long>?
    • Interpolation type changed
      • From: PixelInterpolation?
      • To: Interpolation?
    • MaxScale type changed
      • From: int?
      • To: double?
    • MinScale type changed
      • From: int?
      • To: double?
    • MultidimensionalDefinition type changed
      • From: IReadOnlyList<DimensionalDefinition>
      • To: IReadOnlyList<DimensionalDefinition>?
### **IMeasurementWidgetActiveWidget**

New Type

### **IOperationalLayer**

New Members

  • Properties
    • bool? PersistenceEnabled { get; set; } added
  • Methods
    • Task SetPersistenceEnabled(bool? value) added
    • Task<bool?> GetPersistenceEnabled() added
### **IOrderedLayer**

New Members

  • Properties
    • IReadOnlyList<OrderByInfo>? OrderBy { get; set; } added
  • Methods
    • Task AddToOrderBy(params dymaptic.GeoBlazor.Core.Components.OrderByInfo[] values) added
    • Task RemoveFromOrderBy(params dymaptic.GeoBlazor.Core.Components.OrderByInfo[] values) added
    • Task SetOrderBy(IReadOnlyList<OrderByInfo>? value) added
    • Task<IReadOnlyList<OrderByInfo>?> GetOrderBy() added
### **IPortalLayer**

New Members

  • Properties
    • PortalItem? PortalItem { get; set; } added
  • Methods
    • Task SetPortalItem(PortalItem? value) added
    • Task<PortalItem?> GetPortalItem() added
### **IPublishableLayer**

New Members

  • Methods
    • Task<PublishingInfo?> GetPublishingInfo() added
### **IRefreshableLayer**

New Members

  • Properties
    • double? RefreshInterval { get; set; } added
  • Methods
    • Task SetRefreshInterval(double? value) added
    • Task<double?> GetRefreshInterval() added
    • ValueTask Refresh() added
### **IRenderersRenderer**

New Type

### **IScaleRangeLayer**

New Members

  • Properties
    • double? MaxScale { get; set; } added
    • double? MinScale { get; set; } added
  • Methods
    • Task SetMaxScale(double? value) added
    • Task SetMinScale(double? value) added
    • Task<double?> GetMaxScale() added
    • Task<double?> GetMinScale() added
### **ISketchViewModelPointSymbol**

New Type

### **ISketchViewModelPolygonSymbol**

New Type

### **ISketchViewModelPolylineSymbol**

New Type

### **ISymbolsFillSymbol**

New Type

### **ISymbolsMarkerSymbol**

New Type

### **ISymbolsSymbol**

New Type

### **ITableListWidget**

New Type

### **ITemporalLayer**

New Members

  • Properties
    • bool? UseViewTime { get; set; } added
    • TimeExtent? TimeExtent { get; set; } added
    • TimeInfo? TimeInfo { get; set; } added
    • TimeInterval? TimeOffset { get; set; } added
  • Methods
    • Task SetTimeExtent(TimeExtent? value) added
    • Task SetTimeInfo(TimeInfo? value) added
    • Task SetTimeOffset(TimeInterval? value) added
    • Task SetUseViewTime(bool? value) added
    • Task<bool?> GetUseViewTime() added
    • Task<TimeExtent?> GetTimeExtent() added
    • Task<TimeInfo?> GetTimeInfo() added
    • Task<TimeInterval?> GetTimeOffset() added
### **ITemporalSceneLayer**

New Members

  • Properties
    • TimeExtent? TimeExtent { get; set; } added
    • TimeInfo? TimeInfo { get; set; } added
    • TimeInterval? TimeOffset { get; set; } added
  • Methods
    • Task SetTimeExtent(TimeExtent? value) added
    • Task SetTimeInfo(TimeInfo? value) added
    • Task SetTimeOffset(TimeInterval? value) added
    • Task<TimeExtent?> GetTimeExtent() added
    • Task<TimeInfo?> GetTimeInfo() added
    • Task<TimeInterval?> GetTimeOffset() added
### **ITrackableLayer**

New Members

  • Properties
    • TrackInfo? TrackInfo { get; set; } added
  • Methods
    • Task SetTrackInfo(TrackInfo? value) added
    • Task<TrackInfo?> GetTrackInfo() added
### **KMLLayerView**

New Members

  • Properties
    • IReadOnlyList<Graphic>? AllVisiblePoints { get; set; } added
    • IReadOnlyList<Graphic>? AllVisiblePolygons { get; set; } added
    • IReadOnlyList<Graphic>? AllVisiblePolylines { get; set; } added
    • IReadOnlyList<KMLLayerViewMapImage>? AllVisibleMapImages { get; set; } added
  • Methods
    • Task<IReadOnlyList<Graphic>?> GetAllVisiblePoints() added
    • Task<IReadOnlyList<Graphic>?> GetAllVisiblePolygons() added
    • Task<IReadOnlyList<Graphic>?> GetAllVisiblePolylines() added
    • Task<IReadOnlyList<KMLLayerViewMapImage>?> GetAllVisibleMapImages() added
### **Layer**

Removed Members

  • Methods
    • Task SetProperty(string propertyName, object? value) removed
  • Properties
    • AbortManager? AbortManager removed
    • void JsLayerReference removed

Changed Members

  • Methods
    • Load signature changed
      • From: Task Load(CancellationToken cancellationToken = default(System.Threading.CancellationToken)
      • To: Task Load()
  • Properties
    • LayerView accessors changed
      • From: { get; set; }
      • To: { get; }
### **LayerInfo**

Type removed

### **LayerListWidget**

Removed Members

  • Properties
    • string? Label removed
### **LayerObject**

Type removed

### **LayerSearchSource**

Removed Members

  • Properties
    • Guid? LayerId removed
    • Layer? Layer removed
    • LayerSearchSourceFilter? Filter removed

Changed Members

  • Properties
    • OrderByFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyList<string>?
    • SearchFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyList<string>?
### **LayerView**

Removed Members

  • Properties
    • bool Visible removed
    • Layer Layer removed

Changed Members

  • Properties
    • SpatialReferenceSupported accessors changed
      • From: { get; }
      • To: { get; set; }
    • Suspended accessors changed
      • From: { get; }
      • To: { get; set; }
    • Updating accessors changed
      • From: { get; }
      • To: { get; set; }
### **LayerViewCreateInternalEvent**

Changed Members

  • Properties
    • LayerGeoBlazorId type changed
      • From: Guid
      • To: Guid?
### **LegendOptions**

Type removed

### **LegendWidget**

Changed Members

  • Properties
    • LayerInfos type changed
      • From: List<LayerInfo>
      • To: IReadOnlyList<LegendLayerInfos>?
### **LinearUnit**

Type removed

### **LineChartMediaInfo**

Removed Members

  • Properties
    • string? AltText removed
    • string? Caption removed
    • string? Title removed
### **LineStyle**

Type removed

### **ListItem**

Removed Members

  • Properties
    • bool? Visible removed
    • Guid? LayerId removed

Changed Members

  • Properties
    • Children type changed
      • From: List<ListItem>?
      • To: IReadOnlyList<ListItem>?
    • ChildrenSortable type changed
      • From: bool
      • To: bool?
    • Hidden type changed
      • From: bool
      • To: bool?
    • Open type changed
      • From: bool
      • To: bool?
    • Panel type changed
      • From: ListItemPanel?
      • To: ListItemPanelWidget?
    • Sortable type changed
      • From: bool
      • To: bool?
### **ListItemPanel**

Type removed

### **ListItemPanelWidget**

New Members

  • Properties
    • bool? Disabled { get; set; } added
    • bool? FlowEnabled { get; set; } added
    • bool? Open { get; set; } added
    • IReadOnlyList<ListItemPanelContent>? Content { get; set; } added
    • ListItem? ListItem { get; set; } added
    • string? Image { get; set; } added
    • string? Title { get; set; } added
  • Methods
    • Task AddToContent(params dymaptic.GeoBlazor.Core.Model.ListItemPanelContent[] values) added
    • Task RemoveFromContent(params dymaptic.GeoBlazor.Core.Model.ListItemPanelContent[] values) added
    • Task SetContent(IReadOnlyList<ListItemPanelContent>? value) added
    • Task SetDisabled(bool? value) added
    • Task SetFlowEnabled(bool? value) added
    • Task SetImage(string? value) added
    • Task SetOpen(bool? value) added
    • Task SetTitle(string? value) added
    • Task<bool?> GetDisabled() added
    • Task<bool?> GetFlowEnabled() added
    • Task<bool?> GetOpen() added
    • Task<IReadOnlyList<ListItemPanelContent>?> GetContent() added
    • Task<string?> GetImage() added
    • Task<string?> GetTitle() added
### **LocateWidget**

Changed Members

  • Properties
    • GoToOverride type changed
      • From: Action<GoToOverrideParameters>?
      • To: GoToOverride?
### **Locator**

Type removed

### **LocatorSearchSource**

Removed Members

  • Properties
    • LocatorSearchSourceFilter? Filter removed

Changed Members

  • Properties
    • Categories type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyList<string>?
### **LOD**

Changed Members

  • Properties
    • Level type changed
      • From: double?
      • To: int?
### **LookupTypeAttribute**

Type removed

### **MapColor**

Removed Members

  • Properties
    • List<double> Values removed
### **MapComponent**

Removed Members

  • Methods
    • Task Add(MapComponent child) removed
  • Properties
    • void JsModule removed
    • void ProJsModule removed
    • void ProProperties removed

Changed Members

  • Methods
    • UpdateState signature changed
      • From: void UpdateState(bool mainThread = true)
      • To: void UpdateState()
  • Properties
    • Id accessors changed
      • From: { get; }
      • To: { get; set; }
### **MapFont**

Removed Members

  • Properties
    • string? FontStyle removed

Changed Members

  • Properties
    • Weight type changed
      • From: string?
      • To: FontWeight?
### **MapImageExportMap**

Type removed

### **MapImageExportTiles**

Type removed

### **MapImageLayer**

Removed Members

  • Properties
    • int? DPI removed
    • TimeInterval? TimeInterval removed

Changed Members

  • Properties
    • AllSublayers accessors changed
      • From: { get; }
      • To: { get; set; }
    • Capabilities accessors changed
      • From: { get; }
      • To: { get; set; }
    • Copyright accessors changed
      • From: { get; }
      • To: { get; set; }
    • DateFieldsTimeZone accessors changed
      • From: { get; }
      • To: { get; set; }
    • DatesInUnknownTimezone accessors changed
      • From: { get; }
      • To: { get; set; }
    • MaxScale type changed
      • From: int?
      • To: double?
    • MinScale type changed
      • From: int?
      • To: double?
    • PreferredTimeZone accessors changed
      • From: { get; }
      • To: { get; set; }
    • SpatialReference accessors changed
      • From: { get; }
      • To: { get; set; }
    • Sublayers type changed
      • From: IReadOnlyList<Sublayer>
      • To: IReadOnlyList<Sublayer>?
    • Version accessors changed
      • From: { get; }
      • To: { get; set; }
### **MapImageLayerCapabilities**

Type removed

### **MapImageOperations**

Type removed

### **MapView**

Removed Members

  • Methods
    • Task<Direction[]> DrawRouteAndGetDirections(Symbol routeSymbol, string routeUrl) removed

Changed Members

  • Methods
    • AddLayer signature changed
      • From: Task AddLayer(Layer layer, bool isBasemapLayer = false)
      • To: Task AddLayer(Layer layer, bool isBasemapLayer = false, bool isBasemapReferenceLayer = false)
    • OnJavascriptLayerViewCreate signature changed
      • From: Task OnJavascriptLayerViewCreate(LayerViewCreateInternalEvent layerViewCreateEvent)
      • To: Task<Guid?> OnJavascriptLayerViewCreate(LayerViewCreateInternalEvent layerViewCreateEvent)
    • RemoveLayer signature changed
      • From: Task RemoveLayer(Layer layer, bool isBasemapLayer = false)
      • To: Task RemoveLayer(Layer layer, bool isBasemapLayer = false, bool isReferenceLayer = false)
  • Properties
    • EventRateLimitInMilliseconds type changed
      • From: int?
      • To: int
### **MarkerSymbol**

Removed Members

  • Properties
    • Dimension? XOffset removed
    • Dimension? YOffset removed
### **MeasurementWidget**

Removed Members

  • Properties
    • string? Label removed

Changed Members

  • Properties
    • AreaUnit type changed
      • From: AreaUnit?
      • To: SystemOrAreaUnit?
    • LinearUnit type changed
      • From: LengthUnit?
      • To: SystemOrLengthUnit?
### **MediaContent**

Changed Members

  • Properties
    • ActiveMediaInfoIndex type changed
      • From: string?
      • To: int?
    • MediaInfos type changed
      • From: IList<MediaInfo>?
      • To: IReadOnlyList<MediaInfo>?
### **Mode**

Type removed

### **MultidimensionalSubset**

Removed Members

  • Properties
    • Extent? ExtentOfInterest removed
    • Polygon? PolygonOfInterest removed

Changed Members

  • Properties
    • SubsetDefinitions type changed
      • From: IReadOnlyList<DimensionalDefinition>
      • To: IReadOnlyList<DimensionalDefinition>?
### **MultipartColorRamp**

Changed Members

  • Properties
    • ColorRamps accessors changed
      • From: { get; }
      • To: { get; set; }
### **OrderedLayerOrderBy**

Type removed

### **ParameterValue**

Type removed

### **PictureFillSymbol**

Removed Members

  • Properties
    • Dimension? XOffset removed
    • Dimension? YOffset removed
    • Outline? Outline removed

Changed Members

  • Properties
    • XScale type changed
      • From: int?
      • To: double?
    • YScale type changed
      • From: int?
      • To: double?
### **PieChartMediaInfo**

Removed Members

  • Properties
    • string? AltText removed
    • string? Caption removed
    • string? Title removed
### **Polygon**

Changed Members

  • Properties
    • Rings type changed
      • From: MapPath[]
      • To: IReadOnlyList<MapPath>
### **Polyline**

New Members

  • Properties
    • IReadOnlyList<MapPath> Paths { get; set; } added
  • Methods
    • Polyline Clone() added
    • Task<Point?> GetPoint(int pathIndex, int pointIndex) added
    • Task<Point?> RemovePoint(int pathIndex, int pointIndex) added
    • Task<Point[]?> RemovePath(int index) added
    • Task<Polyline?> AddPath(IReadOnlyCollection<Point> points) added
    • Task<Polyline?> InsertPoint(int pathIndex, int pointIndex, Point point) added
    • Task<Polyline?> SetPoint(int pathIndex, int pointIndex, Point point) added
### **PolyLine**

Removed Members

  • Methods
    • PolyLine Clone() removed
  • Properties
    • MapPath[] Paths removed
### **PopupOpenOptions**

Changed Members

  • Properties
    • Features type changed
      • From: Graphic[]?
      • To: IReadOnlyCollection<Graphic>?
    • Location type changed
      • From: Geometry?
      • To: Point?
### **PopupTemplate**

Removed Members

  • Methods
    • Task<PopupContent[]?> OnContentFunction(Graphic graphic) removed

Changed Members

  • Methods
    • OnTriggerAction signature changed
      • From: Task OnTriggerAction(string actionId)
      • To: EventCallback<PopupTriggerActionEvent> OnTriggerAction()
  • Properties
    • Actions type changed
      • From: List<ActionBase>?
      • To: IReadOnlyList<ActionBase>?
    • Content type changed
      • From: List<PopupContent>
      • To: IReadOnlyList<PopupContent>?
    • ExpressionInfos type changed
      • From: List<ExpressionInfo>?
      • To: IReadOnlyList<PopupExpressionInfo>?
    • FieldInfos type changed
      • From: List<FieldInfo>?
      • To: IReadOnlyList<FieldInfo>?
    • OutFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyList<string>?
### **PopupWidget**

Removed Members

  • Properties
    • string? Label removed

Changed Members

  • Methods
    • FetchFeatures signature changed
      • From: Task<Graphic[]> FetchFeatures()
      • To: Task<Graphic[]?> FetchFeatures()
    • GetFeatureCount signature changed
      • From: Task<int> GetFeatureCount()
      • To: Task<int?> GetFeatureCount()
    • GetSelectedFeatureIndex signature changed
      • From: Task<int> GetSelectedFeatureIndex()
      • To: Task<int?> GetSelectedFeatureIndex()
    • GetVisibility signature changed
      • From: Task<bool> GetVisibility()
      • To: Task<bool?> GetVisibility()
    • OnTriggerAction signature changed
      • From: Task OnTriggerAction(string actionId)
      • To: EventCallback<PopupTriggerActionEvent> OnTriggerAction()
    • Open signature changed
      • From: Task Open()
      • To: Task Open(PopupOpenOptions options)
  • Properties
    • Actions type changed
      • From: List<ActionBase>?
      • To: IReadOnlyList<ActionBase>?
    • Features type changed
      • From: List<Graphic>
      • To: IReadOnlyList<Graphic>?
### **PortalItem**

Removed Members

  • Properties
    • string Id removed
### **Projection**

Type removed

### **Query**

Removed Members

  • Properties
    • double? DatumTransformation removed

Changed Members

  • Properties
    • AggregateIds type changed
      • From: IEnumerable<int>?
      • To: IReadOnlyCollection<string>?
    • GroupByFieldsForStatistics type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
    • ObjectIds type changed
      • From: IEnumerable<long>?
      • To: IReadOnlyCollection<ObjectId>?
    • OrderByFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
    • OutFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
    • OutStatistics type changed
      • From: IEnumerable<StatisticDefinition>?
      • To: IReadOnlyCollection<StatisticDefinition>?
    • ParameterValues accessors changed
      • From: { get; set; }
      • To: { set; }
    • RangeValues type changed
      • From: IEnumerable<RangeValue>?
      • To: IReadOnlyCollection<QueryRangeValues>?
    • Units type changed
      • From: LinearUnit?
      • To: QueryUnits?
### **QueryTableDataSource**

Changed Members

  • Properties
    • GeometryType type changed
      • From: GeometryType?
      • To: FeatureGeometryType?
### **RangeDomain**

Changed Members

  • Properties
    • MaxValue type changed
      • From: double?
      • To: string?
    • MinValue type changed
      • From: double?
      • To: string?
### **RangeValue**

Type removed

### **RasterBandInfo**

Changed Members

  • Properties
    • MaxWavelength type changed
      • From: double
      • To: double?
    • MinWavelength type changed
      • From: double
      • To: double?
    • Name type changed
      • From: string
      • To: string?
    • RadianceBias type changed
      • From: double
      • To: double?
    • RadianceGain type changed
      • From: double
      • To: double?
    • ReflectanceBias type changed
      • From: double
      • To: double?
    • ReflectanceGain type changed
      • From: double
      • To: double?
    • SolarIrradiance type changed
      • From: double
      • To: double?
### **RasterBandStatistics**

Changed Members

  • Properties
    • Avg type changed
      • From: double
      • To: double?
    • Max type changed
      • From: double
      • To: double?
    • Min type changed
      • From: double
      • To: double?
    • Stddev type changed
      • From: double
      • To: double?
### **RasterDimension**

Type removed

### **RasterHistogram**

Changed Members

  • Properties
    • Counts type changed
      • From: int[]
      • To: IReadOnlyCollection<double>?
    • Max type changed
      • From: double
      • To: double?
    • Min type changed
      • From: double
      • To: double?
    • Size type changed
      • From: int
      • To: int?
### **RasterInfo**

Removed Members

  • Properties
    • RasterBandInfo[] BandInfos removed
    • RasterDataType DataType removed
    • RasterSensorInfo SensorInfo removed

Changed Members

  • Properties
    • AttributeTable type changed
      • From: FeatureSet
      • To: FeatureSet?
    • BandCount type changed
      • From: int
      • To: int?
    • Colormap type changed
      • From: double[][]
      • To: IReadOnlyList<ColormapPixel>?
    • Extent type changed
      • From: Extent
      • To: Extent?
    • HasMultidimensionalTranspose type changed
      • From: bool
      • To: bool?
    • Height type changed
      • From: double
      • To: int?
    • MultidimensionalInfo type changed
      • From: RasterMultidimensionalInfo
      • To: RasterMultidimensionalInfo?
    • NoDataValue type changed
      • From: double[]
      • To: NoData?
    • PixelSize type changed
      • From: PixelSize
      • To: RasterInfoPixelSize?
    • PixelType type changed
      • From: PixelType
      • To: PixelType?
    • SpatialReference type changed
      • From: SpatialReference
      • To: SpatialReference?
    • Statistics type changed
      • From: RasterStatistics[]
      • To: IReadOnlyCollection<RasterInfoStatistics>?
    • Width type changed
      • From: double
      • To: int?
### **RasterMultidimensionalInfo**

Changed Members

  • Properties
    • Variables type changed
      • From: RasterMultidimensionalVariable[]
      • To: IReadOnlyCollection<RasterMultidimensionalInfoVariables>?
### **RasterMultidimensionalVariable**

Type removed

### **RasterPresetRenderer**

New Members

  • Properties
    • IReadOnlyList<long>? BandIds { get; set; } added
    • Method? Method { get; set; } added
    • Renderer? Renderer { get; set; } added
    • string? Name { get; set; } added
    • string? Value { get; set; } added
  • Methods
    • Task AddToBandIds(params long[] values) added
    • Task RemoveFromBandIds(params long[] values) added
    • Task SetBandIds(IReadOnlyList<long>? value) added
    • Task SetMethod(Method? value) added
    • Task SetName(string? value) added
    • Task SetRenderer(Renderer? value) added
    • Task SetValue(string? value) added
    • Task<IReadOnlyList<long>?> GetBandIds() added
    • Task<Method?> GetMethod() added
    • Task<Renderer?> GetRenderer() added
    • Task<string?> GetName() added
    • Task<string?> GetValue() added
### **RasterSensorInfo**

Changed Members

  • Properties
    • AcquisitionDate accessors changed
      • From: { get; }
      • To: { get; set; }
    • CloudCover accessors changed
      • From: { get; }
      • To: { get; set; }
    • ProductName accessors changed
      • From: { get; }
      • To: { get; set; }
    • SensorAzimuth accessors changed
      • From: { get; }
      • To: { get; set; }
    • SensorElevation accessors changed
      • From: { get; }
      • To: { get; set; }
    • SensorName accessors changed
      • From: { get; }
      • To: { get; set; }
    • SunAzimuth accessors changed
      • From: { get; }
      • To: { get; set; }
    • SunElevation accessors changed
      • From: { get; }
      • To: { get; set; }
### **RasterStatistics**

Type removed

### **RasterStretchRenderer**

Removed Members

  • Properties
    • RasterStatistics[]? Statistics removed
    • string ImageryRendererType removed

Changed Members

  • Properties
    • ColorRamp accessors changed
      • From: { get; }
      • To: { get; set; }
    • Gamma type changed
      • From: List<int>?
      • To: IReadOnlyList<double>?
    • Type type changed
      • From: string
      • To: ImageryRendererType
### **Relationship**

Removed Members

  • Properties
    • int? Id removed

Changed Members

  • Properties
    • Cardinality accessors changed
      • From: { get; set; }
      • To: { get; }
    • Composite accessors changed
      • From: { get; set; }
      • To: { get; }
    • KeyField accessors changed
      • From: { get; set; }
      • To: { get; }
    • KeyFieldInRelationshipTable accessors changed
      • From: { get; set; }
      • To: { get; }
    • Name accessors changed
      • From: { get; set; }
      • To: { get; }
    • RelatedTableId accessors changed
      • From: { get; set; }
      • To: { get; }
    • RelationshipTableId accessors changed
      • From: { get; set; }
      • To: { get; }
    • Role accessors changed
      • From: { get; set; }
      • To: { get; }
### **RelationshipContent**

Changed Members

  • Properties
    • OrderByFields type changed
      • From: IReadOnlyList<RelatedRecordsInfoFieldOrder>
      • To: IReadOnlyList<RelatedRecordsInfoFieldOrder>?
    • RelationshipId type changed
      • From: int?
      • To: long?
### **RelationshipQuery**

Changed Members

  • Properties
    • ObjectIds type changed
      • From: IEnumerable<int>?
      • To: IReadOnlyCollection<ObjectId>?
    • OrderByFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
    • OutFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
    • RelationshipId type changed
      • From: int?
      • To: long?
### **RequestOptions**

Changed Members

  • Properties
    • Headers type changed
      • From: object?
      • To: string?
### **ReturnType**

Type removed

### **RotationVariable**

Changed Members

  • Properties
    • Axis type changed
      • From: string?
      • To: Axis?
### **ScreenPoint**

Changed Members

  • Properties
    • X accessors changed
      • From: { get; }
      • To: { get; set; }
    • Y accessors changed
      • From: { get; }
      • To: { get; set; }
### **SearchLayer**

New Members

  • Properties
    • double? SubLayer { get; set; } added
    • SearchLayerField? Field { get; set; } added
    • string? SearchLayerId { get; set; } added
  • Methods
    • Task SetField(SearchLayerField? value) added
    • Task SetSearchLayerId(string? value) added
    • Task SetSubLayer(double? value) added
    • Task<double?> GetSubLayer() added
    • Task<SearchLayerField?> GetField() added
    • Task<string?> GetSearchLayerId() added
### **SearchResponse**

Changed Members

  • Properties
    • Errors type changed
      • From: JavascriptError[]
      • To: IReadOnlyCollection<SearchResponseErrors>
    • Results type changed
      • From: SearchResultResponse[]
      • To: IReadOnlyCollection<SearchResponseResults>
### **SearchResult**

Changed Members

  • Properties
    • Extent accessors changed
      • From: { get; set; }
      • To: { get; }
    • Feature accessors changed
      • From: { get; set; }
      • To: { get; }
    • Name accessors changed
      • From: { get; set; }
      • To: { get; }
    • Target accessors changed
      • From: { get; set; }
      • To: { get; }
### **SearchSource**

Removed Members

  • Properties
    • bool HasGetResultsHandler removed
    • bool HasGetSuggestionsHandler removed
    • string? Name removed
    • string? SearchTemplate removed

Changed Members

  • Properties
    • GetResultsHandler accessors changed
      • From: { set; }
      • To: { get; set; }
    • GetSuggestionsHandler accessors changed
      • From: { set; }
      • To: { get; set; }
    • OutFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyList<string>?
### **SearchWidget**

Removed Members

  • Properties
    • string? Label removed

Changed Members

  • Methods
    • GetActiveMenu signature changed
      • From: Task<SearchMenu> GetActiveMenu()
      • To: Task<SearchMenu?> GetActiveMenu()
    • GetActiveSourceIndex signature changed
      • From: Task<int> GetActiveSourceIndex()
      • To: Task<int?> GetActiveSourceIndex()
    • GetAllSources signature changed
      • From: Task<IReadOnlyList<SearchSource>> GetAllSources()
      • To: Task<IReadOnlyList<SearchSource>?> GetAllSources()
    • GetDefaultSources signature changed
      • From: Task<IReadOnlyList<SearchSource>> GetDefaultSources()
      • To: Task<IReadOnlyList<SearchSource>?> GetDefaultSources()
    • GetResults signature changed
      • From: Task<IReadOnlyList<SearchResultResponse>> GetResults()
      • To: Task<IReadOnlyList<SearchResultResponse>?> GetResults()
    • GetSearchTerm signature changed
      • From: Task<string> GetSearchTerm()
      • To: Task<string?> GetSearchTerm()
    • GetSuggestions signature changed
      • From: Task<SuggestResult[]> GetSuggestions()
      • To: Task<IReadOnlyList<SuggestResult>?> GetSuggestions()
    • SetSearchTerm signature changed
      • From: Task SetSearchTerm(string searchTerm)
      • To: Task SetSearchTerm(string? value)
  • Properties
    • GoToOverride type changed
      • From: Action<GoToOverrideParameters>?
      • To: GoToOverride?
    • Sources type changed
      • From: List<SearchSource>?
      • To: IReadOnlyList<SearchSource>?
### **SimpleFillSymbol**

Removed Members

  • Properties
    • FillStyle? FillStyle removed
    • Outline? Outline removed
### **SimpleLineSymbol**

Removed Members

  • Properties
    • LineStyle? LineStyle removed
### **SimpleMarkerStyle**

Type removed

### **SimpleMarkerSymbol**

Removed Members

  • Properties
    • SimpleMarkerStyle? MarkerStyle removed
### **SimpleRenderer**

Changed Members

  • Properties
    • VisualVariables type changed
      • From: HashSet<VisualVariable>
      • To: IReadOnlyList<VisualVariable>?
### **SliderDragState**

Type removed

### **SliderSegmentClickEvent**

Changed Members

  • Properties
    • ThumbIndices type changed
      • From: int[]
      • To: IReadOnlyCollection<double>
### **SliderSegmentDragEvent**

Changed Members

  • Properties
    • State type changed
      • From: SliderDragState
      • To: SliderDragEventState
    • ThumbIndices type changed
      • From: int[]
      • To: IReadOnlyCollection<double>
### **SliderTickConfig**

Type removed

### **SliderWidget**

Removed Members

  • Methods
    • Task OnJsMaxChange(SliderMaxChangeEvent changeEvent) removed
    • Task OnJsMaxClick(SliderMaxClickEvent clickEvent) removed
    • Task OnJsMinChange(SliderMinChangeEvent changeEvent) removed
    • Task OnJsMinClick(SliderMinClickEvent clickEvent) removed
    • Task OnJsSegmentClick(SliderSegmentClickEvent clickEvent) removed
    • Task OnJsSegmentDrag(SliderSegmentDragEvent dragEvent) removed
    • Task OnJsThumbChange(SliderThumbChangeEvent changeEvent) removed
    • Task OnJsThumbClick(SliderThumbClickEvent clickEvent) removed
    • Task OnJsThumbDrag(SliderThumbDragEvent dragEvent) removed
    • Task OnJsTickClick(SliderTickClickEvent clickEvent) removed
    • Task OnJsTrackClick(SliderTrackClickEvent clickEvent) removed
    • Task SetStepInterval(double stepInterval) removed
    • Task SetSteps(IReadOnlyCollection<double> steps) removed
  • Properties
    • string? Label removed

Changed Members

  • Methods
    • GetEffectiveSegmentElements signature changed
      • From: Task<ElementReference[]?> GetEffectiveSegmentElements()
      • To: Task<IReadOnlyList<ElementReference>?> GetEffectiveSegmentElements()
    • GetLabelElements signature changed
      • From: Task<ElementReference[]?> GetLabelElements()
      • To: Task<IReadOnlyList<ElementReference>?> GetLabelElements()
    • GetLabels signature changed
      • From: Task<string[]?> GetLabels()
      • To: Task<LabelInfos?> GetLabels()
    • GetSegmentElements signature changed
      • From: Task<ElementReference[]?> GetSegmentElements()
      • To: Task<IReadOnlyList<ElementReference>?> GetSegmentElements()
    • GetThumbElements signature changed
      • From: Task<ElementReference[]?> GetThumbElements()
      • To: Task<IReadOnlyList<ElementReference>?> GetThumbElements()
    • GetTickElements signature changed
      • From: Task<TickElementGroup[][]?> GetTickElements()
      • To: Task<IReadOnlyList<IReadOnlyList<TickElementGroup>>?> GetTickElements()
    • SetMax signature changed
      • From: Task SetMax(double max)
      • To: Task SetMax(double? value)
    • SetMin signature changed
      • From: Task SetMin(double min)
      • To: Task SetMin(double? value)
    • SetValues signature changed
      • From: Task SetValues(IReadOnlyCollection<double> values)
      • To: Task SetValues(IReadOnlyList<double>? value)
  • Properties
    • InputCreatedFunction type changed
      • From: string?
      • To: InputCreatedFunction?
    • InputFormatFunction type changed
      • From: string?
      • To: SliderLabelFormatter?
    • InputParseFunction type changed
      • From: string?
      • To: InputParser?
    • LabelFormatFunction type changed
      • From: string?
      • To: SliderLabelFormatter?
    • Steps type changed
      • From: IReadOnlyCollection<double>?
      • To: IReadOnlyList<double>?
    • ThumbCreatedFunction type changed
      • From: string?
      • To: ThumbCreatedFunction?
    • TickConfigs type changed
      • From: IReadOnlyList<SliderTickConfig>
      • To: IReadOnlyList<TickConfig>?
    • Values type changed
      • From: IReadOnlyCollection<double>?
      • To: IReadOnlyList<double>?
### **SpatialReference**

Changed Members

  • Properties
    • ImageCoordinateSystem type changed
      • From: object?
      • To: string?
### **StatisticDefinition**

Changed Members

  • Properties
    • StatisticParameters type changed
      • From: StatisticParameters
      • To: StatisticDefinitionStatisticParameters
### **StatisticParameters**

Type removed

### **Sublayer**

Removed Members

  • Methods
    • Task SetProperty(string propertyName, object? value) removed
  • Properties
    • Layer? Layer removed

Changed Members

  • Methods
    • GetAllSublayers signature changed
      • From: IReadOnlyList<Sublayer> GetAllSublayers()
      • To: IReadOnlyList<Sublayer>? GetAllSublayers()
    • SetLegendEnabled signature changed
      • From: Task SetLegendEnabled(bool enabled)
      • To: Task SetLegendEnabled(bool? value)
    • SetPopupEnabled signature changed
      • From: Task SetPopupEnabled(bool enabled)
      • To: Task SetPopupEnabled(bool? value)
    • SetPopupTemplate signature changed
      • From: Task SetPopupTemplate(PopupTemplate popupTemplate)
      • To: Task SetPopupTemplate(PopupTemplate? value)
  • Properties
    • Fields type changed
      • From: Field[]?
      • To: IReadOnlyList<Field>?
    • LabelingInfo type changed
      • From: IReadOnlyCollection<Label>
      • To: IReadOnlyList<Label>?
    • MaxScale type changed
      • From: int?
      • To: double?
    • MinScale type changed
      • From: int?
      • To: double?
    • SublayerId type changed
      • From: int?
      • To: long?
    • Sublayers type changed
      • From: IReadOnlyList<Sublayer>
      • To: IReadOnlyList<Sublayer>?
    • Types type changed
      • From: FeatureType[]?
      • To: IReadOnlyList<FeatureType>?
### **SublayerCapabilities**

Changed Members

  • Properties
    • Data type changed
      • From: SublayerData
      • To: SublayerCapabilitiesData
    • Operations type changed
      • From: SublayerOperations
      • To: SublayerCapabilitiesOperations
### **SublayerData**

Type removed

### **SublayerOperations**

Type removed

### **SuggestResponse**

Changed Members

  • Properties
    • Errors type changed
      • From: JavascriptError[]
      • To: IReadOnlyCollection<SuggestResponseErrors>
    • Results type changed
      • From: SuggestResultResponse[]
      • To: IReadOnlyCollection<SuggestResponseResults>
### **SuggestResultResponse**

Type removed

### **TextSymbol**

Removed Members

  • Properties
    • Dimension? XOffset removed
    • Dimension? YOffset removed
### **TileInfo**

Changed Members

  • Properties
    • Lods type changed
      • From: IList<LOD>?
      • To: IReadOnlyList<LOD>?
    • Size type changed
      • From: IList<double>?
      • To: IReadOnlyList<int>?
### **TileLayer**

Changed Members

  • Properties
    • AllSublayers accessors changed
      • From: { get; }
      • To: { get; set; }
    • Capabilities accessors changed
      • From: { get; }
      • To: { get; set; }
    • Copyright accessors changed
      • From: { get; }
      • To: { get; set; }
    • SpatialReference accessors changed
      • From: { get; }
      • To: { get; set; }
### **TimeEnumToKebabCaseStringConverter<T>**

Type removed

### **TimeExtent**

Changed Members

  • Properties
    • End accessors changed
      • From: { get; }
      • To: { get; set; }
    • Start accessors changed
      • From: { get; }
      • To: { get; set; }
### **TimeInterval**

Changed Members

  • Properties
    • Unit type changed
      • From: TemporalTime
      • To: TemporalTime?
    • Value type changed
      • From: double
      • To: double?
### **TopFeaturesQuery**

Changed Members

  • Properties
    • ObjectIds type changed
      • From: IEnumerable<int>?
      • To: IReadOnlyCollection<long>?
    • OrderByFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
    • OutFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
    • Units type changed
      • From: LinearUnit?
      • To: QueryUnits?
### **TopFilter**

Changed Members

  • Properties
    • GroupByFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
    • OrderByFields type changed
      • From: IEnumerable<string>?
      • To: IReadOnlyCollection<string>?
### **UniqueValueRenderer**

Removed Members

  • Properties
    • string ImageryRendererType removed

Changed Members

  • Properties
    • DefaultSymbol type changed
      • From: DefaultSymbol?
      • To: Symbol?
    • UniqueValueInfos type changed
      • From: HashSet<UniqueValueInfo>
      • To: IReadOnlyList<UniqueValueInfo>?
### **UnknownLayer**

New Type

### **UnsupportedLayer**

New Type

### **VisualVariable**

Changed Members

  • Properties
    • LegendOptions type changed
      • From: LegendOptions?
      • To: VisualVariableLegendOptions?
### **WCSLayer**

Changed Members

  • Properties
    • MultidimensionalDefinition type changed
      • From: List<DimensionalDefinition>?
      • To: IReadOnlyList<DimensionalDefinition>?
    • Renderer type changed
      • From: RasterStretchRenderer?
      • To: IImageryRenderer?
### **WebMap**

Changed Members

  • Methods
    • GetBookmarks signature changed
      • From: Task<List<Bookmark>> GetBookmarks()
      • To: Task<IReadOnlyList<Bookmark>?> GetBookmarks()
### **WebTileLayer**

Changed Members

  • Properties
    • SubDomains type changed
      • From: IList<string>?
      • To: IReadOnlyList<string>?
### **WFSLayer**

New Members

  • Properties
    • BlendMode? BlendMode { get; set; } added
    • bool HasRefreshListener { get; } added
    • bool? DisplayFilterEnabled { get; set; } added
    • bool? LabelsVisible { get; set; } added
    • bool? LegendEnabled { get; set; } added
    • bool? PopupEnabled { get; set; } added
    • bool? ScreenSizePerspectiveEnabled { get; set; } added
    • DisplayFilterInfo? DisplayFilterInfo { get; set; } added
    • double? MaxScale { get; set; } added
    • double? MinScale { get; set; } added
    • double? RefreshInterval { get; set; } added
    • Effect? Effect { get; set; } added
    • EventCallback<RefreshEvent> OnRefresh { get; set; } added
    • FeatureEffect? FeatureEffect { get; set; } added
    • FieldsIndex? FieldsIndex { get; set; } added
    • IFeatureReduction? FeatureReduction { get; set; } added
    • int? MaxPageCount { get; set; } added
    • int? MaxRecordCount { get; set; } added
    • IReadOnlyList<Field>? Fields { get; set; } added
    • IReadOnlyList<Label>? LabelingInfo { get; set; } added
    • IReadOnlyList<OrderByInfo>? OrderBy { get; set; } added
    • IReadOnlyList<string>? OutFields { get; set; } added
    • PopupTemplate? PopupTemplate { get; set; } added
    • PortalItem? PortalItem { get; set; } added
    • Renderer? Renderer { get; set; } added
    • SimpleGeometryType? GeometryType { get; set; } added
    • SpatialReference? SpatialReference { get; set; } added
    • string? Copyright { get; set; } added
    • string? DateFieldsTimeZone { get; set; } added
    • string? DefinitionExpression { get; set; } added
    • string? DisplayField { get; set; } added
    • string? Name { get; set; } added
    • string? NamespaceUri { get; set; } added
    • string? ObjectIdField { get; set; } added
    • string? Url { get; set; } added
    • TrackInfo? TrackInfo { get; set; } added
    • void CustomParameters { set; } added
    • WFSCapabilities? WfsCapabilities { get; set; } added
    • WFSLayerCapabilities? Capabilities { get; set; } added
    • WFSLayerElevationInfo? ElevationInfo { get; set; } added
  • Methods
    • Task AddToFields(params dymaptic.GeoBlazor.Core.Components.Field[] values) added
    • Task AddToLabelingInfo(params dymaptic.GeoBlazor.Core.Components.Label[] values) added
    • Task AddToOrderBy(params dymaptic.GeoBlazor.Core.Components.OrderByInfo[] values) added
    • Task AddToOutFields(params string[] values) added
    • Task RemoveFromFields(params dymaptic.GeoBlazor.Core.Components.Field[] values) added
    • Task RemoveFromLabelingInfo(params dymaptic.GeoBlazor.Core.Components.Label[] values) added
    • Task RemoveFromOrderBy(params dymaptic.GeoBlazor.Core.Components.OrderByInfo[] values) added
    • Task RemoveFromOutFields(params string[] values) added
    • Task SetBlendMode(BlendMode? value) added
    • Task SetCopyright(string? value) added
    • Task SetCustomParameters(Dictionary<string, object>? value) added
    • Task SetDefinitionExpression(string? value) added
    • Task SetDisplayField(string? value) added
    • Task SetDisplayFilterEnabled(bool? value) added
    • Task SetDisplayFilterInfo(DisplayFilterInfo? value) added
    • Task SetEffect(Effect? value) added
    • Task SetElevationInfo(WFSLayerElevationInfo? value) added
    • Task SetFeatureEffect(FeatureEffect? value) added
    • Task SetFeatureReduction(IFeatureReduction? value) added
    • Task SetFields(IReadOnlyList<Field>? value) added
    • Task SetGeometryType(SimpleGeometryType? value) added
    • Task SetLabelingInfo(IReadOnlyList<Label>? value) added
    • Task SetLabelsVisible(bool? value) added
    • Task SetLegendEnabled(bool? value) added
    • Task SetMaxPageCount(int? value) added
    • Task SetMaxRecordCount(int? value) added
    • Task SetMaxScale(double? value) added
    • Task SetMinScale(double? value) added
    • Task SetName(string? value) added
    • Task SetNamespaceUri(string? value) added
    • Task SetObjectIdField(string? value) added
    • Task SetOrderBy(IReadOnlyList<OrderByInfo>? value) added
    • Task SetOutFields(IReadOnlyList<string>? value) added
    • Task SetPersistenceEnabled(bool? value) added
    • Task SetPopupEnabled(bool? value) added
    • Task SetPopupTemplate(PopupTemplate? value) added
    • Task SetPortalItem(PortalItem? value) added
    • Task SetRefreshInterval(double? value) added
    • Task SetRenderer(Renderer? value) added
    • Task SetScreenSizePerspectiveEnabled(bool? value) added
    • Task SetSpatialReference(SpatialReference? value) added
    • Task SetTrackInfo(TrackInfo? value) added
    • Task SetUrl(string? value) added
    • Task SetWfsCapabilities(WFSCapabilities? value) added
    • Task<BlendMode?> GetBlendMode() added
    • Task<bool?> GetDisplayFilterEnabled() added
    • Task<bool?> GetLabelsVisible() added
    • Task<bool?> GetLegendEnabled() added
    • Task<bool?> GetPopupEnabled() added
    • Task<bool?> GetScreenSizePerspectiveEnabled() added
    • Task<DisplayFilterInfo?> GetDisplayFilterInfo() added
    • Task<double?> GetMaxScale() added
    • Task<double?> GetMinScale() added
    • Task<double?> GetRefreshInterval() added
    • Task<Effect?> GetEffect() added
    • Task<FeatureEffect?> GetFeatureEffect() added
    • Task<FieldsIndex?> GetFieldsIndex() added
    • Task<IFeatureReduction?> GetFeatureReduction() added
    • Task<int?> GetMaxPageCount() added
    • Task<int?> GetMaxRecordCount() added
    • Task<IReadOnlyList<Field>?> GetFields() added
    • Task<IReadOnlyList<Label>?> GetLabelingInfo() added
    • Task<IReadOnlyList<OrderByInfo>?> GetOrderBy() added
    • Task<IReadOnlyList<string>?> GetOutFields() added
    • Task<PopupTemplate?> GetPopupTemplate() added
    • Task<PortalItem?> GetPortalItem() added
    • Task<Renderer?> GetRenderer() added
    • Task<SimpleGeometryType?> GetGeometryType() added
    • Task<SpatialReference?> GetSpatialReference() added
    • Task<string?> GetCopyright() added
    • Task<string?> GetDateFieldsTimeZone() added
    • Task<string?> GetDefinitionExpression() added
    • Task<string?> GetDisplayField() added
    • Task<string?> GetName() added
    • Task<string?> GetNamespaceUri() added
    • Task<string?> GetObjectIdField() added
    • Task<string?> GetUrl() added
    • Task<TrackInfo?> GetTrackInfo() added
    • Task<WFSCapabilities?> GetWfsCapabilities() added
    • Task<WFSLayerCapabilities?> GetCapabilities() added
    • Task<WFSLayerElevationInfo?> GetElevationInfo() added
### **WFSLayerView**

New Members

  • Properties
    • bool? DataUpdating { get; set; } added
    • bool? HasAllFeatures { get; set; } added
    • bool? HasAllFeaturesInView { get; set; } added
    • bool? HasFullGeometries { get; set; } added
    • bool? MaximumNumberOfFeaturesExceeded { get; set; } added
    • double? MaximumNumberOfFeatures { get; set; } added
    • FeatureEffect? FeatureEffect { get; set; } added
    • FeatureFilter? Filter { get; set; } added
    • HighlightOptions? HighlightOptions { get; set; } added
    • IReadOnlyList<string>? AvailableFields { get; set; } added
  • Methods
    • Task SetFeatureEffect(FeatureEffect? value) added
    • Task SetFilter(FeatureFilter? value) added
    • Task SetHighlightOptions(HighlightOptions? value) added
    • Task SetMaximumNumberOfFeatures(double? value) added
    • Task SetMaximumNumberOfFeaturesExceeded(bool? value) added
    • Task<bool?> GetDataUpdating() added
    • Task<bool?> GetHasAllFeatures() added
    • Task<bool?> GetHasAllFeaturesInView() added
    • Task<bool?> GetHasFullGeometries() added
    • Task<bool?> GetMaximumNumberOfFeaturesExceeded() added
    • Task<double?> GetMaximumNumberOfFeatures() added
    • Task<FeatureEffect?> GetFeatureEffect() added
    • Task<FeatureFilter?> GetFilter() added
    • Task<Handle> Highlight(Graphic graphic) added
    • Task<Handle> Highlight(IReadOnlyCollection<Graphic> graphics) added
    • Task<Handle> Highlight(IReadOnlyCollection<ObjectId> objectIds) added
    • Task<Handle> Highlight(ObjectId objectId) added
    • Task<HighlightOptions?> GetHighlightOptions() added
    • Task<IReadOnlyList<string>?> GetAvailableFields() added
### **Widget**

Removed Members

  • Methods
    • Task SetProperty(string propertyName, object? value) removed
### **WMSLayer**

New Members

  • Properties
    • BlendMode? BlendMode { get; set; } added
    • bool HasFetchFeatureInfoFunction { get; } added
    • bool HasRefreshListener { get; } added
    • bool? ImageTransparency { get; set; } added
    • bool? LegendEnabled { get; set; } added
    • bool? UseViewTime { get; set; } added
    • double? MaxScale { get; set; } added
    • double? MinScale { get; set; } added
    • double? RefreshInterval { get; set; } added
    • Effect? Effect { get; set; } added
    • EventCallback<RefreshEvent> OnRefresh { get; set; } added
    • FeatureInfoFormat? FeatureInfoFormat { get; set; } added
    • FetchFeatureInfoFunction? FetchFeatureInfoFunction { get; set; } added
    • int? ImageMaxHeight { get; set; } added
    • int? ImageMaxWidth { get; set; } added
    • IReadOnlyList<double>? SpatialReferences { get; set; } added
    • IReadOnlyList<Extent>? FullExtents { get; set; } added
    • IReadOnlyList<object>? Dimensions { get; set; } added
    • IReadOnlyList<string>? FeatureInfoFormats { get; set; } added
    • IReadOnlyList<WMSSublayer>? AllSublayers { get; set; } added
    • IReadOnlyList<WMSSublayer>? Sublayers { get; set; } added
    • PortalItem? PortalItem { get; set; } added
    • SpatialReference? SpatialReference { get; set; } added
    • string? Copyright { get; set; } added
    • string? CustomLayerParameters { get; set; } added
    • string? Description { get; set; } added
    • string? FeatureInfoUrl { get; set; } added
    • string? ImageFormat { get; set; } added
    • string? Url { get; set; } added
    • string? Version { get; set; } added
    • TimeExtent? TimeExtent { get; set; } added
    • TimeInfo? TimeInfo { get; set; } added
    • TimeInterval? TimeOffset { get; set; } added
    • void CustomParameters { set; } added
  • Methods
    • Task AddToFullExtents(params dymaptic.GeoBlazor.Core.Components.Geometries.Extent[] values) added
    • Task AddToSpatialReferences(params double[] values) added
    • Task AddToSublayers(params dymaptic.GeoBlazor.Core.Components.WMSSublayer[] values) added
    • Task RemoveFromFullExtents(params dymaptic.GeoBlazor.Core.Components.Geometries.Extent[] values) added
    • Task RemoveFromSpatialReferences(params double[] values) added
    • Task RemoveFromSublayers(params dymaptic.GeoBlazor.Core.Components.WMSSublayer[] values) added
    • Task SetBlendMode(BlendMode? value) added
    • Task SetCopyright(string? value) added
    • Task SetCustomLayerParameters(string? value) added
    • Task SetCustomParameters(Dictionary<string, object>? value) added
    • Task SetDescription(string? value) added
    • Task SetEffect(Effect? value) added
    • Task SetFeatureInfoFormat(FeatureInfoFormat? value) added
    • Task SetFeatureInfoUrl(string? value) added
    • Task SetFullExtents(IReadOnlyList<Extent>? value) added
    • Task SetImageFormat(string? value) added
    • Task SetImageMaxHeight(int? value) added
    • Task SetImageMaxWidth(int? value) added
    • Task SetImageTransparency(bool? value) added
    • Task SetLegendEnabled(bool? value) added
    • Task SetMaxScale(double? value) added
    • Task SetMinScale(double? value) added
    • Task SetPersistenceEnabled(bool? value) added
    • Task SetPortalItem(PortalItem? value) added
    • Task SetRefreshInterval(double? value) added
    • Task SetSpatialReference(SpatialReference? value) added
    • Task SetSpatialReferences(IReadOnlyList<double>? value) added
    • Task SetSublayers(IReadOnlyList<WMSSublayer>? value) added
    • Task SetTimeExtent(TimeExtent? value) added
    • Task SetTimeInfo(TimeInfo? value) added
    • Task SetTimeOffset(TimeInterval? value) added
    • Task SetUrl(string? value) added
    • Task SetUseViewTime(bool? value) added
    • Task SetVersion(string? value) added
    • Task<BlendMode?> GetBlendMode() added
    • Task<bool?> GetImageTransparency() added
    • Task<bool?> GetLegendEnabled() added
    • Task<bool?> GetUseViewTime() added
    • Task<double?> GetMaxScale() added
    • Task<double?> GetMinScale() added
    • Task<double?> GetRefreshInterval() added
    • Task<Effect?> GetEffect() added
    • Task<FeatureInfoFormat?> GetFeatureInfoFormat() added
    • Task<Graphic[]?> OnJsFetchFeatureInfoFunction(string query) added
    • Task<int?> GetImageMaxHeight() added
    • Task<int?> GetImageMaxWidth() added
    • Task<IReadOnlyList<double>?> GetSpatialReferences() added
    • Task<IReadOnlyList<Extent>?> GetFullExtents() added
    • Task<IReadOnlyList<object>?> GetDimensions() added
    • Task<IReadOnlyList<string>?> GetFeatureInfoFormats() added
    • Task<IReadOnlyList<WMSSublayer>?> GetAllSublayers() added
    • Task<IReadOnlyList<WMSSublayer>?> GetSublayers() added
    • Task<PortalItem?> GetPortalItem() added
    • Task<SpatialReference?> GetSpatialReference() added
    • Task<string?> GetCopyright() added
    • Task<string?> GetCustomLayerParameters() added
    • Task<string?> GetDescription() added
    • Task<string?> GetFeatureInfoUrl() added
    • Task<string?> GetImageFormat() added
    • Task<string?> GetUrl() added
    • Task<string?> GetVersion() added
    • Task<TimeExtent?> GetTimeExtent() added
    • Task<TimeInfo?> GetTimeInfo() added
    • Task<TimeInterval?> GetTimeOffset() added
### **WMTSLayer**

New Members

  • Properties
    • BlendMode? BlendMode { get; set; } added
    • double? MaxScale { get; set; } added
    • double? MinScale { get; set; } added
    • double? RefreshInterval { get; set; } added
    • Effect? Effect { get; set; } added
    • IReadOnlyList<WMTSSublayer>? Sublayers { get; set; } added
    • PortalItem? PortalItem { get; set; } added
    • ServiceMode? ServiceMode { get; set; } added
    • string? Copyright { get; set; } added
    • string? CustomLayerParameters { get; set; } added
    • string? Url { get; set; } added
    • string? Version { get; set; } added
    • void CustomParameters { set; } added
    • WMTSSublayer? ActiveLayer { get; set; } added
  • Methods
    • Task AddToSublayers(params dymaptic.GeoBlazor.Core.Components.WMTSSublayer[] values) added
    • Task RemoveFromSublayers(params dymaptic.GeoBlazor.Core.Components.WMTSSublayer[] values) added
    • Task SetActiveLayer(WMTSSublayer? value) added
    • Task SetBlendMode(BlendMode? value) added
    • Task SetCopyright(string? value) added
    • Task SetCustomLayerParameters(string? value) added
    • Task SetCustomParameters(Dictionary<string, object>? value) added
    • Task SetEffect(Effect? value) added
    • Task SetMaxScale(double? value) added
    • Task SetMinScale(double? value) added
    • Task SetPersistenceEnabled(bool? value) added
    • Task SetPortalItem(PortalItem? value) added
    • Task SetRefreshInterval(double? value) added
    • Task SetServiceMode(ServiceMode? value) added
    • Task SetSublayers(IReadOnlyList<WMTSSublayer>? value) added
    • Task SetUrl(string? value) added
    • Task SetVersion(string? value) added
    • Task<BlendMode?> GetBlendMode() added
    • Task<double?> GetMaxScale() added
    • Task<double?> GetMinScale() added
    • Task<double?> GetRefreshInterval() added
    • Task<Effect?> GetEffect() added
    • Task<IReadOnlyList<WMTSSublayer>?> GetSublayers() added
    • Task<PortalItem?> GetPortalItem() added
    • Task<ServiceMode?> GetServiceMode() added
    • Task<string?> GetCopyright() added
    • Task<string?> GetCustomLayerParameters() added
    • Task<string?> GetUrl() added
    • Task<string?> GetVersion() added
    • Task<WMTSSublayer?> GetActiveLayer() added
### **ZoomWidget**

New Members

  • Properties
    • WidgetLayout? Layout { get; set; } added
    • ZoomViewModel? ViewModel { get; set; } added
  • Methods
    • Task SetLayout(WidgetLayout? value) added
    • Task SetViewModel(ZoomViewModel? value) added
    • Task ZoomIn() added
    • Task ZoomOut() added
    • Task<WidgetLayout?> GetLayout() added
    • Task<ZoomViewModel?> GetViewModel() added

v3.2.1

Bug Fix

  • Fixes AttributesDictionary value deserialization when querying, using hit tests, or sketch widget

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v3.2.0...v3.2.1

v3.2.0

Notice

This version of GeoBlazor is dropping support for .NET 6 and .NET 7, which are now out of support for Microsoft. Since the library is open-source, you can generate your own builds targeting these earlier platforms if necessary, or consider purchasing a GeoBlazor Pro license for custom support.

Bug Fixes

  • Number formatting in AttributesDictionary fixed for different languages/cultures
  • Fix for reading/writing TimeExtent objects
  • Fix for updating the visibility of some widgets with SetVisible
  • Fix for setting SpatialReference with Wkt property

New Features

  • .NET 9 Compatibility
  • 2D Area Measurement Widget
  • MapView.TakeScreenshot - Takes a snapshot of the current map view and returns a Base64-encoded data url
  • AuthenticationManager.FontsUrl - Support for fonts in disconnected environments
  • SpatialReference.Wkt2 - New well-known type format

v3.1.1

Bug Fix

  • Fix for BasemapLayerListWidget

Internal

  • Moved dotnet template generation to Pro repository

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v3.1.0...v3.1.1

v3.1.0

Features

  • Support for Trusted Servers in ArcGIS #341
  • Support browser localization/language settings in AttributesDictionary #319
  • Split apart JavaScript bundle to support smoother initial loading #351

Bug Fixes

  • Fix for adding BasemapLayer programmatically #337
  • Fix for clearing graphics from a GraphicsLayer that was added programmatically #338
  • Adjust default inset alignment of CustomOverlay #340
  • Fix for MarkerStyle in UniqueValueRenderer #344
  • Fix for GraphicsLayer.Remove #345 \nEOF

What's Changed

New Contributors

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v3.0.2...v3.1.0

v3.0.2

Bug Fixes

  • Programmatically added layers work with JavaScript interop #332
  • Fix for broken MapFonts #326
  • Fix for disposal issues #332

New Features

  • All Layers now support PersistenceEnabled property
  • TileLayers now support querying and modifying Sublayer properties
  • GraphicsLayer properties
    • Effect
    • BlendMode
    • MinScale
    • MaxScale
    • ScreenSizePerspectiveEnabledEOF

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v3.0.1...v3.0.2

v3.0.1

Updated v3.0.0, fixes broken nuget build

New Features

  • MapImageLayer - supports loading from MapService on ArcGIS portals
  • Sublayer - specify or inspect the layers in a MapImageLayer or TileLayer
  • SliderWidget - control any data with a custom slider
  • PictureFillSymbol- display custom icons for polygon fill
  • Locator - tool for geolocating or reverse geolocating addresses
  • MapView.QueryResultsMaxSizeLimit - controls the limit on streaming graphic results from HitTest or layer queries
  • BasemapLayerListWidget new properties
    • BasemapTitle
    • EditingEnabled
    • HeadingLevel
    • MultipleSelectionEnabled
    • VisibleElements
  • Basemap.Style - accesses newer version of ArcGIS and OpenStreetMap basemaps via a BasemapStyle enum
    • ArcGISDefaultBasemap marked as Obsolete, suggested to use Basemap.Style instead
  • Dimension- custom screen measurement class which can be constructed with either a string or a double value, and supports px and pt in the string constructor
  • GeometryEngine new methods
    • GetExtentCenter - returns the center point of an Extent
    • GetExtentHeight - returns the height of an Extent in map units
    • GetExtentWidth - returns the width of an Extent in map units

Breaking Changes

  • The order of Layers added to the map in Razor markup has been inverted. Now, the topmost layer in Razor markup will be on top in the map view. For multi-layered scenarios, you will likely need to reverse the order in your Razor code.
  • Converted numerous properties/parameters from HashSet to List or IReadOnlyList to maintain order of items correctly.
  • HitTestResult.GraphicHit now returns a GeoBlazor LayerId rather than a full Layer object
  • Screen-size measurements now take a custom Dimension object
    • Label.RepeatLabelDistance
    • MapFont.Size
    • LineSymbol.Width
    • MarkerSymbol.XOffset and MarkerSymbol.YOffset
    • SimpleMarkerSymbol.Size
    • TextSymbol.HaloSize, TextSymbol.LineWidth, TextSymbol.XOffset, and TextSymbol.YOffset
  • SimpleMarkerSymbol.Style removed, use MarkerStyle instead
  • AttributesDictionary values are now object? instead of object, and constructor dictionaries must be Dictionary<string, object?>
  • Obsolete methods and properties were removed
    • MapView.OnMapRendered - use OnViewRendered
    • Widget.IconClass (all widgets) - use Icon
    • ExpandWidget.ExpandIconClass - use ExpandIcon
    • LocateWidget.UseHeadingEnabled - use RotateEnabled
    • ArealUnit - use GeometryEngineAreaUnit
    • GeometryEngine.GeodesicArea with ArealUnit - use GeodesicArea with GeometryEngineAreaUnit
    • GeometryEngine.PlanarArea with ArealUnit - use PlanarArea with GeometryEngineAreaUnit
    • LogicComponent.OnJavascriptErrorHandler - calls to logic component methods will now throw exceptions just like any other .NET code
    • AttributesDictionary implicit conversion from Dictionary<string, object> - use the explicit conversion or constructor instead
  • Namespace change for ListItem

Performance Improvements

  • Queries now return protobuf-serialized graphics in a stream
    • FeatureLayer.QueryFeatures
    • FeatureLayer.QueryRelatedFeatures,
    • FeatureLayer.QueryTopFeatures
    • FeatureLayerView.QueryFeatures
    • MapView.HitTestEOF

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.5.3.2...v

v3.0.0

NOTE: Nuget build for 3.0.0 was missing critical files, please use https://github.com/dymaptic/GeoBlazor/releases/tag/v3.0.1

New Features

  • MapImageLayer - supports loading from MapService on ArcGIS portals
  • Sublayer - specify or inspect the layers in a MapImageLayer or TileLayer
  • SliderWidget - control any data with a custom slider
  • PictureFillSymbol- display custom icons for polygon fill
  • Locator - tool for geolocating or reverse geolocating addresses
  • MapView.QueryResultsMaxSizeLimit - controls the limit on streaming graphic results from HitTest or layer queries
  • BasemapLayerListWidget new properties
    • BasemapTitle
    • EditingEnabled
    • HeadingLevel
    • MultipleSelectionEnabled
    • VisibleElements
  • Basemap.Style - accesses newer version of ArcGIS and OpenStreetMap basemaps via a BasemapStyle enum
    • ArcGISDefaultBasemap marked as Obsolete, suggested to use Basemap.Style instead
  • Dimension- custom screen measurement class which can be constructed with either a string or a double value, and supports px and pt in the string constructor
  • GeometryEngine new methods
    • GetExtentCenter - returns the center point of an Extent
    • GetExtentHeight - returns the height of an Extent in map units
    • GetExtentWidth - returns the width of an Extent in map units

Breaking Changes

  • The order of Layers added to the map in Razor markup has been inverted. Now, the topmost layer in Razor markup will be on top in the map view. For multi-layered scenarios, you will likely need to reverse the order in your Razor code.
  • Converted numerous properties/parameters from HashSet to List or IReadOnlyList to maintain order of items correctly.
  • HitTestResult.GraphicHit now returns a GeoBlazor LayerId rather than a full Layer object
  • Screen-size measurements now take a custom Dimension object
    • Label.RepeatLabelDistance
    • MapFont.Size
    • LineSymbol.Width
    • MarkerSymbol.XOffset and MarkerSymbol.YOffset
    • SimpleMarkerSymbol.Size
    • TextSymbol.HaloSize, TextSymbol.LineWidth, TextSymbol.XOffset, and TextSymbol.YOffset
  • SimpleMarkerSymbol.Style removed, use MarkerStyle instead
  • AttributesDictionary values are now object? instead of object, and constructor dictionaries must be Dictionary<string, object?>
  • Obsolete methods and properties were removed
    • MapView.OnMapRendered - use OnViewRendered
    • Widget.IconClass (all widgets) - use Icon
    • ExpandWidget.ExpandIconClass - use ExpandIcon
    • LocateWidget.UseHeadingEnabled - use RotateEnabled
    • ArealUnit - use GeometryEngineAreaUnit
    • GeometryEngine.GeodesicArea with ArealUnit - use GeodesicArea with GeometryEngineAreaUnit
    • GeometryEngine.PlanarArea with ArealUnit - use PlanarArea with GeometryEngineAreaUnit
    • LogicComponent.OnJavascriptErrorHandler - calls to logic component methods will now throw exceptions just like any other .NET code
    • AttributesDictionary implicit conversion from Dictionary<string, object> - use the explicit conversion or constructor instead
  • Namespace change for ListItem

Performance Improvements

  • Queries now return protobuf-serialized graphics in a stream
    • FeatureLayer.QueryFeatures
    • FeatureLayer.QueryRelatedFeatures,
    • FeatureLayer.QueryTopFeatures
    • FeatureLayerView.QueryFeatures
    • MapView.HitTestEOF

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.5.3.2...v

v2.5.3.2

Minor Improvements

  • FeatureLayer.ApplyEdits refactored to support protobuf graphic serialization, same as GraphicsLayer.Add
  • Simplified GeoBlazor Core app registration, no longer triggers a dymaptic server call from the running application.

Bug Fixes

  • Fixed #295 TextSymbol properties by updating Protobuf Serialization to lower-case enums, add missing properties
  • Fixed #294 limiting the size of returned data from MapView.HitTest by removing un-hit graphics from the serialized GraphicHit.Layer object.

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.5.0...v2.5.3.1

v2.5.2

New Features

  • Added Graphic.Visible parameter

Bug Fixes

  • Fix for starting a client-side FeatureLayer with an empty Source #275
  • Fix for mouse-wheel on first navigation snapping back to parameter-set Extent #276
  • Fix Guid syncing in Graphic attributes
  • Fix for View.ToScreen and View.HitTest point calculations bug
  • Fix Calcite versions for Sample apps
  • Fix bug with Label.LabelPlacement (see Breaking Change below)
  • Deprecate/throw exception for FeatureLayer.Add(graphic)
  • Versioned JavaScript files will prevent unintentional caching of old versions #268
  • Fixed an error with missing Layer data in MapView.HitTest

Updates

  • Update GeoBlazor templates in preparation for release
  • Updated and removed unneeded NPM packages

Breaking Change

  • Due to a serialization bug, we had to replace Label.LabelPlacement with an enum

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.5.0...v2.5.2

v2.5.0

GeoBlazor Core v2.5.0 Release Notes

Updates

New Features

  • ImageryLayer
  • FeatureLayer additional properties
  • ExpandWidget now supports custom HTML child content

Bug Fixes

  • Bug fixes in WASM graphic loading
  • Bug fix for adding graphics layers from code
  • Bug fixes for popup templates

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.4.0...v2.5.0

v2.4.0

New Features

  • Bing Maps Layer
  • New Methods on FeatureLayer
    • Get Feature Type
    • Get Field
    • Get Field Domain
    • Clone
  • Add text Labels to Graphics
  • Search Widget
    • Exposed Custom Properties
    • Custom Sources
    • GoToOverride
    • Programmatic Search
  • Locate Widget
    • GoToOverride

New Samples

  • Text Labels
  • Bing Maps
  • Custom Search Sources

Bug Fixes

  • Fix bug with adding Basemaps programmatically

Testing

  • Improved Blazor Test Runner

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.3.3...v2.4.0

v2.3.3

What's Changed

New Contributors

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.3.2...v2.3.3

v2.3.2

  • Update links in Samples home page
  • Added a new sample for clicking to add a point
  • Fixes for popup templates and popup actions bugs like #222

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v.2.3.0...v2.3.2

v2.3.0

New Layers

  • CSVLayer
  • KMLLayer
  • WCSLayer

New Widgets

  • BookmarksWidget
  • MeasurementWidget

Other New Features

  • RasterStretchRenderer
  • ColorRamps
  • FormTemplate
  • MapView.SetCursor()
  • WebMap.GetBookmarks()

Dependencies

  • Update @arcgis/core to 4.27.6
  • Update esbuild to 0.17.19
  • Update protobufjs to 7.2.4

Bug Fixes

  • Removed IEquatable implementation that caused bug #149
  • Fixed bug with PopupTemplate impacting SQL Filter sample #214

Testing

  • Added a new suite of Blazor shared library and test runners in /test

Miscellaneous

  • Deprecated ArealUnit, use GeometryEngineAreaUnit instead
  • Deprecated CompassWidget.IconClass and HomeWidget.IconClass, use Widget.Icon instead
  • Deprecated ExpandWidget.ExpandIconClass, use ExpandWidget.ExpandIcon` instead
  • Deprecated ExpandWidget.CollapseIconClass, use ExpandWidget.CollapseIcon` instead
  • Removed the Jekyll site generation code for https://docs.geoblazor.com. Note that all docs are still buildable and available from the Core library.
  • Turned on TreatWarningsAsErrors for build process

----- Auto-Generated Changelog -----

What's Changed

New Contributors

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.2.1...v.2.3.0

v2.2.1

What's Changed

New Contributors

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.2.0...v2.2.1

v2.2.0

New Features

  • AuthenticationManager - Manage OAuth workflows and API Keys, fetch tokens for use in ArcGIS REST calls. See https://docs.geoblazor.com/pages/authentication.html.
  • Geometry Methods Implemented on GeometryEngine - Transform and calculate data from any Geometry (Extent, Polygon, Polyline, Point) from within the GeometryEngine class. See https://docs.geoblazor.com/pages/geometryEngine.html.
  • Graphics.Attributes now AttributesDictionary - Provides asynchronous update methods to add, update, and remove attributes on existing graphics. https://docs.geoblazor.com/pages/customGraphics.html.
  • FeatureLayer.SetPopupTemplate - Allows for updating the popup template asynchronously after render.
  • MapView.OnViewRendered EventCallback added, which returns the MapView.Id for identifying multiple maps.

Bug Fixes

Deprecated

  • MapView.OnMapRendered marked as Obsolete in favor of OnViewRendered (more accurate/consistent terminology)

Minor Breaking Changes (but you probably shouldn't have been using them anyways)

  • MapComponent.ValidateRequiredChildren method changed from public to internal. This method was not intended for end-user use, but is an internal mechanism to verify setup in markdown.

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.1.0...v2.2.0

v2.1.0

Features

  • Added ToMap and ToScreen point conversions to MapView.razor.cs
  • Added methods to control PopupWidget visibility and read feature sets

Large Graphic Data Sets

  • Move all graphic collection serialization from .NET to JavaScript to Protobuf from JSON
  • Tested and adjusted graphic-handling code for WASM, Server, and MAUI scenarios
    • use synchronous JavaScript interop in WASM
    • use multi-threaded async loading in Server

Bug Fixes

  • Fixed relative asset path impacted by route parameters
  • Fixed bug in setting xoffset and yoffset for marker symbols
  • Fixed bug with setting UniqueValueRenderer

Documentation

  • Improved documentation and sample of MAUI configuration loading and Android emulator issue

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.0.1...v2.1.0

v2.0.1

  • Update ArcGIS SDK for JS to 4.26.2
  • Update methods for adding and removing large graphic sets for performance
  • Fix powershell script in Samples.Shared to use Powershell 7 (cross-platform)
  • Add support for ArcGIS Enterprise portal sources

What's Changed

New Contributors

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v2.0.0...v2.0.1

v2.0.0

New Components

  • OpenStreetMapsLayer
  • BasemapLayerListWidget
  • PopupWidget

New Features

  • HitTest query method to find features/graphics at a certain point
  • FeatureLayer feature queries
  • FeatureLayerView feature queries
  • Graphics real-time updates, including support for GetGeometry and SetGeometry methods
  • Extent real-time updates, including support for GetExtent and SetExtent methods
  • MediaContent with Column Charts
  • FieldsContent with Tables
  • Popup ActionButton and ActionToggle with custom callback functions
  • Support for multiple MapViews on one page
  • Layers loaded from a service, including in WebMaps now are queryable in GeoBlazor

Bug Fixes

  • Defining an Extent in razor markup was failing
  • Adding or altering graphics after render was failing
  • Infinite loops created by calling OnMapRendered

Breaking Changes

  • Latitude, Longitude, and Zoom properties are now null by default, which means not setting either these properties or Extent will default to a world-view
  • V1 EventHandler functions were replaced with EventCallbacks, e.g., OnClick replaces OnClickAsyncHandler
  • SpatialReference.Wkid changed from double to int

v1.2.0

Important Changes

  • Support for bundled ArcGIS JavaScript. It is now safe to remove the following tag:
 <script src="https://unpkg.com/@@esri/arcgis-rest-request@@3.0.0/dist/umd/request.umd.js"></script>
 <script src="https://unpkg.com/@@esri/arcgis-rest-auth@@3.0.0/dist/umd/auth.umd.js"></script>
 <script src="https://unpkg.com/@@esri/arcgis-rest-demographics@@3.0.0/dist/umd/demographics.umd.js"></script>
 <script src="https://js.arcgis.com/4.23/"></script>
 <script src="https://unpkg.com/@@esri/arcgis-rest-request@@3.0.0/dist/umd/request.umd.js"></script>
 <script src="https://unpkg.com/@@esri/arcgis-rest-auth@@3.0.0/dist/umd/auth.umd.js"></script>
 <script src="https://unpkg.com/@@esri/arcgis-rest-demographics@@3.0.0/dist/umd/demographics.umd.js"></script>
 <script src="https://js.arcgis.com/4.23/"></script>
  • Support for bundled ArcGIS CSS. Change the CSS tag as follows:
<!-- Old Tag -->
 <link href="https://js.arcgis.com/4.24/esri/themes/light/main.css" rel="stylesheet"/>
<!-- New Tag -->
<link href="_content/dymaptic.GeoBlazor.Core/assets/esri/themes/light/main.css" rel="stylesheet" />
<!-- Old Tag -->
 <link href="https://js.arcgis.com/4.24/esri/themes/light/main.css" rel="stylesheet"/>
<!-- New Tag -->
<link href="_content/dymaptic.GeoBlazor.Core/assets/esri/themes/light/main.css" rel="stylesheet" />
  • Added Projection and GeometryEngine tools. Add the following line to Program.cs to include these tools in Dependency Injection:
builder.Services.AddGeoBlazor();
builder.Services.AddGeoBlazor();

What's Changed

New Contributors

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v1.1.1...v1.2.0

v1.1.1

What's Changed

Full Changelog: https://github.com/dymaptic/GeoBlazor/compare/v1.1.0...v1.1.1

v1.1.0

Versioning Note

This version does include breaking changes, because of the move to the GeoBlazor namespace. However, because it is only our second release, we decided to only increment the minor version number.

What's Changed

New Contributors

Full Changelog: https://github.com/dymaptic/GeoBlazor/commits/v1.1.0