Dev Diaries

Monday, February 28, 2022

1.12.0 Beta - Walk On The Wild Guides

✨ New Features

Guides

πŸ› Bugs fixed

❀️ Community contributions by (Thank you!)

  • Cleanup unused static images (by @rhcarvalho) #1561
  • Compress static images to save space (by @rhcarvalho) #1562

Wednesday, January 26, 2022

1.11.0 Beta - Sweet Dreams (Are Made of This)

✨ New Features

Animations

πŸ› Bugs fixed

  • Fix remove gradient if any when applying color from library Taiga #2299.
  • Fix Enter as key action to exit edit path Taiga #2444.
  • Fix add fill color from palette to groups and components Taiga #2313.
  • Fix default project name in all languages Taiga #2280.
  • Fix line-height and letter-spacing inputs to allow negative values Taiga #2381.
  • Fix typo in Handoff tooltip Taiga #2428.
  • Fix crash when pressing Shift+1 on empty file #1435.
  • Fix masked group resize strange behavior Taiga #2317.
  • Fix problems when exporting all artboards Taiga #2234.
  • Fix problems with team management #1353
  • Fix problem when importing in shared libraries #1362
  • Fix problem with join nodes #1422
  • After team onboarding importing a file will import into the team drafts Taiga #2408
  • Fix problem exporting shapes from handoff mode Taiga #2386
  • Fix lock/hide elements in context menu when multiples shapes selected Taiga #2340
  • Fix problem with booleans Taiga #2356
  • Fix line-height/letter-spacing inputs behaviour Taiga #2331
  • Fix dotted style in strokes Taiga #2312
  • Fix problem when resizing texts inside groups Taiga #2310
  • Fix problem with multiple exports Taiga #2468
  • Allow import to continue from recoverable failures #1412
  • Improved behaviour on text options when not text is selected Taiga #2390
  • Fix decimal numbers in export viewbox Taiga #2290
  • Right click over artboard name to open its menu Taiga #1679
  • Make the default session cookue use SameSite=Lax instead of Strict (causes some issues in latest versions of Chrome).
  • Fix "open in new tab" on dashboard Taiga #2235
  • Changing pages while comments activated will not close the panel #1350
  • Fix navigate comments in right sidebar Taiga #2163
  • Fix keep name of component equal to the shape name Taiga #2341
  • Fix lossing changes when changing selection and an input was already changed Taiga #2329
  • Fix blur input field when click on viewport Taiga #2164
  • Fix default page id in workspace Taiga #2205
  • Fix problem when importing a file with grids Taiga #2314
  • Fix problem with imported svgs with filters Taiga #2478
  • Fix issues when updating selrect in paths Taiga #2366
  • Fix scroll jumps in handoff mode Taiga #2383
  • Fix handoff text with opacity Taiga #2384
  • Restored rules color Taiga #2460
  • Fix thumbnail not taking frame blending mode Taiga #2301
  • Fix import/export with SVG edge cases Taiga #2389
  • Avoid modifying component when moving into a group Taiga #2534
  • Show correctly group types label in handoff Taiga #2482
  • Display view mode buttons always centered in viewer #Taiga 2466
  • Fix default profile image generation issue Taiga #2601

⬆️ Deps updated

  • Update devenv docker image dependencies.

❀️ Community contributions by (Thank you!)


Wednesday, November 10, 2021

1.10.0 Beta - Breaking the habit

πŸ’₯ Breaking changes

  • The initial project / data mechanism (not documented) has been disabled. Is the mechanism used for creating initial project on user signup. With the new onboarding approach, this subsystem is no longer needed and is disabled.

✨ New Features

  • Enhance corner radius behavior Taiga #2190.
  • Allow preserve scroll position in interactions Taiga task #1998.
  • Add new onboarding modals.

πŸ› Bugs fixed

  • Fix problem with exporting before the document is saved Taiga #2189.
  • Fix undo stacking when changing color from color-picker Taiga #2191.
  • Fix pages dropdown in viewer Taiga #2087.
  • Fix problem when exporting texts with gradients or opacity Taiga #2200.
  • Fix problem with view mode comments Taiga #2226.
  • Disallow to create a component when already has one Taiga #2237.
  • Add ellipsis in long labels for input fields Taiga #2224
  • Fix problem with text rendering on export Taiga #2223
  • Fix problem when flattening booleans losing styles Taiga #2217
  • Add shortcuts to boolean icons popups Taiga #2220
  • Fix a worker error when transforming a rectangle into path.
  • Fix max/min values for opacity fields Taiga #2183
  • Fix viewer comment position when zoom applied Taiga #2240
  • Remove change style on hover for options Taiga #2172
  • Fix problem in viewer with dropdowns when comments active #1303
  • Add placeholder to create shareable link
  • Fix project files count not refreshing correctly after import Taiga #2216
  • Remove button after import process finish Taiga #2215
Penpot is now Beta

❀️ Community contributions by (Thank you!)

  • To the translation community for the hard work on making penpot available on so many languages.

Wednesday, October 27, 2021

1.9.0 Alpha - Careful, With That Axe, Eugene πŸŽƒ

πŸ’₯ Breaking changes

  • Some stroke-caps can change behaviour.
  • Text display bug fix could potentialy make some texts jump a line.

✨ New Features

  • Add boolean shapes: intersections, unions, difference and exclusions Taiga #748.
  • Add advanced prototyping Taiga #244.
  • Add multiple flows Taiga #2091.
  • Change order of the teams menu so it's in the joined time order.
  • Adds progress report to importing process.
Advanced interactions

πŸ› Bugs fixed

  • Enhance duplicating prototype connections behaviour Taiga #2093.
  • Fix color and typographies refs lost when duplicated file Taiga #2165.
  • Fix problem with overflow dropdown on stroke-cap #1216.
  • Fix menu context for single element nested in components #1186.
  • Fix error screen when operations over comments fail #1219.
  • Fix undo problem when changing typography/color from library #1230.
  • Fix problem with text margin while rendering #1231.
  • Fix problem with masked texts on exporting Taiga #2116.
  • Fix text editor enter behaviour with centered texts Taiga #2126.
  • Fix residual stroke on imported svg Taiga #2125.
  • Add links for terms of service and privacy policy in register checkbox Taiga #2020.
  • Allow three character hex and web colors in color picker hex input #1184.
  • Allow lowercase search for fonts #1180.
  • Fix group renaming problem Taiga #1969.
  • Fix export group with shadows on children Taiga #2036.
  • Fix zoom context menu in viewer Taiga #2041.
  • Fix stroke caps adjustments in relation with stroke size Taiga #2123.
  • Fix problem duplicating paths Taiga #2147.
  • Fix problem inheriting attributes from SVG root when importing Taiga #2124.
  • Fix problem with lines and inside/outside stroke Taiga #2146.
  • Add stroke width in selection calculation Taiga #2146.
  • Fix shift+wheel to horizontal scrolling in MacOS #1217.
  • Fix path stroke is not working properly with high thickness Taiga #2154.
  • Fix bug with transformation operations Taiga #2155.
  • Fix bug in firefox when a text box is inside a mask Taiga #2152.
  • Fix problem importing components Taiga #2151.
  • Fix problem with masking images in viewer #1238.
  • Fix project renaming issue (and some other related to the same underlying bug).
  • Fix internal exception on audit log persistence layer.
  • Set proper environment variable on docker images for chrome executable.
  • Fix internal metrics on websocket connections.

Wednesday, September 8, 2021

1.8.0 Alpha - My own summer

πŸ’₯ Breaking changes

  • This release includes a new approach for handling share links, and this feature is incompatible with the previous one. This means that all the public share links generated previously will stop working.

✨ New Features

  • Add tooltips to color picker tabs Taiga #1814.
  • Add styling to the end point of any open paths Taiga #1107.
  • Allow to zoom with ctrl + middle button Taiga #1428.
  • Auto placement of duplicated objects Taiga #1386.
  • Enable penpot SVG metadata only when exporting complete files Taiga #1914.
  • Export to PDF all artboards of one page Taiga #1895.
  • Go to a undo step clicking on a history element of the list Taiga #1374.
  • Increment font size by 10 with shift+arrows 1047.
  • New shortcut to detach components Ctrl+Shift+K Taiga #1799.
  • Set email inputs to type "email", to aid keyboard entry Taiga #1921.
  • Use shift+move to move element orthogonally #823.
  • Use space + mouse drag to pan, instead of only space Taiga #1800.
  • Add many improvements to text tool.
Stroke caps

πŸ› Bugs fixed

  • Process numeric input changes only if the value actually changed.
  • Prevent adding numeric suffix to layer names when not needed Taiga #1929.
  • Prevent deleting or moving the drafts project Taiga #1935.
  • Fix problem with zoom and selection Taiga #1919
  • Fix problem with borders on shape export #1092
  • Fix thumbnail cropping issue Taiga #1964
  • Fix repeated fetch on file selection Taiga #1933
  • Fix rename typography on text options Taiga #1963
  • Fix problems with order in groups Taiga #1960
  • Fix SVG components preview #1134
  • Fix group renaming problem Taiga #1969
  • Add scroll bar to Teams menu Taiga #1894.
  • Fix repeated names when duplicating artboards or groups Taiga #1892.
  • Fix properly messages lifecycle on navigate.
  • Fix handling repeated names on duplicate object trees.
  • Fix group naming on group creation.
  • Fix some issues in svg transformation.
  • Fix issue related to the GC and images in path shapes.
  • Fix issue on the shape order on some undo operations.
  • Fix issue on undo page deletion.
  • Fix some issues related to constraints.

⬆️ Deps updated

  • Update frontend build tooling.

❀️ Community contributions by (Thank you!)

  • eduayme #1129.
  • soultipsy #1100.

Monday, July 14, 2021

1.7.0 Alpha - Import to be wild

✨ New Features

  • Allow nested asset groups Taiga #1716.
  • Allow to ungroup assets Taiga #1719.
  • Allow to rename assets groups Taiga #1721.
  • Component constraints (left, right, left and right, center, scale...) Taiga #1125.
  • Export elements to PDF Taiga #519.
  • Memorize collapse state of assets in panel Taiga #1718.
  • Headers button sets and menus review Taiga #1663.
  • Preserve components if possible, when pasted into a different file Taiga #1063.
  • Add the ability to offload file data to a cheaper storage when file becomes inactive.
  • Import/Export Penpot files from dashboard.
  • Double click won't make a shape a path until you change a node Taiga #1796
  • Incremental area selection #779
Component constraints

βš’οΈ Minor improvements

  • Decrease default bulk buffers on storage tasks.
  • Reduce file_change preserve interval to 24h.

πŸ› Bugs fixed

  • Process numeric input changes only if the value actually changed.
  • Remove unnecessary redirect from history when user goes to workspace from dashboard Taiga #1820.
  • Detach shapes from deleted assets Taiga #1850.
  • Fix tooltip position on view application Taiga #1819.
  • Fix dashboard navigation on moving file to other team Taiga #1817.
  • Fix workspace header presence styles and invalid link Taiga #1813.
  • Fix color-input wrong behavior (on workspace page color) Taiga #1795.
  • Fix file contextual menu in shared libraries at dashboard Taiga #1865.
  • Fix problem with paths editing after flip #1040
  • Don't allow rename drafts project.
  • Fix custom font deletion task.
  • Fix custom font rendering on exporting shapes.
  • Fix font loading on viewer app.
  • Fix problem when moving files with drag & drop.
  • Fix unexpected exception on searching without term.
  • Properly handle nil values on update-shapes function.
  • Replace frame term usage by artboard on viewer app.
  • Fix problem with merge and join nodes #990
  • Fix problem with empty path editing.
  • Fix problem with create component.
  • Fix problem with move-objects.
  • Fix problem with merge and join nodes.
  • Add better auth module logging.
  • Add missing email scope to OIDC backend.
  • Add missing cause prop on error logging.
  • Fix empty font-family handling on custom fonts page.
  • Fix incorrect unicode code points handling on draft-to-penpot conversion.
  • Fix some problems with paths.
  • Fix unexpected exception on duplicate project.
  • Fix unexpected exception when user leaves typography name empty.
  • Improve error report on uploading invalid image to library.
  • Minor fix on previous commit.
  • Minor improvements on svg uploading on libraries.
  • Add safety check on reg-objects change impl.
  • Fix custom fonts embedding issue.
  • Fix dashboard ordering issue.
  • Fix problem when creating a component with empty data.
  • Fix problem with moving shapes into frames.
  • Fix problems with mov-objects.
  • Fix unexpected exceptions related to rounding integers.
  • Fix wrong type usage on libraries changes.
  • Improve editor lifecycle management.
  • Make the navigation async by default.

Monday, May 24, 2021

1.6.0 Alpha - Born to run

New Features

  • Add improved workspace font selector Taiga US #292.
  • Add option to interactively scale text Taiga #1527.
  • Add performance improvements on dashboard data loading.
  • Add performance improvements to indexes handling on workspace.
  • Add the ability to upload/use custom fonts (and automatically generate all needed webfonts) Taiga US #292.
  • Transform shapes to path on double click.
  • Translate automatic names of new files and projects.
  • Use shift instead of ctrl/cmd to keep aspect ratio Taiga #1697.
Upload custom fonts

Bugs fixed

  • Remove interactions when the destination artboard is deleted Taiga #1656.
  • Fix problem with fonts that ends with numbers #940.
  • Fix issues on group rendering.
  • Fix problem with text editing auto-height Taiga #1683.
  • Fix problem undo/redo.
  • Fix problem with close-path command #917.
  • Fix wrong query for obtain the profile default project-id.
  • Fix problems with empty paths and shortcuts #923.
  • Fix issue with bitmap image clipboard.
  • Fix issue when removing all path points.
  • Increase default team invitation token expiration to 48h.
  • Fix wrong error message when an expired token is used.

Deps updates

  • Update exporter dependencies (puppeteer), that fixes some unexpected exceptions.
  • Update string manipulation library.

Breaking changes

  • The OIDC setting PENPOT_OIDC_SCOPES has changed the default semantics. Before this configuration added scopes to the default set. Now it replaces it, so use with care, because penpot requires at least name and email props found on the user info object.

Wednesday, May 05, 2021

1.5.0 Alpha - Smells like release spirit

New Features

  • Add integration with gitpod.io (an online IDE) #807
  • Allow basic math operations in inputs Taiga 1383
  • Autocomplete color names in hex inputs Taiga 1596
  • Allow to group assets (components and graphics) Taiga #1289
  • Change icon of pinned projects Taiga 1298
  • Internal: refactor of http client, replace internal xhr usage with more modern Fetch API.
  • New features for paths: snap points on edition, add/remove nodes, merge/join/split nodes. Taiga #907
  • Add OpenID-Connect support.
  • Reimplement social auth providers on top of the generic openid impl.
New path features

Bugs fixed

  • Fix problem with pan and space #811
  • Fix issue when parsing exponential numbers in paths
  • Remove legacy system user and team #843
  • Fix ordering of copy pasted objects Taiga #1618
  • Fix problems with blending modes #837
  • Fix problem with zoom an selection rect #845
  • Fix problem displaying team statistics #859
  • Fix problems with text editor selection Taiga #1546
  • Fix problem when opening the context menu in dashboard at the bottom #856
  • Fix problem when clicking an interactive group in view mode #863
  • Fix visibility of pages in sitemap when changing page Taiga #1618
  • Fix visual problem with group invite Taiga #1290
  • Fix issues with promote owner panel Taiga #763
  • Allow use library colors when defining gradients Taiga #1614

Breaking changes

  • Translations refactor: now penpot uses gettext instead of a custom JSON, and each locale has its own separated file. All translations should be contributed via the weblate.org service.

Community contributions by (Thank you!)


Wednesday, April 07, 2021

1.4.0 Alpha - Sweet release o'mine

New Features

  • Add blob-encoding v3 (uses ZSTD+transit) #738
  • Add http caching layer on top of Query RPC.
  • Add layer opacity and blend mode to shapes Taiga #937
  • Add more chinese translations #726
  • Add native support for text-direction (RTL, LTR & auto).
  • Add several enhancements in shape selection Taiga #1195
  • Add thumbnail in memory caching mechanism.
  • Add turkish translation strings #759, #794
  • Duplicate and move files and projects Taiga #267
  • Hide viewer navbar on fullscreen Taiga #1375
  • Import SVG will create Penpot's shapes Taiga #1006
  • Improve french translations #731
  • Reimplement workspace presence (remove database state).
  • Remember last visited team when you re-enter the application Taiga #1376
  • Rename artboard with double click on the title Taiga #1392
  • Replace Slate-Editor with DraftJS Taiga #1346
  • Set proper page title Taiga #1377
Blend modes feature

Bugs fixed

  • Disable buttons in view mode for users without permissions Taiga #1328
  • Fix broken profile and profile options form.
  • Fix calculate size of some animated gifs Taiga #1487
  • Fix error with the "Navigate to" button on prototypes Taiga #1268
  • Fix issue when undo after changing the artboard of a shape Taiga #1304
  • Fix issue with Alt key in distance measurement #672
  • Fix issue with blending modes in masks Taiga #1476
  • Fix issue with blocked shapes Taiga #1480
  • Fix issue with comments styles on dashboard Taiga #1405
  • Fix issue with default square grid Taiga #1344
  • Fix issue with enter key shortcut #775
  • Fix issue with enter to edit paths Taiga #1481
  • Fix issue with mask and flip #715
  • Fix issue with masks interactions outside bounds #718
  • Fix issue with middle mouse button press moving the canvas when not moving mouse #717
  • Fix issue with resolved comments Taiga #1406
  • Fix issue with rotated blur Taiga #1370
  • Fix issue with rotation degree input #741
  • Fix issue with system shortcuts and application #737
  • Fix issue with team management in dashboard Taiga #1475
  • Fix issue with typographies panel cannot be collapsed #707
  • Fix text selection in comments #745
  • Update Work-Sans font #744
  • Fix issue with recent files not showing Taiga #1493
  • Fix issue when promoting to owner Taiga #1494
  • Fix cannot click on blocked elements in viewer Taiga #1430
  • Fix SVG not showing properties at code Taiga #1437
  • Fix shadows when exporting groups Taiga #1495
  • Fix drag-select when renaming layer text Taiga #1307
  • Fix layout problem for editable selects Taiga #1488
  • Fix artboard title wasn't move when resizing Taiga #1479
  • Fix titles in viewer thumbnails too long Taiga #1474
  • Fix when right click on a selected text shows artboard contextual menu Taiga #1226

Deps updates

  • Update backend to JDK16.
  • Update exporter nodejs to v14.16.0

Community contributions by (Thank you!)


Monday, March 01, 2021

1.3.0 Alpha - Before the (alpha release) storm

New Features

  • Add emailcatcher and ldap test containers to devenv. #506
  • Add major refactor of internal pubsub/redis code; improves scalability and performance #640
  • Add more chinese transtions #687
  • Add more presets for artboard #654
  • Add optional loki integration #645
  • Add proper http session lifecycle handling.
  • Allow to set border radius of each rect corner individually
  • Bounce & Complaint handling #635
  • Disable groups interactions when holding "Ctrl" key (deep selection)
  • New action in context menu to "edit" some shapes (binded to key "Enter")
Border radius feature

Bugs fixed

  • Add more improvements to french translation strings #591
  • Add some missing database indexes (mainly improves performance on large databases on file-update rpc method, and some background tasks).
  • Disables filters in masking elements (problem with Firefox rendering)
  • Drawing tool will have priority over resize/rotate handlers Taiga #1225
  • Fix broken bounding box on editing paths Taiga #1254
  • Fix corner cases on invitation/signup flows.
  • Fix errors on onboarding file Taiga #1287
  • Fix infinite recursion on logout.
  • Fix issues with frame selection Taiga #1300, Taiga #1255
  • Fix local fonts error #691
  • Fix problem width handoff code generation Taiga #1204
  • Fix problem with indices refreshing on page changes #646
  • Have language change notification written in the new language Taiga #1205
  • Hide register screen when registration is disabled #598
  • Properly handle errors on github, gitlab and ldap auth backends.
  • Properly mark profile auth backend (on first register/ auth with 3rd party auth provider).
  • Refactor LDAP auth backend.

Community contributions by (Thank you!)


Monday, February 15, 2021

1.2.0 Alpha - A love story between users and core team

New Features

  • Add horizontal/vertical flip
  • Add images lock proportions by default #541, #609
  • Add new blob storage format (Zstd+nippy)
  • Add user feedback form
  • Improve French translations
  • Improve component testing
  • Increase default deletion delay to 7 days
  • Show a pixel grid when zoom greater than 800% #519
  • Fix behavior of select all command when there are objects outside frames Taiga #1209
Flip feature

Bugs fixed

  • Fix 404 when access shared link #615
  • Fix 500 when requestion password reset
  • Fix Problems when transforming path shapes Taiga #1170
  • Fix apply a color to a text selection from color palette was not working Taiga #1189
  • Fix issues when moving shapes outside groups Taiga #1138
  • Fix ldap function called on login click
  • Fix logo icon in viewer should go to dashboard Taiga #1149
  • Fix ordering when restoring deleted shapes in sync Taiga #1163
  • Fix problem when editing text immediately after creating Taiga #1207
  • Fix problem when pasting URL's copied from the browser url bar Taiga #1187
  • Fix problem with multiple selection and groups Taiga #1128
  • Fix problem with red handler indicator on resize Taiga #1188
  • Fix show correct error when google auth is disabled Taiga #1119
  • Fix text alignment in preview #594
  • Fix unexpected exception when uploading image Taiga #1120
  • Fix updates on collaborative editing not updating selection rectangles Taiga #1127
  • Make the team deletion deferred (in the same way other objects)

Community contributions by (Thank you!)


Thursday, February 4, 2021

1.1.0 Alpha

  • Bugfixing and stabilization post-launch
  • Some changes to the register flow
  • Improved MacOS shortcuts and helpers
  • Small changes to shape creation

Tuesday, February 2, 2021

1.0.0 Alpha

  • First alpha release of Penpot
View more on Github releases