Penpot 2.17 release: The Universal

Penpot 2.17 is here, and it brings some of the most-awaited everyday upgrades in a while. Background blur finally lands, opening up new creative possibilities. You can now use comments while you design, without leaving the canvas. Typography tokens become visible right in the Design sidebar. And both WebGL rendering and MCP keep getting stronger.

Underneath the headlines: performance improvements, a large round of bug fixes, and plenty of quality-of-life polish. Community contributors shipped alongside the core team again. Thank you to everyone who filed, reviewed, and merged.

Let’s dive in!


Background blur is here

This effect has been on the wishlist for a long time. Background blur lets you blur whatever sits behind a layer, so you can add depth, focus attention, and build frosted-glass looks. It is a small feature with a big creative payoff: more graphic possibilities, no more workarounds.

Find it in the Design sidebar alongside your other effects.

GitHub #9844


Design tokens: more visible, more responsive

Design-system work gets clearer this release:

Typography tokens now appear when you multi-select text.
• The Design sidebar gains a composite typography token input.
• Token creation and edition forms get autocomplete.
• Dropdown options show richer typography context.
Token propagation is faster, a welcome performance boost.


WebGL rendering: still beta, getting stronger

WebGL rendering keeps hardening. The prototype viewer now renders with the same WebGL engine, guides appear in WebGL, and a long list of fixes targets real-world files: fonts, overlays, rounded frames, and more.

It is still beta and off by default, but we genuinely encourage you to turn it on from Your account → Settings or workspace Preferences. It is already a better, faster path, and it is where Penpot is heading. If you spot anything odd, give us a shout via Give feedback in the product: all your feedback is hugely welcome.


MCP: easier to connect, more reliable

If you link AI tools to Penpot files, this release is worth a fresh look. MCP now has a status button for single-tab connection control, surfaces your API key on the Integrations page (no more non-recoverable warning), and resolves sync issues between MCP and the plugin runtime. A new concurrency limiter keeps MCP and plugin communication stable.

Also, an architecture change allows self-hosted instances to have multi-environment setups.


Color picker: new list view

The color picker gains a list view mode, so you can scan and pick swatches faster when your palette grows. It is especially handy for design systems and the library colors you reach for all day. Switch views right in the picker, no extra setup.

GitHub #4420


Use comments while you design

Comments have always lived on the canvas, but now you can use them while you design, without switching out of design mode. Read threads, reply, and resolve as you work, so review and design happen in the same flow.

GitHub #10239


Dashed strokes, your way

Dashed strokes are now fully yours: set the dash and gap with dedicated inputs. It is precise control for borders, dividers, and illustration details (by @eureka0928).

GitHub #3881


A clearer selection size badge

The selection size badge so your measurements stay readable on any background (by @Crystora).

GitHub #10258


Community contributions

Community bylines keep growing. Highlights from this cycle:

Clipboard API used consistently (by @MilosM348)
History entries with author, relative timestamp, and short identifier (by @FairyPigDev)
Export temp-file fix (by @yong2bba)
Show Guides on German keyboards (by @RenzoMXD)
Plugin API fills and strokes no longer read-only (by @RenzoMXD)
Color library count fix (by @Krishcode264)
Nginx MCP WebSocket proxy example (by @lancatlin)

Thank you to everyone credited in the changelog and to all who reported bugs.


Performance, fixes, and polish

2.17 also ships performance improvements and a large set of bug fixes across tokens, WebGL, plugins, export, color picker, variants, and the layers panel. We won’t list every line item here; see CHANGES.md for the full breakdown.


More to explore

Try background blur on a real component, leave comments open while you iterate, and flip on WebGL rendering on your busiest board. We would love to hear what lands best for your team.

Full details: Release Notes · User Guide

3 Likes