Penpot 2.8: Con altura 💎

Penpot 2.8 is here!

While Variants are in the oven, this update introduces significant user experience optimizations, new capabilities for Design Token management, and a crucial performance enhancement, in addition to the usual bug fixes and general improvements.

Let’s dive in :ocean:

Multi-file tokens import and export

It is now possible to perform multi-file token import. This is perfect for handling more complex setups like separate JSON files for themes or metadata. The same goes for exporting. Now you can export tokens choosing between single or multi-file (check your team preference!), being able to preview both options before you decide.

This is just one more step toward improving the workflows with Penpot Design Tokens, and typography tokens are already in the way.

Enhanced performance for SVG-heavy designs

We have carried out a refactoring of how Penpot deals with path data, leading to noticeable performance improvements in files packed with SVGs. This means that, in files with a significant presence of SVG icons and illustrations you can expect:

  • Faster import/export.
  • A more fluid user experience.

This is one of many performance improvements to come, including a new rendering engine that is already under development.

Quality-of-life enhancements

The devil is in the details, and we’re always working on the little and not-so-little things that make the difference. I’ll try to list them here.

AI-powered help

Get AI-powered help right in the workspace, trained on Penpot’s documentation. No need to switch context, so you can stay in your workflow.

Drag to deselect

You can now deselect layers with Ctrl+Shift+Drag.

OS color theme option

Synchronize your color theme (light, dark) with your operating system theme.

Copy as SVG

Copy objects directly as SVG from the design workspace using the contextual menu.

Persistent ruler visibility

Penpot ruler

Your choice of ruler visibility settings now persists across files and reloads.

Beautiful tooltips

We have introduced a new look and feel for tooltips.

Updated fonts catalog

Our fonts catalog has been updated, highlighting fonts like Atkinson Hyperlegible, developed specifically to increase legibility for readers with low vision. Shoutout to @overflorian for the suggestion.

Serbian as a new language

Zdravo Serbians! Penpot is now available in Serbian, thanks to this amazing contribution.

Penpot Export plugin update

Last but not least, we’ve made solid progress in the Penpot Exporter plugin to help migrations from Figma. Here you can find all the highlights related to the plugin update.

Check out our Dev Diaries for more details about this and past releases.

17 Likes

Great! Will have a look.

Currently there are several points why i abandoned penpot:

  • performance is bad (slow and many glitches, while moving componens/canvas)
  • slow speed of zooming, so i need hack Increase sensitivity when pinch zooming. Now it is way too slow which is not working smooth
  • i didnt find feature to “share link to design to anyone without penpot account”. So i cant use it conveniently for my opensource projects, where i want to share my design with wide audience
2 Likes

Hey @skorphil, thanks for the feedback!

Improving the overall performance is currently our main focus. To achieve that, we are fully replacing the way Penpot renders elements with a new canvas render engine. We are already testing it in an internal beta and we can already say that paning and zooming will be much better after its release. After this major change we’ll be able to fine-tune specific gestures such as the trackpad pinch.

We’re also working on more and better ways to share Penpot files and invite team members. Not gonna lie, this is in definition stage so it will take some time until we roll out changes.

I’m sorry you decided to abandon Penpot, but the good news is that we’re already addressing the mentioned blockers. I hope it’s not a goodbye but a “see you later” :wink:

1 Like

Why is it feel sluggish? I wonder, what technology is used for rendering by penpot and figma? I heard figma using webgl, not canvas… Its like a domain i would like to explore, but never researched :sweat_smile:

I tried 2.8 - it feels better but still got glitches with board/elements titles (they do not reset their position and become temporarily detached from their elements)

For me the one thing I’m still missing knowing that variants is coming up next, is text variables.

Variants are great and all, but I’ve previously made a large amount of posters that have the same design but different text. Occasionally I’d realise that certain design elements didn’t work out well and would have to change that for all of them, however, without text variables, this can sometimes lead to big issues. Say you want to change the font size of the text in the poster. Now you’ve got a problem as the text is different from the component. That would make this override the text change. Or at least there are other changes like this that would. I had issues with this last I tried, but it’s been a while now since then. I also had this issue with Figma until they added text variables.

Being able to set the text in a text element as a variable helps a lot with preventing issues like this as now the text is considered separate from the element itself.

It also comes with the added benefit of being much easier to work with than clicking multiple times to manage to edit the text, and prevents accidental changes due to sliding the mouse or something. It also feels better as it lets you decouple the text value from the component itself. And it can be useful for plugins that auto-generate placeholder texts.

Finally, related to this I’d want the same but for images too.

Hi @Reinachan As far as I know, what you call as “text variables” will be included in our Variants release.

1 Like

You can get more context and the reasons behind why are we changing the way Penpot render elements in the canvas at this post: It's time for Penpot to (almost) move away from the DOM

2 Likes

Thank you, just realized that penpot using just svgs in DOM - i’m surprised DOM can do THAT much. Understandable why is it sluggish. At first I thought that penpot uses canvas without webGl, while figma uses webgl…
I’m looking forward to try canvas-based penpot! Expect a huge performance increase compared to svg-based version

Noticed webassembly Taiga - i’m excited )))

2 Likes

Just want to make sure we’re on the same page. What I mean is a field among the variants that you can tie to a text element in the component where you can write text that is then reflected in the element itself. I’m not talking about an entirely separate variant with the text being different.

Another example could be I have a button component. This component has a variant called “main” or “primary” or something line that. It’s generic enough that it can be used as a submit button, a save button, and so on. But I don’t want to edit the text directly on the component itself where I’m using it, I want to edit it from where I select which variant of the component I want essentially by writing in a text box. Will that be possible?

This also has the advantage of communicating to developers that this component should expose a property for setting the text in some way instead of hardcoding “submit” for instance.

I found an example from a Figma project I have from a while back where I used this functionality that I’ve not been able to replicate in Penpot yet without manually editing the text, which is more error-prone. Here I was creating nametags elements for usage in a video.

Even better yet if I could also set the image as a variable too. That would let me adjust all the important parts of the component in one location instead of modifying each individual part of it manually.