- Maximum three decimal places for pathData in Android Drawable
- Warning if pathData length is greater than 0x7FFF (~32K)
- More compact output in android XML, fewer line breaks
- The alpha component of a color is now always printed in gradient colors in android XML
- Android XML gradientRadius can no longer be negative for radial gradients
- Fixed bug with negative scale values in SVG (axis flipping)
- Added support for single clip-path inside group
- Added support for linear and radial gradient in
android-drawableprofile.
- Added experimental syntax for
.figtree.toml, allowing for the tagging ofcontainer_node_idsvalues for further use in the scan output. - Each node in the scan output now has a "tag" value indicating its source container node.
figxwill automatically enable basic logging if it detects the environment variableCI.figxwill automatically enable debug logging if it detects one of the following environment variable:DEBUG,ACTIONS_RUNNER_DEBUG, orACTIONS_STEP_DEBUG.
- Improved logging for http requests in debug mode
- Add support for Linux with GLIBC 2.35 binary
- Add new profile
android-drawablefor Android Drawable XML vector icons
- Command
figx import/figx inow imports only visible nodes with typeCOMPONENT. Before this change you could import any node type. This was done because in real projects, some components with illustrations can be used within others. This leads to confusion during import. Nodes with typeCOMPONENThave unique names, so now only those can be imported. - Experimental command
figx scannow outputs only metadata for visible nodes with typeCOMPONENTfor the same reasons.
- Added experimental command
figx scanwhich scans remote figma file content and outputs it to the file. The collected metadata can be used by external scripts for any purpose.
Access tokens can now be stored securely in the system keychain on local machines, eliminating the need to set them manually via environment variables — because nobody really likes dealing with environment variables.
To add an access token to the keychain, use the figx auth command. It will open a web interface with further instructions.
This feature is currently supported on macOS and Windows only.
Additionally, you can now explicitly configure the priority order for how figx searches for access tokens in the remote configuration. Example:
[remotes.icons]
...
access_token = [
{ env = "FIGMA_ACCESS_TOKEN" }, # Check environment variable first (e.g., for CI)
{ keychain = true }, # Then fallback to system keychain (for local use)
]ALSO: Fixed a bug where a progress bar was incorrectly displayed in contexts where it shouldn’t appear.
- Minor improvements and optimizations for interactive output
- Less verbose output. By default, instead of a huge wall of logs, a cool and concise progress bar is now shown. To display logs or even more detailed logs, use the
-v,-vv, and-vvvarguments.
- Show indexing progress during
fetchandimport --refetch
-
Figma file indexing now runs in parallel with resource import, streaming data as it becomes available. As soon as a Figma node ID is identified for a resource, it is immediately queued for download. This greatly shortens the wait time for resource loading, especially in large Figma files.
-
The
figx fetchcommand no longer causes resource transformation. Only downloads from Figma. -
The message that a node with a certain name was not found in Figma now contains a link to the resource declaration, leading to a file if you click on it in the IDE
-
Experimental: Metrics are now published in Prometheus format to the
.figx-out/metrics.promfile, containing information about the import process.
The png, webp, and android-webp profiles now default to downloading the original SVG asset from Figma and rendering the required resolution locally.
pngprofile: The asset no longer needs to be re-downloaded for different scale values. Since the source is in SVG format, it can be re-rendered at any resolution on demand.webpprofile: Same benefits as PNG, plus local rendering enables better lossless compression. The resulting WEBP files are approximately 9% smaller compared to the previous method.android-webpprofile: Inherits all improvements from PNG and WEBP. Importing a single android-webp asset is now 4–5× faster, with no quality loss and better compression.
You can revert to the previous behavior by setting the
legacy_loader = trueproperty in the profile or any resource.
Special thanks to the developers of the brilliant resvg and usvg libraries for making this possible.