My own summer 🌞: Penpot 1.19 release

We are still recovering from the hangover of the Penpot Fest, where we felt the love and potential of the community, thanks! We also made some big announcements, that are an important part of our roadmap.

1.19 Penpot release

In this context, this release may not be an eye-catcher as it is a necessary step for our major initiatives. On this 1.19 Penpot release we bring Access Tokens (another gateway to community creativity!), performance improvements and tons of enhancements, a lot of them from our beloved community contributors :heart:

Access tokens

Personal access tokens function like an alternative to our login/password authentication system and can be used to allow an application to access the internal Penpot API.

This opens up a wide range of possibilities in terms of integrations and is an important step on the critical path of the Penpot’s plugins system.

Enhancements

We’ve developed a fair amount of small enhancements, these are some examples:

Faster dashboard data load
The projects are getting bigger and bigger and the faster they load the sooner the fun begins. The data load at the projects dashboard has been dramatically improved. This is one among the performance improvements that has been published (expect much more to come).

119-dashboard


Default naming of text layers
Text layers are automatically named with the same content of their first text edition. No more “Text-1”, “Text-2”, etc.

119-text


Create typography style from a selected text layer
Now you can create a typography style based on an existing text layer right from the assets tab. Just select and click.

119-typographie


Board as ruler origin
Boards are design areas by themselves and their inner elements positions should are related to them, not to the infinite canvas. That’s why now the rulers info are reset to the board limits when their elements are selected.

119-board


“Show interactions” setting at the view mode
We’ve realized that finding the interactions at the prototypes is not always as easy as we would like to be, specially for the people that did not set them and changing the setting to view the iteraction each time was a bit cumbersome. Now the default setting is “Show interactions on click”, that will make easier to find the interactions while respecting the desings. And not only that, but also you will be able to share the link to the interaction with your selected setting.

image


Community code contributions

By far, this is the Penpot release that has the most code contributions. We cannot emphasize enough how happy we are to see how Penpot is more and more a product of the community. Let’s see only a couple of them:

Reorder shadows, because the order of the factors can change the product (by @akshay-gupta7).

119-shadows


Improvements on elements distribution: Now you can’t distribute less than 3 elements (it just made no sense) and can distribute elements that overlap in their x or y axes (by @dfelinto).

119-distribute


Other community contributors were @astudentinearth, @ondrejkonec and @ryanbreen. Hooray to them and to the Penpot community as a whole! :heart:

Still want more detail? Take a look at our Dev Diaries.

12 Likes

Awesome release, really appreciate all your hard work. Regarding access tokens, is it now possible to create a separate web app that can call this API using the token to read projects, files, etc?

1 Like

Great news thanks for this update to all the contributors !

2 Likes

Thanks for the kudos! And yes, you’re absolutely right! Here’s the goods! Builtin API Documentation - Penpot

2 Likes

Thanks. I figured out how to make API calls with the access tokens. Generally works great, but it seems like there are some inconsistencies in the API docs.

The biggest one is that the URLs are incorrect. The docs read “…/rpc/commands/…”, but it only works without the “s” in commands (so “…/rpc/command/…”). Took me a while to figure that one out, not even sure how.

The different docs pages (default, OpenAI, Swagger) also differs in the functions that are listed. For example, “get-file-libraries” only exists in the default one (the one you linked). Do you maybe know which one is the most accurate one?

And another question, is the viewer maybe available as a self-contained library? Let’s say I want to load a file and render some components in a web app? I want to see if we can have a dynamic design documents website based directly on the Penpot file. Our current one is static, which always requires a lot of manual work to update.

Thanks for making this possible, having an API like this is a huge benefit.

1 Like

Hey @Christoph I’d love to know what are you planning! We’re also working on a pet project that could showcase the power of Penpot’s API (and webhooks) and understanding your use case could also help us!

1 Like

I have a few points that I’m looking into:

  • Automated design docs (we have static ones for the Figma file already - foundations and screens). Can we directly render these from the Penpot file? And maybe add components?
  • Opportunities to automate certain workflows. In Figma, I created a custom plug-in for maintaining the design system (detecting remote component instances, preparing assets for export, switching modes, etc). Without Penpot plugins, can we do this via the API?
  • More transparency around file history and changes (could we regularly download a version and visualize diffs?)
  • Maybe using GitHub for public collaboration via branching and merging?
  • Dynamic display of contributors
  • Maybe a theming wizard for the UI Kit that then allows you to push a personalized option to your own Penpot?

Generally, I am just trying to open this Pandora’s box and feel out what’s possible. These explorations can then help the team think of new ways to design together. Maintaining a design system in Figma is a ton of manual work and the lack of GitHub-like collaboration is a massive point of friction. Penpot is also a bit behind feature-wise. So I am pretty sure that there are some big wins to be had by feeling out the API, but not really sure yet which ones are possible and will resonate most with designers.

Here’s the work-in-progress exploration, and the code repo for it.

2 Likes

That’s great Christoph! I’m sharing the project and the repo internally with a team that is focusing on bullet point number 2. I hope to be able to share some cool stuff by the end of August. In the meantime, you might be contacted by Roberto or Ana from that team!

2 Likes

Hello there. Access tokens, are these only for applications access or is this also a solution for giving access to penpot project clients and so on. And most importantly … where is this set up?!

Access tokens are only for applications. You can find this feature by clicking your account name in the bottom left, then “Your profile”, then “Access tokens”.