Anvil2 3.0 Release
Anvil2 3.0 is a CSS-only breaking release. We’ve made some foundational changes to our CSS structure to address critical issues we’ve faced in the first two versions of Anvil2, and to provide a more robust tokens and colors system. This page will describe the changes introduced in 3.0, as well as the things that product teams need to test. The scope of this change also requires that all monolith and MFE projects will need to upgrade to 3.0 in the78Vega release. Anvil2 3.0 will not be compatible with earlier versions. Due to this requirement, we’ve decided to hold off on any non-CSS breaking changes in this version.
- Designer
- Engineer
Anvil2 v3.0 migration guide for designers
Anvil2 v3.0 is available now for designers working on 78Vega. This guide covers what’s changing with tokens and how to set up your Figma workspace. The full release is targeted for June 6, 2026.If you’re not working on 78Vega, wait for the official release.What’s new in v3.0
Tokens
Anvil2 v3.0 introduces changes across all three token tiers.Tier 3 — New
Tier 3 tokens are a new addition to the system. They represent component-level semantic decisions — things like surface color, border, and interactive states. You won’t use tier 3 tokens directly in your designs. Components in the Anvil2 v3.0 library are already built with them, so the work is handled automatically when you use updated components.Tier 2 — Name changes
Some tier 2 tokens have minor name updates for consistency. If you reference tier 2 tokens directly in your designs, review any custom components or local styles that use them and update as needed.Overlay → Transparent Background
The entireoverlay token category was removed and replaced with background.color.transparent.*.| 2.x | 3.0 |
|---|---|
overlay.color.hover.default | background.color.transparent.default-hover |
overlay.color.active.default | background.color.transparent.default-active |
overlay.color.hover.primary | background.color.transparent.primary-hover |
overlay.color.active.primary | background.color.transparent.primary-active |
overlay.color.hover.danger | background.color.transparent.danger-hover |
overlay.color.active.danger | background.color.transparent.danger-active |
$root flattening (structural rename)
Interactive state tokens were restructured from nested $root objects to flat hyphenated siblings. This pattern applies across all semantic token groups — foreground, background, border, etc. The -hover and -active suffixes are now flat siblings instead of nested children.2.x:Tier 1 — Expanded color ramp
The tier 1 color ramp has been expanded with new values. Update adds coverage at the edges of the scale.Components
Components in Anvil2 v3.0 have been rebuilt to match code props as closely as possible. This alignment reduces the gap between design and engineering, making handoff more predictable and consistent.Anvil2 v3.0 components also now support Figma Slots, allowing you to nest components inside other components while preserving their properties and behavior.Set up your Figma libraries
The new Anvil2 libraries are not enabled by default. Follow these steps to enable them manually.Turn on the new libraries
- Open your Figma file.
- Go to Main menu → Libraries.
- Search for and enable:
- Anvil2 v3 (replaces Anvil2)
- Anvil2 Design Token
Turn off the old library
- In the same Libraries panel, locate Anvil2 and toggle it off.
Disabling the old library may cause components that haven’t been swapped yet to show as unresolved. Complete the library swap before sharing files with others or handing off for review.
Introducing Figma Slots
Figma Slots let you define flexible areas within a component where other components can be inserted without detaching or overriding the parent’s structure. Instead of hard-coding every possible content variation, you designate a region as a slot — any component dropped into that slot inherits the parent’s layout constraints while keeping its own properties and variants intact.Slots make design system components more composable and reduce the need for one-off variants. Anvil2 v3.0 components are built with slot support, so you can nest and swap content freely within the updated library.Learn more:Known limitation: Slots and variable properties
Figma has a current limitation with slots and component variables. When a component is placed inside a slot, its layers become detached from the original component structure. As a result, component properties — including variant-based changes — may not update as expected when switching states.This is a known Figma issue the team is actively working to clarify. In the meantime, if a component inside a slot isn’t responding to property changes, swap it out manually rather than relying on the variable to update it.Read the Figma forum thread for full details.Release timeline
| Milestone | Date |
|---|---|
| Anvil2 v3.0 release | End of April 2026 |
| Schema freeze | June 1, 2026 |
| Feature complete / full release | June 6, 2026 |