Version 1, Update 45
New:
- Added new
CIRCLE_FILLED
option to theConnectorStrokeCap
type.
New:
CIRCLE_FILLED
option to the ConnectorStrokeCap
type.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
.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.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
sNew:
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
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.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
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:
New:
figma.currentUser
and figma.activeUsers
, which can be viewed in figma apiposition
option to showUINew: