Releases: iTwin/itwins-client
v3.0.0
Major Changes
3.0.0 - 2026-04-21
Use strict graphics provider unions and plain string public identifiers
BREAKING CHANGE: RepositoryClass, RepositorySubClass, and GraphicsContentType
are now plain string aliases instead of string unions.
BREAKING CHANGE: GraphicsProvider is now a discriminated union keyed by
provider name, and GraphicsProviderOptions is now a union of the
provider-specific option interfaces instead of a merged superset interface.
This also removes the remaining repository resource response literals that previously narrowed
repository class values to a smaller fixed set.
Before:
type RepositoryClass =
| "iModels"
| "Storage"
| "Forms"
| "RealityData"
| "GeographicInformationSystem";
type RepositorySubClass = "WebMapService" | "WebMapTileService" | "ArcGIS";
type GraphicsContentType =
| "3DTILES"
| "GLTF"
| "IMAGERY"
| "TERRAIN"
| "KML"
| "CZML"
| "GEOJSON"
| "OAPIF+GEOJSON";
interface GraphicsProviderOptions {
tilingScheme?: string;
bounds?: [number, number, number, number];
credit?: string;
mapType?: string;
url?: string;
session?: string;
tileWidth?: number;
tileHeight?: number;
imageFormat?: string;
[key: string]: unknown;
}
interface GraphicsProvider {
name: string;
options: GraphicsProviderOptions;
}After:
type RepositoryClass = string;
type RepositorySubClass = string;
type GraphicsContentType = string;
type GraphicsProvider = UrlTemplateImageryProvider | Google2DImageryProvider;
type GraphicsProviderOptions =
| UrlTemplateImageryProviderOptions
| Google2DImageryProviderOptions;Migration:
- Existing calls that already pass string literals continue to work unchanged.
- Code that relied on exhaustive autocomplete or literal-union narrowing for repository
class,subClass, and graphicstypevalues should now treat those values as API-provided strings. - Narrow
GraphicsProviderbynamebefore reading provider-specific option fields. - Code that extended
GraphicsProviderOptionsshould switch to one of the concrete option interfaces
or use composition instead of interface inheritance.
Minor Changes
2.6.0 - 2026-04-21
Add Global Repositories endpoint methods
Added new @beta methods for the Global Repositories Technical Preview APIs:
getGlobalRepositoriesgetGlobalRepositorygetGlobalRepositoryResourcegetGlobalRepositoryResourcesgetGlobalResourceGraphics
The implementation reuses the existing repository and repository-resource response types,
and expands the shared graphics provider options model to cover the Google provider
metadata returned by the global graphics endpoint.
Patch Changes
2.5.5 - 2026-04-21
Fixed audit issue with lodash by adding a package resolution
2.5.5 - 2026-04-21
Fixed audit issue coming from changesets cli
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
Minor Changes
2.5.0 - 2026-01-28
Added 3 New Methods To Itwins Client To Support Federated Architecture Support:
-
getRepositoryResourcesByUri()- Retrieve multiple resources with OData support -
getRepositoryResourceByUri()- Retrieve single resource -
getResourceGraphicsByUri()- Retrieve graphics metadata
Added support for redirects in the following methods :
-
getRepositoryResource() -
getRepositoryResources() -
getResourceGraphics() -
All URI-based methods
v2.4.0
v2.3.0
v2.2.0
Minor Changes
2.2.0 - 2025-10-15
Enhanced type safety with conditional return types
Added conditional return types to methods that support both minimal and representation responses. Return types now automatically infer based on the resultMode parameter, providing better IntelliSense and compile-time type checking.
**Enhanced Methods:**
- getFavoritesITwins
- getRecentUsedITwins
- getITwins
- getITwin
- getRepositoryResource
- getRepositoryResources
- getITwinAccount
**Before:**
const result = await client.getITwin(token, "id", "representation");
// Type: BentleyAPIResponse<ITwinMinimalResponse | ITwinRepresentationResponse>
const result = await client.getITwin(token, "id", "representation");
// Type: BentleyAPIResponse<ITwinRepresentationResponse>v2.1.0
Minor Changes
2.1.0 - 2025-10-13
feat: update repository interface and capabilities, and fix esm module compatibility with nodeNext
- Modified the Repository interface to make 'id' and 'displayName' required fields.
- Added 'capabilities' field to the Repository interface to define supported operations.
- Updated NewRepositoryConfig to reflect changes in the Repository interface.
- Changed exports in itwins-client.ts to include .js extensions for compatibility.
- Updated TypeScript configuration to target ES2022 and enable synthetic default imports.