Repository navigation
Releases
v0.13.2
What's New in v0.13.2
Gradients with reduced opacity render at the right strength
Previously, gradient fills ignored layer opacity, only looking at paint/stop-level opacity. Agents could generate gradient overlays like scrims much stronger than intended. Solid fills already honored opacity; now gradients do too.
- #399 · authored by @LovePlayCode
v0.13.1
What's New in v0.13.1
A quick follow-up to v0.13.0's payload diet.
No more irrelevant, duplicate, or misleading titles
Figma auto-names a text layer after its content, so a layer that reads "Add to cart" is named "Add to cart" too. The design data was carrying both. Worse, when someone edited the copy without renaming the layer, the stale old name often rode along, contradicting the real text and confusing LLM consumers.
Additionally, auto-named labels (Rectangle 12, Frame 8372211, Ellipse 6) were included.
All are gone now.
Measured across the same three designs benchmarked for v0.13.0:
| design | v0.12.0 | v0.13.0 | v0.13.1 | Δ vs v0.12.0 | Δ vs v0.13.0 |
|---|---|---|---|---|---|
| small | 14.4 KB | 7.4 KB | 6.8 KB | −52.8% | −7.4% |
| large | 176.0 KB | 88.2 KB | 81.6 KB | −53.6% | −7.4% |
| massive | 707.0 KB | 253.9 KB | 216.4 KB | −69.4% | −14.8% |
v0.13.0
What's New in v0.13.0
v0.13.0 is focused on design output quality: new support for Figma grid layouts, a batch of rendering bug fixes, and — perhaps most importantly — a new default output format that cuts token usage roughly in half. Two of these changes came from the community: thanks to @Jkuzz and @cnYui.
Your payloads just got cut in half
Every byte get_figma_data returns is context budget your agent has to spend. And beyond cost, it spends your model's attention — when there are too many details to attend to, details get lost and designs get implemented at lower quality. So we leaned hard on shrinking it. Tree is now the default output format, and a new dedup pass collapses repeated styles and copy-pasted subtrees while reducing indirection for one-off styles.
Measured across four real Figma files, the output is now half the size it was on average:
| design | v0.12.0 | v0.13.0 | change |
|---|---|---|---|
| small | 14.4 KB | 7.4 KB | −48.6% |
| medium | 43.5 KB | 22.1 KB | −49.2% |
| large | 176.0 KB | 88.2 KB | −49.9% |
| massive | 707.0 KB | 253.9 KB | −64.1% |
Support for Figma grid layouts
Grid auto-layouts used to collapse into a flat stack. Now, rows, columns, gaps, and per-cell placement are supported properly.
Root level nodes are sent with "contextual" width
Top level nodes used to be returned with fixed dimensions. This often lead agents to implement them rigidly, with fixed widths and no consideration for their surroundings. Now designs should render responsive by default, with the designed width coming along for reference.
Fixes & polish
- Colors match what you see. Nodes with multiple semi-transparent fills now render the correct color. #390
- Blur matches the design's strength. Blurs were coming out twice as strong as Figma renders them. Now they match. #392
- Font-adjustments use more appropriate values. Letter-spacing and line-height should now render in more relative units. Before, agents often encoded hyper-specific px values, e.g.
-1.12px. #391 - Support for outlined and inset strokes. Your agent can tell an outline ring from an inset border. Thanks @Jkuzz. #386
- OAuth over HTTP. The HTTP endpoints now accept a per-request bearer token. Thanks @cnYui. #384
- SVGs report size.
download_figma_imagesused to report every SVG as0x0px. It now reports the actual dimensions. #396
Full technical changelog
0.13.0 (2026-06-18)
Features
- CSS Grid layout support (#347) (5c1da79)
- extractors: deduplicate repeated styles and subtrees to shrink output (#389) (a43e465)
- fills: flatten all-solid fill stacks into a single resolved color (#390) (dcf11d2)
- format: default output to tree instead of yaml (#394) (4e3a08b)
- layout: emit the requested root as contextual sizing with a designed reference (#393) (ef888b5)
- strokes: include strokeAlign in simplified stroke output (#386) (c807a27)
- support request bearer oauth tokens over HTTP (#384) (22426e6)
Bug Fixes
v0.12.0
0.12.0 (2026-05-27)
Features
- serialize: add experimental tree output format for better token efficiency (#370) (9ecbc5a)
- support per-request Figma API keys (#365) (fe3b504)
Bug Fixes
- guide LLMs to fix bad node-id errors (proto/branch/figjam URLs) (#371) (c6697bc)
- images: omit null imageRef so foreign-pasted images render via nodeId (#368) (166f87d)
- layout: include positions for children of SECTION nodes (#381) (5088fba)
- layout: respect parent axis for dimensions (#379) (a54cbc2)
- mcp: prevent late progress notifications from crashing stdio clients (#366) (b97585c)
- reject ambiguous localPath inputs in download_figma_images (#367) (eaeec68)
- stop collapsing auto-layout frames to a single IMAGE-SVG (#380) (c036111)
- surface Figma 403 response body to help LLMs self-heal based on actual error (#360) (12280ba)