# Penpot 2.19 release: Is This It

**URL:** <https://community.penpot.app/t/penpot-2-19-release-is-this-it/11045>\
**Category:** Product updates\
**Created:** [October 30, 2026, 8:18am UTC](https://community.penpot.app/t/penpot-2-19-release-is-this-it/11045 "2026-10-30T08:18:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![myfunnyandy](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/myfunnyandy/32/54_2.png) [@myfunnyandy](https://community.penpot.app/u/myfunnyandy)\
**Post date:** [October 30, 2026, 8:18am UTC](https://community.penpot.app/t/penpot-2-19-release-is-this-it/11045/1 "2026-10-30T08:18:52Z")

</div>

![2.19 cover](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/f/f12b238c1d9a162e51cbc02809933c3825a476ea.webp)

Penpot **2.19** adds **stroke width per side** , **custom keyboard shortcuts** , a reworked **path editor** and **design tokens in shared libraries**. **WebGL rendering** improves in large files, text editing and exports. The release also includes **performance improvements** , many **bug fixes** , security changes and smaller improvements, several of them from community contributors. Thank you to everyone who reported, reviewed and merged.

Let’s dive in!

* * *

## Stroke width per side

 ![2.19-per-side-strokes](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/2/266a89a900bf06b9b60a908adaf403388be6b901.webp)

Rectangles and boards can now have a **different stroke width on each side** (top, right, bottom and left). In the **Stroke** section, switch from uniform to per-side, the same way you set independent border radius. A bottom divider or a left accent no longer needs an extra shape or a mask. ([#9854](https://github.com/penpot/penpot/issues/9854))

We know this one kept you waiting: it was requested looooong ago and is the second most voted request on GitHub ([#3005](https://github.com/penpot/penpot/issues/3005)). It took this long because drawing strokes per side needed the new render engine first, which we launched as [WebGL rendering](https://community.penpot.app/t/whats-next-for-the-penpot-webgl-renderer/10627). For the same reason, **per-side strokes only work with WebGL rendering turned on**.

You can apply **design tokens** to all sides or a different token to each side ([#9842](https://github.com/penpot/penpot/issues/9842)). **Inspect** shows the value or token of each side, as CSS borders do.

* * *

## Custom keyboard shortcuts

 ![2.19-shortcuts](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/a/ab208bbb0286e68b6a413e5aaeb828de7b61b911.webp)

You can now **reassign any keyboard shortcut**. Search by action or by key combination, record a new binding, and Penpot warns you if it is already in use. You can reset one shortcut or all of them. ([#9924](https://github.com/penpot/penpot/issues/9924))

This helps if you use AZERTY, QWERTZ or another layout where the default shortcuts are awkward, or if you are used to the shortcuts of another tool. You can **export and import** your setup to use it on another machine.

* * *

## Path editor, refreshed

 ![2.19-path-editor](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/4/48c33a31500bd63ed17378e864beda647f746fb9.webp)

The **path editor** has been reworked ([#10889](https://github.com/penpot/penpot/issues/10889)):

• Freehand curves are smoother and keep sharp corners  
• The path toolbar is available while you draw  
• Node snapping is on by default  
• You can continue drawing from existing nodes and segments  
• Hold **Shift** to snap angles in 15° steps  
• Delete selected handles with **Backspace** or **Delete** ([#11858](https://github.com/penpot/penpot/issues/11858))

You can also **resize the bounds of an image independently from its content** , to reframe a photo without distorting it. ([#11516](https://github.com/penpot/penpot/issues/11516))

* * *

## Design tokens in shared libraries

 ![2.19-tokens-library](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/b/bf47a15496de53c62046269f516dfe7260711d94.webp)

Tokens can now live in a **shared library** and be used in every file that links it. When the library changes, the tokens update in those files, as components and colors already do. ([#9334](https://github.com/penpot/penpot/issues/9334))

In the consuming file you can apply tokens and switch themes. Tokens are edited in the library, so there is one source for them. The **Assets** tab shows where the tokens of a file come from. ([#11365](https://github.com/penpot/penpot/issues/11365))

**Color tokens** can now be used for the **canvas background** too. ([#11791](https://github.com/penpot/penpot/issues/11791))

* * *

## WebGL rendering

This release includes several changes to **WebGL rendering** :

• Better **tile rendering** , so large files stay smoother while you move around the canvas  
• A new **text editor** built for WebGL rendering, more precise and faster  
• **Exports** use the same engine, so they are faster and closer to what you see on the canvas. Single-file **SVG export** now works with WebGL rendering ([#10546](https://github.com/penpot/penpot/issues/10546))  
• **Fix when scrolling** works in prototypes ([#11684](https://github.com/penpot/penpot/issues/11684))

WebGL rendering is still in beta and off by default. You can turn it on from **user settings**. If you find problems, please report them: [What’s next for the Penpot WebGL renderer](https://community.penpot.app/t/whats-next-for-the-penpot-webgl-renderer/10627).

* * *

## Organizations and teams in one menu

 ![2.19-org-team-menu](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/9/9a755b08def7ad021030ccc855d9a79401f2e5ba.webp)

Since 2.18 you can belong to several organizations, each with its own teams. Until now, organizations and teams had separate menus. Now the menu at the top of the dashboard sidebar shows both: organizations (plus **Other teams** , for teams outside any organization) on the left, and the teams of the one you point at on the right. Switching to a team takes one step, and you can create a team or an organization from the same menu.

* * *

## Other improvements

• **Right-click menu** (Cut, Copy, Paste, Select all) while editing text ([#10914](https://github.com/penpot/penpot/issues/10914))  
• The **selection size badge** updates while you resize, and stays readable when the shape is rotated or flipped ([#10259](https://github.com/penpot/penpot/issues/10259), [#10264](https://github.com/penpot/penpot/issues/10264))  
• **Board presets** for Penpot assets: file thumbnail, template cover, plugin icon and cover ([#11561](https://github.com/penpot/penpot/issues/11561))  
• **Link previews** when you share a Penpot link ([#10699](https://github.com/penpot/penpot/issues/10699))  
• The **hide resolved comments** option is remembered ([#10686](https://github.com/penpot/penpot/issues/10686))  
• The token tree **expands after import** (by [@AKnassa](https://github.com/AKnassa)) ([#9819](https://github.com/penpot/penpot/issues/9819))  
• **3x export scale** option ([#10740](https://github.com/penpot/penpot/issues/10740))

* * *

## Security and self-hosting

• Accounts **lock after repeated failed login attempts** ([#11397](https://github.com/penpot/penpot/issues/11397)), you get an **email when your password changes** ([#11392](https://github.com/penpot/penpot/issues/11392)), and sessions have a **maximum duration** ([#11444](https://github.com/penpot/penpot/issues/11444)).  
• The Plugin API applies the **same permission checks and validation rules as the UI** ([#11137](https://github.com/penpot/penpot/issues/11137), [#11586](https://github.com/penpot/penpot/issues/11586)).  
• Self-hosted instances **warn when the Penpot version is outdated** and list what is missing ([#10497](https://github.com/penpot/penpot/issues/10497)).  
• Backend storage handles **interrupted writes and missing files** better ([#11344](https://github.com/penpot/penpot/issues/11344)), exports run as **jobs** ([#11133](https://github.com/penpot/penpot/issues/11133)), and there are new **Prometheus metrics** for storage operations ([#11676](https://github.com/penpot/penpot/issues/11676)).  
• The MCP server moves to **SDK v2** and the new protocol version, and drops legacy SSE support ([#11827](https://github.com/penpot/penpot/issues/11827), [#11846](https://github.com/penpot/penpot/issues/11846)). Setup: [Penpot MCP server](https://help.penpot.app/mcp/).

* * *

## Community contributions

• **MCP** : no more endless reconnects in inactive tabs (by [@breken-ai](https://github.com/breken-ai)), and no crash when changing pages while connected (by [@makesomethingshit](https://github.com/makesomethingshit))  
• **Tap area when zoomed out** in WebGL rendering, Plugin API `fontFamilies` tokens, and share link fixes (by [@makesomethingshit](https://github.com/makesomethingshit))  
• **Stroke to path with path ends** , prototype interactions kept when toggling visibility in flex layouts, inline email validation, and MCP environment docs (by [@ShreyashAgare26](https://github.com/ShreyashAgare26))  
• **Windows build fixes** , `disable-registration` on shared prototypes, the font size dropdown in Firefox, and the alt-drag cursor (by [@0xTHAC0](https://github.com/0xTHAC0))  
• **Overlay alignment** in the viewer, the **Mixed** label in 24 languages, and binfile export through the API (by [@filipsajdak](https://github.com/filipsajdak))  
• **Dashed strokes** keeping their properties when changing color (by [@Shlok1729](https://github.com/Shlok1729))  
• **Token tree** expanded after import (by [@AKnassa](https://github.com/AKnassa))

Thanks to everyone credited in the changelog and to everyone who reported bugs.

* * *

## Bug fixes and performance

This release fixes a long list of bugs and includes **performance** work in WebGL rendering, strokes, tokens, paths, the Plugin API, MCP and the dashboard. Some examples: copying text to the clipboard works again on Windows, comment bubbles no longer cover dropdown menus, and boards no longer lose their content when dragged near another board. The 2.18 patch releases added faster version saves, more reliable storage cleanup and an access fix for removed team members.

The full list is in [CHANGES.md](https://github.com/penpot/penpot/blob/staging/CHANGES.md).

* * *

## Links

• [User Guide](https://help.penpot.app/)  
• [MCP server](https://help.penpot.app/mcp/)  
• [What’s next for the Penpot WebGL renderer](https://community.penpot.app/t/whats-next-for-the-penpot-webgl-renderer/10627)  
• [CHANGES.md](https://github.com/penpot/penpot/blob/staging/CHANGES.md)

---

<div class="post-metadata">

**Author:** ![Anjali](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/anjali/32/10935_2.png) [@Anjali](https://community.penpot.app/u/Anjali)\
**Post date:** [October 30, 2026, 3:37pm UTC](https://community.penpot.app/t/penpot-2-19-release-is-this-it/11045/2 "2026-10-30T15:37:16Z")

</div>

soo many amazing updates with the recent releases!! ⭐  
it seems like the day i fully switch to webGL rendering mode is coming soon yay

---

<div class="post-metadata">

**Author:** ![LauraKalbag](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/laurakalbag/32/5014_2.png) [@LauraKalbag](https://community.penpot.app/u/LauraKalbag)\
**Post date:** [October 30, 2026, 4:28pm UTC](https://community.penpot.app/t/penpot-2-19-release-is-this-it/11045/3 "2026-10-30T16:28:08Z")

</div>

> [@myfunnyandy](#):
>
> **Color tokens** can now be used for the **canvas background** too. ([#11791](https://github.com/penpot/penpot/issues/11791))

Yesssss, I’d missed this one! 😍 My eyes thank you. Ended up making a quick little demo to try it out right away…
