Andrey Antukh
05fa07f911
✨ Add k6 performance test suite for backend
...
- run.sh CLI orchestrator with per-script defaults and env-var override
- Shared penpot-client.js library (JSON RPC, cookie auth, tagged metrics)
- Scripts: lifecycle, workspace-open, workspace-edit, concurrent-edit,
media-upload, font-upload, file-size-matrix, compare-results
- Concurrent-edit supports same-file and multi-file modes via shared teams
- CI workflow (perf-regression) comparing baseline vs PR branch
- k6 binary installed in devenv Dockerfile
2026-06-25 11:29:37 +02:00
Alonso Torres
28f3b8048a
✨ Improve MCP handling when tab is frozen in the browser ( #10392 )
2026-06-25 08:27:33 +02:00
David Barragán Merino
d58d816310
🔧 Define concurrency policy to cancel in progress build workflows ( #10409 )
2026-06-25 08:22:41 +02:00
Jack Storment
aedb7f9195
✨ Add dedicated Line and Arrow drawing tools ( #9146 )
...
* ✨ Add dedicated Line and Arrow drawing tools
Introduce a Line/Arrow toolbar option and a click-drag drawing
interaction that matches Figma's workflow: select the tool, press and
drag to define the line in one gesture, with Shift snapping to 15°
increments. Arrowhead style can be toggled on either endpoint via the
existing stroke-cap controls.
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
* 💄 Fix formatting error
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
* 🐛 Translate line and arrow tooltips in top toolbar
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
* 🐛 Add missing namespace
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
* 📚 Update copyright notice
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
* Add translations (EN) for toolbar elements
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
* Add translations (ES) for toolbar elements
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
* ♻️ Improve stroke-cap-end update for arrow handling
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
* 🐛 Fix shortcuts select tool but do not replace it in the toolbar
Refactor tool selection logic in top_toolbar.cljs
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
* ♻️ Remove unnecessary blank line
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
---------
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
Signed-off-by: Jack Storment <88656337+jack-stormentswe@users.noreply.github.com>
Signed-off-by: Luis de Dios <luis.dedios@kaleidos.net>
Co-authored-by: Luis de Dios <luis.dedios@kaleidos.net>
2026-06-24 21:32:13 +02:00
Miguel de Benito Delgado
a6c7bd28e8
💄 Fix some malli schemas ( #7733 )
...
* 🐛 Add missing fields to schema:profile
* 🐛 Add missing fields to schema:dissolve-animation
* 📎 Add minor changes
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-06-24 13:16:25 +02:00
Andrey Antukh
3036ef473e
Merge remote-tracking branch 'origin/staging' into develop
2026-06-24 11:31:03 +02:00
Andrey Antukh
4687b52bf3
📎 Fix fmt issues introduced in previous commits
2026-06-24 11:30:32 +02:00
Andrey Antukh
673c87cf33
Merge remote-tracking branch 'origin/staging' into develop
2026-06-24 11:18:23 +02:00
Andrey Antukh
bfa65547f8
✨ Add more testing related improvements
2026-06-24 11:17:47 +02:00
Andrey Antukh
403e1ec604
Merge remote-tracking branch 'origin/staging' into develop
2026-06-24 11:03:18 +02:00
Andrey Antukh
0d3a174f13
Merge remote-tracking branch 'origin/main' into staging
2026-06-24 11:03:05 +02:00
Andrey Antukh
27274a56fd
📎 Update changelog
2.16.1
2026-06-24 11:01:38 +02:00
Andrey Antukh
9391535f48
📎 Add minor enhancement to update-changelog skill
2026-06-24 11:01:14 +02:00
Dr. Dominik Jain
0270c2a90f
🐛 Fix description of TokenCatalog.addTheme in high-level overview ( #10359 )
...
Fixes #10074
2026-06-24 10:27:28 +02:00
Luis de Dios
5ef8d35683
🐛 Fix avoid flashing the move tool before activating the selected tool ( #10291 )
2026-06-24 10:25:37 +02:00
Dexterity
a530cf0dec
♻️ Migrate render-wasm api object-svg to modern component syntax ( #9459 )
...
* ♻️ Migrate render-wasm api object-svg to modern component syntax
* 📎 Add minor changes
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-06-24 10:24:53 +02:00
Dexterity
d757f96633
♻️ Migrate svg filter components to modern syntax ( #9448 )
...
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-06-24 10:21:18 +02:00
Pablo Alba
8fa15f240f
✨ Check for nitrate sso on move team to another organization ( #10379 )
2026-06-24 10:02:13 +02:00
Andrey Antukh
fa9012e55f
Merge remote-tracking branch 'origin/staging' into develop
2026-06-23 15:28:42 +02:00
Eva Marco
1a9a831e72
🎉 Activate by default token combobox flag ( #10378 )
2026-06-23 15:16:51 +02:00
Andrey Antukh
06e6671813
Merge remote-tracking branch 'origin/staging' into develop
2026-06-23 12:31:25 +02:00
Andrey Antukh
9259b596dc
Merge remote-tracking branch 'origin/main' into staging
2026-06-23 12:26:17 +02:00
Andrés Moya
5042a34e3c
🔧 Normalize text nodes comparison, to be used in tokens detach
...
🔧 Add more tests for all cases and fix text token application in tests
2.16.1-RC4
2026-06-23 12:24:30 +02:00
Andrey Antukh
1b3a3b4cdb
📎 Add auto-label and auto-project github workflow
2026-06-23 11:27:38 +02:00
Andrey Antukh
f967a0fc83
✨ Add improvements for frontend tests ( #10380 )
2026-06-23 11:21:53 +02:00
Ricardo Sawir
121c76235f
🐛 Fix zh-CN boolean intersection label ( #10381 )
...
Update the Simplified Chinese translation for the boolean intersection menu item so it no longer duplicates the difference label.
2026-06-23 11:12:05 +02:00
Elena Torró
07de0e92d5
⚡ Fix slow zoom/edit on Firefox+NVIDIA WebGL renderer ( #10371 )
2026-06-23 10:58:14 +02:00
Juanfran
fc07a6467b
🐛 Fix organizations dropdown clipped by sidebar overflow ( #10362 )
...
Render the organizations selector dropdown in a portal anchored to the
trigger button, so a long list is no longer clipped by the
sidebar-content-wrapper overflow.
2026-06-23 10:37:59 +02:00
Elena Torró
8e548c8c54
🐛 Fix blank tiles and atlas crash on render-wasm zoom/pan ( #10367 )
...
* 🐛 Fix missing tiles on page switch and pan/zoom end
* 🐛 Fix blank tiles and atlas crash on render-wasm zoom/pan
2026-06-23 10:25:45 +02:00
since-2017-hub
46abf1c968
♻️ Migrate auth flow pages to modern component syntax ( #9469 )
...
Refactor the 6 mf/defc components across the auth flow
(login, password recovery, recovery request) to modern
mf/defc name* syntax. Modern syntax avoids per-render
JS->CLJS prop-conversion overhead.
- Rename login-page -> login-page* in
frontend/src/app/main/ui/auth/login.cljs.
- Rename
ecovery-form ->
ecovery-form* and
ecovery-page ->
ecovery-page* in
frontend/src/app/main/ui/auth/recovery.cljs.
- Rename
ecovery-form ->
ecovery-form*,
ecovery-request-page ->
ecovery-request-page*,
ecovery-sent-page ->
ecovery-sent-page* in
frontend/src/app/main/ui/auth/recovery_request.cljs
(drop redundant {::mf/props :obj} marker since the *
suffix already implies it).
- Drop unused :as props destructure bindings.
- Update internal forwarding callsites (2) and external
callers in auth.cljs (3 callsites + 3 :refer imports),
viewer/login.cljs (1 callsite + 1 :refer), and
static.cljs (2 callsites + 1 :refer).
Refs #9260
Signed-off-by: since-2017-hub <since2017hub@gmail.com>
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-06-23 09:38:07 +02:00
Elena Torró
dd353a8121
🔧 Update design-tab tests for default background-blur flag
2026-06-23 09:28:28 +02:00
Filip Sajdak
66c8ebf198
🐛 Accept negative letterSpacing in plugin API text setters
...
The plugin text API rejected negative letter-spacing even though the
product UI allows -200..200 (typography.cljs). Two defects in
frontend/src/app/plugins/text.cljs:
- `letter-spacing-re` (`#"^\d*\.?\d*$"`) had no provision for a leading
minus, so any negative value failed validation.
- The text-range `:letterSpacing` setter inverted its guard: it used
`(or (empty? value) (re-matches ...))` to mean "invalid", which
rejected matching values and let non-numeric input through. The
text-shape setter and the sibling `lineHeight` range setter both
correctly use `(not (re-matches ...))`.
Fix the regex to allow an optional leading minus and add the missing
`not` so the range setter matches the shape setter. Adds regression
coverage for the regex accept/reject contract.
Fixes #9780
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Filip Sajdak <filip.sajdak@siili.com>
2026-06-22 22:40:44 +02:00
Dexterity
ea20291d2a
♻️ Migrate v1 text-editor to modern component syntax ( #9446 )
...
* ♻️ Migrate v1 text-editor to modern component syntax
* 📎 Add minor changes
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-06-22 18:40:01 +02:00
Krishna zade
0dbc2c54d6
🐛 Fix spacebar activating pan mode in editable fields as Comment Input box ( #10287 )
...
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-06-22 17:32:12 +02:00
Alejandro Alonso
e9410dce6b
Merge pull request #10368 from penpot/elenatorro-fix-guides-pill-on-drag
...
🐛 Fix guides pill on drag
2026-06-22 15:58:34 +02:00
Elena Torro
20e90078db
🐛 Fix guides pill on drag
2026-06-22 15:40:12 +02:00
Andrey Antukh
4c5991514a
🐛 Fix syntax issues introduced in prev commit
2026-06-22 15:36:42 +02:00
Aitor Moreno
a0d9603243
Merge pull request #10340 from penpot/hiru-fix-text-change-detection
...
🔧 Normalize text nodes comparison, to be used in tokens detach
2026-06-22 15:33:04 +02:00
Dexterity
22cf4917d8
♻️ Migrate shapes/export components to modern syntax ( #9449 )
...
* ♻️ Migrate shapes/export components to modern syntax
* 📎 Add minor changes
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* 📎 Remove whitespace
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-06-22 15:28:00 +02:00
Luis de Dios
aec56be9f5
🐛 Fix inspect in View Mode displays shape size twice when selecting a shape ( #10364 )
2026-06-22 14:46:48 +02:00
Eva Marco
3aa46379a1
🎉 Activate background-blur flag by default ( #10366 )
2026-06-22 14:46:01 +02:00
Andrey Antukh
4bbf9a6617
Merge remote-tracking branch 'origin/staging' into develop
2026-06-22 14:40:40 +02:00
Andrey Antukh
623a80ca00
🔧 Expose storybook port on devenv
...
Using 3451 port instead of the previous 6006
2026-06-22 14:35:10 +02:00
Andrey Antukh
d8434cbffb
🐛 Add missing migrations ( #10363 )
2.16.1-RC3
2026-06-22 13:26:21 +02:00
Eva Marco
4e33ce7c46
🐛 Fix very long token names on remap modal ( #10356 )
2026-06-22 13:12:41 +02:00
Eva Marco
e495e0ac59
🐛 Allow negative value on margins ( #10353 )
2026-06-22 13:12:30 +02:00
Andrey Antukh
5a82a38c9c
📎 Update changelog
2026-06-22 12:55:51 +02:00
Andrés Moya
f2bf5a3111
🔧 Add more tests for all cases and fix text token application in tests
2026-06-22 12:54:40 +02:00
Alejandro Alonso
3a9be0b1d8
Merge pull request #10358 from penpot/niwinz-bugfix-1
...
🐛 Fix incorrect events handling on webgl render toggle
2026-06-22 12:54:13 +02:00
Andrey Antukh
3b9a895f62
🐛 Fix incorrect events handling on webgl render toggle
...
From the workspace main menu
2026-06-22 11:29:57 +02:00