Version 1, Update 102
New
- Component properties (componentPropertyDefinitions, componentProperties) can now have bound variables for their value!
New
In February 2024, Figma implemented dynamic page loading for Figma design files. Now, dynamic page loading has been extended to FigJam files. If your plugin handles FigJam files, you should follow the steps in Migrating Plugins to Dynamically Load Pages.
This change introduces plugin-api-standalone.d.ts
, an experimental feature which allows for importing types explicitly.
Bug fixes
deprecatedVersion: true
if present.New
openInNewTab
property to the URL action type.This version contains a partial revert of update 1.98.
In 1.98, we removed the nullable ?
modifier from the TypeScript type annotations for boundVariables
. boundVariables
is indeed non-nullable when reading objects from the Plugin API, but several of the affected types, such as Paint and Effect, are used for writing. In the write path, boundVariables
is optional. Removing the nullable modifier caused typechecker errors in otherwise valid code. The nullable modifier has been added back in 1.99. Apologies to everyone who encountered difficulties, and apologies to anyone affected by the additional churn from this update!
Note that this version only affects TypeScript type definitions. No runtime behavior is affected. We intend to release a typings update in the future that makes boundVariables
non-nullable in specific situations, but the second attempt will more carefully address the write path.
Note: The boundVariables
bugfix in this version caused another typechecker bug. We strongly recommend skipping v1.98.
StyledTextSegment
objects now expose text style overrides.boundVariables
property that appears on many node types has been updated so it is no longer nullable; the ?
annnotation was removed. If no bound variables are defined on a node, boundVariables
will evaluate to an empty object.New:
Fix plugin typings bug for prototype expressions. The ExpressionFunction
enum has been updated to include a previously missing value: NOT
.