Skip to main content

Version 1, Update 99

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.

Version 1, Update 98

Note: The boundVariables bugfix in this version caused another typechecker bug. We strongly recommend skipping v1.98.

Updates

Bugfixes

  • The 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.

Version 1, Update 97

New:

  • DevStatus can take on a new COMPLETED value, which indicates that dev work for the design is done
  • FigJam can now support multiple pages, and the documentation has been updated accordingly

Version 1, Update 96

Updates

Fix plugin typings bug for prototype expressions. The ExpressionFunction enum has been updated to include a previously missing value: NOT.

Version 1, Update 95

Updates

Fix plugin typings bug for typography variables. Instances of keyof Omit<VariableBindableTextField, '...'> have been updated to Exclude<VariableBindableTextField, '...'>, which correctly excludes values from the VariableBindableTextField enum.

Version 1, Update 94

New

VariableScopes now have support for typography variables:

  • STRING variable scopes: FONT_FAMILY, FONT_STYLE, TEXT_CONTENT
  • FLOAT variable scopes: FONT_SIZE, LINE_HEIGHT, LETTER_SPACING, PARAGRAPH_SPACING, PARAGRAPH_INDENT

Version 1, Update 92

New

  • Paint.ColorStop now has a new field boundVariables that contains a color field and denotes whether a variable is bound to a gradient color stop.

Updates:

  • Fix plugin typings bug where figma.constants.colors does not exist. This object, which remains exactly the same in the API, defines color palettes. We currently support the official FigJam colors, which can be found on this Figma Learn page.
    • Added type ColorPalettes to hold all the available ColorPalette objects

Version 1, Update 91

With the launch of typography variables, the plugin API now supports getting and setting bound variables for text properties like font family, font style, font weight, and more. Please refer to the Working with Variables guide for how to use the variables API to control typography in Figma files.

New:

Updated: