Skip to content

Release packages [publish docs] (alpha)#1331

Open
imodeljs-admin wants to merge 1 commit into
nextfrom
changeset-release/next
Open

Release packages [publish docs] (alpha)#1331
imodeljs-admin wants to merge 1 commit into
nextfrom
changeset-release/next

Conversation

@imodeljs-admin

@imodeljs-admin imodeljs-admin commented May 6, 2026

Copy link
Copy Markdown
Collaborator

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@itwin/presentation-hierarchies@2.0.0-alpha.16

Major Changes

  • #1350: Breaking: createInstanceKeysFilteredQuery now correctly appends IdSet bindings in both positional and named binding formats, using the IdSet virtual table instead of InVirtualSet.

    Consumers that provide their own LimitingECSqlQueryExecutor or imodelAccess may now receive named bindings (Record<string, ECSqlBinding>) through the public createQueryReader path.

    To migrate, update custom query reader / executor implementations to handle both positional bindings (ECSqlBinding[]) and named bindings (Record<string, ECSqlBinding>), or use the default implementation provided by the @itwin/presentation-core-interop package, createECSqlQueryExecutor function.

Patch Changes

  • f0a0cde: Bump dependencies.
  • Updated dependencies:
    • @itwin/presentation-shared@2.0.0-alpha.11

@itwin/presentation-shared@2.0.0-alpha.11

Major Changes

  • #1360: Breaking: createRelationshipPathJoinClause now returns { joins: string; bindings?: Record<string, ECSqlBinding> } instead of a plain string. Callers must be updated to read the SQL clause from the joins property:

    // Before
    const joinClause = await createRelationshipPathJoinClause({
      schemaProvider,
      path,
    });
    
    // After
    const { joins: joinClause, bindings } =
      await createRelationshipPathJoinClause({ schemaProvider, path });

    RelationshipPathStep now accepts an optional instanceFilter attribute. When provided, the resolved expression is appended as an AND condition to the relevant JOIN's ON clause. ECSQL parameter bindings declared in instanceFilter.bindings are collected across all steps and returned in the bindings field of the result.

  • #1350: Breaking: ECSqlQueryDef.bindings is now ECSqlBinding[] | Record<string, ECSqlBinding> (previously ECSqlBinding[]). This is non-breaking for consumers who only define queries, but breaking for code that reads or forwards bindings (e.g., custom ECSqlQueryExecutor implementations) because it must now handle both formats.

    Migration example:

    // Before
    function handleBindings(bindings: ECSqlBinding[]) {
      bindings.forEach((b, i) => bind(i + 1, b));
    }
    
    // After
    function handleBindings(
      bindings: ECSqlBinding[] | Record<string, ECSqlBinding>
    ) {
      const entries: Array<[string | number, ECSqlBinding]> = Array.isArray(
        bindings
      )
        ? bindings.map((b, i) => [i + 1, b])
        : Object.entries(bindings);
      for (const [key, b] of entries) {
        bind(key, b);
      }
    }

    Alternatively, update to the latest @itwin/presentation-core-interop which handles both binding formats out of the box.

  • #1363: Breaking: Add version property to EC.Schema interface. Any code that manually implements the EC.Schema interface must now provide a version: { read: number; write: number; minor: number } object matching the EC schema version format "read.write.minor".

    Consumers who obtain EC.Schema objects exclusively through createECSchemaProvider from @itwin/presentation-core-interop are unaffected — upgrading to the latest @itwin/presentation-core-interop is sufficient.

    Migration example for custom EC.Schema implementations:

    // Before
    const schema: EC.Schema = {
      name: "MySchema",
      getClass: async () => undefined,
      getCustomAttributes: async () => new Map(),
    };
    
    // After
    const schema: EC.Schema = {
      name: "MySchema",
      version: { read: 1, write: 0, minor: 0 },
      getClass: async () => undefined,
      getCustomAttributes: async () => new Map(),
    };

Minor Changes

  • #1379: ECSql.createClassSelector: Add a utility that creates a bracket-quoted ECSQL class selector ([SchemaName].[ClassName]) from a full class name.

  • #1361: TypedPrimitiveValue: The type fields now use Extract<PrimitiveValueType, ...> to stay in sync with PrimitiveValueType. Additionally, the koqName property is now available for "Integer" and "Long" typed values, not just "Double".

  • #1357: Added new public APIs for describing and carrying property values:

    • ValueDescriptor — a discriminated union (PrimitiveValueDescriptor | StructValueDescriptor | ArrayValueDescriptor) that describes the shape of a value without carrying the value itself.
    • StructValue and ArrayValue — composite value types complementing the existing PrimitiveValue. Value is the new top-level union (PrimitiveValue | StructValue | ArrayValue | undefined) that represents any value that can be assigned to an EC instance property.

Patch Changes

@itwin/presentation-core-interop@2.0.0-alpha.2

Minor Changes

  • #1350: createECSqlQueryExecutor: Updated to handle both positional and named bindings when creating query readers.
  • #1363: createECSchemaProvider: Populate version property on EC.Schema objects from the underlying @itwin/ecschema-metadata schema version fields.

Patch Changes

  • #1377: createECSqlQueryExecutor: queries are now automatically cancelled when consumers break out of iteration.
  • Updated dependencies:
    • @itwin/presentation-shared@2.0.0-alpha.11

@itwin/presentation-hierarchies-react@2.0.0-alpha.63

Patch Changes

  • #1325: Add accessible name for tree context menu.
  • f0a0cde: Bump dependencies.
  • Updated dependencies:
    • @itwin/presentation-shared@2.0.0-alpha.11
    • @itwin/presentation-hierarchies@2.0.0-alpha.16
    • @itwin/unified-selection@1.8.1-alpha.0

@itwin/unified-selection@1.8.1-alpha.0

Patch Changes

  • Updated dependencies:
    • @itwin/presentation-shared@2.0.0-alpha.11

@imodeljs-admin imodeljs-admin requested a review from a team as a code owner May 6, 2026 06:24
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from 7828fa5 to 0ff99fe Compare May 6, 2026 08:35
@imodeljs-admin imodeljs-admin reopened this May 6, 2026
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from 821c0ab to fcd3291 Compare May 6, 2026 08:52
@imodeljs-admin imodeljs-admin reopened this May 6, 2026
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from 4b78d5f to 3738fe8 Compare May 11, 2026 14:49
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from 831834b to 60e651f Compare May 15, 2026 09:30
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from e93581d to 61b0c43 Compare May 19, 2026 06:44
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from aaa410c to a7e2195 Compare May 19, 2026 06:53
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from ee71fa0 to f0a0cde Compare May 19, 2026 09:57
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from 3cd4276 to eff2a3d Compare May 25, 2026 07:20
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from b94628e to 236d6a2 Compare May 25, 2026 07:50
@imodeljs-admin imodeljs-admin force-pushed the changeset-release/next branch from b34c8a5 to 71e301d Compare May 28, 2026 11:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant