Version 1, Update 47
New:
- New
themeColors
option infigma.showUI()
to allow plugin UIs to support light and dark themes
May 10, 2022
New:
themeColors
option in figma.showUI()
to allow plugin UIs to support light and dark themesMay 4, 2022
New:
setWidgetSyncedState
on widget nodesfindWidgetNodesByWidgetId
to find all widget nodes by a specified node.widgetId
April 27, 2022
New:
CIRCLE_FILLED
option to the ConnectorStrokeCap
type.April 6, 2022
New:
.stuckNodes
and .stuckTo
properties to read the nodes that are stuck on the reference node as well as the node current stuck to.
.stuckNodes
is available on all SceneNode
.stuckTo
is only available on “stickable” nodes (eg. StampNode
, WidgetNode
, HighlightNode
)HighlightNode
and WashiTapeNode
.March 2, 2022
New:
VectorRegion
s inside a VectorNetwork
now have new fills
and fillStyleId
properties to let you get and set unique fills for each region in a vector network.January 26, 2022
New:
node.getStyledTextSegments
for text nodes to make it much faster and easier to get text properties which may have mixed values, along with which characters these values apply to. Compared to retrieving text properties character-by-character, this new function can be 10x to 500x faster.figma.on
are now officially supported (was previously a proposed API). This new API allows you to register a callback for drop events, which will trigger when objects outside Figma (such as elements from other browser windows, or files from the local filesystem) are dropped onto the canvas.prototypeBackgrounds
property to PageNode for configuring the background color of the prototype.figma.getFileThumbnailNode()
and figma.setFileThumbnailNodeAsync(node)
to get and set the thumbnail node for the current file.figma.base64Encode
and figma.base64Decode
to convert between base64-encoded strings and Uint8Array
sJanuary 12, 2022
New:
figma.skipInvisibleInstanceChildren
to make all node properties and methods skip over invisible nodes (and their descendants) inside instances. This can make operations like document traversal much faster.node.findAllWithCriteria
for much faster document traversal when searching by node types. The return value is narrowly typed to match the provided types, which makes it much easier to use node-type-specific properties. For example, node.findAllWithCriteria({ types: ['TEXT'] })
will return TextNode[]
instead of the more generic SceneNode[]
from findAll
.node.getPluginDataKeys()
Allows enumeration of plugin-data stored on a nodenode.getSharedPluginDataKeys(namespace)
Allows enumeration of shared plugin-data stored on a node in a given namespaceclientStorage
API
deleteAsync
allows deleting stored datakeysAsync
allows enumerating all stored datanode.getRelaunchData
allows reading what relaunch data was stored using node.setRelaunchData
December 15, 2021
New:
WidgetNode.cloneWidget
to support overriding synced maps.WidgetNode.widgetId
to provide a way to tell if a widget node belongs to your widget.figma.pluginId
and figma.widgetId
for Plugins and Widgets respectively to get the value of the manifest.json
"id" field at runtime. This is useful when paired with various WidgetNode apis as well as working with non-null origin iframes.figma.showUI
to allow iframes to be positioned within the canvas at a specified x/y coordinate. If the position specified is outside of the user's viewport, the iframe will be moved so that it remains in the user's viewport.createLinkPreviewAsync
which allows Plugin authors to create a link preview from the provided URL.EmbedNode
and LinkUnfurlNode
which represent link previewsfigma.on
as a proposed API. Drop events will trigger when objects outside Figma (such as elements from other browser windows, or files from the local filesystem) are dropped onto the canvas.November 11, 2021
NOTE: These APIs is only available in FigJam
New:
getPluginData
, setPluginData
and other pluginData related methods on WidgetNode
exportSettings
and exportAsync
on WidgetNode
CodeBlockNode
type. Create a code block with figma.createCodeBlock
November 3, 2021
New:
absoluteRenderBounds
property for nodes to calculate the actual bounds of a node accounting for drop shadows, thick strokes, and anything else that may fall outside the node's regular bounding box defined in x
, y
, width
, and height
.fillGeometry
and strokeGeometry
properties for nodes with shapes (VectorNode, PolygonNode, etc...) to expose paths for object fills and strokes.Bug Fixes: