API Reference > imodeljs-backend > changelog Change Log - imodeljs-backend 2.19.53 Tue Mar 21 2023 Version update only 2.19.52 Tue Mar 14 2023 Version update only 2.19.51 Wed Feb 15 2023 Version update only 2.19.50 Wed Jan 11 2023 Version update only 2.19.49 Wed Jan 04 2023 Version update only 2.19.48 Thu Dec 01 2022 Updates Update to @bentley/imodeljs-native@2.19.45 2.19.47 Tue Oct 25 2022 Version update only 2.19.46 Mon Oct 10 2022 Version update only 2.19.45 Wed Oct 05 2022 Version update only 2.19.44 Tue Sep 06 2022 Version update only 2.19.43 Thu Jul 28 2022 Version update only 2.19.42 Fri Jul 15 2022 Updates increase retries for downloading v2 checkpoints from 5 to 10 2.19.41 Mon Jul 11 2022 Updates Retry V2 checkpoint downloads when they fail due to transient errors. 2.19.40 Thu Jun 09 2022 Version update only 2.19.39 Wed Jun 01 2022 Version update only 2.19.38 Fri May 06 2022 Version update only 2.19.37 Wed Apr 13 2022 Version update only 2.19.36 Mon Apr 11 2022 Version update only 2.19.35 Wed Mar 30 2022 Version update only 2.19.34 Thu Mar 24 2022 Version update only 2.19.33 Wed Mar 09 2022 Version update only 2.19.32 Fri Feb 18 2022 Version update only 2.19.31 Tue Feb 15 2022 Version update only 2.19.30 Wed Feb 09 2022 Updates generated element classes now have a default implementation of collectPredecessors returning all set navigation properties Typedoc version upgrade 2.19.29 Thu Feb 03 2022 Version update only 2.19.28 Wed Jan 12 2022 Version update only 2.19.27 Wed Jan 05 2022 Version update only 2.19.26 Wed Dec 08 2021 Version update only 2.19.25 Fri Dec 03 2021 Version update only 2.19.24 Mon Nov 29 2021 Version update only 2.19.23 Mon Nov 22 2021 Version update only 2.19.22 Tue Nov 16 2021 Updates Avoid unnecessarily loading schemas that in extreme cases may exhaust JavaScript heap. 2.19.21 Wed Nov 10 2021 Version update only 2.19.20 Fri Oct 29 2021 Updates Additional test for GCS reprojection 2.19.19 Mon Oct 25 2021 Version update only 2.19.18 Thu Oct 21 2021 Updates Backport from PR#2451 enable reprojection and merge 2.19.17 Thu Oct 14 2021 Version update only 2.19.16 Mon Oct 11 2021 Version update only 2.19.15 Fri Oct 08 2021 Version update only 2.19.14 Fri Oct 01 2021 Version update only 2.19.13 Tue Sep 21 2021 Version update only 2.19.12 Wed Sep 15 2021 Version update only 2.19.11 Thu Sep 09 2021 Version update only 2.19.10 Wed Sep 08 2021 Version update only 2.19.9 Wed Aug 25 2021 Updates throw better exception if IModelHost.startup has not been called 2.19.8 Mon Aug 23 2021 Version update only 2.19.7 Fri Aug 20 2021 Updates add queryV2Checkpoint to BackendHubAccess use native serializer for processing schemas in transformer only export necessary schemas during imodel transformation 2.19.6 Tue Aug 17 2021 Version update only 2.19.5 Fri Aug 13 2021 Version update only 2.19.4 Thu Aug 12 2021 Updates clear statement cache before applying schema changesets Tests for solid kernel severe error exceptions. 2.19.3 Wed Aug 04 2021 Version update only 2.19.2 Tue Aug 03 2021 Version update only 2.19.1 Thu Jul 29 2021 Updates Refresh access token when setting up V1 Checkpoints if possible 2.19.0 Mon Jul 26 2021 Updates Reactivated test that stopped working when a previous PR for ecef dependency to geographicCRS was reverted store changesetIndex on IModelDb Better error checks when creating SpatialViewDefinition-s. remove internal barrel-import usage throw exception when attempting to download a briefcase on top of an existing file Add case for InterpolationCurve3d Use worker thread for mass properties calculations. Add offset body operation for IFC connector. Correctly handle case where subtract operation consumes target body. await returned promise to ensure finally block doesn't intercept it 2.18.4 Tue Aug 10 2021 Version update only 2.18.3 Wed Jul 28 2021 Version update only 2.18.2 Mon Jul 26 2021 Version update only 2.18.1 Fri Jul 16 2021 Version update only 2.18.0 Fri Jul 09 2021 Updates TemplateModelCloner now assigns a new FederationGuid for cloned element instances. Accomodated the inability to reverse Changesets when creating change summaries. fix lint issue begin api transition to changeset index rather than changeset Id Use ecef location calculated for projected iModels Push refreshes access token if necessary. Do not reuse briefcase ids in ReadWrite workflows when using the RPC interfaces (if the briefcase was not found in the local file system) Add missing SectionDrawing properties. 2.17.3 Mon Jul 26 2021 Version update only 2.17.2 Thu Jul 08 2021 Updates Do not reuse briefcase ids in ReadWrite workflows when using the RPC interfaces (if the briefcase was not found in the local file system) 2.17.1 Fri Jul 02 2021 Updates Update to @bentley/imodeljs-native@2.17.10 2.17.0 Mon Jun 28 2021 Updates Promote APIs to public. Include ECClass Ids in TxnChangedEntities. Changes in BriefcaseHandling and ConcurrencyControl to support recovery after deleted changeset download V2 checkpoints asynchronously Deprecate IModelExporter.excludeElementCategory in favor of excludeElementsInCategory make IModelExporter.onExportSchema async Notify frontend via Ipc when IModelDb properties change. added IModelHost.hubAccess api for mocking IModelHub for tests all Element.onInsert and Element.onUpdate methods to modify properties Add "first synchronization" optimizations to IModelTransformer Don't allow undo of changes to project extents or geolocation. promote BriefcaseManager to public make IpcHost and NativeHost @public Deprecate useless Texture properties. added TxnManager.restartSession Fixed removal of schema locks if upgrading schemas is a no-op. Tests for iModel.UpdateIModelProps() fix schema-import occurring potentially out of order dont reimport schemas that already exist by default during transformations Use ecef location calculated for projected iModels 2.16.10 Thu Jul 22 2021 Version update only 2.16.9 Tue Jul 06 2021 Updates Do not reuse briefcase ids in ReadWrite workflows when using the RPC interfaces (if the briefcase was not found in the local file system) 2.16.8 Fri Jul 02 2021 Version update only 2.16.7 Mon Jun 28 2021 Version update only 2.16.6 Mon Jun 28 2021 Version update only 2.16.5 Fri Jun 25 2021 Version update only 2.16.4 Wed Jun 23 2021 Version update only 2.16.3 Wed Jun 16 2021 Version update only 2.16.2 Thu Jun 03 2021 Updates Upgrade to @bentley/imodeljs-native@2.16.2 2.16.1 Thu May 27 2021 Version update only 2.16.0 Mon May 24 2021 Updates Dispatch events when changes are pulled or pushed. added IModelDb.withStatement for executing ECSQL without statement caching Allow RenderGraphic to be created from flatbuffers format geometry as well as json. Improve exclusion handling in IModelTransformer Fix IModelDb.queryEntityIds when used with orderBy and limit params. IModelExportHandler.onProgress is now async Add includeSourceProvenance option to IModelTransformer Fixes to desktop/mobile authorization return changesetId from pullAndMergeChanges Add RenderTimeline element. Invoke dependency callbacks only when inputs change only add listener for shutdown once for IModelDb change arguments to protected static methods of Element, Model, ElementAspect. Only affects schema writers. Update version compare classes for property path support and briefcase rolling 2.15.6 Wed May 26 2021 Version update only 2.15.5 Thu May 20 2021 Version update only 2.15.4 Tue May 18 2021 Version update only 2.15.3 Mon May 17 2021 Version update only 2.15.2 Wed May 12 2021 Version update only 2.15.1 Wed May 05 2021 Version update only 2.15.0 Fri Apr 30 2021 Updates Update test for AzCopyFileHandler Fix tests for changed elements processing Properly declare changeSetId variables as string. Promote display-related APIs. IModelDb.generateElementGraphics can generate graphics for a non-persistent geometry stream. Add TypeScript wrappers for ExternalSource and related classes and relationships. Fixes to desktop and iOS apps. Remove deprecated ElementEditor that was replaced by EditCommands. rename (deprecate) BriefcaseIdValue.Standalone to BriefcaseIdValue.Unassigned to reduce confusion Add onModelsChanged and onModelGeometryChanged events to TxnManager. Saving & restoring Electron main window size, position & maximized state add NativeHost.settingsStore 2.14.4 Thu Apr 22 2021 Version update only 2.14.3 Thu Apr 15 2021 Version update only 2.14.2 Thu Apr 08 2021 Version update only 2.14.1 Mon Apr 05 2021 Updates Update to @bentley/imodeljs-native@2.14.6 2.14.0 Fri Apr 02 2021 Updates move BriefcaseIdValue to imodeljs-common Cherry-pick logout fix rework Authentication to use IpcHost Detect provenance scope conflicts in IModelTransformer Update to @bentley/imodeljs-native@2.14.0 Update to @bentley/imodeljs-native@2.14.4 Add new exportGraphics options add bindings member to EntityQueryParams Support working in world coords with ElementGeometry.Builder/Iterator. Place line string using ipc command. Basic proxy support for web backends and electron applications (WIP) Add IpcHost.queryConcurrency. Removed hard coded test values in tile upload integration test Add additional metadata to tile upload on cache 2.13.0 Tue Mar 09 2021 Updates Fixed broken double angle bracket link syntax Ensure elements passed to native code are in proper JSON format. refactor Ipc layers to use IpcHost/IpcApp The export methods of IModelExporter and the process methods of IModelTransformer are now async. IPC shim (WIP) for local webviewer apps. Add docs and test for CTE support Update to @bentley/imodeljs-native@2.13.1 Update to @bentley/imodeljs-native@2.13.3 Support Node 14 add notifications for changed elements on SaveChanges Updated to use TypeScript 4.1 Undo/Redo shortcuts begin rename project from iModel.js to iTwin.js 2.12.3 Mon Mar 08 2021 Version update only 2.12.2 Wed Mar 03 2021 Updates Update to @bentley/imodeljs-native@2.12.6 2.12.1 Tue Feb 23 2021 Version update only 2.12.0 Thu Feb 18 2021 Updates Element.code is no longer readonly, so can now be updated Deprecate detachChangeCache() added optional flag to abbreviate blob properties in queries Implement external textures for iModel tiles. Updated create display style test to remove credentials from backgroundLayers definition. Add IModelTransformerOptions.wasSourceIModelCopiedToTarget to better support branching scenarios. Add IModelTransformOptions.isReverseSynchronization to better support synchronizing changes from a branch back to master. Mobile IPC fix Bump native version to 2.12.1 Update to @bentley/imodeljs-native@2.12.4 lock test add IpcSocket Add beta API for TemplateRecipe2d fix incorrect version logic in UsageLoggingUtilities 2.11.2 Wed Feb 17 2021 Updates NativeApp download cancellation fix 2.11.1 Thu Feb 04 2021 Version update only 2.11.0 Thu Jan 28 2021 Updates Changed storageType from azure to azure?sas=1 for getCommandArgs function Fix brep DataProps to/from flatbuffer to account for base64 string header. Element geometry creation by brep operations. Reinstated behavior when re-opening files read-write. enhance BriefcaseManager and BriefcaseDb for edit commands Improve ElementGeometry documentation. Add a check to verify, and fix, the DbGuid in the iModel if it is different than the Guid in iModelHub. ConcurrencyControl.setPolicy was allowing incorrectly typed arguments update imodeljs-backend package.json to use 2.11.5 for imodeljs-native Update to @bentley/imodeljs-native@2.11.8 Add IModelExportHandler.onProgress and IModelImporter.onProgress callbacks Separated out API to upgrade iModels. Version compare property checksums return LocalBriefcaseProps from BriefcaseManager.downloadBriefcase 2.10.3 Fri Jan 08 2021 Version update only 2.10.2 Fri Jan 08 2021 Updates Update to @bentley/imodeljs-native@2.10.10 2.10.1 Mon Dec 21 2020 Updates Update to @bentley/imodeljs-native@2.10.9 2.10.0 Fri Dec 18 2020 Updates Update minimum Node version to 10.17.0 ECSql Support for Binding Sets of Ids Added CheckpointV2 client Support compact representation of DisplayStyleSettings.excludedElements. Added ElementGeometry.Builder and ElementGeometry.Iterator. changed type of member "data" on Texture from string to UInt8Array. breaking change Provide better error message when relationship insert/update/delete is not a linktable relationship. Compress tiles before upload to blob storage by default. Update to @bentley/imodeljs-native@2.10.4 Update to @bentley/imodeljs-native@2.10.6 Update to @bentley/imodeljs-native@2.10.8 channel documentation Version compare top parents test update 2.9.9 Sun Dec 13 2020 Updates Update to @bentley/imodeljs-native@2.9.10 2.9.8 Thu Dec 10 2020 Updates Update to @bentley/imodeljs-native@2.9.9 2.9.7 Wed Dec 09 2020 Version update only 2.9.6 Mon Dec 07 2020 Updates Update to @bentley/imodeljs-native@2.9.8 to consume a performance enhancement to Presentation Rules 2.9.5 Fri Dec 04 2020 Updates Update to @bentley/imodeljs-native@2.9.7 2.9.4 Wed Dec 02 2020 Updates Update to @bentley/imodeljs-native@2.9.5 2.9.3 Mon Nov 23 2020 Version update only 2.9.2 Mon Nov 23 2020 Updates Update to @bentley/imodeljs-native@2.9.4 2.9.1 Thu Nov 19 2020 Version update only 2.9.0 Wed Nov 18 2020 Updates getElement and getModel can optionally validate the expected class Preliminary support for interactive editing sessions. Clean up EventSink API for push events. GeometryStream query and update using flatbuffer schema. Improve projectExtents handling for IModelTransformer and IModelImporter Add IModelImporter option to simplify element geometry avoid waiting on usage logging requests to succeed/fail; disable backend Bentley telemetry in iModelBank use case RpcPushConnection fix Support for push events Update ConcurrencyControl docs on locking and code management Reorganize ConcurrencyControl API 2.8.1 Mon Nov 02 2020 Updates avoid waiting on usage logging requests to succeed/fail; disable backend Bentley telemetry in iModelBank use case Update to @bentley/imodeljs-native@2.8.8 Update to @bentley/imodeljs-native@2.8.9 2.8.0 Fri Oct 23 2020 Updates Update to @bentleey/imodeljs-native@2.8.5 Update to @bentley/imodeljs-native@2.8.7 Add mapImagery to DisplayStyleCreationOptions Allow DisplayStyleCreationOptions to specify any properties of DisplayStyle3dSettingsProps. Elemeent CRUD perf test fixed Add IModelTileRpcInterface.queryVersionInfo(). ConcurrencyManager documentation 2.7.6 Wed Nov 11 2020 Updates Update to @bentley/imodeljs-native@2.7.9 2.7.5 Fri Oct 23 2020 Version update only 2.7.4 Mon Oct 19 2020 Updates Update to @bentley/imodeljs-native@2.7.8 2.7.3 Wed Oct 14 2020 Version update only 2.7.2 Tue Oct 13 2020 Updates Update to @bentley/imodeljs-native@2.7.6 2.7.1 Thu Oct 08 2020 Updates Update to @bentley/imodeljs-native@2.7.5 2.7.0 Fri Oct 02 2020 Updates Update to @bentley/imodeljs-native@2.7.4 Fixes to front end methods to pull, merge and push. Setup IModelHost.startup() to use proxy servers if configured/available - this is valuable for debugging agents, backends and electron applications. On iOS download in background Fix ios hang issue Modify queryModelRanges to handle non geometric model errors Introduce NoContentError (transmitted via 204) Tile gen performance script in package.json 2.6.5 Sat Sep 26 2020 Updates changed elements properties for version compare Update to @bentley/imodeljs-native@2.6.4 2.6.4 Tue Sep 22 2020 Updates Update to @bentley/imodeljs-native@2.6.3 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 Updates Update to @bentley/imodeljs-native@2.6.2 2.6.0 Thu Sep 17 2020 Updates Update to @bentley/imodeljs-native@2.6.0 Allow an Element's FederationGuid to be cleared with the empty string during update. Allow "" to clear UserLabel when element is updated. Moved ESLint configuration to a plugin fix failing usageloggingutilities tests from missing productVersion Add IModelExporter.visitElements and IModelExporter.visitRelationships flags to optimize exports that don't need to visit element and/or relationship instances. react to telemetry and introspection client changes Tile Gen Performance tests: use local paths Tile generation performance test updates to use the latest tile format version 2.5.5 Wed Sep 02 2020 Version update only 2.5.4 Fri Aug 28 2020 Updates Update to @bentley/imodeljs-native@2.5.8 2.5.3 Wed Aug 26 2020 Version update only 2.5.2 Tue Aug 25 2020 Updates Update to @bentley/imodeljs-native@2.5.7 2.5.1 Mon Aug 24 2020 Updates Update to @bentley/imodeljs-native@2.5.6 2.5.0 Thu Aug 20 2020 Updates Update to imodeljs-native 2.5.0 VSTS#419723: Accomodated "bad" checkpoints that may have serialized transactions preventing their use in ReadWrite cases. Fix for a recursive exception while closing a briefcase Added mobile oidc client Remove special code handling for mobile. locking, deleting of assemblies Switch to ESLint 2.4.2 Fri Aug 14 2020 Updates Update to @bentley/imodeljs-native@2.4.4 Added suport for restart query 2.4.1 Fri Aug 07 2020 Updates Update to @bentley/imodeljs-native@2.4.3 add missing rbac-client dep Removed unnecessary binary decode from IModelSchemaLoader 2.4.0 Tue Jul 28 2020 Updates apply changeset performance tests with own iModels and data Element geometry clip containment tests and interactive test tool. Changes to support imodel-bridge Add IModelExporter.exportSchemas Add ability for IModelExporter to skip template models Allow app to set additional crash report properties dynamically 2.3.3 Thu Jul 23 2020 Version update only 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 allow opening briefcases readonly with SnapshotDb.openFile and StandaloneDb.openFile Bug fix and doc fix Add IModelDb.computeProjectExtents(). Performance tests for 2D Elemen CRUD operations Changes to support imodel-bridge fix spelling mistakes in Device class Fix typo in comments Setup BriefcaseDb.open() to allow profile and domain schema validation and upgrades. disallow protected operations for missing schemas marked with SchemaHasBehavior custom attribute 2.2.1 Tue Jul 07 2020 Updates Update to @bentley/imodeljs-native@2.2.7 2.2.0 Fri Jun 19 2020 Updates Update to imodeljs-native 2.2.4 Move analytical domain classes out to new package. close file on error in StandaloneDb.openFile Add DefinitionContainer, DefinitionSet Add missing properties to UrlLink and RepositoryLink Bump tile version Add IModelExporter.wantGeometry to optimize cases where geometry is not required Move linear referencing domain types out to new @bentley/linear-referencing-backend package. Added test for null string access via ECSqlStatement Add PhysicalElement.physicalMaterial Add PhysicalMaterial Add PhysicalMaterial.createCode, PhysicalMaterial.create Remove IOS Azure downloader reactivate native ULAS tests Update to BisCore.01.00.11: Add new SectionDrawing properties, deprecate SectionLocation in favor of SectionDrawingLocation. Switching from JSC to V8 2.1.0 Thu May 28 2020 Updates Add a new BackendLoggerCategory for usage logging, 'BackendLoggerCategory.UsageLogging'. Update to imodeljs-native 2.1.0 Support for finding an ExternalSourceAspect given scope, id, and kind/hash. ApplyChangeset perf tests updated Fixed token expiry check for desktop authorization. Download ChangeSets in chunks (1) In xy region booleans, support curved edges; (2) ExportGraphicsMeshVisitor class Add ability to convert ExportGraphicsMesh to Polyface Fixed validation of Guids (ContextId, IModelId) cached within a briefcase. Moved iModelBridgeFwk to a separate package Simplified logging for monitoring briefcase operations. Fix transforms for creating and querying part instance geometry in world coordinate. Fix and improvement to performance tests Added support for schema XML import to iModelJs backend via the IModelDb.importSchemaStrings method. channel rules Fixed logging usage when opening connections. 2.0.0 Wed May 06 2020 Updates Fixed setup of UserInfo from browser clients, and more cleanups to AccessToken API. Added RivisionUtility class for debug/testing node addon 2.0.18 addon 2.0.25 Update to addon 2.0.5 imodeljs-addon 2.0.6 New IModelJS Node Addon 2.0.8 Update to imodeljs-native 2.0.24 Accusnap: improve performance and accuracy. BriefcaseIModelDb.pushChanges now requires a description Performance tests for Applying Changesets IModelHost.startup is now async. IModelHost.shutdown is now async. Refined checks for briefcase id, and fixed failing integration tests. Product Backlog Item 276268: Deleting the briefcase cache if the cache version is incorrect should not attempt to delete the root directory. Setup initialization of briefcase cache for offline workflows. (VSTS#286489) Monitor progress of downloading briefcases, ability to cancel download of briefcases. Move briefcase-specific events into BriefcaseIModelDb subclass Fixed param when calling logger so that it is a function as the logger expects Setup a common cache locaton for iModel.js, with briefcases taking up a sub-folder. Changed ChangeSets download API Added unlink for file handler Update UlasClient tests to send more detailed feature log data react to renaming of imodeljs-clients-backend to backend-itwin-client apply changeset performance tests with local datasets BriefcaseManager.delete should work in offline scenarios. Remove deprecated members of SectionLocation and downgrade to alpha pending refactor. Support for progress/cancel from ios Remove deprecated ExportGraphics types etc for 2.0 Updated docs. IModelDb.findByKey replaces IModelDb.find Include model extents with ViewStateProps for drawing views. Remove deprecated APIs; see NextVersion.md for details. Entity.forEachProperty has moved from beta to public. Please note that the default value of includeCustom has changed to better match typical use. Removed/moved some properties from AuthorizationClient interf Add IModelDb.Elements.getAspect method txn.hasPendingTxns returns false if all local changes have been undone Adding a new method setFirstSchemaLocater to ECSchemaXMLContext to allow control over the first locater used to locate schemas. IModelDb.containsClass now supports schema aliases react to changes in imodeljs-clients Promote properties from IModelToken onto IModelDb IModelTransformer now processes RepositoryLinks Update minimum Node version to 10.16.0 test Logging fixes, separated open/download of briefcases a little more. Fix issue when initialize briefcase cache from disk and cache folder does not exist openBriefcase RPC method now find the cached briefcase before opening it. Introduce the BriefcaseIModelDb class, make IModelDb abstract. Cleaned up unused async-s in BriefcaseManager Avoided casting of BriefcaseProps to IModelRpcProps. Added NativeApp.deleteBriefcase, avoided authorization exceptions when offline. Move briefcase property from IModelDb --> BriefcaseIModelDb BriefcaseId is now an enum instead of a class Rename BriefcaseId --> ReservedBriefcaseId, introduce BriefcaseId type VSTS#297017: Update cached briefcase information if changes were applied. Refactored NativeApp API and RPC interfaces. This continues to be WIP. Removed the call to simultaneously download and open the briefcase at the backend. This should be done in two separate steps henceforth. The download must be done with BriefcaseManager, and the open is now a synchronous call in BriefcaseDb. Added DownloadBriefcaseOptions and OpenBriefcaseOptions as parameters to the download/open calls for a briefcase. Removed BriefcaseDb.create Setup ability to use NativeApp.openBriefcase() in offline scenarios. fixed flaky test VSTS#217447, 162382: Cleanups to implementation of downloading/opening/discovering briefcases in native applications (WIP). do not throw exception in NativeAppBackend.startup() VSTS#296110: Setup a way to close briefcases when the native application is offline. Move concurrencyControl from IModelDb to BriefcaseIModelDb Renamed OIDC constructs for consistency; Removed SAML support. Add support for password-protecting snapshot iModels Fixed typo for ElementAspect perf tests VSTS#217447, VSTS#162382: Reinstated option to open briefcases with SyncMode = PullOnly. Add purge dir method to iModelJsFs react to creation of new clients packages from imodeljs-clients ; substitute current date for feature usage without any set start/end dates Removed deprecated utilities. enforce opening Snapshots readonly through StandaloneDb Remove the deprecated Entity.clone method Adjusted calls to some node addon changes (ECUtils removed) Upgrade to Rush 5.23.2 support for editing The API for snapshot iModels is now public. When creating a snapshot iModel, there is now an option to create class views for interoperability. Add IModelHost.snapshotFileNameResolver Add FileNameResolver class Move snapshot methods out of IModelDb and into new SnapshotIModelDb class. Add TemplateModelCloner to place instances of a template model Renamed TestOidcClient and related constructs for consistency. Add IModelDb.tryPrepareStatement Fixed usage logging. fix failing ulas tests due to invalid featureId update ULAS test logging & feedback Update UlasUtilities to support exception-throwing native functions Use standalone briefcases for PullOnly cases. 1.14.1 Wed Apr 22 2020 Updates Documentation 1.14.0 Tue Mar 31 2020 Updates Update to addon 1.14.1 Fixed downloading of files using https/streaming to resolve when the filestream is closed instead of when the input stream is exhausted. Add handling for invalid predecessor ids to IModelTransformer Accomodate updated imodeljs-native ULAS functions 1.13.0 Wed Mar 04 2020 Version update only 1.12.0 Wed Feb 12 2020 Updates Fix IGeometry roundtripping issue through ECSql. Fix insert/update binary properties for Element Aspect. Separated out routines to download and open briefcases. bulk mode Consolidated sign-in for integration tests bulkmode iModel write API development Prevent reuse of cached tiles after project extents change. A new optional dependency, ecschema-metadata, allows for retrieval of full Schema information from an iModel using the new IModelSchemaLoader utility class. Added parameters for ruleset directory and temp cache location for version compare processing Add ViewDefinition.getAuxiliaryCoordinateSystemId and ViewDefinition.setAuxiliaryCoordinateSystemId methods Add SpatialLocationModel.insert Add optional isPlantProjection parameter to PhysicalModel.insert VSTS#256133: Fixed issue with reopening connections if the backend crashes. Fixes to integration tests. Better documentation of OidcDesktopClient Fixed changeset perf test by using another iModel on Hub Add ViewDetails to ViewDefinition. Add support for plan projection models with 3d display priority. UlasUtilities exported as an module. 1.11.0 Wed Jan 22 2020 Updates Native apps can now cancel tile requests in progress on the backend. Remove echo test function from devTools Allow outline fill to be specified by subcategory appearance. Upgrade to TypeScript 3.7.2. Added TypeScript wrapper over the native SaaSClient. 1.10.0 Tue Jan 07 2020 Updates Typescript code for the classes in the Analytical schema. Return error message from concurrent query manager Added support for embedding images in a GeometryStream. IModelExporter, IModelTransformer, and IModelImporter are now beta and provide low-level functionality needed for iModel transformation and data exchange. Added IModelDb.isBriefcase() getter. Implementing LinearlyLocatedBase interface by base LR abstract element-classes. Moving data-holder structures used during the LinearElement.queryLinearLocations API to imodeljs-common. Allow events to be sent from backend to frontend Add tryGetInstance / tryGetInstanceProps methods to the Relationship class which return undefined rather than throwing an exception when a relationship is not found. Fix webpack for ios test that were failing due to new dependencies VSTS#225894 - Allowed agents to bypass usage logging calls. These cause usage logging errors. Add tryGetElement / tryGetElementProps which return undefined rather than throwing an exception when an element is not found. Add tryGetModel, tryGetModelProps, tryGetSubModel which return undefined instead of throwing exceptions when the model is not found. 1.9.0 Tue Dec 10 2019 Updates Updated to addon 9.1.3 Added AliCloud tile cache service Added framework to run imodeljs-backend test on ios using appcenter Setup OidcDesktopClient for Electron use cases. fix warnings from static analysis Enabling testing code for updating LR aspects after fix in native side. Addressing typo in a couple of members, making them match the schema properly. Avoid concurrent tile uploads 1.8.0 Fri Nov 22 2019 Updates Option to include part references in GeometrySummary output. Expose isTwoSided flag on ExportGraphicsMesh SchemaDesignPerf import tests Added missing topic descriptions Add experimental Node 12 support Change SectionLocationProps.clipGeometry type to string. Add get/set ClipVector methods on SectionLocation. Add support for view-independent display of geometry streams. 1.7.0 Fri Nov 01 2019 Updates Add TypeScript wrapper class for BisCore:ElementOwnsExternalSourceAspects New wip plugin for hypermodeling support. Calling IModelDb.pushChanges is now a no-op if there are no changes Adding accessor for LinearElementId from LinearlyLocated. Adding convenience APIs to manipulate LinearReferencing data stored in multi-aspects. Add TypeScript wrappers for GeometricElement2dHasTypeDefinition and GeometricElement3dHasTypeDefinition navigation relationships Tests for Mixin impact on CRUD Add and fix npm script to create backend test for mobile. Schema Design Perf tests for Polymorphic queries Add IModelDb.querySchemaVersion Schema Design Perf tests for relationships Resurrected the old way of doing agent registrations 1.6.0 Wed Oct 09 2019 Updates Add isNotSpatiallyLocated and isPlanProjection to GeometricModel3d Add SectionLocation Add GraphicalPartition3d and GraphicalModel3d Schema perf tests Addressing bug while querying for linearLocations filtering on more than 1 classes. Addressing rush lint issues. Addressing issues while returning LinearLocationReferences. Deprecating importSchema on the LinearReferencing domain in favor of its bulk-version. 1.5.0 Mon Sep 30 2019 Updates added support for blank IModelConnections Setup a way to supply authorization through the backend for frontend requests. Error log when downloading change sets should include iModelId for context. Fixed the iModelHub client to properly dispose a file handle after upload to the iModelHub. Add IModelDb.Elements.hasSubModel Make ExternalSourceAspect.checksum optional Clear statement cache after schema import Added utility to summarize geometry filter redundant hub requests Removed the [propName: string]: any indexed from Entity. It prevented the compiler from catching many basic errors. briefcase editing and undo/redo upgrade to TypeScript 3.6.2 1.4.0 Tue Sep 10 2019 Updates Setup a way to supply authorization through the backend for frontend requests. Allow attaching change cache file before change summary extraction. Added change summary test, and improved doc a little. Add minimum brep size option to IModelDb.exportGraphics FunctionalSchema.importSchema is now deprecated. Add support for GeometricModel.geometryGuid for detecting whether tiles for a model can be reused across versions Added performance logging for tile upload IModelConnection.close() for read-only connections should not close the Db at the backend; Opening an iModel with SyncModel.PullAndPush() multiple times (without disposing it) must reuse the briefcase. Add method to create view with camera Fixed misleading logging output in tile upload 1.3.0 Tue Aug 13 2019 Updates Allow custom tile cache services. Always acquire a briefcase when creating a new backend instance for PullAndPush workflows. Added Change Summary integration test, and fixed documentation. Trial code for tile upload errors Fixed changeset performance tests Tile upload logging. Mark ExportGraphics API as public Support for gzip compression of tiles Fixed issue with opening iModels with names that are invalid on Unix or Windows. Add IModelDb.isSnapshot Tile upload error catching. Azure tile upload logging Upgrade azure storage library. 1.2.0 Wed Jul 24 2019 Updates Added option to restrict tile cache URLs by client IP address. Apply change sets at the backend in a non-blocking worker thread. Add ElementAspect handler methods When deleting a parent element, make sure there are onDelete/onDeleted callbacks for child elements Add support for linework to IModelDb.exportGraphics The className parameter to IModelDb.Element.getAspects is now optional to allow all aspects to be returned Deprecate IModelDb.importSchema in favor of IModelDb.importSchemas Added method to get element mass properties. Add exportPartGraphics and accompanying interfaces Capture tile upload errors using JSON.stringify. Fallback to toString for Error derivative errors in tile upload Always report tile upload response on failure Discover properties of azure 'error' object 1.1.0 Mon Jul 01 2019 Updates Open fixes when briefcase requires merges. Catch tile upload errors. Setting up briefcase is always from an older checkpoint. Add materialId, subCategory to ExportGraphicsInfo Fix crash in getViewThumbnail for odd number of bytes Adding relationship class for GraphicalElement3dRepresentsElement. Initial implementation of the LinearReferencing typescript domain Adding domain classes for all relatinships in the LinearReferencing schema. Exporting relationships module. Fixes to opening iModel-s ReadWrite from mutiple IModelConnection-s. Fixed issues with deleting briefcases if there were errors with preparing briefcases. Add a new method forceLoadSchemas to IModelJsNative.ECPresentationManager. Introduced AsyncMutex - a utility to run async blocks of code in sequence. Properly document ModelSelector.models and CategorySelector.categories as Id64String arrays Made insertElement not return Id64.invalid, throws error instead Update to TypeScript 3.5 Update property referenced in ULAS error message 1.0.0 Mon Jun 03 2019 Updates Migrated agent applications to the newer client RPC system now accepts only basic values (primitives, "interface" objects, and binary). Switched from iModelHub Project API to Context API Fix bug in IModelDb.createSnapshotFromSeed Add BriefcaseId.Snapshot Improve reading and binding binary blob using concurrent query manager Modified ElementAspect Performance tests Add options to IModelHost for logging large tile sizes and long tile load times. Add TypeScript wrapper for BisCore:ExternalSourceAspect Made poll interval configurable for concurrent query manager. Updated code to use new ownedByMe option when quering briefcases Logging changes. Refactored and simplified implementation of IModelDb.open IModelDb.openSnapshot cannot open a briefcase copy of an iModel managed by iModelHub The IModelDb.createSnapshot instance method replaces the IModelDb.createSnapshotFromSeed static method Crash reporting, node-report opt-in Throw IModelError if an IModelDb query would return too many rows Retire some tile-related feature gates. Introduced tile format v4.0 Improve ulas error message logs Catch tile upload errors. 0.191.0 Mon May 13 2019 Updates Support spatial classification of context reality models. Fix incorrect elevation for background map display. Adds parameter for api-extractor to validate missing release tags Remove requirement that JavaScript classnames match BIS classnames Avoided iModelHub calls when opening iModels for Design Review. Fixed reinitializing briefcase cache when there are .tiles files. Enabled use of checkpoint service. Added option to use azure-based tile caching Added a utility to diagnose backends Improved backend diagnostic utility. Adapt to Range2d name change Allow a view to define a set of elements which should never be drawn in that view. Added texture support to exportGraphics Fixes for file-based tile caching Catch tile upload errors Fix for release tags Fix broken links LoggerCategory -> BackendLoggerCategory Cleanup old imodelbank references Add InformationRecordModel.insert, GroupModel.insert Introduce LoggerCategory enum to advertise logger categories used by this package. Limited maximum cache size of the backend PromiseMemoizer. Missing dependency on node-report Fixed memoization problem that caused an endless stream of 404 NotFound errors. Reinstated old version of OidcAgentClient Unauthorized open requests should cause a more obvious error. Improved performance logging, especially of IModelDb open operations; ChangeSets are merged one-by-one to prevent hogging the event loop. Memoization fix when opening iModels in shared, read-only mode . Fixed setup of application version. Updated Element CRUD perf tests Added tile generation perf test QueryPage use memoization/pending pattern Remove IModelDb.createStandalone, use IModelDb.createSnapshot instead. Remove ElementPropertyFormatter, IModelDb.getElementPropertiesForDisplay (use presentation rules instead) Remove StandaloneIModelRpcImpl Fix for Render Gradient.Symb test Setup a generic context for tracking client requests, and made various related enhancements to logging, usage tracking and authorization. Add IModelDb.createSnapshot/openSnapshot/closeSnapshot, deprecate IModelDb.createStandalone/openStandalone/closeStandalone Moved IModelJsExpressServer class into a new package (@bentley/express-server). Simplified tile caching IModelHost config and removed dev flags. Allow Typo in documentation Fix missing ULAS client request data ExportGraphicsFunction return type is now void Upgrade TypeDoc dependency to 0.14.2 Add usage logging tests Edit usage logging tests to support revised usage logging syntax 0.190.0 Thu Mar 14 2019 Updates Added IModelDb.exportGraphics Fix issue for ios 0.189.0 Wed Mar 06 2019 Updates Changes package.json to include api-extractor and adds api-extractor.json Use new buildIModelJsBuild script AxisAlignedBox and ElementAlignedBox are now typed to Range3d rather than classes Moved AzureFileHandler, IOSAzureFileHandler, UrlFileHandler and the iModelHub tests to the imodeljs-clients-backend package. This removes the dependency of imodeljs-clients on the "fs" module, and turns it into a browser only package. Clone methods are no longer generic Remove unneeded typedoc plugin dependency Added spatial <-> cartographic methods that check/use the geographic coordinate system before using ecef location. Added async method for ECSqlStatement and SqliteStatement for step and stepAndInsert Create iModel from empty template if seed file path not defined. Add IModelImporter for importing data between iModels Enable IModelWriteTest create/delete iModels on per user-machine basis Enable IModelWriteTest create/delete iModels on per user-machine basis Validated size of change sets before applying them. Codespec lock example Add backend Material API Validated version of Node.js in IModelHost.startup() Save BUILD_SEMVER to globally accessible map Fixed resolution of queryable promises. Added queryModelRange IModelConnection.close() always disposes the briefcase held at the backend in the case of ReadWrite connections. Move the IModelUnitTestRpcImpl into the testbed and out of the public API and marked nativeDb as hidden Remove loadNativeAsset and formatElements RPC calls from the IModelReadRpcInterface Removed IModelConnection.connectionId, added IModelApp.sessionId Tile requests can optionally specify a retryInterval. Improve tile request logging and make timeout configurable. Prevent tile generation from interfering with other asynchronous requests. Handled error with fetching host information on deployed machines. Quick fix to ULAS failures. WIP fixes to Usage Logging. Upgrade to TypeScript 3.2.2 0.188.0 Wed Jan 16 2019 Updates Changed Elements Db class for backend processing 0.187.0 Tue Jan 15 2019 Version update only 0.186.0 Mon Jan 14 2019 Updates More logging of HTTP requests, and enabled use of fiddler for backend diagnostics. Removed IModelDb's cache of accessToken. For long running operations like AutoPush, the user must explicitly supply an IAccessTokenManager to keep the token current. Renamed RequestProxy->RequestHost. Allowed applications to configure proxy server with HTTPS_PROXY env. Add backend TextureAPI and accompanying test 0.185.0 Fri Jan 11 2019 Version update only 0.184.0 Thu Jan 10 2019 Updates Generalize create method for display styles Property Changeset.Author in IModelChange ECSchema was renamed UserCreated. It holds the user ID instead of the user e-mail. 0.183.0 Mon Jan 07 2019 Updates Moved electron utilities into a separate "@bentley/electron-manager" package. 0.182.0 Mon Jan 07 2019 Updates Implement the typescript side for new Geocoordinate services in the native iModel.js addon Upgrade to Node 10. There is no longer separate packages for Node and Electron. 0.181.0 Fri Jan 04 2019 Updates Upgrade to Node 10. There is no longer separate packages for Node and Electron. 0.180.0 Wed Jan 02 2019 Version update only 0.179.0 Wed Dec 19 2018 Updates Fix CodeSpecs.load Add CodeSpecs.hasId, CodeSpecs.hasName 0.178.0 Thu Dec 13 2018 Updates Temporarily disable TxnManager events. 0.177.0 Wed Dec 12 2018 Version update only 0.176.0 Mon Dec 10 2018 Updates Fix for timing problem in TxnManager test Add IModelDb.Elements.updateAspect 0.175.0 Mon Dec 10 2018 Version update only 0.174.0 Mon Dec 10 2018 Updates Add static create methods for certain Element classes 0.173.0 Thu Dec 06 2018 Updates Use IOSAzureFileHandler when on mobile Added IModelConnection.findClassFor Custom imodelJs noDirectImport lint rule implemented, noDuplicateImport lint rule turned on. 0.172.0 Tue Dec 04 2018 Updates Don't register testing domain multiple times 0.171.0 Mon Dec 03 2018 Updates More information logged from BriefcaseManager.\nFixed deletion/cleanup of invalid briefcases.\nAdded OIDC support for simpleviewtest application. Add ElementRefersToElements.insert Fixed front end integration tests. Document the intended purpose of IModelJsExpressServer within a deployment environment. Fixed integration tests. added tests for ElementDrivesElement handlers Fixes to integration tests. Add OrthographicViewDefinition.setRange Cleaned up use of mocks in core tests. Enable test now that addon was updated. Fix Subject.insert to set parent 0.170.0 Mon Nov 26 2018 Updates Add DrawingViewDefinition.insert Fix GeometryParams constructor. Added test to ensure subcategory id set correctly. Rename LinkTableRelationship to just Relationship. Work on adding callbacks for dependency propagation. 0.169.0 Tue Nov 20 2018 Version update only 0.168.0 Sat Nov 17 2018 Version update only 0.167.0 Fri Nov 16 2018 Updates Add IModelDb.CodeSpecs.insert overload Add SubCategory.insert Add missing createCode methods Changes to debug utilities. Added IModelHubClient.IModel, removed IModelQuery.primary(), use IModelHubClient.IModel.Get instead Add IModelDb.Views.setDefaultViewId Add OrthographicViewDefinition.insert 0.166.0 Mon Nov 12 2018 Updates Hydrated briefcases for ReadOnly cases from the latest checkpoint, rather than the seed files. This significantly improves performance of IModelDb/IModelConnection.open() for typical cases. 0.165.0 Mon Nov 12 2018 Updates Clean up IModelImporter Add static insert methods to many classes to simplify iModel creation. Add more TypeScript wrapper classes for BisCore relationships Add Subject.createCode and Subject.insert methods Add FunctionalModel.insert method 0.164.0 Thu Nov 08 2018 Updates Fix JSON representation of DisplayStyle. Add IModelImporter as a base class for utility methods needed by all importers Removed assertion when deleting a memoized open call. Add more methods to IModelImporter Fix snapping test OIDC related enhancments (WIP). Re-enabled several backend integration tests. Refactor analysis-importer to use IModelImporter Updated to TypeScript 3.1 0.163.0 Wed Oct 31 2018 Updates Guids can now be bound as strings to ECSQL. BLOBs in ECSQL and SQLite are now mapped to UInt8Array instead of ArrayBuffer (as only the former can be marshaled between backend and frontend). Fully support mixed binary and JSON content in both directions in RPC la Remove obsolete script 0.162.0 Wed Oct 24 2018 Updates Removed uncessary comments Breaking changes to optimize usage of 64-bit IDs. Ids and date times can now be directly bound as hex strings or date time ISO strings respectively in ECSQL statements. Remove unused createAndInsert methods from IModelWriteRpcInterface Added classes to reduce electron and express boilerplate in sample apps. 0.161.0 Fri Oct 19 2018 Updates Update native-platform version to 0.64.2, which now includes a new package to handle electron for linux. Update iModel.js native platform to version 0.64.3 0.160.0 Wed Oct 17 2018 Updates Fix for incorrect conversion in ConcurrencyControl 0.159.0 Tue Oct 16 2018 Updates Move up to new version of addon (updated electron dependency to 2.0.8) Removed KnownRegions Enum 0.158.0 Mon Oct 15 2018 Version update only 0.157.0 Sun Oct 14 2018 Updates Fixing scripts for linux 0.156.0 Fri Oct 12 2018 Updates Initial release Last Updated: 11 June, 2024