Version 1, Update 125
Bug fixes:
- Fix the type definition for SlotNode to include a
clone()method.
Bug fixes:
clone() method.Plugins running in Figma Dev Mode can now read the node currently focused in the Dev Mode focus view. The existing figma.currentPage.focusedNode property (already used in Figma Slides and Figma Buzz for the focused slide or asset) now returns that node in Dev Mode as well. See Working in Dev Mode for more on building plugins for Dev Mode.
You can now use the Plugin API to view and manipulate Figma Draw features, including:
We've also updated the documentation around setting pattern fills and strokes.
TextPathStartData: Data defining the starting position of text on a pathTransformModifier: A modifier that can be applied to a transform groupComplexStrokeProperties: Stroke properties describing stretch brushes, scatter brushes, and dynamic strokesVariableWidthStrokeProperties: Points that define the width profile of variable width strokesfigma.createTextPath(node, startSegment, startPosition): Create a text on a path node from a vector node.figma.transformGroup(nodes, parent, index, transformModifiers): Wrap nodes in a transform group with specified transform modifiers.figma.loadBrushesAsync(brushType): Load the first-party brushes of the specified type (stretch or scatter).node.setFillsAsync(fills): Supports setting pattern fills.node.setStrokesAsync(strokes): Supports setting pattern strokes.textOnPathNode.textPathStartData: Gets and sets the starting position data for text on a path node.transformGroupNode.transformModifiers: Gets and sets the transform modifiers applied to a transform group.node.complexStrokeProperties: Gets and sets the complex stroke properties (brush or dynamic stroke properties) of a node, if any.node.variableWidthStrokeProperties: Gets and sets the variable width stroke properties of a node, if any.slides and buzz as valid editorType valuesExtended variable collections enable theming for variables. When you extend a collection, the extension inherits all modes and variables from its parent collection. You can then override variable values in the extended collection to create theme-specific variations while maintaining a single source of truth.
ExtendedVariableCollection: A variable collection that extends another collectionfigma.variables.extendLibraryCollectionByKeyAsync(collectionKey, name): Create an extended collection from a library or local variable collectionvariableCollection.extend(name): Create an extended collection from a local variable collectionvariable.valuesByModeForCollectionAsync(collection): Get variable values for a specific collection, including overrides in extended collectionsvariable.removeOverrideForMode(extendedModeId): Remove an override for a specific modeextendedVariableCollection.removeOverridesForVariable(variableId): Remove all overrides for a variableextendedVariableCollection.variableOverrides: A map of all overridden variable values in the extended collectionmode.parentModeId: For modes in extended collections, references the corresponding mode in the parent collectionvariable.setValueForMode(modeId, value): When the modeId belongs to an extended collection, the value will be set as an override on the extensionFor examples and more details, see Working with Variables.
layoutMode 'GRID' now support 'HUG' for layoutSizingHorizontal and layoutSizingVertical.layoutMode 'GRID' also support 'HUG' as a GridTrackSize type in the row and column sizeslayoutMode 'GRID' now support values other than 1 for 'FLEX' sized tracks in gridRowsSizes and gridColumnsSizes. This corresponds to the fr unit in CSS GridHUG, but in the Plugin API, new grids are FIXED and their tracks are FLEX.GridTrackSize setters with a value would set the track to 'FIXED' if it was previously set as 'FLEX'. Now, the type will only be automatically set to 'FIXED' if the track was previously set to 'HUG'resetOverrides method on InstanceNode is deprecated in favor of removeOverrides. This is a change in method name only.Figma Buzz now supports plugins! With the new API features, you can enable users to create, customize, and manage marketing assets like social posts, digital ads, and more at scale.
New:
figma.editorType can now return buzz when a plugin is running in Figma Buzz.figma.buzz provides access to the Buzz API with methods for creating and managing media assets.figma.buzz.createFrame() creates frames optimized for the canvas grid layout.figma.buzz.getBuzzAssetTypeForNode() and figma.buzz.setBuzzAssetTypeForNode() allow you to work with 42+ predefined asset types for platforms like Instagram, LinkedIn, Twitter, and Facebook.figma.buzz.getTextContent() and figma.buzz.getMediaContent() extract dynamic content fields from templates for easy customization.figma.buzz.smartResize() intelligently resizes assets for different platform requirements while preserving design integrity.figma.viewport.canvasView can be used to toggle between grid view or single-asset view.figma.currentPage.focusedNode identifies the asset currently focused on in the interface.figma.getCanvasGrid() returns the canvas grid, a 2D representation of assets within the canvas.figma.setCanvasGrid() is used to reorder assets in the grid.figma.createCanvasRow() creates a new row in the canvas grid.figma.moveNodesToCoord() moves nodes to specific positions in the canvas grid.For more information, see the Working in Buzz guide.
fontStyle in getStyledTextSegments()visible property to the Noise and Texture effect types.boundVariables property to Noise and Texture effect types to prevent validation errors on write. Note that binding variables for Noise and Texture effects is not yet supported.GridTrackSize to properly handle value as optional.