Change Log - imodeljs-common

2.9.0

Wed Nov 18 2020

Updates

  • add accessKey prop to MapLayerSettings
  • Preliminary support for interactive editing sessions.
  • Refactor for push events.
  • Fix KeyColor equality comparison.
  • GeometryStream query and update using flatbuffer schema.
  • Support for push events

2.8.0

Fri Oct 23 2020

Updates

  • Visibility of sublayers named groups is no longer inherited by children.
  • Support down-sampling very large textures in tiles.
  • Add IModelTileRpcInterface.queryVersionInfo().
  • Add support for OPC point clouds in Reality Data widget.
  • Added color mix to thematic display for background map terrain and point clouds

2.7.5

Fri Oct 23 2020

Version update only

2.7.4

Mon Oct 19 2020

Updates

  • Update Access-Control header values

2.7.3

Wed Oct 14 2020

Version update only

2.7.2

Tue Oct 13 2020

Version update only

2.7.1

Thu Oct 08 2020

Version update only

2.7.0

Fri Oct 02 2020

Updates

  • Add documentation for ContextRealityModelProps.
  • Fix calculation of cartographic range.
  • Fixes to front end methods to pull, merge and push.
  • Fixed desktop authorization after recent changes.
  • Update Tile version due to changes to indexes for tesselated polylines
  • On iOS download in background
  • Introduce NoContentError (transmitted via 204)
  • Support thematic display of point clouds.
  • fixed display of isolines mode

2.6.5

Sat Sep 26 2020

Updates

  • changed elements properties for version compare

2.6.4

Tue Sep 22 2020

Version update only

2.6.3

Mon Sep 21 2020

Version update only

2.6.2

Mon Sep 21 2020

Version update only

2.6.1

Fri Sep 18 2020

Version update only

2.6.0

Thu Sep 17 2020

Updates

  • run with nodeIntegration=false for Electron
  • Moved ESLint configuration to a plugin
  • Add API to compute tile chord tolerance.

2.5.5

Wed Sep 02 2020

Version update only

2.5.4

Fri Aug 28 2020

Version update only

2.5.3

Wed Aug 26 2020

Version update only

2.5.2

Tue Aug 25 2020

Version update only

2.5.1

Mon Aug 24 2020

Version update only

2.5.0

Thu Aug 20 2020

Updates

  • Introduce IModelApp security options (including CSRF protection).
  • Allow WebAppRpcRequest consumers to supply custom fetch and Request.
  • Move types from FeatureSymbology namespace from imodeljs-frontend to imodeljs-common.
  • Use IModelRoutingContext
  • Added mobile oidc client
  • Support reality model transparency
  • element editor
  • Switch to ESLint

2.4.2

Fri Aug 14 2020

Updates

  • Deprecate TerrainProps.nonLocatable and TerrainSettings.locatable in favor of corresponding properties on BackgroundMapProps and BackgroundMapSettings.
  • Add support for restart query

2.4.1

Fri Aug 07 2020

Updates

  • add missing rbac-client dep
  • Fixes for map transparency. Do not set base layer transparency when overall transparency is modified. Keep layers in synch when settings change.

2.4.0

Tue Jul 28 2020

Updates

  • Add Map Layer Settings.
  • iModelHub permissions handler

2.3.3

Thu Jul 23 2020

Updates

  • Fix regression that could result in increased number of tile requests.

2.3.2

Tue Jul 14 2020

Version update only

2.3.1

Mon Jul 13 2020

Version update only

2.3.0

Fri Jul 10 2020

Updates

  • geometry clip containment
  • Add ability to create selective overrides from display style settings, and apply the overrides to another settings.
  • Fix orientation of Ecef.createFromCartographicOrigin
  • Add non-locatable flag to TerrainSettings.
  • Setup BriefcaseDb.open() to allow profile and domain schema validation and upgrades.
  • Support for multiple RPC interface clients and attaching interfaces after startup.
  • Add function to convert solar angles to solar direction.
  • enforce max texture size for stepped gradients.
  • New thematic gradient modes implemented and documented: Stepped, SteppedWithDelimiter, and IsoLines

2.2.1

Tue Jul 07 2020

Version update only

2.2.0

Fri Jun 19 2020

Updates

  • Promote Gradient and GraphicParams to public API.
  • Add support for cel-shaded views; promote many APIs, particularly display-related ones.
  • Map GeoCoordStatus to GeoServiceStatus so that it can be returned as error code in a RPC without colliding with existing codes.
  • Add Props interface
  • Move linear referencing domain types out to new @bentley/linear-referencing-common package.
  • Add support for applying different clip volumes to groups of models in a spatial view.
  • Add PhysicalElementProps
  • Add PhysicalTypeProps
  • Fixes for unhandled promise rejections in RPC layer
  • Update to BisCore.01.00.11: Add SectionDrawingProps; deprecate SectionLocationProps in favor of SectionDrawingLocationProps.
  • Switching from JSC to V8

2.1.0

Thu May 28 2020

Updates

  • Improved log message written on rpc error
  • Change default origin mode for terrain to Geodetic.
  • Fix transforms for creating and querying part instance geometry in world coordinate.
  • channel rules
  • Optimize thematic sensor display by culling sensors based on a distanceCutoff property on ThematicDisplaySensorSettings.

2.0.0

Wed May 06 2020

Updates

  • add freeze method and degrees accessors to Cartographic class
  • Show min/max window error for mouse wheel zoom.
  • Show min/max window error for mouse wheel zoom.
  • Make animation state of a display style persistent.
  • Send a default pending message since Azure strips content-type header if no data is present
  • Monitor progress of downloading briefcases, ability to cancel download of briefcases.
  • Added to DisplayStyle3dSettings: MonochromeMode, LightSettings.
  • Simplify GeometryStreamIteratorEntry (breaking API change).
  • constructor of ColorDef wasn't setting transparency properly for rgba() strings
  • added ColorDef.toRgbaString
  • Deprecate members of SectionLocationProps pending refactor.
  • Support for progress/cancel from ios
  • EcefLocation can now optionally preserve a meaningful cartographic origin.
  • Fix for electron request lifecycle.
  • IModelTokenProps.key is now a required member
  • Include model extents with ViewStateProps for drawing views.
  • hsl color conversion wasn't working if s===0
  • Remove deprecated APIs; see NextVersion.md for details.
  • Fix documentation of RenderSchedule time units.
  • Fix for EcefLocation.createFromCartographicOrigin.
  • ColorDef, HSVColor, and HSLColor are immutable types.
  • react to changes in imodeljs-clients
  • Promote properties from IModelToken onto IModel
  • Support suspend/resume in mobile apps.
  • Store current mobile RPC port in protocol.
  • Added file size.
  • Supply RPC routing props for SnapshotIModelRpcInterface open methods"
  • MobileRpcConfiguration throws exception
  • Added NativeApp.deleteBriefcase, avoided authorization exceptions when offline.
  • Refactored NativeApp API and RPC interfaces. This continues to be WIP.
  • Added DownloadBriefcaseOptions and OpenBriefcaseOptions as parameters to the download/open calls for a briefcase.
  • Added new interface for native app
  • VSTS#217447, 162382: Cleanups to implementation of downloading/opening/discovering briefcases in native applications (WIP).
  • Handle null JSON in ViewDetails.
  • Renamed OIDC constructs for consistency; Removed SAML support.
  • OrbitGT point cloud interface.
  • Support OrbitGT Point Clouds
  • Fix BackgroundMapSettings.toJSON() discarding the 'useDepthBuffer' flag.
  • Add mechanism for preloading reality tiles by frustum.
  • react to new clients packages from imodeljs-clients
  • IModelRpcProps replaces IModelToken and IModelTokenProps
  • Change RenderTexture.Type to a non-const enum
  • Remove 'const' from exported enums.
  • Remove check for contextId in BentleyCloudRpcProtocol since remote snapshots are now possible.
  • "Default to text if no content-type in RPC request handling.
  • React to BentleyCloudRpcManager change.
  • Track active RPC requests
  • RPC fix
  • Upgrade to Rush 5.23.2
  • support for editing
  • Add API for thematic display.
  • Alpha feature: thematic sensor display.
  • Rename GlobeMode: ThreeD => Ellipsoid, Columbus => Plane.
  • Remove support for the iModel.js module system by no longer delivering modules.
  • Add a ViewFlag to control white-on-white reversal.

1.14.1

Wed Apr 22 2020

Version update only

1.14.0

Tue Mar 31 2020

Version update only

1.13.0

Wed Mar 04 2020

Updates

  • MobileRpc throw exception

1.12.0

Wed Feb 12 2020

Updates

  • Bump tile format version.
  • iModel write API development
  • Fix issue with constructing the tile cache URL() on Safari.
  • Prevent reuse of cached tiles after project extents change.
  • VSTS#256133: Fixed issue with reopening connections if the backend crashes. Fixes to integration tests.
  • Define ViewDetails for manipulating optional detail settings of ViewDefinition and ViewState.
  • Add support for plan projection models with 3d display priority.
  • Add settings to control display of plan projection models.
  • Add PlanProjectionSettings.enforceDisplayPriority.

1.11.0

Wed Jan 22 2020

Updates

  • Simplify iterator for QPoint3dList.
  • Native apps can now cancel tile requests in progress on the backend.
  • Remove echo test function from devTools
  • Clean up documentation modules; add PlanProjectionSettings for display styles.
  • Allow outline fill to be specified by subcategory appearance.
  • Upgrade to TypeScript 3.7.2.

1.10.0

Tue Jan 07 2020

Updates

  • Added support for embedding images in a GeometryStream.
  • Moving data-holder structures used during the LinearElement.queryLinearLocations API to imodeljs-common.
  • Allow events to be sent from backend to frontend
  • Renamed EventSourceRpcInterface to NativeAppRpcInterface
  • Moved tile IO-related APIs from frontend to common.

1.9.0

Tue Dec 10 2019

Updates

  • Added Tween.js code
  • Added AliCloud tile cache service
  • Code quality report fixes
  • Fix warnings from static analysis
  • Add PropertyMetaData.isNavigation
  • Addressing typo in a couple of members, making them match the schema properly.

1.8.0

Fri Nov 22 2019

Updates

  • Option to include part references in GeometrySummary output.
  • Added missing topic descriptions
  • Fix defect where isMobileBackend return true on windows
  • Change terrain lighting default to off.
  • Change SectionLocationProps.clipGeometry type to string. Add get/set ClipVector methods on SectionLocation.
  • Mark bias as alpha
  • Update to allow Node 12
  • Add support for view-independent display of geometry streams.
  • Fixed camera.equals

1.7.0

Fri Nov 01 2019

Updates

  • Anisotropic filtering of draped map tiles.
  • Tweaks to ambient occlusion settings.
  • Callout clip is now local to placement. Only show marker for active clip.
  • Cleanup AO settings.
  • Remove @deprecated tags in GeometryStreamIteratorEntry
  • Fix comparison of classification properties ignoring the 'volume' flag.
  • Fixes for making volume classifiers work.
  • New wip plugin for hypermodeling support.
  • Add CommonLoggerCategory.Geometry
  • Add Placement2d.multiplyTransform, Placement3d.multiplyTransform
  • Add RelatedElement.none for nulling out existing navigation relationships
  • Reacting to iPadOS change in user agent of safari
  • Remove limit for binary data for mobile
  • Expose FrustumPlanes.planes
  • Convenience methods for overriding aspects of hidden line styles.

1.6.0

Wed Oct 09 2019

Updates

  • Add GeometricModel3dProps
  • Add SectionLocationProps
  • Remove no-longer-needed mobile RPC chunk size workaround for mobile backends.
  • Fixed multiple viewport shadows

1.5.0

Mon Sep 30 2019

Updates

  • Added support for blank IModelConnections
  • Fixed reporting of errors when the ClientRequestContext is established at the backend.
  • Add DisplayStyleSettings.subCategoryOverrides
  • Make ExternalSourceAspectProps.checksum optional
  • Added geometry primitive typing and geometry summary types
  • Support animation of models within RenderSchedule.
  • Refine planar projection frustum calculation
  • Upgrade to TypeScript 3.6.2

1.4.0

Tue Sep 10 2019

Updates

  • Add documentation for RenderSchedule
  • Fix casing of displayStyle.contextRealityModels
  • Fixed reporting of errors when the ClientRequestContext is established at the backend.
  • Electron IPC transport fix for large messages.
  • Added ability to clear individual overridden flags in ViewFlag.Overrides.

1.3.0

Tue Aug 13 2019

Updates

  • Add optional arguments to EcefLocation.createFromCartographicOrigin
  • Allow custom tile cache services.
  • Add CodeSpec.isManagedWithIModel, CodeSpec.scopeType, deprecate CodeSpec.specScopeType
  • Add CodeSpec.create
  • Add terrain settings.
  • Require electron without eval trick.
  • Log more information during RPC trace/info request logging.
  • Changed the transfer chunk size for mobile RPC transport.

1.2.0

Wed Jul 24 2019

Updates

  • Added option to restrict tile cache URLs by client IP address.
  • Added method to get element mass properties.

1.1.0

Mon Jul 01 2019

Updates

  • Add support for applying terrain to background map.
  • Minor error fixed.
  • Initial implementation of the LinearReferencing typescript domain
  • Adding domain classes for all relationships in the LinearReferencing schema.
  • Update to TypeScript 3.5

1.0.0

Mon Jun 03 2019

Updates

  • RPC system now accepts only basic values (primitives, "interface" objects, and binary).
  • Add ExternalSourceAspectProps
  • Refactored and simplified implementation of IModelDb.open
  • Rename terrain to backgroundMap.
  • Retire some tile-related feature gates.
  • Introduced tile format v4.0

0.191.0

Mon May 13 2019

Updates

  • Support spatial classification of context reality models.
  • Added OpenAPIInfo to the barrel file
  • Adds parameter for api-extractor to validate missing release tags
  • Adds ignoreMissingTags flag
  • Added option to use azure-based tile caching
  • Added a utility to diagnose backends
  • Do not cache pending http responses.
  • Allow a view to define a set of elements which should never be drawn in that view.
  • Allow snapshot imodeltokens through bentleycloudrpcprotocol in development mode only.
  • Fix broken links
  • LoggerCategory -> CommonLoggerCategory
  • Fix default line pattern for hidden edges.
  • Introduce LoggerCategory enum to advertise logger categories used by this package.
  • Logging fixes.
  • Put sourcemap in npm package.
  • Add SVG to ImageSourceFormat
  • Add imodeljs-markup
  • New tile cache naming scheme.
  • queryPage use memoization/pending pattern
  • Remove StandaloneIModelRpcInterface
  • Setup a generic context for tracking client requests, and made various related enhancements to logging, usage tracking and authorization.
  • Prefer the IModelToken values in the url (if different from values in JSON body -- should never happen except in a malicious request).
  • Exports interface MarshalingBinaryMarker to prevent errors in api-extractor V7
  • Add SnapshotIModelRpcInterface
  • Refactor solar shadow settings - make these 3d only.
  • Support solar shadow display.
  • Simplified tile caching IModelHost config and removed dev flags. Allow browser caching of tiles
  • Upgrade TypeDoc dependency to 0.14.2
  • Only save viewing volume for view undo rather than cloning ViewState

0.190.0

Thu Mar 14 2019

Updates

  • Cleaned up documentation related to the display system.
  • Rename PagableECSql interface to PageableECSql to fix spelling error
  • Documentation for Skybox

0.189.0

Wed Mar 06 2019

Updates

  • Allow to check if frontend is ios wkwebview
  • Allow subclasses of Range to use static methods
  • Changes package.json to include api-extractor and adds api-extractor.json
  • Update docs for BRepEntity.DataProps
  • Use new buildIModelJsBuild script
  • AxisAlignedBox and ElementAlignedBox are now typed to Range3d rather than classes
  • clone methods are no longer generic
  • Add release tags to indicate API stability
  • Handle transforms on child tiles.
  • Optimize use of animation cutting planes.
  • Remove unneeded typedoc plugin dependency
  • Add support for draco compressed meshes.
  • Consistent naming of "get" methods in Growable arrays.
  • Added spatial <-> cartographic methods that check/use the geographic coordinate system before using ecef location.
  • update for geometry GrowableXYArray usage
  • Add material props classes
  • Defer loading of edges until needed
  • Save BUILD_SEMVER to globally accessible map
  • Implemented spatial criterai when searching through all reality data associated to a project.
  • Optimize containment test with spheres.
  • Move the IModelUnitTestRpcInterface into the testbed and out of the public AP
  • Renamed constructor variable in RpcConfiguration and RpcRequest
  • Support for sending large RPC binary payloads in configurable chunks.
  • Remove loadNativeAsset and formatElements RPC calls from the IModelReadRpcInterface
  • Removed IModelConnection.connectionId, added IModelApp.sessionId
  • Tile requests can optionally specify a retryInterval.
  • Upgrade to TypeScript 3.2.2

0.188.0

Wed Jan 16 2019

Updates

  • Changed Elements Db support for addon changes and generating the changed elements cache. Added WipRpcInterface methods to get changed elements list and check if a changeset is processed in the cache. Bumped WipRpcInterface version. Integration tests for changed elements db.
  • Fix error in semver parsing.

0.187.0

Tue Jan 15 2019

Version update only

0.186.0

Mon Jan 14 2019

Updates

  • Removed IModelDb's cache of accessToken. For long running operations like AutoPush, the user must explicitly supply an IAccessTokenManager to keep the token current.
  • Add TextureProps for use by new backend Texture API.

0.185.0

Fri Jan 11 2019

Version update only

0.184.0

Thu Jan 10 2019

Updates

  • Add support for general 3d tilesets.
  • Fix drag select decorator when cursor moves out of view. Doc fixes.

0.183.0

Mon Jan 07 2019

Updates

  • Add ambient occlusion structures.
  • Change iModelReadRpcInterface version because Geocoordinate calculation methods added.

0.182.0

Mon Jan 07 2019

Version update only

0.181.0

Fri Jan 04 2019

Version update only

0.180.0

Wed Jan 02 2019

Updates

  • Do not send X-Application-Version header if empty.
  • Add path pivot data to render schedule

0.179.0

Wed Dec 19 2018

Updates

  • Log context and imodel ids as separate properties. Surface interface and operation names in logging title.

0.178.0

Thu Dec 13 2018

Version update only

0.177.0

Wed Dec 12 2018

Version update only

0.176.0

Mon Dec 10 2018

Updates

  • New signature for RpcInterface.forward

0.175.0

Mon Dec 10 2018

Version update only

0.174.0

Mon Dec 10 2018

Version update only

0.173.0

Thu Dec 06 2018

Updates

  • Custom imodelJs noDirectImport lint rule implemented, noDuplicateImport lint rule turned on.

0.172.0

Tue Dec 04 2018

Updates

  • Changed index file name to match package name. Change imports to use other packages' index file.

0.171.0

Mon Dec 03 2018

Updates

  • Polyfill URLSearchParams for edge.
  • Front end "read pixels" can now provide subCategoryId and GeometryClass to backend.

0.170.0

Mon Nov 26 2018

Updates

  • Fix GeometryParams constructor. Added test to ensure subcategory id set correctly.
  • Remove dependency on 'window'-named global object.

0.169.0

Tue Nov 20 2018

Updates

  • GeometryStream markdown

0.168.0

Sat Nov 17 2018

Version update only

0.167.0

Fri Nov 16 2018

Updates

  • Add CartographicRange
  • Use URL query instead of path segment for cacheable RPC request parameters.
  • Updated Mobile RPC to deal with binary data
  • Temporarily disable tile caching.

0.166.0

Mon Nov 12 2018

Version update only

0.165.0

Mon Nov 12 2018

Version update only

0.164.0

Thu Nov 08 2018

Updates

  • Fix JSON representation of display styles.
  • GeoJson and Analysis Importer simplification
  • ModelSelectorProps, CategorySelectorProps, and DisplayStyleProps now properly extend DefinitionElementProps
  • Support displacement scale for PolyfaceAuxData
  • Do not diffentiate between backend provisioning and imodel downloading state in RPC wire format (202 for all).
  • Updated to TypeScript 3.1

0.163.0

Wed Oct 31 2018

Updates

  • Fully support mixed binary and JSON content in both directions in RPC layer. RPC system internal refactoring. Basic support for cacheable RPC requests.
  • Remove unused RpcInterface methods, move WIP methods

0.162.0

Wed Oct 24 2018

Updates

  • Added view decoration examples to docs.
  • Make ToolAdmin.defaultTool. public. Allow getToolTip to return HTMLElement | string.
  • Breaking changes to optimize usage of 64-bit IDs.
  • Remove unused createAndInsert methods from IModelWriteRpcInterface
  • Correctly parse RPC interface versions with zero major component.
  • Add RpcInterface versioning documentation

0.161.0

Fri Oct 19 2018

Version update only

0.160.0

Wed Oct 17 2018

Version update only

0.159.0

Tue Oct 16 2018

Version update only

0.158.0

Mon Oct 15 2018

Version update only

0.157.0

Sun Oct 14 2018

Version update only

0.156.0

Fri Oct 12 2018

Updates

  • Initial release

Last Updated: 18 November, 2020