Andrey Antukh
fc414b23d2
📚 Update changelog with entries for 2.17.0
...
Add 3 new features/enhancements (file import errors, read-only version
preview, clipboard permissions) and 4 bug fixes (restore typo, layer
sibling selection, tooltip duplication, library notification link) to
the 2.17.0 changelog section.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 17:59:33 +00:00
Andrey Antukh
346614edc3
🐛 Fix SCSS mixin names in v2_15 release modal styles
...
Rename 5 deprecated mixin calls from camelCase to kebab-case to
match the actual mixin names defined in common-refactor.scss:
- deprecated.flexCenter -> deprecated.flex-center
- deprecated.headlineSmallTypography -> deprecated.headline-small-typography
- deprecated.headlineLargeTypography -> deprecated.headline-large-typography
- deprecated.bodyLargeTypography -> deprecated.body-large-typography
- deprecated.bodyMediumTypography -> deprecated.body-medium-typography
This fixes the "Undefined mixin" SCSS compilation error.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 17:36:20 +00:00
Andrey Antukh
404ebcc63e
💄 Fix SCSS linter errors in v2_15 release modal styles
...
Replace class selectors with placeholder selectors for @extend
(.modal-overlay-base -> %modal-overlay-base,
.button-primary -> %button-primary).
Add blank lines after @include mixin calls in 6 rulesets
(.version-tag, .modal-title, .feature-title, .feature-content,
.feature-list, .next-btn) to satisfy the
declaration-empty-line-before stylelint rule.
Fixes 8 SCSS linter errors in total.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 17:31:59 +00:00
Andrey Antukh
a004219405
Merge remote-tracking branch 'origin/staging' into develop
2026-04-29 19:28:02 +02:00
Andrey Antukh
8b29ca61c6
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-29 19:23:38 +02:00
Andrey Antukh
e81dad21ea
🎉 Add backport-commit skill for manual diff-based commit porting
...
Introduce a new OpenCode workflow skill that guides users through
backporting commits by applying diffs instead of using cherry-pick.
This is useful when cherry-pick is undesirable (e.g. divergent
histories, binary conflicts, or partial porting).
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 19:09:25 +02:00
Andrey Antukh
d06b45ec90
🐛 Fix Plugin API token application for JS array of strings
...
Two coupled defects made shape.applyToken(), token.applyToShapes() and
token.applyToSelected() silently no-op when invoked from JavaScript with
an array of strings (e.g. token.applyToShapes([rect], ["fill"])):
1. token-attr-plugin->token-attr only consulted its alias map when the
input was already a keyword; string inputs fell through unchanged,
causing downstream token-attr? to return false.
2. The inner schemas used plain [:set ...] which lacks the :decode/json
transformer for JS array -> Clojure set coercion. Switching to
Penpot's custom [::sm/set ...] lets the standard JSON decoder
pipeline handle the conversion automatically.
This is a backport of commit 1eac3e2be5f973359ad2ec9bac4e80a9d5a9e022
which fixes GitHub #9162 .
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 19:09:25 +02:00
Dexterity
1213640693
🐛 Fix typo in restore-deleted-team-files reduce accumulator ( #9241 )
2026-04-29 18:48:07 +02:00
Dexterity
f530a0ba26
🔥 Remove stray debug log in color-row component ( #9243 )
2026-04-29 18:47:27 +02:00
Andrey Antukh
1e09e00634
✨ Encourage use of layouts and proper naming in MCP
...
Improve MCP instructions on design creation:
* Agents should make use of layouts when appropriate
* Agents should name all elements appropriately
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 16:12:50 +00:00
Jack Storment
710fd30f78
🐛 Preserve renamed layer name when re-entering edit mode ( #9231 )
...
* 🐛 Preserve renamed layer name when re-entering edit mode
When a layer was renamed and the user clicked its name again to edit
it, the input opened with the type-based default name instead of the user's saved name. Pressing Enter then
silently overwrote the saved name with the default. Read the current
shape :name when seeding the rename input so the user's previous
rename is preserved.
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
* 💄 Remove redundant DOM-refresh effect from layer rename input
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
---------
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 18:07:48 +02:00
Renzo
8821ada1bb
🐛 Suppress browser context menu on empty workspace sidebar space ( #9196 )
...
Signed-off-by: RenzoMXD <170978465+RenzoMXD@users.noreply.github.com>
Signed-off-by: Renzo <170978465+RenzoMXD@users.noreply.github.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 17:58:38 +02:00
Jack Storment
22b85f1a92
✨ Show specific error messages for invitation token failures ( #9223 )
...
* ✨ Show specific error messages for invitation token failures
Surface distinct error messages for the three invitation-token failure
modes that the backend already distinguishes: email mismatch, expired
token, and invalid/corrupted token. Replaces the single generic
could not accept invitation message with actionable text so the
user knows what went wrong and how to recover.
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
* 💄 Update CHANGE.md
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
* 💄 Address review feedback on invitation-error messages
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
---------
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 17:57:59 +02:00
Andrey Antukh
4829b843b2
🐛 Fix dashboard modal clipping behind sidebar ( #9233 )
...
Backport from develop commit 510a015424b6b98529dba19cc72bdf002b8ff83a.
- Fix release notes modal appearing behind the dashboard sidebar (by @RenzoMXD)
- Change sidebar z-index from dropdown to panels layer
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 15:52:48 +00:00
Renzo
510a015424
🐛 Fix dashboard modal clipping behind sidebar ( #9233 )
...
Signed-off-by: RenzoMXD <170978465+RenzoMXD@users.noreply.github.com>
2026-04-29 17:44:49 +02:00
alonso.torres
5e3e66a99b
📚 Updated docs for MCP development environment
2026-04-29 16:39:19 +02:00
Andrey Antukh
05b4760583
📚 Set clearer expectations for PR reviews and prior discussion
...
Explicitly state that the team is small and reviews may take a
few days as they are handled in dedicated time blocks.
Remove mention of GitHub Discussions since it is not used.
Reword the discussion requirement to manage expectations: do not
expect a PR to be accepted without prior discussion.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 16:27:44 +02:00
Statxc
fd170b23f6
🐛 Fix Heroicons arrow paths broken after SVG import ( #5283 ) ( #9156 )
...
Signed-off-by: statxc <181730535+statxc@users.noreply.github.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 15:45:22 +02:00
Dream
d668744a1f
✨ Add search to board size presets dropdown ( #9117 )
...
Closes #4658
Signed-off-by: eureka0928 <meobius123@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 15:44:53 +02:00
Elena Torró
1c129ded1f
Merge pull request #9200 from penpot/azazeln28-build-time-performance-optimizations
...
🔧 Change build and cargo settings
2026-04-29 15:12:23 +02:00
Aitor Moreno
73944e46b7
🔧 Change build and cargo settings
2026-04-29 14:35:00 +02:00
María Valderrama
e22a03e7e8
✨ Subscribe to nitrate with an activation code
...
* ✨ Subscribe to nitrate with an activation code
* 📎 Code review
2026-04-29 12:42:25 +02:00
Jack Storment
3f40be6b4d
💄 Fix sucess typo in subscription dialog i18n keys ( #9204 )
...
Rename subscription.settings.sucess.dialog.{title,footer} to
subscription.settings.success.dialog.{title,footer} in en.po and
update the three callsites in subscription.cljs.
Closes #9203
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
2026-04-29 11:07:30 +02:00
boskodev790
1eac3e2be5
🐛 Fix Plugin API token application for JS array of strings ( #9166 )
...
* 🐛 Fix Plugin API token application for JS array of strings
Plugin code calling `shape.applyToken(token, ["fill"])` or
`token.applyToShapes([rect], ["fill"])` from JavaScript supplies a JS
array of strings. The plugin proxies expected a Clojure set of
keywords, and two coupled defects made the calls silently no-op (or,
with `throwValidationErrors` enabled, throw "check error"):
1. `token-attr-plugin->token-attr` only consulted its alias map when
the input was already a keyword. String inputs like "fill" fell
through to the identity branch, so the downstream
`cto/token-attr?` predicate (which checks against a set of
keywords) returned false for every string. Coerce strings to
keywords first.
2. The `applyToken` / `applyToShapes` / `applyToSelected` schemas
used plain `[:set ...]`, which has no `:decode/json` transformer
for JS array → Clojure set coercion. Switch to the registered
`[::sm/set ...]` (in `app.common.schema`) which provides the
array → set decoder. After the switch, the standard JSON pipeline
converts `["fill"]` to `#{"fill"}`, then the inner
`[:and ::sm/keyword [:fn token-attr?]]` decodes each element to a
keyword and validates it.
Also extends the docstring on `token-attr-plugin->token-attr` to make
the string-friendly contract explicit, and registers a new
`tokens-test` ns under `frontend/test/frontend_tests/plugins/` with
six `deftest` blocks covering:
- known keywords passing through unchanged
- keyword aliases (`:r1` → `:border-radius-top-left`, etc.)
- string inputs coerced to keywords (regression for #9162 )
- `token-attr?` accepting both keyword and string inputs
- `token-attr?` rejecting unknown attrs and nil
Closes #9162
* 🐛 Fix wrong direction in plugin-name alias tests
The added tests in tokens_test.cljs and the new docstring in tokens.cljs
described the alias resolution in the wrong direction. The map is
{:r1 :border-radius-top-left, …} then map-invert'd, so
token-attr-plugin->token-attr maps verbose plugin-side names
(:border-radius-top-left) to canonical internal short names (:r1),
not the other way around. Inputs already in canonical form (:r1, :fill,
"fill", …) pass through unchanged. Flipped the alias-resolution test
expectations and the keyword/string-input cases, refreshed the docstring
and the regression-coverage comment to match.
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 11:02:01 +02:00
Aitor Moreno
f59301a3d6
🐛 Fix text editor v2 with 0 width
2026-04-29 10:53:07 +02:00
Andrey Antukh
9751ac2b41
📎 Update changelog
2026-04-29 09:43:13 +02:00
Andrey Antukh
ea971a0109
🐛 Fix redundant longhand margin-block properties in options.scss
...
Combine margin-block-start and margin-block-end into the margin-block
shorthand to satisfy the declaration-block-no-redundant-longhand-properties
stylelint rule.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-29 07:39:05 +00:00
Yamila Moreno
d627d1cfac
✨ Improve team name validation ( #9176 )
2026-04-29 08:59:09 +02:00
Pablo Alba
b8f1b6e0c3
✨ Add nitrate api notify-user-orgs-deletion
2026-04-28 19:47:28 +02:00
FairyPiggyDev
61ce4b9e0d
✨ Add "Delete group" to assets panel context menu ( #9151 )
...
When working with large asset groups, users asked for a one-click way
to remove every asset under a group path. Multi-select across hundreds
of items is impractical, and ungrouping first and then deleting leaves
the orphaned items in the flat list.
This change adds a "Delete group" option to the assets-panel
context-menu for three asset types that already carry group structure:
- Components (including variants — sibling variants sharing a variant
container are deduplicated, and the container is deleted once via
the same dispatch the per-item delete uses in file_library.cljs).
- Colors.
- Typographies.
A confirmation modal is shown before deletion, with the count of
assets to be removed, so the action is never silent. All deletes run
inside a single undo transaction, so one Cmd+Z restores the whole
group.
Changes
-------
- `assets/groups.cljs` — `asset-group-title*` accepts an optional
`on-delete-group` prop and conditionally adds the menu entry
between "Ungroup" and "Combine as variants". When the callback is
not supplied the option is hidden, so asset sections that do not
implement it stay unaffected.
- `assets/components.cljs` — threads `on-delete-group` through the
recursive `components-group*` and defines the section-level
handler, dispatching to `dwsh/delete-shapes` for variant containers
and `dwl/delete-component` for plain components.
- `assets/colors.cljs` — same threading + a simple `dwl/delete-color`
dispatch per color in the group.
- `assets/typographies.cljs` — same threading + a
`dwl/delete-typography` dispatch per typography in the group.
- `translations/en.po` — three new strings: the menu label
(`workspace.assets.delete-group`) and the modal title/message
(`modals.delete-asset-group.title`/`.message`, plural-aware).
Github #9141
Signed-off-by: FairyPigDev <luislee3108@gmail.com>
Signed-off-by: FairyPiggyDev <luislee3108@gmail.com>
2026-04-28 15:59:05 +02:00
Elena Torró
2aff116906
Merge pull request #9190 from penpot/elenatorro-improve-performance-on-dragging
...
⚡ Improve drag performance
2026-04-28 13:01:13 +02:00
Andrey Antukh
94827f1848
📎 Update versionon mcp/package.json
2026-04-28 12:38:44 +02:00
Andrey Antukh
42c9c4a929
Merge remote-tracking branch 'origin/main-staging'
2026-04-28 12:37:02 +02:00
Alejandro Alonso
e4af37a7ff
🎉 Use backbuffer + direct-to-target tiles during drag
2026-04-28 12:19:00 +02:00
Elena Torro
483ce8b1c9
⚡ Improve drag performance
2026-04-28 12:18:24 +02:00
Elena Torro
0f65774ba9
🐛 Fix render wasm generated component thumnails for instant changes
2026-04-28 11:10:35 +02:00
Aitor Moreno
31b09be405
🎉 Add overtype mode to text editor
2026-04-28 11:10:22 +02:00
Andrey Antukh
ccd1da40ca
📎 Update mcp package.json version
2026-04-28 10:26:23 +02:00
Eva Marco
c269df1441
🐛 Fix empty warning on login ( #9056 )
2026-04-28 10:25:33 +02:00
Juan de la Cruz
40ee1960a1
📚 Add 2.15.0 onboarding slides ( #9172 )
...
* 🎉 Add new slides content
* 🎉 Add new slides imgs
* 🐛 Fix a typo
2026-04-28 10:21:56 +02:00
Andrey Antukh
b0ce644752
Merge remote-tracking branch 'origin/staging' into develop
2026-04-28 10:12:40 +02:00
Andrey Antukh
19e81560be
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-28 10:09:18 +02:00
Andrey Antukh
c0989d4261
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-28 10:08:51 +02:00
alonso.torres
ad1111a613
🐛 Fix problem with align center + grow auto-width
2026-04-28 09:44:57 +02:00
andrés gonzález
aabdb69218
📚 Update MCP docs for public release ( #9184 )
2026-04-28 09:37:40 +02:00
Luis de Dios
a35b61ee0c
🐛 Fix put onboarding modals of top of libraries & templates panel ( #9178 )
2026-04-28 09:26:15 +02:00
Andrey Antukh
d9f099841a
🔥 Remove redundant mf/props metadata from modern components ( #9192 )
...
The ::mf/props and ::mf/wrap-props metadata keys are no-ops on modern
components (those defined with mf/defc and the * suffix) since the *
suffix already triggers the props behavior these keys attempt to
configure. This cleanup removes the redundant metadata from modern
components across all UI directories.
Changes:
- comments/: comments
- dashboard/: comments, deleted, files, fonts, grid, import, libraries,
pin_button, projects, search, sidebar, subscription, team, templates
- exports/: files
- modal/: modal
- settings/: subscription
- static/: static
- viewer/: comments, interactions, viewer
- workspace/: context_menu, libraries, sidebar/assets,
viewport/gradients, tokens/settings/menu
2026-04-28 09:23:56 +02:00
Andrey Antukh
4e1968bbab
📎 Add updated version of github cli to devenv
2026-04-28 00:01:46 +02:00
Jack Storment
aa5bfe6dda
✨ Add customizable pixel grid color ( #9155 )
...
Let users pick the pixel grid color from a standard color picker.
The grid color was previously hardcoded, making it invisible on
mid-tone canvases. Choice is stored on the file so it persists
across sessions. Defaults preserve the current appearance when
unset.
Closes #7750
Signed-off-by: jack-stormentswe <crazycoder131@gmail.com>
2026-04-27 21:37:27 +02:00
Milos Milic
bd1e0fb23f
✨ Add Alt+click to expand a layer subtree in the Layers sidebar ( #9179 )
...
Closes #7736 .
The Layers sidebar offered no way to expand every nested level of a
single subtree at once. Unfolding a layer that wraps a deep tree
required clicking each disclosure indicator one level at a time -
O(siblings * depth) clicks. The asymmetry was particularly visible
next to the existing Shift+click gesture, which collapses every
layer in the panel in a single action via `dwc/collapse-all`, with
no expand counterpart for either a single subtree or the whole
tree.
Add a new `dwc/expand-subtree` event in
`app.main.data.workspace.collapse` that uses
`cfh/get-children-ids-with-self` to gather the shape's id together
with every descendant id, then merges `{descendant-id true}` entries
into `[:workspace-local :expanded]` so the entire subtree opens in
one update. Existing expansion state on unrelated branches is left
untouched (`merge`, not `assoc`), matching the per-key shape used by
`toggle-collapse` and `expand-collapse`.
Wire the gesture into `layer_item.cljs` `toggle-collapse` callback as
a third branch:
- Shift+click while expanded - collapse every layer (existing).
- Alt+click while collapsed - expand the entire subtree (new).
- Otherwise - toggle this single level (existing).
Alt is chosen instead of Shift to avoid the ambiguity the issue
author flagged: "for a layer of middle depth it is unclear whether
[Shift+click] should fold all (up to the topmost parent) or expand
all (only the current subtree)". Alt is a common platform
convention for "do this recursively" (Finder, file managers,
several IDEs), so the asymmetric mapping matches user expectations.
The callback's `mf/deps` vector is extended with `id` and `objects`
so the closure refreshes when the shape tree changes.
CHANGES.md entry added under the 2.17.0 New features section.
2026-04-27 21:36:15 +02:00
Renzo
8a8ebb7943
✨ Preserve vector content when pasting from external tools ( #9182 )
...
Signed-off-by: RenzoMXD <170978465+RenzoMXD@users.noreply.github.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-27 21:35:52 +02:00
Andrey Antukh
84b3d467cf
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-27 20:36:45 +02:00
Andrey Antukh
592cc47336
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-27 20:36:21 +02:00
Andrey Antukh
a58dbec8f2
⬆️ Update root repo deps
2026-04-27 20:35:46 +02:00
Andrey Antukh
df4ffb9147
📚 Update prompt-assistant agent file
2026-04-27 20:35:28 +02:00
Andrey Antukh
ac5736957e
📚 Update commiter opencode agent
2026-04-27 20:34:45 +02:00
Andrey Antukh
eba4f15bba
⏪ Backport transit and plugins hardening compatibility issue
...
From staging
2026-04-27 19:04:43 +02:00
boskodev790
ea265da1f3
🐛 Fix plugin library.connectLibrary breaking Promise contract on permission failure ( #9158 )
...
`library.connectLibrary()` declared its permission check **outside** the
`js/Promise.` wrapper, so when a plugin without `library:write` permission
called `await library.connectLibrary(id)` the method did not return a
`Promise` at all:
- With the default `throwValidationErrors` flag off → `u/not-valid`
logs to console and returns `nil`. `await nil` resolves to `nil`, so
the plugin sees a "successful" result and crashes later when it tries
to use methods on what it thinks is a `LibraryProxy`.
- With `throwValidationErrors` on → `u/not-valid` throws synchronously,
so the caller gets a thrown exception instead of a rejected promise —
inconsistent with every other `library:*` / `content:*` method which
always returns a Promise that rejects via `reject-not-valid`.
Additionally, the in-Promise `(not (string? library-id))` branch used
`(reject nil)` — the plugin got a rejected Promise but with no error
message.
Move the permission check inside the Promise constructor and replace
both validation errors with `u/reject-not-valid`, matching the pattern
used by the sibling methods `restore`, `remove`, `pin`, `saveVersion`,
`findVersions` in `frontend/src/app/plugins/file.cljs` and every other
promise-returning plugin method. No new imports.
Also add a CHANGES.md entry under the 2.17.0 Unreleased bugs-fixed section.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-27 17:59:09 +02:00
Andrey Antukh
f4cf667d2f
📚 Update changelog
2026-04-27 17:57:00 +02:00
Pablo Alba
f8e40a1ca5
🐛 Fix can't add team to nitrate organization
2026-04-27 17:50:42 +02:00
Belén Albeza
e99ed5e9f9
🐛 Fix modifiers streams
2026-04-27 17:45:18 +02:00
Belén Albeza
0bee3993ab
🐛 Avoid race condition in initialize-workspace
2026-04-27 17:45:18 +02:00
Belén Albeza
8f905be511
✨ Ignore user renderer pref when render-switch flag is disabled
2026-04-27 17:45:18 +02:00
Belén Albeza
8afadb5199
✨ Show toast when switching renderer
2026-04-27 17:45:18 +02:00
Belén Albeza
6ba68c1ac0
✨ Hot swap of viewport when renderer changes
2026-04-27 17:45:18 +02:00
Belén Albeza
ffdbe242a7
🎉 Disable wasm if renderer profile prop is set to svg
2026-04-27 17:45:18 +02:00
Belén Albeza
46b81f4302
🎉 Store chosen renderer in user profile
2026-04-27 17:45:18 +02:00
Belén Albeza
12549df65c
🎉 Add UI for webgl rendering setting (under config flag)
2026-04-27 17:45:18 +02:00
Andrey Antukh
c41537eb55
Merge remote-tracking branch 'origin/staging' into develop
2026-04-27 17:31:15 +02:00
Andrey Antukh
82f1606377
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-27 17:31:00 +02:00
Andrey Antukh
839754715a
📚 Update changelog
2026-04-27 17:30:02 +02:00
Andrey Antukh
db8aa9bccc
Merge remote-tracking branch 'origin/staging' into develop
2026-04-27 17:27:45 +02:00
Andrey Antukh
ef2fe78aac
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-27 17:27:28 +02:00
Andrey Antukh
a3b9d7bed7
📎 Fix fmt issue
2026-04-27 17:26:59 +02:00
Andrey Antukh
57f1b80013
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-27 17:26:30 +02:00
Andrey Antukh
cbd5f7795b
✨ Add minor compatibility adjustments for audit archive task ( #8491 )
2026-04-27 16:15:35 +02:00
Elenzakaleidos
99f006d728
💄 Update README.md ( #9171 )
...
We modified the Images and the text of the Read me page
Signed-off-by: Elenzakaleidos <elena.scilinguo@kaleidos.net>
2026-04-27 15:44:01 +02:00
Luis de Dios
edccda2038
🐛 Fix remove prints
2026-04-27 15:26:55 +02:00
Marina López
4867358428
✨ Add modal to subscribe to nitrate from unlimited
2026-04-27 14:11:47 +02:00
Pablo Alba
c6bea65a48
✨ Add organization logo to nitrate invitations emails
2026-04-27 11:14:47 +02:00
boskodev790
e5314f4a13
🐛 Fix restore-version-from-plugin promise hanging on restore failure ( #9111 )
...
Closes #9092 .
`restore-version-from-plugin` accepted `_reject` as a dead parameter and
its stream had no `rx/catch`, so errors raised during the restore flow
(failed `rp/cmd! :restore-file-snapshot`, persistence timeouts, or
exceptions inside the watch body) silently swallowed instead of
rejecting the plugin-facing promise at `file.cljs:81`. Plugin code
that did `await version.restore()` would hang indefinitely on any
failure.
Wire `reject` through and wrap the emission with the same `rx/catch`
pattern already used by `create-version-from-plugins` in this file.
- Rename `_reject` to `reject` in the function signature
- Wrap the `rx/concat` body with `rx/catch` that calls `(reject error)`
and returns `rx/empty` on error, mirroring `create-version-from-plugins`
- Add a CHANGES.md entry under the 2.17.0 Unreleased bugs-fixed section
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-27 10:17:00 +02:00
Pablo Alba
9c6cc5ec32
💄 Fix nitrate org arrow style
2026-04-27 10:16:40 +02:00
Andrey Antukh
feec89679a
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-27 09:58:13 +02:00
boskodev790
77c507000b
🐛 Fix LDAP schema typo bind-passwor -> bind-password ( #9165 )
...
The malli schema for the LDAP provider params (`schema:params` in
`backend/src/app/auth/ldap.clj`) declared the bind-password slot as
`:bind-passwor` (missing trailing `d`). The runtime code in the same
file uses `:bind-password` everywhere — `prepare-params` reads
`(:bind-password cfg)` on line 21 and `try-connectivity` reads
`(:bind-password cfg)` on line 89. Effects of the typo:
1. The schema slot for `:bind-password` is missing, so a wrong type
(e.g. a number or vector instead of a string) for the actual key
slips through `check-params` unvalidated. Malli `[:map ...]` is
open by default, so the genuine `:bind-password` key is silently
accepted as an unknown extra key.
2. Anyone reading the schema (operator, future contributor, or
tooling generating docs) sees a non-existent `:bind-passwor`
parameter and could legitimately set that key — schema would
accept it, runtime would never read it, LDAP bind would silently
fail with a confusing "no password" error.
Cross-checked against the pre-malli `clojure.spec` shape removed in
commit 88fb5e7ab (2024-10-29, "♻️ Update integrant to latest
version", which carried the spec→malli migration). The deleted spec
defined `(s/def ::bind-password ::us/string)` correctly — the typo
was introduced when re-typing the keys into the new malli vector-of-
tuples form.
Add a CHANGES.md entry under the 2.17.0 Unreleased 🐛 Bugs fixed
section.
One-character fix.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-27 09:41:21 +02:00
Luis de Dios
a5a8ab5de6
🐛 Fix MCP status is displayed as disabled when setting MCP key without expiration date
...
Fixes #14058 and #14061 in Taiga
2026-04-27 09:37:11 +02:00
boskodev790
5ee65c5efb
🐛 Fix :hide typo dropping LDAP not-initialized error hint ( #9159 )
...
login-with-ldap raised a :restriction exception with the message
"ldap auth provider is not initialized" stored under :hide instead
of :hint. ex/raise (common/src/app/common/exceptions.cljc:33-34)
uses :hint as the ExceptionInfo message and the downstream error
formatters only read :hint (line 250, 312) — :hide is unread
anywhere in the codebase (0 other occurrences vs 447 for :hint).
Effect: when LDAP is misconfigured, operators saw the generic
"restriction" error message instead of the diagnostic string. The
typo has been present since the LDAP command was first introduced
by commit 14d1cb90bd (2022-06-30, "Refactor auth code") and was
carried forward through 6cdf696fc (2023-01-05, "Fix issues on ldap
provider and rpc method") without ever surfacing as a code-review
comment.
One-character fix: :hide -> :hint. Add a CHANGES.md entry under
the 2.17.0 Unreleased 🐛 Bugs fixed section.
2026-04-27 09:30:07 +02:00
Alejandro Alonso
7504c3b53e
Merge pull request #9167 from penpot/superalex-fix-text-ellipsis
...
🐛 Fix text ellipsis merging error
2026-04-27 09:09:14 +02:00
Alejandro Alonso
c4e508a606
🐛 Fix text ellipsis merging error
2026-04-27 08:49:22 +02:00
Andrey Antukh
37cba3355d
🔧 Update opencode tooling, agents, and devenv
...
Update agent configurations: change commiter mode to all, rename
engineer agent to "Penpot Engineer", and remove obsolete testing agent.
Add new read-only planner agent for architecture analysis and planning.
Add four new skills: bat-cat (syntax-highlighted cat clone), fd-find
(fast file finder), jq-json-processor (JSON processor), and ripgrep
(fast text search).
Add fd-find and bat packages to devenv Dockerfile.
Update .gitignore to exclude opencode package-lock and plans directory.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-27 00:25:23 +02:00
Andrey Antukh
6d9019c383
📚 Improve pull request documentation in CONTRIBUTING.md
...
Expand the Pull Requests section with detailed guidance on PR title
format, description expectations, branch naming conventions, the review
process, and a list of PRs that will not be accepted. Also clarify the
'Discuss Before Building' rule to link to GitHub Issues and Discussions
and reference Taiga stories. Update the Table of Contents with nested
links for all new subsections.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-25 13:22:17 +00:00
Pablo Alba
700f3e9c10
✨ MR changes
2026-04-24 17:19:41 +02:00
Pablo Alba
debfe5490f
🐛 Fix switching a team nitrate organization lose the background
2026-04-24 17:19:41 +02:00
Yamila Moreno
7031052c4e
🐛 Prevent invitations to blacklisted domains
2026-04-24 16:48:59 +02:00
Andrey Antukh
01d68ec09b
Merge remote-tracking branch 'origin/staging' into develop
2026-04-24 14:16:03 +02:00
Andrey Antukh
35f8e1b084
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-24 14:09:21 +02:00
Andrey Antukh
0b6416e53b
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-24 14:09:03 +02:00
Andrey Antukh
d380efdb0c
⬆️ Update devenv dependencies ( #9142 )
...
* ⬆️ Update devenv dependencies
* ✨ Fix formatting issues
* 📎 Fix linter issues
2026-04-24 14:07:51 +02:00
moorsecopers99
7e499c5e5f
🐛 Fix Settings/Notifications submit button always active with no changes ( #9091 )
...
The "Update Settings" button in Your Account > Settings and Notifications
was always enabled, even when the form had no changes, and clicking it
emitted a success notification despite no data being modified.
Disable the submit button when the current form data equals its initial
state, so it activates only when there are actual changes to persist.
Signed-off-by: moorsecopers99 <patellscott18@gmail.com>
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-24 13:24:55 +02:00
Juan Flores
38d67c8e96
🐛 Fix Help & Learning submenu vertical alignment in account menu ( #9138 )
...
The submenu opened by hovering Help & Learning in the user account
menu rendered with a vertical offset, making it appear visually
disconnected from its parent row and aligned instead with the
Community
Signed-off-by: Juan Flores <112629487+juan-flores077@users.noreply.github.com>
2026-04-24 13:17:57 +02:00
Eva Marco
6c4ab8940d
🐛 Fix colorpicker eyedropper on gradients tab ( #9125 )
...
* 🐛 Fix colorpicker eyedropper on gradients tab
* 🐛 Fix gradient test deleting opacity input
2026-04-24 12:48:58 +02:00
boskodev790
9ebd17f31f
🐛 Fix PENPOT_OIDC_USER_INFO_SOURCE flag being silently ignored ( #9114 )
...
Closes #9108 .
The `case` expression in `get-info` (`backend/src/app/auth/oidc.clj`)
dispatched on `:token` and `:userinfo` keywords, but the provider map's
`:user-info-source` value is a string — both from config (the malli
schema in `app.config` pins it to one of `"token"`, `"userinfo"`,
`"auto"`) and from the hard-coded Google / GitHub provider maps (which
already write `"userinfo"`). Strings never equal keywords in Clojure
`case`, so every call fell through to the auto-fallback that prefers
ID-token claims and only hits the UserInfo endpoint when claims are
empty. The net effect: setting `PENPOT_OIDC_USER_INFO_SOURCE=userinfo`
did nothing, and OIDC flows whose IdP requires the UserInfo endpoint
(so claims come back empty/partial) failed with "incomplete user info".
- Extract a pure helper `select-user-info-source` that maps the raw
config string to a dispatch keyword (`:token`, `:userinfo`, `:auto`),
falling back to `:auto` for unknown / missing / accidentally-keyword
values
- Rewrite `get-info`'s `case` to dispatch on the helper's output so
the arms unambiguously match the normalised keyword
- Add vitest-style deftests in `auth_oidc_test.clj` pinning the three
valid strings, the nil / "auto" / unknown fallback, and the reverse
regression (a keyword input must not slip through as if it were the
matching string)
- Add a CHANGES.md entry under the 2.17.0 Unreleased `🐛 Bugs fixed`
section linking back to #9108
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-24 12:14:46 +02:00
Alejandro Alonso
89a1ee7813
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-24 12:06:27 +02:00
Andrey Antukh
29ba336928
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-24 11:58:50 +02:00
Andrey Antukh
cfb076dd61
📚 Update AGENTS.md with common github operations
2026-04-24 11:45:36 +02:00
Eva Marco
4a7140d82d
🐛 Fix theme modal height ( #9105 )
...
* 🐛 Fix CI
* 🐛 Fix theme modal height
2026-04-24 11:38:34 +02:00
Pablo Alba
4061673528
✨ Add nitrate api endpoints to get and cancel org invitations ( #9124 )
...
* ✨ Add nitrate api endpoints to get and cancel org invitations
* ✨ MR changes
2026-04-24 11:35:53 +02:00
Alejandro Alonso
e05ea1392a
Merge pull request #9140 from penpot/superalex-fix-merge-develop
...
🐛 Fix text.cljs error from staging merge
2026-04-24 10:57:59 +02:00
Alejandro Alonso
58fae0a04d
🐛 Fix text.cljs error from staging merge
2026-04-24 10:10:00 +02:00
Alejandro Alonso
078663b0fa
🔧 Fix rust linter errors
2026-04-24 09:52:51 +02:00
Eva Marco
5a7ba7ee7e
🐛 Fix multiple selection on shapes with token applied to stroke-color ( #9110 )
...
* ✨ Remove the need to navigate to page for deletion operation
* 🐛 Fix multiple selection with applied-tokens on stroke-color
* 🐛 Fix button position on page header
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-24 09:47:44 +02:00
Alejandro Alonso
7532bf411c
Merge remote-tracking branch 'origin/develop' into develop
2026-04-24 09:32:35 +02:00
Alejandro Alonso
984d292ab2
Merge remote-tracking branch 'origin/staging' into develop
2026-04-24 09:29:24 +02:00
Full Stack Developer
25e6b939ba
✨ Show detailed messages on file import errors ( #9004 )
...
* ✨ Show detailed messages on file import errors
Signed-off-by: jsdevninja <topit89807@gmail.com>
* ✨ Fix test
* ✨ Fix build error
---------
Signed-off-by: jsdevninja <topit89807@gmail.com>
2026-04-24 09:13:46 +02:00
FairyPiggyDev
361c1c574b
🐛 Fix plugin parse-point returning plain map instead of Point record ( #9129 )
...
The plugin parser's parse-point returned a plain `{:x … :y …}` map,
but shape interaction schemas (for example schema:open-overlay-interaction)
require the attribute to be a `::gpt/point` record. `(instance? Point {:x 0 :y 0})`
is false, so validation silently rejected plugin `addInteraction` calls
that passed `manualPositionLocation`; only a console warning was produced.
Change parse-point to return a `gpt/point` record via `gpt/point`.
All three call sites (parser.cljs:open-overlay, plugins/page.cljs,
plugins/comments.cljs) continue to work because Point records support
the same `:x`/`:y` access plain maps do.
Add a unit test that covers nil input and verifies the returned value
satisfies `gpt/point?`.
Github #8409
Signed-off-by: FairyPigDev <luislee3108@gmail.com>
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-24 09:12:13 +02:00
Juan Flores
841b2e156e
🐛 Fix typography style creation with tokenized line-height ( #9121 )
...
When a text element has a line-height coming from a design token, the value
may be a number (e.g. 1.5) and fails frontend data validation expecting a
string. Normalize line-height before creating the typography style so the
operation succeeds without throwing an assertion error.
Signed-off-by: juan-flores077 <toptalent399@gmail.com>
2026-04-24 09:11:31 +02:00
boskodev790
6c7843f4b6
🐛 Fix obfuscate-email crashing on malformed email or dotless domain ( #9120 )
...
The viewer-side `obfuscate-email` helper used by `anonymize-member` when
building share-link bundles called `clojure.string/split` on the raw
email input and then on the extracted domain. Two failure modes:
1. When the stored email had no `@` (legacy data, LDAP-sourced UIDs, direct
DB inserts, or fixtures that bypassed `::sm/email`), destructuring
left `domain` bound to `nil` and the follow-up `(str/split nil "." 2)`
raised `NullPointerException`. Because `obfuscate-email` runs inside
`get-view-only-bundle`, the exception aborted the whole RPC response
for share-link viewers, not just the field.
2. When the stored email used a single-label domain (`alice@localhost`),
`(str/split "localhost" "." 2)` returned `["localhost"]`; destructuring
bound `rest` to `nil` and the final `(str name "@****." rest)` produced
a dangling-dot output `"****@****."` (nil coerces to empty in `str`).
Guard both split calls with `(or x "")` so the chain is nil-safe, and
emit the trailing `.<tld>` segment only when `rest` is present. Add three
`deftest` groups covering the happy path, dotless domains, and malformed
inputs (nil / empty / no-`@`), plus a CHANGES.md entry under the 2.17.0
Unreleased bugs-fixed section.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-24 09:09:49 +02:00
Renzo
8aacda2249
✨ Add Shift+Numpad0/1/2 zoom shortcut aliases ( #2457 ) ( #9063 )
...
Signed-off-by: RenzoMXD <170978465+RenzoMXD@users.noreply.github.com>
2026-04-24 09:08:31 +02:00
wdeveloper16
50bee5e176
✨ Add clipboard:read/write permissions to plugin system ( #6980 ) ( #9053 )
...
* ✨ Add clipboard:read/write permissions to plugin system (#6980 )
* 🔧 Fix prettier formatting in clipboard permission files
---------
Co-authored-by: wdeveloper16 <wdeveloer16@protonmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-24 09:07:58 +02:00
Andrey Antukh
20c6a28b52
📎 Add commit agent for opencode
2026-04-24 08:54:01 +02:00
Andrey Antukh
7135782e7d
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-24 08:19:47 +02:00
Andrey Antukh
fd38f5b431
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-24 08:18:55 +02:00
Andrey Antukh
2d5e50f352
⬆️ Update root repo deps
2026-04-24 08:17:32 +02:00
wdeveloper16
e280168de9
✨ Add read-only preview mode for saved versions ( #7622 ) ( #8976 )
...
* ✨ Add read-only preview mode for saved versions (#7622 )
* 🔧 Address review feedback on version preview (#7622 )
* 🐛 Fix version preview for WASM renderer (#7622 )
* 🐛 Fix stylelint color-named and color-function-notation in preview banner (#7622 )
* 🐛 Fix invalid-arity call to initialize-workspace in exit-preview (#7622 )
* 🐛 Fix unclosed defn paren in exit-preview (#7622 )
* ♻️ Refactor version preview/restore flow
Separate enter-preview and enter-restore flows with dedicated dialogs
instead of a persistent banner. Removes preview-banner component in favor
of inline actions dialog. Uses backup/restore pattern for exit-preview
instead of full workspace reinitialization. Adds analytics events for
preview/restore actions.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* ⚡ Extract on-name-input-focus as namespace-level private function
The callback had no dependencies on component-local state or props,
making it a pure function that can be hoisted to a defn-. This avoids
recreating the same callback identity on every render of version-entry*.
* ⚡ Extract extract-id-from-event helper to deduplicate snapshot callbacks
Three callbacks in snapshot-entry* shared the same DOM extraction logic
(get current target, read data-id, parse UUID). Extracted into a private
defn- to remove the duplication and simplify each callback.
* ⚡ Extract pure state-update callbacks from versions-toolbox* to namespace level
Eight callbacks that only emit fixed Potok events with no meaningful
deps were hoisted out of the component as defn- functions:
- on-create-version
- on-edit-version
- on-cancel-version-edition
- on-rename-version
- on-delete-version
- on-pin-version
- on-lock-version
- on-unlock-version
These no longer need mf/use-fn wrappers since namespace-level functions
have stable identity across renders, avoiding unnecessary callback
recreation on each render cycle.
* ✨ Rename filter parameter to filter-value in on-change-filter to avoid core shadowing
The parameter name 'filter' shadowed clojure.core/filter within the
function scope. Renamed to 'filter-value' for clarity and to prevent
potential bugs if core/filter were needed in future changes.
* 🔧 Fix linter warnings and errors across version-related namespaces
frontend/src/app/main/ui/workspace.cljs:
- Remove unused requires: app.common.data, app.main.data.notifications,
app.main.data.workspace.versions
frontend/src/app/main/data/workspace/versions.cljs:
- Remove unused require: app.common.uuid
- Fix duplicate reify type: enter-restore used ::restore-version
(same as the private restore-version fn), renamed to ::enter-restore
- Remove unused bindings: state in enter-restore, team-id in
exit-preview and restore-version-from-plugin
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Signed-off-by: wdeveloper16 <wdeveloer16@protonmail.com>
Co-authored-by: wdeveloper16 <wdeveloer16@protonmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-24 08:13:16 +02:00
Renzo
7c1a29ccf7
🐛 Remove corepack dependency from MCP server for Node.js 25+ ( #9119 )
...
* 🐛 Remove corepack dependency from MCP server for Node.js 25+
* 🐛 Update
2026-04-23 22:08:11 +02:00
Luis de Dios
cd417443f6
🐛 Fix layer hierarchy to match old and new SCSS ( #9126 )
2026-04-23 18:00:40 +02:00
Eva Marco
0c60db56a2
🐛 Fix multiselection error with typography texts ( #9071 )
...
* 🐛 Ensure typography-ref attrs are always present and fix nil encoding
Add :typography-ref-file and :typography-ref-id (both defaulting to nil)
to default-text-attrs so these keys are always present in text node maps,
whether or not a typography is attached.
Skip nil values in attrs-to-styles (Draft.js style encoder) and in
attrs->styles (v2 CSS custom-property mapper) so nil typography-ref
entries are never serialised to CSS.
Replace when with if/acc in get-styles-from-style-declaration to prevent
the accumulator from being clobbered to nil when a mixed-value entry is
skipped during style decoding.
* 🎉 Add test
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-23 16:08:56 +02:00
Marina López
a3c330d6e7
✨ Add downgrade nitrate to unlimited modal
2026-04-23 12:54:42 +02:00
Elena Torro
96722fde4b
🐛 Support EvenOdd SVG attribute across all path operations
2026-04-23 12:02:40 +02:00
Elena Torro
4a549d0907
⚡ Drain GPU queue during pan/zoom to avoid render_from_cache hitch
2026-04-23 11:19:51 +02:00
Eva Marco
d6b341c053
🐛 Fix color token ( #9095 )
2026-04-23 10:51:30 +02:00
Eva Marco
5c9696e20c
🐛 Fix color dropdown option update ( #9100 )
2026-04-23 10:51:20 +02:00
Eva Marco
28b33b9acc
🐛 Fix props on text components ( #9099 )
2026-04-23 10:49:48 +02:00
Andrey Antukh
c6b6b9ce00
📎 Update changelog
2026-04-23 09:59:11 +02:00
Yamila Moreno
5f7de04efe
🚑 Fix email blacklisting ( #9122 )
2026-04-23 09:42:40 +02:00
Elena Torró
d43d1f431f
Merge pull request #9112 from penpot/superalex-improve-atlas-growth
...
🎉 Improve atlas growth
2026-04-23 09:22:39 +02:00
Yamila Moreno
dc8073f924
🐳 Add PENPOT_PUBLIC_URI to penpot-frontend
2026-04-23 09:06:10 +02:00
Renzo
5bbb2c5cff
🐛 Fix Copy as SVG for multi-shape selection ( #838 ) ( #9066 )
...
Signed-off-by: RenzoMXD <170978465+RenzoMXD@users.noreply.github.com>
2026-04-22 19:46:38 +02:00
Alejandro Alonso
9e990a975a
🎉 Improve atlas growth
2026-04-22 17:21:11 +02:00
Andrey Antukh
ba42cc04b7
♻️ Derive v-sizing from values instead of passing as prop
...
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 14:17:15 +00:00
Luis de Dios
b60695f54a
🐛 Fix indicate that the mcp is disabled if the mcp key has expired
...
If the mcp key has expired, the switch that indicates the status in the dashboard will appear as disabled, and will show a modal for regenerate the key. It will also appear as disabled in the workspace, not allowing the plugin to connect
2026-04-22 16:00:52 +02:00
Yamila Moreno
3c542a1abc
🐛 Fix email validation ( #9037 )
2026-04-22 15:59:28 +02:00
Dexterity
3fd976c551
🐛 Fix UI bugs in account settings forms ( #8997 )
...
Closes #8977
Closes #8979
Signed-off-by: Dexterity <173429049+Dexterity104@users.noreply.github.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 15:21:02 +02:00
Edwin Rivera
7dbd602d1e
🐛 Fix text export with custom fonts across SVG, PNG and JPG ( #9094 )
...
* 🐛 Fix text export with custom fonts across SVG, PNG and JPG
Text layers using custom or non-standard fonts were rendered incorrectly
on export regardless of the target format. The exporter was not resolving
the font face correctly before rasterization/serialization, causing the
output to fall back to a default glyph set and producing broken or
misaligned text. This fix ensures font data is resolved and embedded
consistently in the export pipeline for all output formats.
Signed-off-by: Edwin Rivera <bytelogic772@gmail.com>
* 📚 Add entry to CHANGES.md under 2.17.0
Signed-off-by: edwin-rivera-dev <bytelogic772@gmail.com>
---------
Signed-off-by: Edwin Rivera <bytelogic772@gmail.com>
Signed-off-by: edwin-rivera-dev <bytelogic772@gmail.com>
2026-04-22 15:19:58 +02:00
Juanfran
7d4092eeba
🐛 Fix column name mismatch when accepting org invitation
2026-04-22 14:24:03 +02:00
Elena Torro
f673b32567
🐛 Fix image loading callback
2026-04-22 14:00:49 +02:00
Full Stack Developer
d384f47253
🐛 Fix internal error on layer prev/next sibling selection ( #9003 )
...
Signed-off-by: jsdevninja <topit89807@gmail.com>
2026-04-22 13:59:42 +02:00
Andrey Antukh
8ad30e14b6
Merge remote-tracking branch 'origin/staging' into develop
2026-04-22 13:34:00 +02:00
Andrey Antukh
b0b2c0d264
📎 Update version on mcp/ module
2026-04-22 13:18:24 +02:00
Andrey Antukh
f00ea8789f
📎 Update version on mcp module
2026-04-22 13:16:34 +02:00
Andrey Antukh
112e81c397
📎 Fix the version reference
...
Caused by the recent version changes
2026-04-22 13:14:04 +02:00
moorsecopers99
b6487015b8
✨ Add loader feedback while importing and exporting files ( #9024 )
...
* ✨ Add loader feedback while importing and exporting files
Show a loader icon with a status label ("Importing files…" /
"Exporting files…") in the import and export dialog footers while the
operation is running, so users get clear in-progress feedback and
cannot retrigger the action by mistake.
Closes #9020
Signed-off-by: moorsecopers99 <patellscott18@gmail.com>
* ✨ Address import/export loader feedback PR review
- Show the loader beside file names in the import dialog while files
are being imported (previously queued entries kept showing the
Penpot logo until each one moved into :import-progress).
- Drop the loader from the "Importing files…" / "Exporting files…"
footer status, leaving just the text styled with the modal title
color, per the design proposal.
Signed-off-by: moorsecopers99 <patellscott18@gmail.com>
* ✨ Match design proposal for import/export progress feedback
- Move the in-progress label from the modal footer into the modal
body, under the file rows, styled italic with the modal title
color.
- Rename the labels to match the design wording: "Uploading file…"
for import and "Downloading file…" for export.
- Restore the disabled "Accept" button in the import footer during
the import-progress phase, mirroring the disabled "Close" button
used by export.
Signed-off-by: moorsecopers99 <patellscott18@gmail.com>
* 🐛 Rename deprecated bodySmallTypography mixin to body-small-typography
Signed-off-by: moorsecopers99 <patellscott18@gmail.com>
---------
Signed-off-by: moorsecopers99 <patellscott18@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 13:12:48 +02:00
Andrey Antukh
88008ce16c
📎 Update mcp types yaml file
2026-04-22 13:11:10 +02:00
Andrey Antukh
75d99a0725
🔧 Add missing public uri handling on nginx entrypoint
2026-04-22 13:11:10 +02:00
Andrey Antukh
09637f9794
✨ Allow render entrypoint load alternative config
...
The render entrypoint is used by exporter
2026-04-22 13:11:10 +02:00
Andrey Antukh
3225319e0c
🐛 Fix frontend tests
2026-04-22 12:54:07 +02:00
Edwin Rivera
2579527e64
🎉 Add get-file-stats RPC command ( #9074 )
...
* 🎉 Add get-file-stats RPC command
Introduce a new lightweight RPC query that returns aggregate statistics
for a single file: page count, shape counts by type, component/color/
typography counts, and inbound and outbound library reference counts.
Mirrors the existing get-file-summary permission and decoding pattern.
Useful for plugin authors enforcing per-file budgets, the
@penpot/library npm SDK, and future admin dashboards. Purely additive
— no migrations, no UI, no breaking changes.
Signed-off-by: edwin-rivera-dev <bytelogic772@gmail.com>
* 🐛 Bind *load-fn* around file data walk in get-file-stats
The binding previously wrapped only — a plain key
lookup that does not realize any pointers — so by the time
walked and accessed on
each page, was unbound and every PointerMap
dereference threw , failing the three new tests.
Move inside the form so the walk runs
with available, matching the existing pattern used in
.
Signed-off-by: Edwin Rivera <bytelogic772@gmail.com>
---------
Signed-off-by: edwin-rivera-dev <bytelogic772@gmail.com>
Signed-off-by: Edwin Rivera <bytelogic772@gmail.com>
2026-04-22 12:49:39 +02:00
Elena Torró
3561b2d1eb
Merge pull request #9078 from penpot/alotor-fix-thumbnail-errors
...
🐛 Fix errors in thumbnails
2026-04-22 12:00:56 +02:00
Elena Torró
ba1842792f
Merge pull request #9076 from penpot/alotor-fix-flex-align-self
...
🐛 Fix default alignself behavior
2026-04-22 11:55:00 +02:00
Eva Marco
09fca1c820
🐛 Fix tooltip appearing two times when nested elements ( #9031 )
2026-04-22 11:33:43 +02:00
Aitor Moreno
e3981a0cf3
Merge pull request #9077 from penpot/ladybenko-13971-fix-trailing-whitespace
...
🐛 Fix trailing whitespace behavior in v2 editor
2026-04-22 11:30:01 +02:00
Eva Marco
c02f0a2bc9
🐛 Fix grow options ( #9097 )
...
* 🐛 Fix grow options
* 🐛 Fix props when hidden is nil
2026-04-22 11:09:44 +02:00
Yamila Moreno
6de5370a0b
🐛 Fix nginx configuration for mcp
2026-04-22 10:29:52 +02:00
Andrey Antukh
448b5d4786
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-22 09:58:20 +02:00
Andrey Antukh
47b3667248
🐛 Fix exporter renderer URI path construction
...
Apply consistent path construction across bitmap, PDF, and SVG
renderers in the exporter. Use path join utilities instead of
hardcoding the render.html path, ensuring the path is properly
appended to the public URI base path.
- bitmap.cljs: Use u/ensure-path-slash and u/join for path
- pdf.cljs: Use u/join and ensure-path-slash on base-uri
- svg.cljs: Use u/ensure-path-slash and u/join for path
2026-04-22 09:52:44 +02:00
Andrey Antukh
98e8160875
♻️ Remove worker URI from global templates and compute from public URI
...
- Remove penpotWorkerURI from index.mustache and rasterizer.mustache templates
- Remove worker_main entry from the build manifest
- Construct worker URI in config.cljs by joining public-uri with worker path
- Fix global variable casing for plugins-list-uri and templates-uri
- Fix alignment in worker.cljs let bindings
2026-04-22 09:52:44 +02:00
Eva Marco
d549be3376
♻️ Remove duplicated code ( #9096 )
2026-04-22 09:39:38 +02:00
María Valderrama
b67394199b
✨ Add the ability to upload organization profile image
...
* ✨ Upload org logo
* 📎 Code review
* 📎 Code review 2
* 📎 Code review 3
2026-04-22 09:37:09 +02:00
Yamila Moreno
6ea7a64e01
✨ Add nginx configuration for mcp server
2026-04-22 09:33:58 +02:00
Pablo Alba
534701f04f
🐛 Fix org options space should be hidden when there are no options
2026-04-22 09:33:42 +02:00
Pablo Alba
ad974f4047
💄 Unify naming on nitrate-api
2026-04-22 09:31:09 +02:00
Alejandro Alonso
8bf8601d29
Merge pull request #9093 from penpot/superalex-avoid-unnecesary-rerenders-on-frame-hover
...
🐛 Avoid unnecessary repainting of frames when mouse hover
2026-04-22 09:28:49 +02:00
Andrey Antukh
81faa5a728
⚡ Replace duplicate on-blur lambda with stable on-text-blur ref
...
The inline (fn [] (ts/schedule ...)) passed as :on-blur to text-options
was an exact copy of the on-text-blur callback already defined via
mf/use-fn earlier in the same let block. Pass on-text-blur directly
to avoid allocating a new function object on every render.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
7751d9a69b
⚡ Remove spurious deps from toggle callbacks in text-menu*
...
toggle-main-menu and toggle-more-options close over a state atom and
need no external deps. The declared deps (main-menu-open? /
more-options-open?) were unused inside the function bodies, causing
each callback to be reallocated on every toggle — self-reinforcing
churn. Drop the mf/deps calls to make both callbacks stable.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
74d1288003
⚡ Hoist token-typography-row? flag check to namespace level
...
(contains? cf/flags :token-typography-row) is a pure constant:
cf/flags is immutable after startup. Define it once as a private
namespace-level var token-typography-row? instead of re-evaluating
the check on every render in text-decoration-options* and text-menu*.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
d28c0ea066
⚡ Memoize label computation in text-menu* component
...
Wrap the (case type (tr ...) ...) expression in mf/with-memo [type]
so the translation is resolved only when the type prop changes
instead of on every render.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
a94a7221fb
⚡ Memoize options in text-decoration-options* component
...
Wrap the two radio-button option maps in mf/with-memo [token-applied]
so the vector and its (tr ...) calls are evaluated only when the
token-applied prop changes, not on every render.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
b8aa243c2b
⚡ Memoize static options in grow-options* component
...
Wrap the three radio-button option maps in mf/with-memo [] so the
vector and its (tr ...) calls are evaluated once per mount instead
of on every render.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
dfd992aa49
⚡ Memoize static options in text-direction-options* component
...
Wrap the two radio-button option maps in mf/with-memo [] so the
vector and its (tr ...) calls are evaluated once per mount instead
of on every render.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
466f27eb7c
⚡ Memoize static options in text-align-options* component
...
Wrap the four radio-button option maps in mf/with-memo [] so the
vector and its (tr ...) calls are evaluated once per mount instead
of on every render.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
6c19c7c0c4
⚡ Memoize static options in vertical-align* component
...
Wrap the radio-button options vector in `mf/with-memo []` so the
vector allocation and `(tr ...)` calls happen once per component
mount instead of on every render.
Also document the translation memoization rule in frontend/AGENTS.md:
`(tr ...)` must never be called at namespace level (locale is
runtime-only), and static option lists should always be wrapped in
`mf/with-memo []`.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-22 08:55:29 +02:00
Andrey Antukh
97d234a566
✨ Add 2h min-age threshold to storage/gc_touched task
...
Skip storage objects touched less than 2 hours ago, matching the pattern
used by upload-session-gc. Update all affected tests to advance the clock
past the threshold using ct/*clock* bindings.
2026-04-22 08:48:04 +02:00
Marina López
11c970a945
✨ Add nitrate trial text
2026-04-22 08:17:28 +02:00
Alejandro Alonso
ca97a28408
🐛 Avoid unnecesary repainting of frames when mouse hover
2026-04-22 07:37:38 +02:00
Andrey Antukh
6723e3bbea
🐛 Fix issues after staging merge
2026-04-21 22:52:19 +02:00
Andrey Antukh
c259fbdb5b
Merge remote-tracking branch 'origin/staging' into develop
2026-04-21 22:43:46 +02:00
Andrey Antukh
f331325941
Merge remote-tracking branch 'origin/main-staging' into staging
2026-04-21 21:42:03 +02:00
Andrey Antukh
f716995ffd
📚 Update changelog
2026-04-21 21:08:57 +02:00
Andrey Antukh
e5f9c1e863
🎉 Add chunked upload API for large media and binary files
...
Introduce a purpose-agnostic three-step session-based upload API that
allows uploading large binary blobs (media files and .penpot imports)
without hitting multipart size limits.
Backend:
- Migration 0147: new `upload_session` table (profile_id, total_chunks,
created_at) with indexes on profile_id and created_at.
- Three new RPC commands in media.clj:
* `create-upload-session` – allocates a session row; enforces
`upload-sessions-per-profile` and `upload-chunks-per-session`
quota limits (configurable in config.clj, defaults 5 / 20).
* `upload-chunk` – stores each slice as a storage object;
validates chunk index bounds and profile ownership.
* `assemble-file-media-object` – reassembles chunks via the shared
`assemble-chunks!` helper and creates the final media object.
- `assemble-chunks!` is a public helper in media.clj shared by both
`assemble-file-media-object` and `import-binfile`.
- `import-binfile` (binfile.clj): accepts an optional `upload-id` param;
when provided, materialises the temp file from chunks instead of
expecting an inline multipart body, removing the 200 MiB body limit
on .penpot imports. Schema updated with an `:and` validator requiring
either `:file` or `:upload-id`.
- quotes.clj: new `upload-sessions-per-profile` quota check.
- Background GC task (`tasks/upload_session_gc.clj`): deletes stalled
(never-completed) sessions older than 1 hour; scheduled daily at
midnight via the cron system in main.clj.
- backend/AGENTS.md: document the background-task wiring pattern.
Frontend:
- New `app.main.data.uploads` namespace: generic `upload-blob-chunked`
helper drives steps 1–2 (create session + upload all chunks with a
concurrency cap of 2) and emits `{:session-id uuid}` for callers.
- `config.cljs`: expose `upload-chunk-size` (default 25 MiB, overridable
via `penpotUploadChunkSize` global).
- `workspace/media.cljs`: blobs ≥ chunk-size go through the chunked path
(`upload-blob-chunked` → `assemble-file-media-object`); smaller blobs
use the existing direct `upload-file-media-object` path.
`handle-media-error` simplified; `on-error` callback removed.
- `worker/import.cljs`: new `import-blob-via-upload` helper replaces the
inline multipart approach for both binfile-v1 and binfile-v3 imports.
- `repo.cljs`: `:upload-chunk` derived as a `::multipart-upload`;
`form-data?` removed from `import-binfile` (JSON params only).
Tests:
- Backend (rpc_media_test.clj): happy path, idempotency, permission
isolation, invalid media type, missing chunks, session-not-found,
chunk-index out-of-range, and quota-limit scenarios.
- Frontend (uploads_test.cljs): session creation and chunk-count
correctness for `upload-blob-chunked`.
- Frontend (workspace_media_test.cljs): direct-upload path for small
blobs, chunked path for large blobs, and chunk-count correctness for
`process-blobs`.
- `helpers/http.cljs`: shared fetch-mock helpers (`install-fetch-mock!`,
`make-json-response`, `make-transit-response`, `url->cmd`).
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-21 18:51:10 +00:00
Andrey Antukh
a395768987
🐛 Fix incorrect handlig of version restore operation ( #9041 )
...
- Add session ID tracking to RPC layer (backend and frontend)
- Send session ID header with RPC requests for request correlation
- Rename file-restore to file-restored for consistency
- Extract initialize-file function from initialize-workspace flow
- Improve file restoration initialization with wait-for-persistence
- Extract initialize-version event handler for version restoration
- Fix viewport key generation with file version numbers for proper re-renders
- Update layout item schema and constraints to use internal sizing state
- Add v-sizing state retrieval in layout-size-constraints component
- Refactor file-change notifications stream handling with rx/map
- Fix team-id lookup in restore-version-from-plugins
Improves request traceability across frontend/backend sessions and streamlines
the workspace initialization flow for file restoration scenarios.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-21 20:50:41 +02:00
Andrey Antukh
8f2c467b82
Merge remote-tracking branch 'origin/main' into main-staging
2026-04-21 20:44:31 +02:00
Andrey Antukh
c1688edf66
♻️ Convert frame-grid and grid-options to modern * suffix
...
Rename grid-options -> grid-options*, frame-grid -> frame-grid*.
Update internal call and call site in shapes/frame.cljs to [:> ...] syntax.
2026-04-21 20:31:30 +02:00
Andrey Antukh
08247aec3f
♻️ Convert svg-attrs-menu and attribute-value to modern * suffix
...
Rename attribute-value -> attribute-value*, svg-attrs-menu -> svg-attrs-menu*.
Update all call sites (circle, path, svg_raw, rect, group) to use [:> ...] syntax.
2026-04-21 20:31:30 +02:00
Andrey Antukh
95ca68e2b8
♻️ Convert history-entry-details to modern rumext * format
...
Rename to history-entry-details* and update internal call site.
2026-04-21 20:31:30 +02:00
Andrey Antukh
e9e6796f05
♻️ Convert text-menu and sub-components to modern rumext * format
...
Rename text-align-options, text-direction-options, vertical-align,
grow-options, text-decoration-options and text-menu to their * variants.
Update all call sites in shapes/text.cljs, shapes/group.cljs and
shapes/multiple.cljs.
2026-04-21 20:31:30 +02:00
Andrey Antukh
0e5d3e2619
♻️ Convert blur-menu, constraints-menu and stroke-menu to modern rumext * format
...
Rename components to blur-menu*, constraints-menu* and stroke-menu*.
Update :refer imports and all [:& ...] call sites to [:> ...*] for
blur-menu*, constraints-menu* and stroke-menu* across all nine
shapes-specific options panels.
2026-04-21 20:31:30 +02:00
Andrey Antukh
f0d6e8cb2f
♻️ Convert text-edition-outline to modern rumext * format
...
Rename to text-edition-outline*, update call sites in viewport.cljs and
viewport_wasm.cljs to [:> text-edition-outline* ...].
2026-04-21 20:31:30 +02:00
Andrey Antukh
304a324529
♻️ Convert image-upload to modern rumext * format
...
Rename to image-upload*, update internal call site in top-toolbar* to
[:> image-upload*].
2026-04-21 20:31:30 +02:00
Andrey Antukh
14ff56bc89
♻️ Convert text-palette-ctx-menu to modern rumext * format
...
Rename to text-palette-ctx-menu*, rename show-menu? prop to show-menu,
update call site in palette.cljs to [:> text-palette-ctx-menu* ...].
2026-04-21 20:31:30 +02:00
Andrey Antukh
d8340d765a
Merge remote-tracking branch 'origin/staging' into develop
2026-04-21 20:28:38 +02:00
Andrey Antukh
2bbd63287f
Merge remote-tracking branch 'origin/main' into staging
2026-04-21 19:22:50 +02:00
Andrey Antukh
6eccffb8bb
🐛 Fix incorrect handlig of version restore operation ( #9041 )
...
- Add session ID tracking to RPC layer (backend and frontend)
- Send session ID header with RPC requests for request correlation
- Rename file-restore to file-restored for consistency
- Extract initialize-file function from initialize-workspace flow
- Improve file restoration initialization with wait-for-persistence
- Extract initialize-version event handler for version restoration
- Fix viewport key generation with file version numbers for proper re-renders
- Update layout item schema and constraints to use internal sizing state
- Add v-sizing state retrieval in layout-size-constraints component
- Refactor file-change notifications stream handling with rx/map
- Fix team-id lookup in restore-version-from-plugins
Improves request traceability across frontend/backend sessions and streamlines
the workspace initialization flow for file restoration scenarios.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-21 19:19:51 +02:00
moorsecopers99
95b2d7b083
🐛 Add ability to delete uploaded profile avatar ( #9068 )
...
Fixes #9067 . Adds a delete button that appears on hover over an
uploaded profile photo; clicking it opens a confirm modal and, on
accept, clears the stored photo so the generated fallback avatar is
shown again. A new :delete-profile-photo RPC schedules the old
storage object for garbage collection and sets photo-id to null.
Signed-off-by: moorsecopers99 <patellscott18@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-21 19:19:30 +02:00
Dexterity
bb91c06390
🐛 Show check icon after copying team invitation link ( #8996 )
...
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-21 17:32:07 +02:00
Dexterity
e1d3106f61
✨ Add color customization for ruler guides ( #8986 )
...
* ✨ Add customizable colors for ruler guides
* ✨ Update CHANGES.md
* 💄 Move guide color menu styles to SCSS
* 💄 Fix trailing whitespace in guides.cljs
---------
Signed-off-by: Dexterity <173429049+Dexterity104@users.noreply.github.com>
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-21 17:31:39 +02:00
Andrey Antukh
aed2f8a8f8
🐛 Fix removeChild errors from unmount race conditions ( #8927 )
...
Guard imperative DOM operations (removeChild, RAF callbacks) against
race conditions where React has already unmounted the target nodes.
- assets/common.cljs: add dom/child? guard before removeChild in RAF
- dynamic_modifiers.cljs: capture RAF IDs and cancel them on cleanup;
add null guards for DOM nodes that may no longer exist
- hooks.cljs: guard portal container removal with dom/child? check
- errors.cljs: extract is-ignorable-exception? to a top-level defn
and add NotFoundError/removeChild to ignorable exceptions, since
these are caused by browser extensions modifying React-managed DOM
- Add unit tests for is-ignorable-exception? predicate
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-21 17:31:05 +02:00
Dr. Dominik Jain
77560b9305
✨ Encourage use of layouts and proper naming #9081 ( #9084 )
...
Improve MCP instructions on design creation:
* Agents should make use of layouts when appropriate
* Agents should name all elements appropriately
2026-04-21 17:23:58 +02:00
Pablo Alba
cd320c0cd6
✨ On profile deletion, remove the user from nitrate too
2026-04-21 15:44:37 +02:00
Belén Albeza
f9f3955503
🐛 Fix trailing whitespace behavior in v2 editor
2026-04-21 15:43:10 +02:00
Yamila Moreno
f19c968bc6
🔧 Add main-staging workflow
2026-04-21 15:40:51 +02:00
Yamila Moreno
d5cf7dcf9d
🔧 Add main-staging workflow
2026-04-21 15:40:37 +02:00
Yamila Moreno
bd82829cb7
🔧 Add main-staging workflow
2026-04-21 15:40:16 +02:00
Yamila Moreno
66e34950b2
🔧 Add main-staging workflow
2026-04-21 15:39:35 +02:00
alonso.torres
2901d00862
🐛 Fix errors in thumbnails
2026-04-21 15:35:06 +02:00
Eva Marco
f18670ed00
🐛 Fix errors from numeric input design review ( #8993 )
...
* 🐛 Fix blur input after enter value
* 🐛 Catch error on invalid maths
* 🐛 Fix race condition
* 🎉 Add tests that cover issues
* 🐛 Fix padding applying only to one side
* 🐛 Fix show broken pill when reference is on not active set
2026-04-21 14:39:06 +02:00
alonso.torres
719f4a5035
🐛 Fix default alignself behavior
2026-04-21 14:33:47 +02:00
Elena Torró
c636517499
Merge pull request #9072 from penpot/alotor-fix-swap-component
...
🐛 Fix problem on component swap
2026-04-21 13:53:21 +02:00
Elena Torró
04f29a0d72
Merge pull request #9059 from penpot/azazeln28-fix-caret-dimensions
...
🐛 Fix caret dimensions
2026-04-21 13:41:07 +02:00
Xaviju
78c48f1953
🐛 Fix broken update library notification link UI ( #9070 )
...
* 🐛 Fix broken update library notification link UI
* ♻️ Format and lint
2026-04-21 13:33:38 +02:00
alonso.torres
f89f4e0047
🐛 Fix problem on component swap
2026-04-21 13:11:03 +02:00
alonso.torres
3da74ed864
🐛 Fix problem with component thumbnails in swap component panel
2026-04-21 13:11:03 +02:00
Aitor Moreno
612855452a
🎉 Add render perf options
2026-04-21 11:43:22 +02:00
Elena Torro
62ec66b974
✨ Add lazy async rendering for component thumbnails
2026-04-21 11:40:53 +02:00
alonso.torres
88ec9e4ff1
🐛 Fix problem with store font after cleanup
2026-04-21 11:03:04 +02:00
Xaviju
cd9151bf9f
🐛 Fix duplicate modal title ( #9064 )
2026-04-21 09:54:30 +02:00
Aitor Moreno
7efc4d6d53
🐛 Fix caret dimensions
2026-04-21 09:44:44 +02:00
Elena Torró
0b49c1f3e9
Merge pull request #9069 from penpot/superalex-improve-modifiers-flickering
...
🐛 Avoid sequential tile draws and flicker during shape transforms
2026-04-21 09:20:29 +02:00
Alejandro Alonso
0d17debde7
Merge remote-tracking branch 'origin/staging' into develop
2026-04-21 08:24:29 +02:00
Alejandro Alonso
98c8bb1746
🐛 Avoid sequential tile draws and flicker during shape transforms
2026-04-21 07:45:27 +02:00
Xaviju
e9105f3670
♻️ Fix linter errors under legacy resources scss ( #9035 )
2026-04-20 23:58:53 +02:00
Andrey Antukh
eeeb698d91
⬆️ Bump opencode-ai dev dependency 1.4.3 -> 1.14.19
...
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-20 20:13:15 +02:00
Andrey Antukh
3a39676969
⏪ Backport MCP from staging (part 1)
2026-04-20 19:37:02 +02:00
alonso.torres
c42eb6ff86
🐛 Fix problem with selection performance
2026-04-20 17:30:07 +02:00
Elena Torro
b5701923ba
🐛 Fix dragging shape
2026-04-20 16:49:18 +02:00
Elena Torró
9ba8d4667c
Merge pull request #9044 from penpot/superalex-atlas-fixes
...
🐛 Atlas fixes
2026-04-20 16:23:06 +02:00
Alejandro Alonso
1d454f3790
🐛 Fix stale tile cache when flex reflow changes modifier set between frames
2026-04-20 15:50:22 +02:00
Juan de la Cruz
876b8d645d
🎉 Add new page separators feature ( #8561 )
...
* 🎉 Add new page separators feature
* 📎 Add PR feedback changes
* 🐛 Fix page sitemap icons
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-20 15:33:42 +02:00
Eva Marco
adea81ceee
♻️ Update icon on typography section and scss files ( #9021 )
...
* ♻️ Update icon on new buttons
* ♻️ Update scss on typography section
2026-04-20 15:32:55 +02:00
Alejandro Alonso
bc9496deaa
🎉 Replace run_script tiles-complete dispatch with wapi extern binding
2026-04-20 15:29:45 +02:00
Alejandro Alonso
88dbfe7602
🐛 Fix restore renderer state after thumbnail render_shape_pixels
2026-04-20 15:27:46 +02:00
Alejandro Alonso
9cf787d154
🐛 Update atlas when removing shape
2026-04-20 15:27:46 +02:00
Elena Torró
3f0d103cb3
Merge pull request #9036 from penpot/alotor-fix-thumbnail-images
...
🐛 Fix problem with dashboard thumbnails images
2026-04-20 13:03:53 +02:00
Eva Marco
003b54421d
🐛 Fix empty warning on login ( #9056 )
2026-04-20 12:23:47 +02:00
Pablo Alba
73b55ee47e
✨ Add nitrate api method get-remove-from-org-summary
2026-04-20 11:18:07 +02:00
Pablo Alba
ae66317d6c
✨ Add nitrate api to remove user from org
2026-04-20 11:18:07 +02:00
Pablo Alba
b2c9e08d42
🐛 Fix bad check on leave nitrate org
2026-04-20 11:18:07 +02:00
Dream
42ebee88d6
✨ Add paste to replace (Cmd+Shift+V) ( #9033 )
...
Paste clipboard contents in place of the currently selected shape,
inheriting its position, parent, and z-index. The replaced shape
is deleted in the same transaction for a single undo step.
Signed-off-by: eureka0928 <meobius123@gmail.com>
2026-04-20 11:03:50 +02:00
Dream
f0c68fb826
✨ Add search bar to color palette ( #8994 )
...
* ✨ Add search bar to color palette
Fixes #7653
Signed-off-by: eureka0928 <meobius123@gmail.com>
* ♻️ Use search icon toggle for color palette search
Address UX feedback: replace always-visible search input with a
search icon that toggles the input on click. Hide the search
functionality when no colors exist. Move CHANGES.md entry to
2.16.0 section.
Signed-off-by: eureka0928 <meobius123@gmail.com>
---------
Signed-off-by: eureka0928 <meobius123@gmail.com>
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-20 11:02:23 +02:00
wdeveloper16
d772632b08
✨ Allow customising the OIDC login button label ( #9026 )
...
* ✨ Allow customising the OIDC login button label (#7027 )
* 📚 Add CHANGES entry and docs for PENPOT_OIDC_NAME (#7027 )
---------
Co-authored-by: wdeveloper16 <wdeveloer16@protonmail.com>
2026-04-17 16:56:29 +02:00
Alejandro Alonso
ec773703cc
Merge pull request #9042 from penpot/alotor-fix-thumbnail-generation
...
🐛 Fix thumbnail generation
2026-04-17 13:06:43 +02:00
alonso.torres
97496d8ad7
🐛 Fix thumbnail generation
2026-04-17 12:30:13 +02:00
Pablo Alba
c5a2b592a2
✨ Move team to another nitrate organization
2026-04-17 11:38:52 +02:00
Pablo Alba
a206d57443
✨ Add team to a nitrate organization
2026-04-17 11:38:52 +02:00
Alejandro Alonso
f1f612f265
Merge pull request #9038 from penpot/andy-antialias-threshold
...
✨ Update antialias threshold
2026-04-17 11:24:22 +02:00
Andres Gonzalez
ea53d24dde
✨ Update antialias threshold
2026-04-17 10:55:21 +02:00
alonso.torres
bfa1ae051f
🐛 Fix problem with dashboard thumbnails images
2026-04-17 10:43:41 +02:00
Elena Torró
b74d920d03
Merge pull request #8980 from penpot/superalex-atlas-2
...
🎉 Tiles atlas support
2026-04-17 09:38:27 +02:00
Alejandro Alonso
fb1f55c13e
Merge pull request #9039 from penpot/alotor-fix-position-data-ff
...
🐛 Fix problem with position data in Firefox
2026-04-17 09:36:48 +02:00
Alejandro Alonso
8775e234f3
🎉 Waiting for tiles complete in a non blocking way
2026-04-17 09:17:26 +02:00
Alejandro Alonso
c08c3bd160
🎉 Tiles atlas support
2026-04-17 09:05:52 +02:00
Andrey Antukh
6fa440cf92
🎉 Add chunked upload API for large media and binary files
...
Introduce a purpose-agnostic three-step session-based upload API that
allows uploading large binary blobs (media files and .penpot imports)
without hitting multipart size limits.
Backend:
- Migration 0147: new `upload_session` table (profile_id, total_chunks,
created_at) with indexes on profile_id and created_at.
- Three new RPC commands in media.clj:
* `create-upload-session` – allocates a session row; enforces
`upload-sessions-per-profile` and `upload-chunks-per-session`
quota limits (configurable in config.clj, defaults 5 / 20).
* `upload-chunk` – stores each slice as a storage object;
validates chunk index bounds and profile ownership.
* `assemble-file-media-object` – reassembles chunks via the shared
`assemble-chunks!` helper and creates the final media object.
- `assemble-chunks!` is a public helper in media.clj shared by both
`assemble-file-media-object` and `import-binfile`.
- `import-binfile` (binfile.clj): accepts an optional `upload-id` param;
when provided, materialises the temp file from chunks instead of
expecting an inline multipart body, removing the 200 MiB body limit
on .penpot imports. Schema updated with an `:and` validator requiring
either `:file` or `:upload-id`.
- quotes.clj: new `upload-sessions-per-profile` quota check.
- Background GC task (`tasks/upload_session_gc.clj`): deletes stalled
(never-completed) sessions older than 1 hour; scheduled daily at
midnight via the cron system in main.clj.
- backend/AGENTS.md: document the background-task wiring pattern.
Frontend:
- New `app.main.data.uploads` namespace: generic `upload-blob-chunked`
helper drives steps 1–2 (create session + upload all chunks with a
concurrency cap of 2) and emits `{:session-id uuid}` for callers.
- `config.cljs`: expose `upload-chunk-size` (default 25 MiB, overridable
via `penpotUploadChunkSize` global).
- `workspace/media.cljs`: blobs ≥ chunk-size go through the chunked path
(`upload-blob-chunked` → `assemble-file-media-object`); smaller blobs
use the existing direct `upload-file-media-object` path.
`handle-media-error` simplified; `on-error` callback removed.
- `worker/import.cljs`: new `import-blob-via-upload` helper replaces the
inline multipart approach for both binfile-v1 and binfile-v3 imports.
- `repo.cljs`: `:upload-chunk` derived as a `::multipart-upload`;
`form-data?` removed from `import-binfile` (JSON params only).
Tests:
- Backend (rpc_media_test.clj): happy path, idempotency, permission
isolation, invalid media type, missing chunks, session-not-found,
chunk-index out-of-range, and quota-limit scenarios.
- Frontend (uploads_test.cljs): session creation and chunk-count
correctness for `upload-blob-chunked`.
- Frontend (workspace_media_test.cljs): direct-upload path for small
blobs, chunked path for large blobs, and chunk-count correctness for
`process-blobs`.
- `helpers/http.cljs`: shared fetch-mock helpers (`install-fetch-mock!`,
`make-json-response`, `make-transit-response`, `url->cmd`).
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-16 19:43:57 +02:00
Andrey Antukh
974beca12d
✨ Add 2h min-age threshold to storage/gc_touched task
...
Skip storage objects touched less than 2 hours ago, matching the pattern
used by upload-session-gc. Update all affected tests to advance the clock
past the threshold using ct/*clock* bindings.
2026-04-16 19:43:57 +02:00
Yamila Moreno
b38912f3cb
🔧 Add short tag to DocherHub release ( #8864 )
2026-04-16 18:22:22 +02:00
Yamila Moreno
697de53c16
🔧 Add short tag to DocherHub release ( #8864 )
2026-04-16 18:21:35 +02:00
Yamila Moreno
32d9688c3c
🔧 Add short tag to DocherHub release ( #8864 )
2026-04-16 18:20:44 +02:00
alonso.torres
47abe09cfe
🐛 Fix problem with position data in Firefox
2026-04-16 18:08:34 +02:00
Elena Torró
b02e05e23d
Merge pull request #8919 from penpot/alotor-fix-change-font-grow-text
...
🐛 Fix problem when changing font and grow text
2026-04-16 16:38:32 +02:00
Eva Marco
7f409eadd4
♻️ Update copy to be more specific ( #9028 )
2026-04-16 13:49:48 +02:00
Pablo Alba
39f4c13493
✨ Add nitrate remove team from org
2026-04-16 11:46:05 +02:00
Pablo Alba
65a0fcb15b
🐛 Fix on nitrate leave org default org team must be deleted if empty
2026-04-16 11:45:37 +02:00
Pablo Alba
ac472c615a
🐛 Fix nitrate invitations org ux review
2026-04-16 11:18:11 +02:00
aliworksx08
81061013b1
✨ Add openid-attr support and dot notation for OIDC attribute ( #8946 )
...
* ✨ Add openid-attr support and dot notation for OIDC attribute paths
* ♻️ Simplify OIDC: add dot-notation for attr paths and retain sub claim
* ♻️ Fix OIDC: fix
* 🐛 Fix OIDC nested attr lookup for dot notation
* ♻️ Remove unused OIDC openid-attr support
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-16 11:12:37 +02:00
Andrey Antukh
b5922d32ca
Merge remote-tracking branch 'origin/main' into staging
2026-04-16 10:59:36 +02:00
Andrey Antukh
b2f173675e
📎 Fix changelog
2026-04-16 10:56:44 +02:00
Andrey Antukh
69e505a6a2
📎 Update changelog
2026-04-16 10:21:15 +02:00
Andrey Antukh
390796f36e
📎 Update changelog
2026-04-16 10:20:05 +02:00
Dream
78381873eb
✨ Edit ruler guide position by double-clicking the guide pill ( #8987 )
...
Drag-and-drop is the only way to move a ruler guide today, which makes
hitting an exact pixel painful. Double-clicking the guide pill now
swaps the position label for a numeric input — Enter commits, Escape
cancels — so users can type a precise value relative to the guide's
frame (or canvas).
Closes #2311
Signed-off-by: eureka0928 <meobius123@gmail.com>
2026-04-16 10:03:28 +02:00
Andrey Antukh
de27ea904d
✨ Add minor adjustments to the auth events ( #9027 )
2026-04-16 09:59:45 +02:00
Andrey Antukh
146219a439
✨ Add tests for app.common.geom namespaces
2026-04-15 23:37:53 +02:00
Andrey Antukh
fa89790fd6
🐛 Fix grid layout case dispatch, divide-by-zero, and add set-auto-multi-span tests
...
Three critical fixes for app.common.geom.shapes.grid-layout.layout-data:
1. case dispatch on runtime booleans in get-cell-data (case→cond fix)
In get-cell-data, column-gap and row-gap were computed with (case ...)
using boolean locals auto-width? and auto-height? as dispatch values.
In Clojure/ClojureScript, case compares against compile-time constants,
so those branches never matched at runtime. Replaced both case forms
with cond, using explicit equality tests for keyword branches.
2. divide-by-zero guards in fr/auto/span calc (JVM ArithmeticException fix)
Guard against JVM ArithmeticException when all grid tracks are fixed
(no flex or auto tracks):
- (get allocated %1) → (get allocated %1 0) in set-auto-multi-span
- (get allocate-fr-tracks %1) → (get allocate-fr-tracks %1 0) in set-flex-multi-span
- (/ fr-column/row-space column/row-frs) guarded with (zero?) check
- (/ auto-column/row-space column/row-autos) guarded with (zero?) check
In JS, integer division by zero produces Infinity (caught by mth/finite),
but on the JVM it throws before mth/finite can intercept.
3. Exhaustive tests for set-auto-multi-span behavior
Cover all code paths and edge cases:
- span=1 cells filtered out (unchanged track-list)
- empty shape-cells no-op
- even split across multiple auto tracks
- gap deduction per extra span step
- fixed track reducing budget; only auto tracks grow
- smaller children not shrinking existing track sizes (max semantics)
- flex tracks causing cell exclusion (handled by set-flex-multi-span)
- non-spanned tracks preserved via (get allocated %1 0) default
- :row type symmetry with :column type
- row-gap correctly deducted in :row mode
- documents that (sort-by span -) yields ascending order (smaller spans
first), correcting the misleading code comment
All tests pass on both JS (Node.js) and JVM environments.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:53 +02:00
Andrey Antukh
71904c9ab6
🐛 Fix CLJS bounds-map deduplication and update intersect test
...
In the CLJS branch of resolve-modif-tree-ids, get-parent-seq returns
shape maps, but the js/Set was populated with UUIDs. As a result,
.has and .add were passing full shape maps instead of their :id
values, so parent deduplication never worked in ClojureScript.
Fixed both .has and .add calls to extract (:id %) from the shape map.
Also update the collinear-overlap test in geom-shapes-intersect-test
to expect true now that the ::coplanar keyword fix (commit 847bf51)
makes on-segment? collinear checks actually reachable.
2026-04-15 23:37:53 +02:00
Andrey Antukh
d13e464ed1
🐛 Fix three flex layout bugs in drop-area, positions and layout-data
...
drop_area.cljc: v-end? was guarded by row? instead of col?, making
vertical-end alignment check fire under horizontal layout conditions.
Aligned with v-center? which correctly uses col?.
positions.cljc: In get-base-line, the col? around? branch passed 2 as
a third argument to max instead of as a divisor in (/ free-width
num-lines 2). This made the offset clamp to at least 2 pixels rather
than computing half the per-line free space. Fixed parenthesization.
layout_data.cljc: The second cond branch (and col? space-evenly?
auto-height?) was permanently unreachable because the preceding branch
(and col? space-evenly?) is a strict superset. Removed the dead branch.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:53 +02:00
Andrey Antukh
7e9fac4f35
🐛 Fix constraint-modifier :default arity mismatch
...
All concrete constraint-modifier methods accept 6 arguments
(type, axis, child-before, parent-before, child-after, parent-after)
but the :default fallback only declared 5 parameters. Any unknown
constraint type would therefore receive 6 args and throw an arity
error at runtime. Added the missing sixth underscore parameter.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:53 +02:00
Andrey Antukh
80124657b8
🐛 Fix double rotation negation in adjust-shape-flips
...
When both dot-x and dot-y were negative (both axes flipped),
(update :rotation -) was applied twice which cancelled itself out,
leaving rotation unchanged. The intended behaviour is to negate
rotation once per flip, but flipping both axes simultaneously is
equivalent to a 180° rotation and should not alter the stored angle.
Replaced the two separate conditional rotation updates with a single
one gated on (not= (neg? dot-x) (neg? dot-y)) so the rotation is
negated only when exactly one axis is flipped.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:53 +02:00
Andrey Antukh
cf47d5e53e
🐛 Fix coplanar keyword mismatch in intersect-segments?
...
orientation returns the auto-qualified keyword ::coplanar
(app.common.geom.shapes.intersect/coplanar) but intersect-segments?
was comparing against the plain unqualified :coplanar keyword, which
never matches. This caused all collinear/on-segment edge cases to be
silently skipped, potentially missing valid segment intersections.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:53 +02:00
Andrey Antukh
adfe4c3945
🐛 Fix update-rect :size and unqualified abs in corners->rect
...
update-rect with :size type was only updating :x2 and :y2 but not
:x1 and :y1, leaving the Rect record in an inconsistent state (x1/y1
would not match x/y). Aligned its behaviour with update-rect! which
correctly updates all four corner fields.
corners->rect was calling unqualified abs which is not imported in
app.common.geom.rect namespace. Replaced with mth/abs which is
the proper namespaced version already available in the ns require.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:53 +02:00
Andrey Antukh
179bb51c76
🐛 Fix gpt/multiply docstring and gpt/abs Point record downcast
...
gpt/multiply had a copy-paste docstring from gpt/subtract claiming it
performs subtraction; corrected to accurately describe multiplication.
gpt/abs was using clojure.core/update on a Point record, which returns
a plain IPersistentMap instead of a Point instance, causing point?
checks on the result to return false. Replaced with a direct pos->Point
constructor call using mth/abs on each coordinate.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:53 +02:00
Andrey Antukh
3d4c914daa
🐛 Fix trailing comma in matrix->str and remove duplicate dispatch
...
matrix->str was producing malformed strings like '1,0,0,1,0,0,'
instead of '1,0,0,1,0,0', breaking string serialization of matrix
values used in transit and print-dup handlers.
Also remove the first pp/simple-dispatch registration for Matrix at
line 362 which was dead code shadowed by the identical registration
further down in the file.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:53 +02:00
Andrey Antukh
f5271dabee
🐛 Fix error handling issues ( #8962 )
...
* 🚑 Fix RangeError from re-entrant error handling in errors.cljs
Two complementary changes to prevent 'RangeError: Maximum call stack
size exceeded' when an error fires while the potok store error pipeline
is still on the call stack:
1. Re-entrancy guard on on-error: a volatile flag (handling-error?)
is set true for the duration of each on-error invocation. Any
nested call (e.g. from a notification emit that itself throws) is
suppressed with a console.error instead of recursing indefinitely.
2. Async notification in flash: the st/emit!(ntf/show ...) call is
now wrapped in ts/schedule (setTimeout 0) so the notification event
is pushed to the store on the next event-loop tick, outside the
error-handler call stack. This matches the pattern already used by
the :worker-error, :svg-parser and :comment-error handlers.
* 🐛 Add unit tests for app.main.errors
Test coverage for the error-handling module:
- stale-asset-error?: 6 cases covering keyword-constant and
protocol-dispatch mismatch signatures, plus negative cases
- exception->error-data: plain JS Error, ex-info with/without :hint
- on-error dispatch: map errors routed via ptk/handle-error, JS
exceptions wrapped into error-data before dispatch
- Re-entrancy guard: verifies that a second on-error call issued
from within a handle-error method is suppressed (exactly one
handler invocation)
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 23:37:04 +02:00
Andrey Antukh
a7e362dbfe
📎 Add commented helpers on backend _env for testing nexus
2026-04-15 18:03:11 +02:00
Andrey Antukh
f8f7a0828e
✨ Add missing indexes on audit_log table
2026-04-15 18:02:13 +02:00
Elena Torró
e186a27174
Merge pull request #9019 from penpot/azazeln28-fix-pointer-selection
...
🐛 Fix text editor v3 pointer selection
2026-04-15 17:15:20 +02:00
Aitor Moreno
1477758656
🐛 Fix pointer selection
2026-04-15 16:44:24 +02:00
Elena Torro
41bc8c9b9d
🐛 Fix masked shapes causing render cuts at tile boundaries
2026-04-15 16:36:16 +02:00
Juanfran
3829443046
🐛 Skip onboarding modal for nitrate entry users
2026-04-15 16:32:58 +02:00
Elena Torró
b442ca2209
Merge pull request #8988 from penpot/alotor-improve-token-set-change
...
🐛 Improve change token set performance
2026-04-15 16:23:55 +02:00
alonso.torres
4d2d559383
🐛 Fix problem with finish render callback
2026-04-15 16:09:38 +02:00
alonso.torres
e3bafab529
🐛 Fix problem with resizes in plugins
2026-04-15 16:09:38 +02:00
alonso.torres
3f5226485b
🐛 Fix problem when changing font and grow text
2026-04-15 16:09:38 +02:00
Aitor Moreno
424b689dca
🐛 Fix mixed fills issues
2026-04-15 14:32:32 +02:00
Aitor Moreno
77b4d07d1f
🐛 Fix v3 text styles not being applied when inc/dec value
2026-04-15 14:32:32 +02:00
Aitor Moreno
6fd264051a
🐛 Fix v2/v3 wrong styling
2026-04-15 14:32:32 +02:00
Marina López
c10f945473
✨ Add nitrate subscription expected cancel date
2026-04-15 13:42:04 +02:00
Juanfran
f5591ed22e
🐛 Forward email when adding user to Nitrate organization
2026-04-15 13:28:39 +02:00
Andrey Antukh
8f30a95ca0
🐛 Guard against nil variant-data in typography-item
...
When d/seek finds no matching font variant (e.g. the variant-id stored
on the typography no longer exists in the font's variants list),
variant-data is nil and (:name nil) produces nil, resulting in a
malformed label like "14px | ". Fall back to "--" in that case.
2026-04-15 12:27:18 +02:00
Andrey Antukh
e8547ab6dd
🐛 Pass on-finish-drag to harmony-selector in colorpicker
...
Without this, dragging the value/opacity sliders in the harmony tab
never called on-finish-drag, so the undo transaction started by
on-start-drag was never committed.
2026-04-15 12:27:18 +02:00
Andrey Antukh
628ce604c5
♻️ Convert colorpicker and its sub-components to modern rumext * format
...
slider-selector (slider_selector.cljs):
- Rename to slider-selector*
- Rename prop vertical? to is-vertical
- Remove prop reverse? entirely: it was never passed by any callsite,
so the related reversal logic in calculate-pos and handler positioning
is also removed as dead code
value-saturation-selector (ramp.cljs):
- Rename to value-saturation-selector*
- Update internal call site to [:> value-saturation-selector* ...]
- Update slider-selector call sites to [:> slider-selector* ...]
harmony-selector (harmony.cljs):
- Rename to harmony-selector*
- Update slider-selector call sites to [:> slider-selector* ...] with
renamed is-vertical prop
- Remove stale duplicate :vertical true prop
- Fix spurious extra wrapping vector around the opacity slider in the
when branch
hsva-selector (hsva.cljs):
- Rename to hsva-selector*
- Update all four slider-selector call sites to [:> slider-selector* ...]
- Remove no-op :reverse? false prop from the value slider
color-inputs (color_inputs.cljs):
- Rename to color-inputs*
colorpicker.cljs:
- Update :refer imports for color-inputs*, harmony-selector*,
hsva-selector* and libraries*
- Update all corresponding call sites from [:& ...] to [:> ...]
2026-04-15 12:27:18 +02:00
Andrey Antukh
90d052464f
♻️ Convert text-palette components to modern * format
...
Convert typography-item, palette and text-palette to typography-item*,
palette* and text-palette* using {:keys [...]} destructuring. Rename
prop name-only? to is-name-only in typography-item*. Update internal
call sites to [:> ...] and update the :refer import in palette.cljs.
2026-04-15 12:27:18 +02:00
Andrey Antukh
fbee875d75
♻️ Convert active-sessions to modern * component format
...
Convert active-sessions to active-sessions* (zero-prop component).
Update call site in right_header.cljs to use [:> ...] and update the
:refer import accordingly.
2026-04-15 12:27:18 +02:00
Andrey Antukh
bf7c12ae75
♻️ Convert coordinates to modern * component format
...
Convert coordinates to coordinates* using {:keys [...]} destructuring
and rename prop colorpalette? to is-colorpalette. Update call site in
workspace.cljs to use [:> ...] with new prop name.
2026-04-15 12:27:18 +02:00
Andrey Antukh
175f122a0f
♻️ Convert viewport-scrollbars to modern * component format
...
Convert viewport-scrollbars to viewport-scrollbars* using {:keys [...]}
destructuring and update call sites in viewport.cljs and viewport_wasm.cljs
to use [:> ...].
2026-04-15 12:27:18 +02:00
Andrey Antukh
b2f4e90a79
♻️ Convert shape-distance-segment to modern * component format
...
Convert shape-distance-segment to shape-distance-segment* using {:keys [...]}
destructuring and update its internal call site in shape-distance to use [:> ...].
2026-04-15 12:27:18 +02:00
Andrey Antukh
b4ec0a6d55
🐛 Add missing zoom and page-id dep on snap-feedback use-effect
2026-04-15 12:27:18 +02:00
Elena Torró
9cd1542dd9
Merge pull request #9000 from penpot/niwinz-main-bugfixes
...
🐛 Add several fixes for app.common.types namespace
2026-04-15 11:51:14 +02:00
Andrey Antukh
2e97f01838
🐛 Fix safe-subvec 2-arity rejecting start=0
...
The guard used (> start 0) instead of (>= start 0), so
(safe-subvec v 0) returned nil instead of the full vector.
2026-04-15 11:42:49 +02:00
Andrey Antukh
176edadb6f
🐛 Fix nan? returning false for ##NaN on JVM
...
Clojure's = uses .equals on doubles, and Double.equals(Double.NaN)
returns true, so (not= v v) was always false for NaN. Use
Double/isNaN with a number? guard instead.
2026-04-15 11:42:49 +02:00
Andrey Antukh
b26ef158ef
📚 Fix typos in vec2, zip-all, and map-perm docstrings
2026-04-15 11:42:49 +02:00
Andrey Antukh
95d4d42c91
🐛 Add missing string? guard to num-string? on JVM
...
The CLJS branch of num-string? checked (string? v) first, but the
JVM branch did not. Passing non-string values (nil, keywords, etc.)
would rely on exception handling inside parse-double for control
flow. Add the string? check for consistency and to avoid using
exceptions for normal control flow.
2026-04-15 11:42:49 +02:00
Andrey Antukh
bba3610b7b
♻️ Rename shadowed 'fn' parameter to 'pred' in removev
...
The removev function used 'fn' as its predicate parameter name,
which shadows clojure.core/fn. Rename to 'pred' for clarity and
to follow the naming convention used elsewhere in the namespace.
2026-04-15 11:42:49 +02:00
Andrey Antukh
83da487b24
🐛 Fix append-class producing leading space for empty class
...
When called with an empty string as the base class, append-class
was producing " bar" (with a leading space) because (some? "")
returns true. Use (seq class) instead to treat both nil and empty
string as absent, avoiding invalid CSS class strings with leading
whitespace.
2026-04-15 11:42:49 +02:00
Andrey Antukh
da8e44147c
✨ Remove redundant str call in format-number
...
format-precision already returns a string, so wrapping its result
in an additional (str ...) call was unnecessary.
2026-04-15 11:42:49 +02:00
Andrey Antukh
69e25a4998
📚 Fix typo in namespace docstring ('if' -> 'of')
2026-04-15 11:42:49 +02:00
Andrey Antukh
eca9b63d68
⚡ Remove redundant map lookups in map-diff
...
The :else branch of diff-attr was calling (get m1 key) and
(get m2 key) again, but v1 and v2 were already bound to those
exact values. Reuse the existing bindings to avoid the extra
lookups.
2026-04-15 11:42:49 +02:00
Andrey Antukh
29ea1cc495
📚 Fix misleading without-obj docstring
...
The docstring claimed the function removes nil values in addition to
the specified object, but the implementation only removes elements
equal to the given object. Fix the docstring in both data.cljc and
the local copy in files/changes.cljc.
2026-04-15 11:42:49 +02:00
Andrey Antukh
d73ab3ec92
🐛 Fix safe-subvec 3-arity evaluating (count v) before nil check
...
The 3-arity of safe-subvec called (count v) in a let binding before
checking (some? v). While (count nil) returns 0 in Clojure and does
not crash, the nil guard was dead code. Restructure to check (some? v)
first with an outer when, then compute size inside the guarded block.
2026-04-15 11:42:49 +02:00
Andrey Antukh
1cc860807e
⚡ Use seq/next idiom in enumerate instead of empty?/rest
...
Replace (empty? items) + (rest items) with (seq items) + (next items)
in enumerate. The seq/next pattern is idiomatic Clojure and avoids
the overhead of empty? which internally calls seq and then negates.
2026-04-15 11:42:49 +02:00
Andrey Antukh
92dd5d9954
🐛 Fix index-of-pred early termination on nil elements
...
The index-of-pred function used (nil? c) to detect end-of-collection,
which caused premature termination when the collection contained nil
values. Rewrite using (seq coll) / (next s) pattern to correctly
distinguish between nil elements and end-of-sequence.
2026-04-15 11:42:49 +02:00
Andrey Antukh
057c6ddc0d
🐛 Fix deep-mapm double-applying mfn on leaf entries
...
The deep-mapm function was applying the mapping function twice on
leaf entries (non-map, non-vector values): once when destructuring
the entry, and again on the already-transformed result in the else
branch. Now mfn is applied exactly once per entry.
2026-04-15 11:42:49 +02:00
Andrey Antukh
a2e6abcb72
🐛 Fix spurious argument to dissoc in patch-object
...
The patch-object function was calling (dissoc object key value) when
handling nil values. Since dissoc treats each argument after the map
as a key to remove, this was also removing nil as a key from the map.
The correct call is (dissoc object key).
2026-04-15 11:42:49 +02:00
Xaviju
431056404c
🎉 Save tokens tree state in local storage ( #8922 )
2026-04-15 11:24:01 +02:00
Clayton
5dec75fe62
📚 Clarify manifest version 2 for relative plugin asset paths ( #8992 )
...
Signed-off-by: Clayton <claytonlin1110@gmail.com>
2026-04-15 10:38:53 +02:00
alonso.torres
988c277e37
🐛 Post-review enhancements
2026-04-15 09:53:36 +02:00
alonso.torres
1d8299a919
🐛 Fix problem with component thumbnails
2026-04-15 09:53:36 +02:00
Eva Marco
b0caa15516
🎉 Add test to bug ( #8928 )
2026-04-15 09:16:16 +02:00
Marina López
c63b9583a2
✨ Add callback to nitrate billing url
2026-04-15 08:53:28 +02:00
Juanfran
de577a803c
🎉 Add get-org-member-team-counts endpoint to Nitrate API
2026-04-15 08:50:13 +02:00
Andrés Moya
a3ea9fbecb
🔧 Add more validations for components, to avoid some crashes ( #7820 )
...
* 🔧 Validate only after propagation in tests
* 💄 Enhance some component sync traces
* 🔧 Add fake uuid generator for debugging
* 🐛 Remove old feature of advancing references when reset changes
Since long time ago, we only allow to reset changes in the top copy
shape. In this case the near and the remote shapes are the same, so
the advance-ref has no effect.
* 🐛 Fix some bugs and add validations, repair and migrations
Also added several utilities to debug and to create scripts that
processes files
* 🐛 Fix misplaced parenthesis passing propagate-fn to wrong function
The :propagate-fn keyword argument was incorrectly placed inside the
ths/get-shape call instead of being passed to tho/reset-overrides.
This caused reset-overrides to never propagate component changes,
making the test not validate what it intended.
* 🐛 Accept and forward :include-deleted? in find-near-match
Callers were passing :include-deleted? true but the parameter was not
in the destructuring, so it was silently ignored and the function
always hardcoded true. This made the API misleading and would cause
incorrect behavior if called with :include-deleted? false.
* 💄 Use set/union alias instead of fully-qualified clojure.set/union
The namespace already requires [clojure.set :as set], so use the alias
for consistency.
* 🐛 Add tests for reset-overrides with and without propagate-fn
Add two focused tests to comp_reset_test to cover the propagate-fn
path in reset-overrides:
- test-reset-with-propagation-updates-copies: verifies that resetting
an override on a nested copy inside a main and supplying propagate-fn
causes the canonical color to appear in all downstream copies.
- test-reset-without-propagation-does-not-update-copies: regression
guard for the misplaced-parenthesis bug; confirms that omitting
propagate-fn leaves copies with the overridden value because the
component sync never runs.
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 08:42:42 +02:00
Xaviju
909427d442
♻️ Improve import/export warning semantics ( #8991 )
2026-04-14 22:41:47 +02:00
Dream
dfec9004bf
✨ Add delete and duplicate buttons to typography dialog ( #8983 )
...
* ✨ Add delete and duplicate buttons to typography dialog
Add delete and duplicate action buttons to the expanded typography
editing panel, allowing users to quickly manage typographies without
needing to close the panel and use the context menu.
Fixes #5270
* ♻️ Use DS icon-button for typography dialog actions
Address review feedback: replace raw `:button`/`:div` elements and
deprecated-icon usage with the design system `icon-button*` and
non-deprecated icons (`i/add`, `i/delete`, `i/tick`).
* ♻️ Only show typography delete/duplicate buttons in assets sidebar
`typography-entry` is reused from the right sidebar text options
panel, where the delete and duplicate actions don't make sense.
Add an `is-asset?` opt-in prop and gate the `on-delete`/`on-duplicate`
handlers behind it, so the buttons only appear when the entry is
rendered from the assets sidebar.
* ♻️ Move typography delete/duplicate handlers next to their use site
Refine the previous opt-in: instead of plumbing on-delete/on-duplicate
function props through typography-entry, build them directly inside
typography-advanced-options where they're actually rendered. The
component now takes :file-id and :is-asset? and gates the action
buttons on a single `show-actions?` flag.
---------
Signed-off-by: eureka0928 <meobius123@gmail.com>
2026-04-14 21:32:56 +02:00
Andrey Antukh
6d1d044588
♻️ Move app.common.types.color tests to their own namespace
...
Tests that exercise app.common.types.color were living inside
common-tests.colors-test alongside the app.common.colors tests. Move
them to common-tests.types.color-test so the test namespace mirrors
the source namespace structure, consistent with the rest of the
types/ test suite.
The [app.common.types.color :as colors] require is removed from
colors_test.cljc; the new file is registered in runner.cljc.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:09 +02:00
Andrey Antukh
1e0f10814e
🔥 Remove duplicate gradient helpers from app.common.colors
...
The five functions interpolate-color, offset-spread, uniform-spread?,
uniform-spread, and interpolate-gradient duplicated the canonical
implementations in app.common.types.color. The copies in colors.cljc
also contained two bugs: a division-by-zero in offset-spread when
num=1, and a crash on nil idx in interpolate-gradient.
All production callers already use app.common.types.color. The
duplicate tests that exercised the old copies are removed; their
coverage is absorbed into expanded tests under the types-* suite,
including a new nil-idx guard test and a single-stop no-crash test.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:09 +02:00
Andrey Antukh
db7c646568
✨ Add missing tests for session bug fixes and uniform-spread?
...
Add indexed-access-with-default in fill_test.cljc to cover the two-arity
(nth fills i default) form on both valid and out-of-range indices, directly
exercising the CLJS Fills -nth path fixed in 593cf125.
Add segment-content->selrect-multi-line in path_data_test.cljc to cover
content->selrect on a subpath with multiple consecutive line-to commands
where move-p diverges from from-p, confirming the bounding box matches
both the expected coordinates and the reference implementation; this
guards the calculate-extremities fix in bb5a04c7.
Add types-uniform-spread? in colors_test.cljc to cover
app.common.types.color/uniform-spread?, which had no dedicated tests.
Exercises the uniform case (via uniform-spread), the two-stop edge case,
wrong-offset detection, and wrong-color detection.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:09 +02:00
Andrey Antukh
caac452cd4
🐛 Fix wrong extremity point in calculate-extremities for line-to
...
In the :line-to branch of calculate-extremities, move-p (the subpath
start point) was being added to the extremities set instead of from-p
(the actual previous point). For all line segments beyond the first one
in a subpath this produced an incorrect bounding-box start point.
The :curve-to branch correctly used from-p; align :line-to to match.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:09 +02:00
Andrey Antukh
30931839b5
🐛 Fix reversed d/in-range? args in CLJS Fills -nth with default
...
In the ClojureScript Fills deftype, the two-arity -nth implementation
called (d/in-range? i size) but the signature is (d/in-range? size i).
This meant -nth always fell through to the default value for any valid
index when called with an explicit default, since i < size is the
condition but the args were swapped.
The no-default -nth sibling on line 378 and both CLJ nth impls on
lines 286 and 291 had the correct argument order.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:09 +02:00
Andrey Antukh
6da39bc9c7
🐛 Fix ObjectsMap CLJS negative cache keyed on 'key' fn instead of 'k'
...
In the CLJS -lookup implementation, when a key is absent from data the
negative cache entry was stored under 'key' (the built-in map-entry
key function) rather than the 'k' parameter. As a result every
subsequent lookup of any missing key bypassed the cache and repeated
the full lookup path, making the negative-cache optimization entirely
ineffective.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:09 +02:00
Andrey Antukh
2b67e114b6
🐛 Fix inside-layout? passing id instead of shape to frame-shape?
...
`(cfh/frame-shape? current-id)` passes a UUID to the single-arity
overload of `frame-shape?`, which expects a shape map; it always
returns false. Fix by passing `current` (the resolved shape) instead.
Update the test to assert the correct behaviour.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:09 +02:00
Andrey Antukh
8b08c8ecc9
🐛 Fix wrong mapcat call in collect-main-shapes
...
`(mapcat collect-main-shapes children objects)` passes `objects` as a
second parallel collection instead of threading it as the second
argument to `collect-main-shapes` for each child. Fix by using an
anonymous fn: `(mapcat #(collect-main-shapes % objects) children)`.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:09 +02:00
Andrey Antukh
8253738f01
🐛 Fix reversed get args in convert-dtcg-shadow-composite
...
\`(get "type" shadow)\` always returns nil because the map and key
arguments were swapped. The correct call is \`(get shadow "type")\`,
which allows the legacy innerShadow detection to work correctly.
Update the test expectation accordingly.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:25:03 +02:00
Andrey Antukh
c30c85ff07
🐛 Remove duplicate font-weight-keys in typography-keys union
...
font-weight-keys was listed twice in the set/union call for
typography-keys, a copy-paste error. The duplicate entry has no
functional effect (sets deduplicate), but it is misleading and
suggests a missing key such as font-style-keys in its place.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:17:14 +02:00
Andrey Antukh
ff41d08e3c
🐛 Fix stale accumulator in get-children-in-instance recursion
...
get-children-rec passed the original children vector to each recursive
call instead of the updated one that already includes the current
shape. This caused descendant results to be accumulated from the wrong
starting point, losing intermediate shapes. Pass children' (which
includes the current shape) into every recursive call.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:17:14 +02:00
Andrey Antukh
08ca561667
🐛 Add better nil handling in interpolate-gradient when offset exceeds stops
...
When no gradient stop satisfies (<= offset (:offset %)),
d/index-of-pred returns nil. The previous code called (dec nil) in
the start binding before the nil check, throwing a
NullPointerException/ClassCastException. Guard the start binding with
a cond that handles nil before attempting dec.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:17:14 +02:00
Andrey Antukh
7b0ea5968d
🚑 Fix typo :podition in swap-shapes grid cell
...
The key :podition was used instead of :position when updating the
id-from cell in swap-shapes, silently discarding the position value
and leaving the cell's :position as nil after every swap.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:17:14 +02:00
rockchris099
8cc05d9579
✨ Show alpha percentage in asset library color names ( #8975 )
...
When several library colors share the same RGB value but differ only
in opacity, append the alpha percentage (e.g. "#ff0000 50%") next to
the displayed default name and in the color bullet tooltip so users
can tell them apart at a glance.
Closes #6328
Signed-off-by: rockchris99 <chrisleo0721@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 21:02:42 +02:00
Andrey Antukh
f07b954b7e
⚡ Add efficiency improvements to workspace components (refactor part 1) ( #8887 )
...
* ♻️ Convert snap-points components to modern rumext format
Migrate snap-point, snap-line, snap-feedback, and snap-points from
legacy mf/defc format to modern * suffix format. This enables
optimized props handling by the rumext macro, eliminating implicit
JS object wrapping overhead on each render. All internal and
external call sites updated to use [:> component* props] syntax.
* ♻️ Convert frame-title to modern rumext format
Migrate frame-title from legacy mf/defc format to modern * suffix
format. The component was using legacy implicit props wrapping without
::mf/wrap-props false or ::mf/props :obj, causing unnecessary JS
object conversion overhead on each render. The parent frame-titles*
call site updated to use [:> frame-title* props] syntax.
* ♻️ Convert interactions components to modern rumext format
Migrate interaction-marker, interaction-path, interaction-handle,
overlay-marker, and interactions from legacy mf/defc format to modern
* suffix format. These five components had zero props optimization
applied, causing implicit JS object wrapping on every render. All
internal and external call sites updated to use [:> component* props]
syntax.
* ♻️ Convert rulers components to modern rumext format
Migrate rulers-text, viewport-frame, and selection-area from legacy
mf/defc format to modern * suffix format. These three components in
the always-visible rulers layer had zero props optimization applied.
Internal call sites in the parent rulers component updated to use
[:> component* props] syntax.
* ♻️ Convert frame-grid components to modern rumext format
Migrate square-grid, layout-grid, grid-display-frame, and frame-grid
from legacy mf/defc format to modern * suffix format. These four
components render grid patterns per-frame with zero props optimization.
All internal and external call sites updated to use [:> component* props]
syntax.
* ♻️ Convert gradient handler components to modern rumext format
Migrate shadow, gradient-color-handler, and gradient-handler-transformed
from legacy mf/defc format to modern * suffix format. These components
are rendered during gradient editing with zero props optimization applied.
Internal call sites in gradient-handler-transformed and
gradient-handlers-impl updated to use [:> component* props] syntax.
* ♻️ Rename ?-ending props in modernized workspace viewport components
Apply prop naming rules to all * components migrated in the previous batch:
- remove-snap? -> remove-snap in snap-feedback* (and get-snap helper)
- selected? -> is-selected in interaction-path*
- hover-disabled? -> is-hover-disabled in overlay-marker* and interactions*
- show-rulers? -> show-rulers in viewport-frame*
Update all internal and external call sites consistently.
* 🐛 Fix get-snap call in snap-feedback* using JS props object
Modern rumext *-suffix components receive props as JS objects, not
Clojure maps. snap-feedback* was pushing the raw props object into the
rx/subject and get-snap was destructuring it as a Clojure map, causing
all keys to resolve to nil.
Fix by:
- Changing get-snap to take positional arguments (coord, shapes,
page-id, remove-snap, zoom) instead of a map-destructured opts arg
- Building an explicit Clojure map from the bound locals before pushing
to the subject
- Destructuring that map inside the rx/switch-map callback and calling
get-snap with positional args
Also mark get-snap and add-point-to-snaps as private (defn-), consistent
with the other helpers in the namespace — none are referenced externally.
2026-04-14 19:48:59 +02:00
Andrey Antukh
6c90ba1582
🐛 Fix move-files allowing same project as target when multiple files selected
...
The 'Move to' menu in the dashboard file context menu only filtered
out the first selected file's project from the available target list.
When multiple files from different projects were selected, the other
files' projects still appeared as valid targets, causing a 400
'cant-move-to-same-project' backend error.
Now all selected files' project IDs are collected and excluded from
the available target projects.
2026-04-14 15:19:19 +02:00
Andrey Antukh
18f0ad246f
🐛 Fix parse-long crash when index query param is duplicated in URL
...
lambdaisland/uri's query-string->map uses :multikeys :duplicates by
default: a key that appears once yields a plain string, but the same
key repeated yields a vector. cljs.core/parse-long only accepts
strings and therefore threw "Expected string, got: object" whenever
a URL contained a duplicate 'index' parameter.
Add rt/get-query-param to app.main.router. The helper returns the
scalar value of a query param key, taking the last element when the
value is a sequential (i.e. the key was repeated). Use it at every
call site that feeds a query-param value into parse-long, in both
app.main.ui (page*) and app.main.data.viewer.
2026-04-14 15:16:04 +02:00
alonso.torres
dc5f222230
🐛 Improve change token set performance
2026-04-14 14:51:12 +02:00
rockchris099
207cb87d5e
✨ Reorder prototype overlay options (position before relative to) ( #8972 )
...
Closes #2910
Signed-off-by: rockchris99 <chrisleo0721@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 13:56:26 +02:00
Andrey Antukh
650f725f11
📎 Update changelog
2026-04-14 13:43:41 +02:00
Clayton
39b0e011fc
✨ Differentiate incoming and outgoing interaction link colors ( #8923 )
...
* ✨ Color incoming and outgoing interaction links differently
* 🐛 Fix lint
---------
Signed-off-by: Clayton <claytonlin1110@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 13:30:22 +02:00
Dexterity
7c3a1a905e
✨ Fix locked elements not selectable in viewer + add guide locking ( #8949 )
...
* 🐛 Allow viewers to select locked elements in canvas
* ✨ Add ability to lock guides to prevent accidental movement
---------
Signed-off-by: Dexterity104 <hatanokanjiro@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 13:21:51 +02:00
Eva Marco
3469e867ff
🐛 Fix gap input throwing an error ( #8984 )
2026-04-14 13:02:03 +02:00
James
b211594ce8
🐛 Fix hyphens stripped from export filenames ( #8944 )
...
Replace str/slug with a targeted regex that only removes
filesystem-unsafe characters when generating export filenames.
The slug function strips all non-word characters including hyphens,
causing names like "my-board" to become "myboard" on export.
Fixes #8901
Signed-off-by: jamesrayammons <jamesrayammons@outlook.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 12:36:26 +02:00
Andrey Antukh
62f3454607
🔧 Backport ci configuration changes from develop
2026-04-14 12:34:04 +02:00
Andrey Antukh
3264bc746f
🔧 Backport ci configuration changes from develop
2026-04-14 12:33:10 +02:00
Dream
68595e90eb
✨ Persist asset search query when switching sidebar tabs ( #8985 )
...
When users switch between the Layers and Assets sidebar tabs, the
`assets-toolbox*` component unmounts and its local `use-state` is
discarded, so the search query and section filter are lost.
Lift the search term and section filter into a per-file, in-memory
session atom that survives tab switches but doesn't leak across files
or persist across reloads. Ordering and list-style continue to use
localStorage as before.
Closes #2913
Signed-off-by: eureka0928 <meobius123@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 12:31:25 +02:00
Andrey Antukh
6788df02ca
🔧 Add minor adjustments on ci workflow related to e2e tests
2026-04-14 11:49:16 +02:00
Dream
8b14de2610
✨ Sort asset subfolders alphabetically ( #8952 )
...
Subgroups in asset libraries were rendered in hash-map order because
update-in descends into plain maps instead of sorted ones. Add a
recursive post-process that rebuilds every level as a sorted-map so
subfolders are alphabetical at every nesting depth.
Closes #2572
Signed-off-by: eureka928 <meobius123@gmail.com>
2026-04-14 10:50:46 +02:00
Andrey Antukh
a81cded0aa
✨ Make the common fressian module more testable ( #8859 )
...
* ✨ Add exhaustive unit tests for app.common.fressian encode/decode
Add a JVM-only test suite (41 tests, 172 assertions) for the fressian
serialisation layer, covering:
- All custom handlers: char, clj/keyword, clj/symbol, clj/vector,
clj/set, clj/map, clj/seq, clj/ratio, clj/bigint, java/instant,
OffsetDateTime, linked/map (order preserved), linked/set (order preserved)
- Built-in types: nil, boolean, int, long, double (NaN, ±Inf, boundaries),
String, byte[], UUID
- Edge cases: empty collections, nil values, ArrayMap/HashMap size boundary,
mixed key types
- Penpot-domain structures: shape maps with UUID keys, nested objects maps
- Correctness: encode→decode→encode idempotency, independent encode calls
* ♻️ Extract fressian handler helpers to private top-level functions
Extract adapt-write-handler, adapt-read-handler, and merge-handlers
out of the letfn in add-handlers! into reusable private functions.
Also creates xf:adapt-write-handler and xf:adapt-read-handler
transducers and adds overwrite-read-handlers and overwrite-write-handlers
for advanced handler override use cases.
2026-04-14 10:48:58 +02:00
Andrey Antukh
c39609b991
♻️ Use shared singleton containers for React portals ( #8957 )
...
Refactor use-portal-container to allocate one persistent <div> per
logical category (:modal, :popup, :tooltip, :default) instead of
creating a new div for every component instance. This keeps the DOM
clean with at most four fixed portal containers and eliminates the
arbitrary growth of empty <div> elements on document.body while
preserving the removeChild race condition fix.
2026-04-14 10:48:30 +02:00
Statxc
d90e7f8164
✨ Add Find & Replace for text content and layer names ( #8899 )
...
* ✨ Add Find & Replace for text content and layer names
* 💄 Fix cross-browser styling for Find & Replace radio buttons and action buttons
* 💄 Fix stylelint empty line before declaration in layers.scss
* ⚡ Improve match-filters and match-ids efficiency
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-14 10:41:31 +02:00
Dream
19b9c696fc
🐛 Reset account submenu state when profile menu closes ( #8953 )
...
Closes #8947
Signed-off-by: eureka928 <meobius123@gmail.com>
2026-04-14 10:33:32 +02:00
Dream
4703fe6e3b
✨ Add visibility toggle for strokes ( #8913 )
...
* ✨ Add visibility toggle for strokes
* ♻️ Use single emit! call for stroke visibility toggle
* 💄 Disable stroke controls when hidden, matching shadow/blur pattern
When a stroke is hidden, the alignment/style selects, cap selects, and
cap switch button are now disabled. A .hidden CSS class dims the
options area with reduced opacity. This matches the existing behavior
in shadow_row and blur menu where controls are disabled when the
effect is hidden.
* 💄 Move stroke hide button before remove button
---------
Signed-off-by: eureka928 <meobius123@gmail.com>
2026-04-14 10:08:13 +02:00
Andrey Antukh
b3645658fb
Merge pull request #8963 from penpot/raguirref-fix/builder-bool-media-validation
...
🐛 Fix builder bool styles and media validation
2026-04-13 18:35:12 +02:00
Andrey Antukh
9106a994f1
Merge remote-tracking branch 'origin/staging' into develop
2026-04-13 18:31:50 +02:00
Andrey Antukh
bc47b992eb
Merge remote-tracking branch 'origin/main' into staging
2026-04-13 18:31:32 +02:00
Eva Marco
a3f7a1def6
🐛 Fix bugs with multiselection ( #8932 )
...
* 🐛 Fix app crash when selecting shapes with one hidden
* 🐛 Fix opacity input when mixed values
2026-04-13 18:29:15 +02:00
Alejandro Alonso
2ccaa3f0c5
Merge remote-tracking branch 'origin/staging' into develop
2026-04-13 16:51:51 +02:00
Alejandro Alonso
367262f5a0
Merge pull request #8959 from penpot/elenatorro-fix-render-wasm-loading
...
🔧 Improve loading times
2026-04-13 16:50:30 +02:00
Alejandro Alonso
dfc5a256b4
Merge remote-tracking branch 'origin/staging' into develop
2026-04-13 16:47:18 +02:00
Elena Torro
6b3d5d930f
🔧 Improve zoom and pan performance
2026-04-13 16:35:36 +02:00
Marina López
a52831aa8c
✨ Show professional card when has nitrate subscription
2026-04-13 16:07:51 +02:00
rockchris099
bbd200f869
🐛 Fix dashboard Recent/Deleted titles overlapped by scrolling content ( #8945 )
...
Add z-index to the sticky .nav element in the dashboard so that
section titles (Recent, Deleted) stay above scrolling content
instead of being obscured by project cards and file thumbnails.
Fixes #8577
Signed-off-by: rockchris99 <chrisleo0721@gmail.com>
2026-04-13 15:55:13 +02:00
Juanfran
87179e806f
✨ Add subscribe-nitrate route with post-registration nitrate modal ( #8941 )
2026-04-13 15:49:22 +02:00
Andrey Antukh
e46b34efc7
📎 Fix formatting issues
2026-04-13 15:41:38 +02:00
raguirref
94c6045dd9
🔥 Remove accidental dev_server.pid
...
Remove unrelated local pid file that was accidentally included in previous commit.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: raguirref <ricardoaguirredelafuente@gmail.com>
2026-04-13 15:40:40 +02:00
raguirref
f656266e5c
✨ Fix builder bool and media handling
...
Fixes three concrete builder issues in common/files/builder:\n- Use bool type from shape when selecting style source for difference bools\n- Persist :strokes correctly (fix typo :stroks)\n- Validate add-file-media params after assigning default id\n\nAlso adds regression tests in common-tests.files-builder-test and registers them in runner.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: raguirref <ricardoaguirredelafuente@gmail.com>
2026-04-13 15:40:40 +02:00
Elena Torró
a6c3767e2b
Merge pull request #8956 from penpot/alotor-poc-nofast-mode
...
🐛 Fix problem with fast mode
2026-04-13 15:38:04 +02:00
alonso.torres
2d07b9e77c
🐛 Fix problem with fast mode
2026-04-13 15:18:12 +02:00
Andrey Antukh
0fc2050526
⬆️ Update deps on root package.json
2026-04-13 15:00:47 +02:00
Elena Torro
47eadab82e
🔧 Include DropShadows surface to reset
2026-04-13 14:42:03 +02:00
Elena Torro
d85d63ef3c
🔧 Improve page loading
2026-04-13 14:42:03 +02:00
Aitor Moreno
83e9f85ccf
Merge pull request #8943 from penpot/ladybenko-13949-fix-resize-call
...
🐛 Fix initializing guards in viewport loading
2026-04-13 13:37:25 +02:00
Pablo Alba
d91ce0f9d1
🐛 Fix nitrate go to control center
2026-04-13 12:30:49 +02:00
Andrey Antukh
28f65fec91
📚 Update changelog
2026-04-13 12:15:17 +02:00
Aitor Moreno
9c44f5bf65
🐛 Fix text editor v1 focus not being handled correctly ( #8942 )
2026-04-13 12:08:06 +02:00
Eva Marco
443fb60743
🐛 Fix highlight on frames after rename ( #8938 )
2026-04-13 12:04:04 +02:00
Luis de Dios
cbe9d31599
🐛 Fix dashboard navigation tabs overlap with content when scrolling ( #8937 )
...
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-13 12:01:10 +02:00
Luis de Dios
599a66979a
🐛 Fix dashboard navigation tabs overlap with content when scrolling ( #8937 )
...
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-13 11:59:19 +02:00
Pablo Alba
5c761125f3
✨ Add invite-to-org to Nitrate API
2026-04-13 11:49:01 +02:00
Andrey Antukh
d6045c80a1
💄 Fix docstrings and clarify filter expression in path namespaces
...
- Fix 'conten' typo to 'content' in path.cljc docstring
- Fix 'curvle' typo to 'curve' in shape_to_path.cljc docstring
- Replace confusing XOR-style filter with readable
(contains? #{:line-to :curve-to} ...) in bool.cljc
- Align handler-indices and opposite-index docstrings with
matching API in path.cljc
2026-04-13 11:48:30 +02:00
Andrey Antukh
8d1906f56e
🐛 Fix ^:cosnt typo to ^:const on bool-group-style-properties
...
The metadata key was misspelled as :cosnt instead of :const,
preventing the compiler from recognizing the Var as a compile-time
constant.
2026-04-13 11:48:30 +02:00
Andrey Antukh
2eaf117b56
🐛 Fix swapped arguments in CLJS PathData -nth with default
...
The CLJS implementation of PathData's -nth protocol method had
swapped arguments in the 3-arity version (with default value).
The call (d/in-range? i size) should be (d/in-range? size i)
to match the CLJ implementation. With swapped args, valid indices
always returned the default value, and invalid indices attempted
out-of-bounds buffer reads.
2026-04-13 11:48:30 +02:00
Andrey Antukh
e511576f66
🐛 Normalize PathData coordinates to safe integer bounds on read
...
Add normalize-coord helper function that clamps coordinate values to
max-safe-int and min-safe-int bounds when reading segments from PathData
binary buffer. Applies normalization to read-segment, impl-walk,
impl-reduce, and impl-lookup functions to ensure coordinates remain
within safe bounds.
Add corresponding test to verify out-of-bounds coordinates are properly
clamped when reading PathData.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-13 11:48:30 +02:00
Marina López
707cc53ca4
Revert ✨ Add can use trial prop in nitrate profile ( #8954 )
2026-04-13 11:41:32 +02:00
Andrey Antukh
a403175d5c
🐛 Fix TypeError in sd-token-uuid when resolving tokens interactively ( #8929 )
...
The backtrace-tokens-tree function used a namespaced keyword :temp/id
which clj->js converted to the JS property "temp/id". The sd-token-uuid
function then tried to access .id on the sd-token top-level object,
which was undefined, causing "Cannot read properties of undefined
(reading uuid)".
Fix by using the existing token :id instead of generating a temporary
one, and read it from sd-token.original (matching sd-token-name pattern).
2026-04-13 11:34:15 +02:00
Aitor Moreno
bb85b312d6
🐛 Fix text editor v1 focus not being handled correctly ( #8942 )
2026-04-13 10:00:56 +02:00
Dream
78a16d99a9
✨ Add clear artboard guides option to context menu ( #8936 )
...
* ✨ Add clear artboard guides option to context menu
Adds a "Clear artboard guides" option to the right-click context menu
when one or more frames with guides are selected. Closes #6987
* ♻️ Address review feedback from niwinz
- Replace deprecated dm/assert! with assert
- Replace (map :id) with d/xf:map-id
Signed-off-by: eureka928 <meobius123@gmail.com>
2026-04-13 09:58:23 +02:00
Dream
8dccb2a427
✨ Make links in comments clickable ( #8894 )
...
* ✨ Make links in comments clickable
Detect URLs in comment text and render them as clickable links that
open in a new tab. Extends the existing mention parsing to also split
text elements by URL patterns, handling trailing punctuation and
mixed mention+URL content.
Closes #1602
* 📚 Add changelog entry for clickable links in comments
* 🐛 Fix URL elements dropped in comment input initialization
* 🐛 Keep empty text elements in parse-urls to preserve cursor anchors
The remove filter in parse-urls was stripping empty text elements
produced by str/split at URL boundaries. These elements are needed
as cursor anchor spans in the contenteditable input, without them
ESC keydown and visual layout broke.
Signed-off-by: eureka928 <meobius123@gmail.com>
2026-04-13 09:55:53 +02:00
Eva Marco
6d1a2d449a
🐛 Fix highlight on frames after rename ( #8938 )
2026-04-13 09:09:03 +02:00
Yamila Moreno
e7e5a19db7
🔧 Prevent draft pr from executing the CI ( #8934 )
2026-04-10 14:43:29 +02:00
Belén Albeza
eb811621a9
🐛 Fix initializing guards in viewport loading
2026-04-10 13:54:06 +02:00
Andrés Moya
3312bfe62c
✨ Force current set as active when resolving tokens in sidebar
2026-04-10 13:33:29 +02:00
Pablo Alba
ef6eeb5693
🐛 Fix variants corner cases with selrect and points ( #8882 )
...
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-10 11:23:03 +02:00
Marek Hrabe
9785a13e67
🐛 Add webp export format to plugin types ( #8870 )
...
* 🐛 Add webp export format to plugin types
Align plugin API typings with runtime export support by including 'webp' in
'Export.type' and updating the exported formats documentation.
Signed-off-by: Marek Hrabe <marekhrabe@me.com>
* 📚 Add plugin-types changelog entry for missing webp export format
Signed-off-by: Marek Hrabe <marekhrabe@me.com>
---------
Signed-off-by: Marek Hrabe <marekhrabe@me.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-10 11:22:20 +02:00
Dexterity
240e8ce50c
🐛 Use page name for multi-export downloads ( #8874 )
...
* 🐛 Use page name for multi-export downloads
* ♻️ Refactor parameter formatting in asset export function
* ✨ Use page name for multi-export ZIP/PDF downloads [Github #8773 ]
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-10 11:21:14 +02:00
Dr. Dominik Jain
8101f58651
📚 Add improvements for mcp readme ( #8930 )
...
* 📚 Update description of mcp-remote usage
* Use Streamable HTTP endpoint instead of SSE
* Remove redundant global installation
* 📚 Add recommendations on model selection
* 📚 Use new tags in npx launch commands
2026-04-10 10:49:13 +02:00
Xaviju
9e4c8981be
🎉 Duplicate token group ( #8886 )
2026-04-10 10:42:35 +02:00
Elena Torró
a87552bc45
Merge pull request #8926 from penpot/superalex-wasm-render-performance
...
🎉 Wasm render performance improvements
2026-04-10 09:11:50 +02:00
Marek Hrabe
a803bde2ff
🐛 Fix plugin modal dragging bugs ( #8871 )
...
* 🐛 Fix plugin modal drag and close interactions
Switch plugin modal dragging to pointer-capture semantics from the header so drag state remains stable when crossing iframe boundaries. Prevent drag start from close-button pointerdown and add regression tests for both non-draggable close-button interaction and close-event dispatch.
Signed-off-by: Marek Hrabe <marekhrabe@me.com>
* 📚 Update changelog for plugin modal drag fix
Document plugin modal drag and close-button interaction fixes in the unreleased changelog.
Signed-off-by: Marek Hrabe <marekhrabe@me.com>
* 🐛 Simplify plugin modal drag CSS selection rules
Keep user-select disabled at the modal wrapper level and keep touch-action scoped to the header drag handle to remove redundant declarations while preserving drag behavior.
Signed-off-by: Marek Hrabe <marekhrabe@me.com>
---------
Signed-off-by: Marek Hrabe <marekhrabe@me.com>
2026-04-09 21:13:10 +02:00
Alejandro Alonso
5eebc17ce2
🎉 Support for debugging cache texture
2026-04-09 19:02:14 +02:00
Alejandro Alonso
434e27bbe8
🎉 Improve panning performance
2026-04-09 19:02:14 +02:00
Dexterity
e49b7ce14c
🐛 Fix warnings for unsupported token $type ( #8873 )
...
* 🐛 Fix warnings for unsupported token $type
Signed-off-by: Dexterity104 <hatanokanjiro@gmail.com>
* 🐛 Add changelog entry for Github #8790
---------
Signed-off-by: Dexterity104 <hatanokanjiro@gmail.com>
Signed-off-by: Dexterity <173429049+Dexterity104@users.noreply.github.com>
2026-04-09 17:09:19 +02:00
Alejandro Alonso
5c67cd0a4b
🐛 Avoid unnecesary text editor pointer movements
2026-04-09 16:18:58 +02:00
Yamila Moreno
d2050d5331
🔧 Update tests-mcp.yml
...
Add a more explicit name for a workflow
Signed-off-by: Yamila Moreno <yamila.moreno@kaleidos.net>
2026-04-09 15:38:34 +02:00
Eva Marco
5b78de3594
🐛 Fix selected colors with tokens ( #8889 )
2026-04-09 14:10:23 +02:00
Xaviju
666313c2c3
🐛 Close expanded tree when switching or creating sets ( #8920 )
2026-04-09 12:37:29 +02:00
Eva Marco
290f37425f
🐛 Fix id prop on switch component ( #8915 )
2026-04-09 12:35:34 +02:00
Andrey Antukh
ef39afe9b5
Merge remote-tracking branch 'origin/main' into staging
2026-04-09 12:24:18 +02:00
Pablo Alba
d65f3b5396
✨ Add nitrate api endpoints to get an user profile
2026-04-09 12:10:06 +02:00
Pablo Alba
fe2023dde5
✨ Add nitrate api endpoints to get an user profile
2026-04-09 12:10:06 +02:00
Elena Torró
a88f8f1394
Merge pull request #8918 from penpot/niwinz-main-path-preview-issue
...
🐛 Fix path drawing preview passing shape instead of content to next-node
2026-04-09 11:48:58 +02:00
Eva Marco
b0a99b65e4
🐛 Fix highlight on shape after rename ( #8890 )
2026-04-09 11:27:36 +02:00
Andrey Antukh
388775413e
🐛 Fix path drawing preview passing shape instead of content to next-node
...
In `preview-next-point`, `st/get-path` was called without extra keys,
which returns the full Shape record. That value was then passed directly
to `path/next-node` as its `content` argument.
`path/next-node` delegates to `impl/path-data`, which only accepts a
`PathData` instance, `nil`, or a sequential collection of segments. A
Shape record matches none of those cases, so `path-data` threw
"unexpected data" every time the user moved the mouse while drawing a
path.
The fix is to call `(st/get-path state :content)` so that only the
`:content` field (a `PathData` instance) is extracted and forwarded to
`path/next-node`.
2026-04-09 09:21:57 +00:00
Marina López
1c68810521
✨ Add can use trial prop in nitrate profile
2026-04-09 11:15:21 +02:00
Aitor Moreno
38a5a67b86
Merge pull request #8912 from penpot/niwinz-main-text-editor-fixes
...
🐛 Fix TypeError when deleting text at edge spans in text editor
2026-04-09 10:53:07 +02:00
Andrés Moya
deb3af23d4
🐛 Normalize token set names in themes ( #8914 )
2026-04-09 10:33:56 +02:00
Eva Marco
da6bd7509b
🐛 Fix hot reload on color-row text ( #8880 )
2026-04-09 10:18:21 +02:00
Eva Marco
c1d815f97c
🐛 Fix go to viewer with frame selected ( #8878 )
2026-04-09 10:05:56 +02:00
Dream
21217c5622
✨ Add per-group add button for typographies ( #8895 )
...
* ✨ Add per-group add button for typographies
Add a "+" button to each typography group header, allowing users to
create new typographies directly inside a group instead of only at
the top level. The button only appears for local, editable files.
Closes #5275
* 📚 Add changelog entry for typography group add button
* 🐛 Fix typography group title button layout wrapping
* ♻️ Address review feedback for typography group add button
Signed-off-by: eureka928 <meobius123@gmail.com>
2026-04-09 09:32:56 +02:00
Alejandro Alonso
f8dd64611f
Merge pull request #8625 from penpot/azazeln28-apply-styles-to-selection
...
🎉 Feat apply styles to selection
2026-04-09 09:22:24 +02:00
Juanfran
e51e0c7933
✨ Add theme field to nitrate authenticate response
2026-04-09 09:19:36 +02:00
Eva Marco
62b59991a9
🔧 Add guard to apply-token ( #8879 )
2026-04-09 09:16:28 +02:00
Andrey Antukh
5937a8b0fc
Merge remote-tracking branch 'origin/staging' into develop
2026-04-09 09:13:02 +02:00
Andrey Antukh
11fbd4cb21
Merge remote-tracking branch 'origin/main' into staging
2026-04-09 09:12:23 +02:00
Andrey Antukh
dfa45ec8d8
⬆️ Update deps on root package.json
2026-04-09 09:10:44 +02:00
Alejandro Alonso
27449139ad
Merge remote-tracking branch 'origin/staging' into develop
2026-04-09 09:05:02 +02:00
Alejandro Alonso
90fcc9f597
Merge pull request #8903 from penpot/alotor-fix-text-grow-problem
...
🐛 Fix problem with text auto grow in layouts
2026-04-09 08:26:18 +02:00
Andrey Antukh
5a2c09f246
🐛 Fix TypeError when deleting text at edge spans in text editor
...
The text editor's SelectionController threw 'TypeError: Invalid text
node' when:
- Pressing Backspace to delete the only character of the **first** text
span in a paragraph that contains multiple spans.
- Pressing Delete to delete the only character of the **last** text
span in the same situation.
- Pressing a word-backward shortcut that empties the first span of a
multi-span paragraph.
In all three cases the tree-iterator (previousNode / nextNode) returned
null because no sibling text node existed in that direction, and that
null was subsequently passed to getTextNodeLength() which calls
isTextNode() — which unconditionally throws when given a falsy value.
Fix: use the null-coalescing fallback to the first/last remaining
child's text node of the paragraph before calling collapse() /
getTextNodeLength().
2026-04-08 21:03:46 +02:00
Alejandro Alonso
8f6133ddac
Merge pull request #8853 from penpot/alotor-performance-tokens
...
🐛 Fix problem with token performance
2026-04-08 18:15:26 +02:00
andrés gonzález
6063c1c532
📚 Clarify remote MCP availability in production ( #8910 )
2026-04-08 17:48:05 +02:00
Andrey Antukh
ffac8d2861
📎 Update changelog
2026-04-08 17:34:00 +02:00
Andrey Antukh
f97df3e8ab
🐛 Fix PathData corruption root causes across WASM and CLJS
...
Replace unsafe std::mem::transmute calls in Rust WASM path code with
validated TryFrom conversions to prevent undefined behavior from invalid
enum discriminant values. This was the most likely root cause of the
"No matching clause: -19772" production crash -- corrupted bytes flowing
through transmute could produce arbitrary invalid enum variants.
Fix byteOffset handling throughout the CLJS PathData serialization
pipeline. DataView instances created via buf/slice carry a non-zero
byteOffset, but from-bytes, transit write handler, -write-to,
buf/clone, and buf/equals? all operated on the full underlying
ArrayBuffer, ignoring offset and length. This could silently produce
PathData with incorrect size or content.
Rust changes (render-wasm):
- RawSegmentData: From<[u8; N]> -> TryFrom<[u8; N]> with discriminant
validation (must be 0x01-0x04) before transmuting
- RawBoolType: From<u8> -> TryFrom<u8> with explicit match on 0-3
- Add #[wasm_error] to set_shape_path_content, current_to_path,
convert_stroke_to_path, and set_shape_bool_type so panics are caught
and routed through the WASM error protocol instead of crashing
- set_shape_path_content: replace .expect() with proper Result/? error
propagation per segment
- Remove unused From<BytesType> bound from SerializableResult trait
CLJS changes (common):
- from-bytes: use DataView.byteLength instead of ArrayBuffer.byteLength
for DataView inputs; preserve byteOffset/byteLength when converting
from Uint8Array, Uint32Array, and Int8Array
- Transit write handler: construct Uint8Array with byteOffset and
byteLength from the DataView, not the full backing ArrayBuffer
- -write-to: same byteOffset/byteLength fix
- buf/clone: copy only the DataView byte range using Uint8Array with
proper offset, not Uint32Array over the full ArrayBuffer
- buf/equals?: compare DataView byte ranges using Uint8Array with
proper offset, not the full backing ArrayBuffers
Frontend changes:
- shape-to-path, stroke-to-path, calculate-bool*: wrap WASM call and
buffer read in try/catch to ensure mem/free is always called, even
when an exception occurs between the WASM call and the free call
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-08 17:24:09 +02:00
Andrey Antukh
b63e4a297b
🐛 Handle corrupted PathData segments gracefully instead of crashing
...
Add nil defaults to all case expressions that match binary segment
type codes so that corrupted/unknown values are skipped instead of
throwing 'No matching clause'. This prevents a React render crash
(triggered via shape-with-open-path? -> get-subpaths -> reduce)
when a PathData buffer contains invalid bytes, e.g. from a WASM
data transfer or deserialization of damaged stored data.
Affected functions: read-segment, impl-walk, impl-reduce,
impl-lookup, to-string-segment*, and the seq/reduce protocol
implementations on both JVM and CLJS PathData types.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-08 17:21:03 +02:00
Andrey Antukh
6a0d131715
🐛 Fix swapped move-to/line-to type codes in PathData binary readers
...
The impl-walk, impl-reduce, and impl-lookup functions had the binary
type codes for move-to and line-to swapped (1 mapped to :line-to and
2 to :move-to). This is inconsistent with from-plain, read-segment,
to-string-segment*, and the Rust RawSegmentData enum which all use
1=move-to and 2=line-to. The swap caused incorrect command types to
be reported to callers like get-handlers and get-points.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-08 17:20:47 +02:00
Andrey Antukh
92de9ed258
🐛 Fix PathData corruption root causes across WASM and CLJS
...
Replace unsafe std::mem::transmute calls in Rust WASM path code with
validated TryFrom conversions to prevent undefined behavior from invalid
enum discriminant values. This was the most likely root cause of the
"No matching clause: -19772" production crash -- corrupted bytes flowing
through transmute could produce arbitrary invalid enum variants.
Fix byteOffset handling throughout the CLJS PathData serialization
pipeline. DataView instances created via buf/slice carry a non-zero
byteOffset, but from-bytes, transit write handler, -write-to,
buf/clone, and buf/equals? all operated on the full underlying
ArrayBuffer, ignoring offset and length. This could silently produce
PathData with incorrect size or content.
Rust changes (render-wasm):
- RawSegmentData: From<[u8; N]> -> TryFrom<[u8; N]> with discriminant
validation (must be 0x01-0x04) before transmuting
- RawBoolType: From<u8> -> TryFrom<u8> with explicit match on 0-3
- Add #[wasm_error] to set_shape_path_content, current_to_path,
convert_stroke_to_path, and set_shape_bool_type so panics are caught
and routed through the WASM error protocol instead of crashing
- set_shape_path_content: replace .expect() with proper Result/? error
propagation per segment
- Remove unused From<BytesType> bound from SerializableResult trait
CLJS changes (common):
- from-bytes: use DataView.byteLength instead of ArrayBuffer.byteLength
for DataView inputs; preserve byteOffset/byteLength when converting
from Uint8Array, Uint32Array, and Int8Array
- Transit write handler: construct Uint8Array with byteOffset and
byteLength from the DataView, not the full backing ArrayBuffer
- -write-to: same byteOffset/byteLength fix
- buf/clone: copy only the DataView byte range using Uint8Array with
proper offset, not Uint32Array over the full ArrayBuffer
- buf/equals?: compare DataView byte ranges using Uint8Array with
proper offset, not the full backing ArrayBuffers
Frontend changes:
- shape-to-path, stroke-to-path, calculate-bool*: wrap WASM call and
buffer read in try/catch to ensure mem/free is always called, even
when an exception occurs between the WASM call and the free call
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-08 17:14:18 +02:00
Andrey Antukh
2eaa2dc807
🐛 Handle corrupted PathData segments gracefully instead of crashing
...
Add nil defaults to all case expressions that match binary segment
type codes so that corrupted/unknown values are skipped instead of
throwing 'No matching clause'. This prevents a React render crash
(triggered via shape-with-open-path? -> get-subpaths -> reduce)
when a PathData buffer contains invalid bytes, e.g. from a WASM
data transfer or deserialization of damaged stored data.
Affected functions: read-segment, impl-walk, impl-reduce,
impl-lookup, to-string-segment*, and the seq/reduce protocol
implementations on both JVM and CLJS PathData types.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-08 17:14:18 +02:00
Andrey Antukh
0dfa450cc8
🐛 Fix swapped move-to/line-to type codes in PathData binary readers
...
The impl-walk, impl-reduce, and impl-lookup functions had the binary
type codes for move-to and line-to swapped (1 mapped to :line-to and
2 to :move-to). This is inconsistent with from-plain, read-segment,
to-string-segment*, and the Rust RawSegmentData enum which all use
1=move-to and 2=line-to. The swap caused incorrect command types to
be reported to callers like get-handlers and get-points.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-08 17:14:18 +02:00
Andrey Antukh
cb33fe417e
🐛 Fix non-integer row/column values in grid cell position inputs ( #8869 )
...
* 🐛 Fix non-integer row/column values in grid cell position inputs
The numeric-input component allows Alt+arrow key increments of 0.1x the
step value, which could produce float values (e.g. 4.5, 0.5) when users
adjusted grid cell row/column/row-span/column-span positions. The schema
requires these fields to be integers, causing backend validation errors.
Round the input values to integers in the on-grid-coordinates callback
before passing them to update-grid-cell-position.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* 🐛 Enforce integer-only values in grid cell numeric inputs
Add an `integer` prop to the legacy `numeric-input*` component that
rounds parsed values in `parse-value`, ensuring all input paths (typed
text, arrow keys, Alt+arrow, mouse wheel, expressions) produce integers.
Use it for all six row/column inputs in the grid cell options panel.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-08 17:05:55 +02:00
Andrey Antukh
c8675c5b7e
♻️ Normalize newsletter-updates checbox on different register flows ( #8839 )
...
* ✨ Add newsletter opt-in checkbox to registration validation form
Add accept-newsletter-updates support through the full registration
token flow. The newsletter checkbox is now available on the
registration validation form, allowing users to opt-in during the
email verification step.
Backend changes:
- Refactor prepare-register to consolidate UTM params and newsletter
preference into props at token creation time
- Add accept-newsletter-updates to prepare-register-profile and
register-profile schemas
- Handle newsletter-updates in register-profile by updating token
claims props on second step
Frontend changes:
- Add newsletter-options component to register-validate-form
- Add accept-newsletter-updates to validation schema
- Fix subscription finalize/error handling in register form
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* ♻️ Refactor auth register components to modern style
Migrate all components in app.main.ui.auth.register and
app.main.ui.auth.login/demo-warning to use the modern * suffix
convention, removing deprecated ::mf/props :obj metadata and
updating all invocations from [:& name] to [:> name*] syntax.
Components updated:
- terms-and-privacy -> terms-and-privacy*
- register-form -> register-form*
- register-methods -> register-methods*
- register-page -> register-page*
- register-success-page -> register-success-page*
- terms-register -> terms-register*
- register-validate-form -> register-validate-form*
- register-validate-page -> register-validate-page*
- demo-warning -> demo-warning*
Also remove unused old context-notification import in login.cljs.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* 🔥 Remove unused onboarding-newsletter component
The newsletter opt-in is now handled directly in the registration
form via the newsletter-options* component, making the standalone
onboarding-newsletter modal obsolete.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* 🐛 Fix register test for UTM params to use prepare-register step
UTM params are now extracted and stored in token props during the
prepare-register step, not at register-profile time. Move utm_campaign
and mtm_campaign from the register-profile call to the
prepare-register-profile call in the test.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-08 17:00:52 +02:00
Alonso Torres
6ce2aadfae
✨ Improve message from schema errors in plugins ( #8865 )
2026-04-08 16:14:51 +02:00
Dream
5502fe8df3
📚 Add changelog entry for undo/redo selection state ( #8896 )
2026-04-08 16:05:53 +02:00
Xaviju
10cfd99525
🐛 Fix lint invalid CSS props ( #8907 )
...
* 🐛 Fix lint invalid CSS props
* 🐛 Fix named colors in favor of modern notation or custom properties
* 🐛 Removed multiple combined selectors
* 🐛 Convert alpha value to numeric
2026-04-08 15:44:09 +02:00
Elena Torró
e8e7900911
Merge pull request #8904 from penpot/ladybenko-wasm-cleanup
...
✨ Explicitly call free_gpu_resources on RenderState drop
2026-04-08 12:13:08 +02:00
Belén Albeza
f6b8117fe9
✨ Explicitly call free_gpu_resources on RenderState drop
2026-04-08 12:03:12 +02:00
Elena Torro
6d5b97a7e9
🔧 Fix text bounds
2026-04-08 11:16:09 +02:00
Eva Marco
b8be89f231
🐛 Update onboarding image ( #8902 )
2026-04-08 11:00:59 +02:00
alonso.torres
0b0e193b70
🐛 Fix problem with text auto grow in layouts
2026-04-08 10:21:32 +02:00
Aitor Moreno
d190655e64
Merge pull request #8841 from penpot/ladybenko-13861-modal-webgl-not-available
...
🎉 Show modal when WebGL is not available
2026-04-08 10:12:47 +02:00
Belén Albeza
619bc5833d
🔧 Remove VS Code settings
2026-04-08 09:59:44 +02:00
Andrey Antukh
40dfeb169c
Merge remote-tracking branch 'origin/staging' into develop
2026-04-07 21:37:21 +02:00
Andrey Antukh
61d319eaac
⬆️ Update dependencies ( #8867 )
...
* ⬆️ Update deps
* ⬆️ Update storybook dependencies
* ⬆️ Update dependencies
* 🐛 Fix invalid var() usage on SCSS variable in numeric_input
* ⬆️ Update deps
2026-04-07 21:35:00 +02:00
Andrey Antukh
0cc5f7c63e
Merge remote-tracking branch 'origin/staging' into develop
2026-04-07 19:28:23 +02:00
Andrey Antukh
a27ef26279
Merge remote-tracking branch 'origin/main' into staging
2026-04-07 19:23:37 +02:00
Andrey Antukh
f8c04949e1
🐛 Fix nil path content crash by exposing safe public API ( #8806 )
...
* 🐛 Fix nil path content crash by exposing safe public API
Move nil-safety for path segment helpers to the public API layer
(app.common.types.path) rather than the low-level segment namespace.
Add nil-safe wrappers for get-handlers, opposite-index, get-handler-point,
get-handler, handler->node, point-indices, handler-indices, next-node,
append-segment, points->content, closest-point, make-corner-point,
make-curve-point, split-segments, remove-nodes, merge-nodes, join-nodes,
and separate-nodes. Update all frontend callers to use path/ instead of
path.segment/ for these functions, removing the path.segment require
from helpers, drawing, edition, tools, curve, editor and debug.
Replace ad-hoc nil checks with impl/path-data coercion in all public
wrapper functions in app.common.types.path. The path-data helper
already handles nil by returning an empty PathData instance, which
provides uniform nil-safety across all content-accepting functions.
Update the path-get-points-nil-safe test to expect empty collection
instead of nil, matching the new coercion behavior.
* ♻️ Clean up path segment dead code and add missing tests
Remove dead code from segment.cljc: opposite-handler (duplicate of
calculate-opposite-handler) and path-closest-point-accuracy (unused
constant). Make update-handler and calculate-extremities private as
they are only used internally within segment.cljc.
Add missing tests for path/handler-indices, path/closest-point,
path/make-curve-point and path/merge-nodes. Update extremities tests
to use the local reference implementation instead of the now-private
calculate-extremities. Remove tests for deleted/privatized functions.
Add empty-content guard in path/closest-point wrapper to prevent
ArityException when reducing over zero segments.
2026-04-07 18:54:14 +02:00
Andrey Antukh
e10bd6a8d3
🐛 Fix infinite recursion in get-frame-ids for thumbnail extraction ( #8807 )
...
The get-frame-ids function could enter infinite recursion when:
1. There's a circular reference in the frame hierarchy
2. A shape's frame-id points to itself (corrupt data)
The fix uses the cached version (get-frame-ids-cached) in recursive calls
and adds a guard to prevent self-referencing.
2026-04-07 16:34:08 +02:00
Andrey Antukh
52f28a1eee
🐛 Fix stale-asset detector missing protocol-dispatch errors
...
The stale-asset-error? predicate only matched keyword-constant
cross-build mismatches ($cljs$cst$). Protocol dispatch failures
($cljs$core$I prefix, e.g. IFn/ISeq) and V8's 'Cannot read
properties of undefined' phrasing were not covered, so the handler
fell through to a generic toast instead of triggering a hard reload.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-07 16:33:40 +02:00
Andrey Antukh
9a0ae32488
⬆️ Update opencode dependency on repo root
2026-04-07 16:33:40 +02:00
Dream
0c08dfb13d
✨ Add the ability for save and restore selection state in undo/redo ( #8652 )
...
* ✨ Capture selection state before changes are applied
Save current selection IDs in commit-changes so undo entries
can track what was selected before each action.
* ✨ Save and restore selection state in undo/redo
Extend undo entry with selected-before and selected-after fields.
On undo, restore selection to what it was before the action.
On redo, restore selection to what it was after the action.
Handles single entries, stacked entries, accumulated transactions,
and undo groups.
Fixes #6007
* ♻️ Wire selected-before through workspace undo stream
Pass the captured selection state from commit data into
the undo entry so it is stored alongside changes.
* 🐛 Fix unmatched delimiter in changes.cljs
* 🐛 Pass selected-before through commit event to undo entry
selected-before was captured in commit-changes but dropped by the
commit function since it was missing from the destructuring and the
commit map. This caused restore-selection to receive nil on undo.
---------
Signed-off-by: eureka928 <meobius123@gmail.com>
Co-authored-by: Mihai <noreply@github.com>
2026-04-07 16:30:47 +02:00
Andrey Antukh
1e4ff4aa47
🐛 Ignore Zone.js toString TypeError in uncaught error handler ( #8804 )
...
Zone.js (injected by browser extensions such as Angular DevTools) patches
addEventListener by wrapping it and assigning a custom .toString to the
wrapper via Object.defineProperty with writable:false. When the same
element is processed a second time, the plain assignment in strict mode
(libs.js is built with a "use strict" banner) throws a native TypeError:
"Cannot assign to read only property 'toString' of function '...'".
This error escapes the React tree through the window error/unhandledrejection
events and was surfacing the exception page to users even though Penpot itself
is unaffected.
The fix:
- Extract the private ignorable-exception? helpers from the letfn block into
top-level defn/defn- forms so the predicate can be reused elsewhere.
- Add the Zone.js toString TypeError to the ignorable-exception? predicate so
the global uncaught-error handler silently suppresses it.
- The React error boundary is intentionally left unchanged: anything that
reaches it has executed inside React's reconciler and must not be ignored.
2026-04-07 16:25:57 +02:00
Andrey Antukh
b99157a246
🐛 Prevent thumbnail frame recursion overflow ( #8763 )
...
Cache in-progress frame traversals before following parent frame links so thumbnail updates stop recursing forever on cyclic or transiently inconsistent shape graphs.
Add a regression test that covers cyclic frame-id chains and keeps the expected frame/component extraction behavior intact.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-04-07 15:09:54 +02:00
Belén Albeza
0558bab092
🎉 Show modal when WebGL is not available
2026-04-07 14:55:57 +02:00
Eva Marco
48e8c0bc65
🐛 Fix show resolved value instead of value ( #8883 )
2026-04-07 14:27:26 +02:00
Pablo Alba
3c639f41c4
✨ Add option to leave a nitrate organization
2026-04-07 11:26:57 +02:00
Eva Marco
a5055af538
🐛 Fix hidden on multiple selection ( #8854 )
2026-04-07 10:58:34 +02:00
Luis de Dios
e99b6ec213
🐛 Fix MCP active tab switching ( #8856 )
2026-04-07 10:58:04 +02:00
Eva Marco
67734c5835
🐛 Fix hover on layers ( #8885 )
2026-04-07 10:57:27 +02:00
Cheonji Kim
d5855f355f
📎 Fix typo in README.md for MCP server description ( #8884 )
...
Edited line 7(perfom -> perform)
Signed-off-by: Cheonji Kim <76100119+CheonjiKim@users.noreply.github.com>
2026-04-07 10:45:20 +02:00
Alejandro Alonso
83833896c9
Merge remote-tracking branch 'origin/staging' into develop
2026-04-07 10:18:35 +02:00
Alonso Torres
11d9c09a2e
🐛 Fix problem with dashboard thumbnails ( #8862 )
2026-04-07 10:10:08 +02:00
Aitor Moreno
101b2fe9e6
🎉 Add style data from text editor v3
2026-04-06 13:13:53 +02:00
Aitor Moreno
12382cfbb9
🎉 Feat apply styles to selection
2026-04-06 13:13:53 +02:00
Aitor Moreno
0f389fe3ad
Merge pull request #8881 from penpot/azazeln28-fix-text-editor-v2-tests
...
🐛 Fix text-editor v2 waitForIdle not having a timeout
2026-04-06 13:13:05 +02:00
Aitor Moreno
9aa2abff2e
🐛 Fix text-editor v2 waitForIdle not having a timeout
2026-04-06 12:37:57 +02:00
Aitor Moreno
4205e283ea
Merge pull request #8835 from penpot/superalex-fix-text-editor-mixed-selection-styles
...
🐛 Fix spurious mixed text styles on multi-span selection
2026-04-06 09:33:29 +02:00
Elena Torro
68760c8e26
🎉 Improve text inner stroke rendering
2026-04-02 12:00:08 +02:00
alonso.torres
cbe3a3f33e
🐛 Fix problem when changing grow-type
2026-04-02 11:44:41 +02:00
Andrey Antukh
2ca7acfca6
✨ Add tests for app.common.geom and descendant namespaces ( #8768 )
...
* 🎉 Add tests for app.common.geom.bounds-map
* 🎉 Add tests for app.common.geom and descendant namespaces
* 📎 Fix linting issues
---------
Co-authored-by: Luis de Dios <luis.dedios@kaleidos.net>
2026-04-02 09:50:34 +02:00
Andrey Antukh
d2a3b67053
🎉 Add additional tests for app.common.types.shape.interactions ( #8765 )
...
* ✨ Expand interaction helper test coverage
Add coverage for interaction destination and flow helpers,
including nil handling and removal helpers. Document the
intent of the new assertions so future interaction changes
keep the helper contract explicit.
* ✨ Cover interaction validation edge cases
Exercise the remaining interaction guards and overlay
positioning edge cases, including invalid state
transitions and nested manual offsets. Keep the test
comments focused on why each branch matters for editor
behavior.
2026-04-02 09:50:08 +02:00
Andrey Antukh
3ff1acfb6a
🐛 Fix vector index out of bounds in viewer zoom-to-fit/fill ( #8834 )
...
Clamp the frame index to the valid range in zoom-to-fit and
zoom-to-fill events before accessing the frames vector. When the
URL query parameter :index exceeds the number of frames on the
page (e.g. index=1 with a single frame), nth would throw
"No item 1 in vector of length 1". Also adds unit tests covering
the boundary condition.
2026-04-02 09:49:33 +02:00
Andrey Antukh
81b1b253f1
✨ Add unique email domains to telemetry report ( #8819 )
...
Extend the telemetry payload with a sorted list of unique email domains
extracted from all registered profile email addresses. The new
:email-domains field is populated via a single SQL query using
split_part and DISTINCT, and is included in the stats sent when
telemetry is enabled.
Also update the tasks-telemetry-test to assert the new field is present
and contains the expected domain values.
2026-04-01 11:49:50 +02:00
Andrey Antukh
0337607a1b
🐛 Guard delete undo against missing sibling order ( #8858 )
...
Return nil from get-prev-sibling when the shape is no longer present in
the parent ordering so delete undo generation falls back to index-based
restore instead of crashing on invalid vector access.
2026-04-01 11:49:17 +02:00
Andrey Antukh
f7e1bcf87f
🐛 Handle plugin errors gracefully without crashing the UI ( #8810 )
...
* 🐛 Handle plugin errors gracefully without crashing the UI
Plugin errors (like 'Set is not a constructor') were propagating to the
global error handler and showing the exception page. This fix:
- Uses a WeakMap to track plugin errors (works in SES hardened environment)
- Wraps setTimeout/setInterval handlers to mark errors and re-throw them
- Frontend global handler checks isPluginError and logs to console
Plugin errors are now logged to console with 'Plugin Error' prefix but
don't crash the main application or show the exception page.
Signed-off-by: AI Agent <agent@penpot.app>
* ✨ Improved handling of plugin errors on initialization
* ✨ Fix test and linter
---------
Signed-off-by: AI Agent <agent@penpot.app>
Co-authored-by: alonso.torres <alonso.torres@kaleidos.net>
2026-04-01 11:37:27 +02:00
Andrey Antukh
650762556f
Merge remote-tracking branch 'origin/staging' into develop
2026-04-01 11:30:39 +02:00
Andrey Antukh
8fcbfadd49
Merge remote-tracking branch 'origin/main' into staging
2026-04-01 11:30:21 +02:00
Belén Albeza
8c1cf3623b
🔧 Update action checkout to v6 ( #8861 )
2026-04-01 11:29:55 +02:00
Andrey Antukh
d3ac824912
🐛 Fix ICounted error on numeric-input token dropdown keyboard nav ( #8803 )
...
The options stored in options-ref is a delay (lazy value). In
on-token-key-down, it was passed raw to next-focus-index without being
dereferenced first, causing count to be called on a JS object that does
not implement ICounted.
Fix: dereference the delay in on-token-key-down (matching the existing
pattern in on-key-down), and make next-focus-index itself also handle
delays defensively. Add unit tests covering the delay case.
2026-04-01 11:21:01 +02:00
Andrey Antukh
350cc01b72
🐛 Fix frontend test script
2026-04-01 11:10:28 +02:00
Andrey Antukh
8289120ea4
✨ Replace pnpx with pnpm exec in render-wasm build script
...
The pnpx tries to fetch esbuild instead of using the already installed
version.
2026-04-01 11:10:28 +02:00
Andrey Antukh
103af0e31a
📎 Fix inconsistencies on error report context data
2026-04-01 10:26:04 +02:00
Andrey Antukh
c097c4a6da
Merge remote-tracking branch 'origin/staging' into develop
2026-04-01 09:26:05 +02:00
Andrey Antukh
a04dd6cbfd
Merge remote-tracking branch 'origin/main' into staging
2026-04-01 09:22:52 +02:00
Andrey Antukh
0ad5baa5d9
🐛 Fix mcp build script
2026-03-31 19:59:32 +02:00
Andrey Antukh
d3c77130bc
Merge pull request #8852 from penpot/niwinz-staging-handle-bad-token-sets
...
🐛 Allow read/decode token-sets with bad names
2026-03-31 18:11:14 +02:00
Andrey Antukh
c200dc4040
🐛 Normalize token set name on creating token-set instance
2026-03-31 17:40:39 +02:00
Alonso Torres
04f98d7acd
✨ Change caddy config ( #8849 )
2026-03-31 17:24:02 +02:00
Dominik Jain
ad1e598efe
✨ Add wait time in exportImage to account for async updates #8836
...
This is a temporary workaround for penpot/penpot-mcp#27 .
It adds a wait time before exports via the export_shape tool to account
for asynchronous updates in Penpot, increasing the likelihood of exporting
the fully updated state.
2026-03-31 17:20:02 +02:00
Dominik Jain
2e24f1e2de
🐛 Fix lock file not being included in npm package
...
The root lock file not being present causes issues, because
the sub-project dependencies are managed by it.
The lack of inclusion of pnpm-lock.yaml was the root cause of #8829 .
A dependency was updated incompatibly, breaking the release.
Since npm pack has a hard exclusion rule for pnpm-lock.yaml,
we include it under a different name and restore it at runtime.
2026-03-31 17:19:04 +02:00
Dominik Jain
94215447c9
🔥 Remove redundant lock file in server package
...
Lock file in mcp/ base package should be single source of truth.
2026-03-31 17:19:04 +02:00
alonso.torres
6e2dc0c3dc
🐛 Fix problem with token performance
2026-03-31 15:44:20 +02:00
Yamila Moreno
084ca401fd
📚 Improve recommended settings for self-host ( #8846 )
2026-03-31 15:11:58 +02:00
Andrey Antukh
e6ab57f719
📎 Add minor cosmetic reoriganization on tokens-lib
2026-03-31 15:05:54 +02:00
Andrey Antukh
667a995e66
✨ Make update-token- noop if token is not modified
2026-03-31 15:04:26 +02:00
Andrey Antukh
9d703439bd
✨ Add helper for define clock in millis precision
2026-03-31 15:03:27 +02:00
Andrey Antukh
d6dc0fe1a7
🐛 Fix raw file data download on dbg pannel ( #8847 )
2026-03-31 14:36:43 +02:00
Eva Marco
28cefa9cba
🐛 Fix delay tokens on typography row ( #8851 )
2026-03-31 14:06:50 +02:00
Eva Marco
5f474f9536
🎉 Add typography token row ( #8749 )
...
* 🔧 Create flag
* ✨ Add typography type on tokens by input
* 🎉 Add typography token row
* ♻️ Update sub-components to use new style
* 🎉 Add disabled option on radio-buttons* component
* 🎉 Add combobox search in a new component
* 🎉 Divide components
* 🐛 Fix placeholder
2026-03-31 13:48:49 +02:00
Xaviju
27313e6add
🐛 Fix error on path and review UI ( #8844 )
2026-03-31 13:04:47 +02:00
Dominik Jain
8ce860cf0c
📚 Update MCP git branch information
2026-03-31 12:15:12 +02:00
Dominik Jain
f3cc6d0d72
🎉 Add MCP version mismatch detection
...
If the MCP version (as given in mcp/package.json) does not match
the Penpot version (as given by penpot.version), display a warning
message in the plugin UI.
This is important for users running the local MCP server, as it
is a common failure mode to combine the MCP server with an
incompatible Penpot version.
2026-03-31 12:15:12 +02:00
Dominik Jain
905f4fa5dd
✨ Provide root package version as PENPOT_MCP_VERSION in plugin
...
Update current root package version using set-version script
2026-03-31 12:15:12 +02:00
Alejandro Alonso
56b28b5440
Merge remote-tracking branch 'origin/staging' into develop
2026-03-31 11:29:44 +02:00
Alejandro Alonso
0122eaa391
Merge pull request #8843 from penpot/alotor-viewer-thumbnails
...
🐛 Fix problem with thumbnails
2026-03-31 11:29:32 +02:00
Belén Albeza
114639ca1e
✨ Update check-browser? helper
2026-03-31 10:15:57 +02:00
Belén Albeza
e9d30bf2c1
🐛 Fix text selection on Safari 18/26 (wasm)
2026-03-31 10:15:57 +02:00
alonso.torres
a75e0c3071
🐛 Fix problem with thumbnails
2026-03-31 10:15:35 +02:00
Alejandro Alonso
153277d152
Merge pull request #8823 from penpot/elenatorro-13350-add-components-preview-using-render
...
🔧 Use wasm render for components thumbnail
2026-03-31 09:45:53 +02:00
Elena Torro
784ad8ab75
🔧 Use wasm render for components thumbnail
2026-03-31 08:53:50 +02:00
Andrey Antukh
c1044ac522
✨ Add protection for stale cache of js assets loading issues ( #8638 )
...
* ✨ Use update-when for update dashboard state
This make updates more consistent and reduces possible eventual
consistency issues in out of order events execution.
* 🐛 Detect stale JS modules at boot and force reload
When the browser serves cached JS files from a previous deployment
alongside a fresh index.html, code-split modules reference keyword
constants that do not exist in the stale shared.js, causing TypeError
crashes.
This adds a compile-time version tag (via goog-define / closure-defines)
that is baked into the JS bundle. At boot, it is compared against the
runtime version tag from index.html (which is always fresh due to
no-cache headers). If they differ, the app forces a hard page reload
before initializing, ensuring all JS modules come from the same build.
* 📎 Ensure consistent version across builds on github e2e test workflow
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-30 19:46:51 +02:00
Aitor Moreno
5ed949f2b7
Merge pull request #8830 from penpot/superalex-fix-text-selection-on-vertical-align-middle-bottom
...
🐛 Fix text selection on vertical align middle/bottom
2026-03-30 17:15:11 +02:00
Elenzakaleidos
7ecfe77338
Update README.md ( #8833 )
...
* 💄 Update README.md
I updated the two images and removed the fest announcement
Signed-off-by: Elenzakaleidos <elena.scilinguo@kaleidos.net>
* ♻️ Improve Markdown
---------
Signed-off-by: Elenzakaleidos <elena.scilinguo@kaleidos.net>
Co-authored-by: Luis de Dios <luis.dedios@kaleidos.net>
2026-03-30 16:17:39 +02:00
Eva Marco
04f6307c69
🐛 Fix radio-buttons component in the DS ( #8820 )
2026-03-30 13:35:24 +02:00
Andrey Antukh
04892dd688
🐛 Fix content attribute sync group resolution by shape type ( #8724 )
...
* 🐛 Fix content attribute sync group resolution by shape type
The :content attribute was mapped to a single sync group (:content-group)
but it is used by both path and text shapes with different synchronization
needs. This caused incorrect component synchronization when editing content
on path shapes, as they should sync under :geometry-group instead of
:content-group.
Changes:
- Make sync-attrs allow type-dependent group mapping via maps
- Add resolve-sync-group and resolve-sync-groups helper functions
- Update all sync-attr lookups to use shape type for proper resolution
- Fix touched checks to handle multiple possible sync groups
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* ✨ Make PR feedback changes
* 🔥 Remove unused function
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-30 13:11:01 +02:00
Andrey Antukh
ef3143dcb8
📎 Update changelog
2026-03-30 12:35:39 +02:00
Andrey Antukh
87bb1b8e74
Merge remote-tracking branch 'origin/staging' into develop
2026-03-30 12:29:43 +02:00
Andrey Antukh
264cd0aaac
Merge remote-tracking branch 'origin/main' into staging
2026-03-30 12:29:07 +02:00
Andrey Antukh
3767ee05bb
✨ Add retry mechanism for idenpotent get repo requests on frontend ( #8792 )
...
* ♻️ Handle fetch-error gracefully with toast instead of full-page error
Network-level failures (lost connectivity, DNS failure, etc.) on RPC
calls were propagating as :internal/:fetch-error to the global error
handler, which replaced the entire UI with a full-page error screen.
Now the :internal handler distinguishes :fetch-error from other internal
errors and shows a non-intrusive toast notification instead, allowing
the user to continue working.
* ✨ Add automatic retry with backoff for idempotent RPC requests
Idempotent (GET) RPC requests are now automatically retried up to 3
times with exponential back-off (1s, 2s, 4s) when a transient error
occurs. Retryable errors include: network-level failures
(:fetch-error), 502 Bad Gateway, 503 Service Unavailable, and browser
offline (status 0).
Mutation (POST) requests are never retried to avoid unintended
side-effects. Non-transient errors (4xx client errors, auth errors,
validation errors) propagate immediately without retry.
* ♻️ Make retry helpers public with configurable parameters
Make retryable-error? and with-retry public functions, and replace
private constants with a default-retry-config map. with-retry now
accepts an optional config map (:max-retries, :base-delay-ms) enabling
callers and tests to customize retry behavior.
* ✨ Add tests for RPC retry mechanism
Comprehensive tests for the retry helpers in app.main.repo:
- retryable-error? predicate: covers all retryable types (fetch-error,
bad-gateway, service-unavailable, offline) and non-retryable types
(validation, authentication, authorization, plain errors)
- with-retry observable wrapper: verifies immediate success, recovery
after transient failures, max-retries exhaustion, no retry for
non-retryable errors, fetch-error retry, custom config, and mixed
error scenarios
* ♻️ Introduce :network error type for fetch-level failures
Replace the awkward {:type :internal :code :fetch-error} combination
with a proper {:type :network} type in app.util.http/fetch. This makes
the error taxonomy self-explanatory and removes the special-case branch
in the :internal handler.
Consequences:
- http.cljs: emit {:type :network} instead of {:type :internal :code :fetch-error}
- errors.cljs: add a dedicated ptk/handle-error :network method (toast);
restore :internal handler to its original unconditional full-page error form
- repo.cljs: simplify retryable-types and retryable-error? — :network
replaces the former :internal special-case, no code check needed
- repo_test.cljs: update tests to use {:type :network}
* 📚 Add comment explaining the use of bit-shift-left
2026-03-30 12:20:02 +02:00
Alejandro Alonso
62cc555084
🐛 Fix spurious mixed text styles on multi-span selection
2026-03-30 12:19:16 +02:00
Andrey Antukh
e7e98255d9
⚡ Add scroll and zoom raf throttling ( #8812 )
...
* ⬆️ Update opencode and copilot deps
* 🐛 Decouple workspace-content from workspace-local to reduce scroll re-renders
Move workspace-local subscription from workspace-content* (parent) into
viewport* and viewport-classic* (children). workspace-content* now only
subscribes to the new workspace-vport derived atom, which changes only on
window resize — not on every scroll event. This prevents the sidebar,
palette and other workspace-content children from re-rendering on scroll.
* 🐛 Throttle wheel events to one state update per animation frame
Accumulate wheel event deltas in a mutable ref and flush them via
requestAnimationFrame, so that multiple wheel events between frames
produce a single state mutation instead of one per event. This prevents
the cascade of synchronous React re-renders (via useSyncExternalStore)
that can exceed the maximum update depth on rapid scrolling.
Both panning (scroll) and zoom (ctrl/mod+wheel) are throttled. Scroll
deltas are summed additively; zoom scales are compounded multiplicatively
with the latest cursor point used as the zoom center.
* ♻️ Extract schedule-zoom! and schedule-scroll! from on-mouse-wheel
* ♻️ Avoid zoom dep on on-mouse-wheel by using a ref
2026-03-30 12:06:56 +02:00
Alejandro Alonso
36c23faae0
🐛 Fix sync WASM viewport outlines with live modifiers
2026-03-30 11:21:24 +02:00
Andrey Antukh
6264c0c217
⚡ Add scroll and zoom raf throttling ( #8812 )
...
* ⬆️ Update opencode and copilot deps
* 🐛 Decouple workspace-content from workspace-local to reduce scroll re-renders
Move workspace-local subscription from workspace-content* (parent) into
viewport* and viewport-classic* (children). workspace-content* now only
subscribes to the new workspace-vport derived atom, which changes only on
window resize — not on every scroll event. This prevents the sidebar,
palette and other workspace-content children from re-rendering on scroll.
* 🐛 Throttle wheel events to one state update per animation frame
Accumulate wheel event deltas in a mutable ref and flush them via
requestAnimationFrame, so that multiple wheel events between frames
produce a single state mutation instead of one per event. This prevents
the cascade of synchronous React re-renders (via useSyncExternalStore)
that can exceed the maximum update depth on rapid scrolling.
Both panning (scroll) and zoom (ctrl/mod+wheel) are throttled. Scroll
deltas are summed additively; zoom scales are compounded multiplicatively
with the latest cursor point used as the zoom center.
* ♻️ Extract schedule-zoom! and schedule-scroll! from on-mouse-wheel
* ♻️ Avoid zoom dep on on-mouse-wheel by using a ref
2026-03-30 11:08:33 +02:00
Andrey Antukh
d7e0b0cf9f
📎 Add check-fmt script to root package.json
2026-03-30 11:06:13 +02:00
Andrey Antukh
b6524881e0
🐛 Fix crash in apply-text-modifier with nil selrect or modifier ( #8762 )
...
* 🐛 Fix crash in apply-text-modifier with nil selrect or modifier
Guard apply-text-modifier against nil text-modifier and nil selrect
to prevent the 'invalid arguments (on pointer constructor)' error
thrown by gpt/point when called with an invalid map.
- In text-wrapper: only call apply-text-modifier when text-modifier is
not nil (avoids unnecessary processing)
- In apply-text-modifier: handle nil text-modifier by returning shape
unchanged; guard selrect access before calling gpt/point
* 📚 Add tests for apply-text-modifier in workspace texts
Add exhaustive unit tests covering all paths of apply-text-modifier:
- nil modifier returns shape unchanged (identity)
- modifier with no recognised keys leaves shape unchanged
- :width / :height modifiers resize shape correctly
- nil :width / :height keys are skipped
- both dimensions applied simultaneously
- :position-data is set and nil-guarded
- position-data coordinates translated by delta on resize
- shape with nil selrect + nil modifier does not throw
- position-data-only modifier on shape without selrect is safe
- selrect origin preserved when no dimension changes
- result always carries required shape keys
* 🐛 Fix zero-dimension selrect crash in change-dimensions-modifiers
When a text shape is decoded from the server via map->Rect (which
bypasses make-rect's 0.01 minimum enforcement), its selrect can have
width or height of exactly 0. change-dimensions-modifiers and
change-size were dividing by these values, producing Infinity scale
factors that propagated through the transform pipeline until
calculate-selrect / center->rect returned nil, causing gpt/point to
throw 'invalid arguments (on pointer constructor)'.
Fix: before computing scale factors, guard sr-width / sr-height (and
old-width / old-height in change-size) against zero/negative and
non-finite values. When degenerate, fall back to the shape's own
top-level :width/:height so the denominator and proportion-lock base
remain consistent.
Also simplify apply-text-modifier's delta calculation now that the
transform pipeline is guaranteed to produce a valid selrect, and
update the test suite to test the exact degenerate-selrect scenario
that triggered the original crash.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* ♻️ Simplify change-dimensions-modifiers internal logic
- Remove the intermediate 'size' map ({:width sr-width :height sr-height})
that was built only to be assoc'd and immediately destructured back into
width/height; compute both values directly instead.
- Replace the double-negated condition 'if-not (and (not ignore-lock?) …)'
with a clear positive 'locked?' binding, and flatten the three-branch
if-not/if tree into two independent if expressions keyed on 'attr'.
- Call safe-size-rect once and reuse its result for both the fallback
sizes and the scale computation, eliminating a redundant call.
- Access :transform and :transform-inverse via direct map lookup rather
than destructuring in the function signature, consistent with how the
rest of the let-block reads shape keys.
- Clean up change-size to use the same destructuring style as the updated
function ({sr-width :width sr-height :height}).
- Fix typo in comment: 'havig' -> 'having'.
* ✨ Add tests for change-size and change-dimensions-modifiers
Cover the main behavioural contract of both functions:
change-size:
- Scales both axes to the requested target dimensions.
- Sets the resize origin to the shape's top-left point.
- Nil width/height each fall back to the current dimension (scale 1 on
that axis); both nil produces an identity resize that is optimised away.
- Propagates the shape's transform and transform-inverse matrices into the
resulting GeometricOperation.
change-dimensions-modifiers:
- Changing :width without proportion-lock only scales the x-axis (y
scale stays 1), and vice-versa for :height.
- With proportion-lock enabled, changing :width adjusts height via the
inverse proportion, and changing :height adjusts width via the
proportion.
- ignore-lock? true bypasses proportion-lock regardless of shape state.
- Values below 0.01 are clamped to 0.01 before computing the scale.
- End-to-end: applying the returned modifiers via gsh/transform-shape
yields the expected selrect dimensions.
* ✨ Harden safe-size-rect with additional fallbacks
The previous implementation could still return an invalid rect in several
edge cases. The new version tries four sources in order, accepting each
only if it passes a dedicated safe-size-rect? predicate:
1. :selrect – used when width and height are finite, positive
and within [-max-safe-int, max-safe-int].
2. points->rect – computed from the shape corner points; subject to
the same predicate.
3. Top-level shape fields (:x :y :width :height) – present on all rect,
frame, image, and component shape types.
4. grc/empty-rect – a 0,0 0.01×0.01 unit rect used as last resort so
callers always receive a usable, non-crashing value.
The out-of-range check (> max-safe-int) is new: it rejects coordinates
that pass d/num? (finite) but exceed the platform integer boundary defined
in app.common.schema, which previously slipped through undetected.
Tests cover all four fallback paths, including the NaN, zero-dimension,
and max-safe-int overflow cases.
* ⚡ Optimise safe-size-rect for ClojureScript performance
- Replace (when (some? rect) ...) with (and ^boolean (some? rect) ...)
to keep the entire predicate as a single boolean expression without
introducing an implicit conditional branch.
- Replace keyword access (:width rect) / (:height rect) with
dm/get-prop calls, consistent with the hot-path style used throughout
the rest of the namespace.
- Add ^boolean type hints to every sub-expression of the and chain in
safe-size-rect? (d/num?, pos?, <=) so the ClojureScript compiler emits
raw JS boolean operations instead of boxing the results through
cljs.core/truth_.
- Replace (when (safe-size-rect? ...) value) in safe-size-rect with
(and ^boolean (safe-size-rect? ...) value), avoiding an extra
conditional and keeping the or fallback chain free of allocated
intermediate objects.
* ✨ Use safe-size-rect in apply-text-modifier delta-move computation
safe-size-rect was already used inside change-dimensions-modifiers to
guard the resize scale computation. However, apply-text-modifier in
texts.cljs was still reading (:selrect shape) and (:selrect new-shape)
directly to build the delta-move vector via gpt/point.
gpt/point raises "invalid arguments (on pointer constructor)" when
given a nil value or a map with non-finite :x/:y, which can happen when
a shape's selrect is missing or degenerate (e.g. decoded from the server
via map->Rect, bypassing make-rect's 0.01 floor).
Changes:
- Promote safe-size-rect from defn- to defn in app.common.types.modifiers
so it can be reused by consumers outside the namespace.
- Replace the two raw (:selrect …) accesses in the delta-move computation
with (ctm/safe-size-rect …), which always returns a valid, finite rect
through the established four-step fallback chain.
- Add two frontend tests covering the delta-move path with a fully
degenerate (zero-dimension) selrect, ensuring neither a bare
position-data modifier nor a combined width+position-data modifier
throws.
* ♻️ Ensure all test shapes are proper Shape records in modifiers-test
All shapes in safe-size-rect-fallbacks tests now start from a proper
Shape record built by cts/setup-shape (via make-shape) instead of plain
hash-maps. Each test that mutates geometry fields (selrect, points,
width, height) does so via assoc on the already-initialised record,
which preserves the correct type while isolating the field under test.
A (cts/shape? shape) assertion is added to each fallback test to make
the type guarantee explicit and guard against regressions.
The unused shape-with-selrect helper (which built a bare map) is
removed.
* 🔥 Remove dead code and tighten visibility in app.common.types.modifiers
Dead functions removed (zero callers across the entire codebase):
- modifiers->transform-old: superseded by modifiers->transform; only
ever appeared in a commented-out dev/bench.cljs entry.
- change-recursive-property: no callers anywhere.
- move-parent-modifiers, resize-parent-modifiers: convenience wrappers
for the parent-geometry builder functions; never called.
- remove-children-modifiers, add-children-modifiers,
scale-content-modifiers: single-op convenience builders; never called.
- select-structure: projection helper; only referenced by
select-child-geometry-modifiers which is itself dead.
- select-child-geometry-modifiers: no callers anywhere.
Functions narrowed from defn to defn- (used only within this namespace):
- valid-vector?: assertion helper called only by move/resize builders.
- increase-order: called only by add-modifiers.
- transform-move!, transform-resize!, transform-rotate!, transform!:
steps of the modifiers->transform pipeline.
- modifiers->transform1: immediate helper for modifiers->transform; the
doc-string describing it as 'multiplatform' was also removed since it
is an implementation detail.
- transform-text-node, transform-paragraph-node: leaf helpers for
scale-text-content.
- update-text-content, scale-text-content, apply-scale-content: internal
scale-content pipeline; all called only by apply-modifier.
- remove-children-set: called only by apply-modifier.
- select-structure: demoted to defn- rather than deleted because it is
still called by select-child-structre-modifiers, which has external
callers.
* ✨ Add more tests for modifiers
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-30 11:04:54 +02:00
Andrey Antukh
a149f31d56
✨ Add comprehensive tests for shape layout namespace ( #8759 )
...
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-30 11:03:53 +02:00
Andrey Antukh
e4cc7d72da
🐛 Fix incorrect attrs references on generate-sync-shape ( #8776 )
...
For :component
2026-03-30 11:03:34 +02:00
Juan de la Cruz
932305cbd8
Merge pull request #8832 from penpot/alotor-fix-mcp-plugin-themne
...
🐛 Fix problem with mcp plugin theme
2026-03-30 10:30:39 +02:00
alonso.torres
623608799a
🐛 Fix problem with mcp plugin theme
2026-03-30 10:02:11 +02:00
Pablo Alba
06aec4b3a3
✨ Add is-default to nitrate summary ( #8814 )
2026-03-30 09:39:35 +02:00
Xaviju
1b68318c6b
🐛 Token tree must be expanded by default ( #8799 )
2026-03-30 08:14:17 +02:00
Alejandro Alonso
45b25c23ab
🐛 Fix text selection on vertical align middle/bottom
2026-03-30 07:37:07 +02:00
alonso.torres
6ca34908d8
🐛 Fix problem with grid edition in Safari
2026-03-27 14:21:32 +01:00
Alejandro Alonso
dff381c4fe
Merge remote-tracking branch 'origin/staging' into develop
2026-03-27 13:54:38 +01:00
Alejandro Alonso
2f4a655523
Merge pull request #8800 from penpot/superalex-fix-render-wasm-clipped-frame-inner-stroke-artifact
...
🐛 Fix inset child clip for frames with inner stroke
2026-03-27 13:54:19 +01:00
Alejandro Alonso
508c67c930
Merge remote-tracking branch 'origin/staging' into develop
2026-03-27 12:21:30 +01:00
Elena Torró
486a08189e
Merge pull request #8811 from penpot/alotor-fix-position-data
...
🐛 Fix problem with position data in new render
2026-03-27 12:06:07 +01:00
María Valderrama
7f228e58c6
✨ Update delete team modal when in org
2026-03-27 11:36:42 +01:00
Alejandro Alonso
943757a36c
Merge pull request #8817 from penpot/niwinz-unhandled-exception-text
...
🐛 Guard against null focusNode/anchorNode in text-editor
2026-03-27 11:14:15 +01:00
Andrey Antukh
d67c7f1c8e
✨ Add retry mechanism for idenpotent get repo requests on frontend ( #8792 )
...
* ♻️ Handle fetch-error gracefully with toast instead of full-page error
Network-level failures (lost connectivity, DNS failure, etc.) on RPC
calls were propagating as :internal/:fetch-error to the global error
handler, which replaced the entire UI with a full-page error screen.
Now the :internal handler distinguishes :fetch-error from other internal
errors and shows a non-intrusive toast notification instead, allowing
the user to continue working.
* ✨ Add automatic retry with backoff for idempotent RPC requests
Idempotent (GET) RPC requests are now automatically retried up to 3
times with exponential back-off (1s, 2s, 4s) when a transient error
occurs. Retryable errors include: network-level failures
(:fetch-error), 502 Bad Gateway, 503 Service Unavailable, and browser
offline (status 0).
Mutation (POST) requests are never retried to avoid unintended
side-effects. Non-transient errors (4xx client errors, auth errors,
validation errors) propagate immediately without retry.
* ♻️ Make retry helpers public with configurable parameters
Make retryable-error? and with-retry public functions, and replace
private constants with a default-retry-config map. with-retry now
accepts an optional config map (:max-retries, :base-delay-ms) enabling
callers and tests to customize retry behavior.
* ✨ Add tests for RPC retry mechanism
Comprehensive tests for the retry helpers in app.main.repo:
- retryable-error? predicate: covers all retryable types (fetch-error,
bad-gateway, service-unavailable, offline) and non-retryable types
(validation, authentication, authorization, plain errors)
- with-retry observable wrapper: verifies immediate success, recovery
after transient failures, max-retries exhaustion, no retry for
non-retryable errors, fetch-error retry, custom config, and mixed
error scenarios
* ♻️ Introduce :network error type for fetch-level failures
Replace the awkward {:type :internal :code :fetch-error} combination
with a proper {:type :network} type in app.util.http/fetch. This makes
the error taxonomy self-explanatory and removes the special-case branch
in the :internal handler.
Consequences:
- http.cljs: emit {:type :network} instead of {:type :internal :code :fetch-error}
- errors.cljs: add a dedicated ptk/handle-error :network method (toast);
restore :internal handler to its original unconditional full-page error form
- repo.cljs: simplify retryable-types and retryable-error? — :network
replaces the former :internal special-case, no code check needed
- repo_test.cljs: update tests to use {:type :network}
* 📚 Add comment explaining the use of bit-shift-left
2026-03-27 11:10:26 +01:00
Pablo Alba
8cc6c40b87
✨ Update nitrate organizations dropdown visibility
2026-03-27 10:47:47 +01:00
Marina López
1ecfbef6fb
♻️ Refactor forms file
2026-03-27 10:39:47 +01:00
Marina López
abe328973c
💄 Fix focus radio button
2026-03-27 10:39:47 +01:00
Andrey Antukh
3be1ae2ac1
🐛 Guard against null focusNode/anchorNode in text-editor
2026-03-27 10:26:54 +01:00
Alejandro Alonso
19b1f508d3
Merge remote-tracking branch 'origin/staging' into develop
2026-03-27 10:18:01 +01:00
Alejandro Alonso
8db63c9770
Merge pull request #8785 from penpot/ladybenko-fix-repeatable-key
...
🐛 Fix repeateable keys triggering an infinite React loop in text editor v2
2026-03-27 10:17:44 +01:00
Alejandro Alonso
9c1f2e9af8
Merge remote-tracking branch 'origin/staging' into develop
2026-03-27 10:06:54 +01:00
Alejandro Alonso
0da6b87b5f
🎉 Allow get param to set antialias threshold
2026-03-27 10:00:54 +01:00
alonso.torres
f3b762855b
🐛 Fix problem with position data in new render
2026-03-27 09:29:28 +01:00
Andrey Antukh
4174d6a05b
🎉 Add tests for undo-stack helper function on common ( #8766 )
2026-03-26 19:44:49 +01:00
Pablo Alba
51b9023640
✨ Show nitrate org name on invitation to join team email ( #8802 )
2026-03-26 17:25:30 +01:00
Pablo Alba
4b4b99a949
✨ Add response to nitrate request when nitrate is down ( #8722 )
2026-03-26 17:25:07 +01:00
Andrey Antukh
6db3c6cf89
🐛 Fix regression on subpath support ( #8793 )
2026-03-26 15:43:30 +01:00
Andrey Antukh
0dfa62a5b6
🐛 Improve error reporting on request parsing failures ( #8805 )
...
Include request URI and status in frontend handle-response error data,
and add request path/context to backend IOException handler logs and
response body. Previously these errors had no identifying information
about which endpoint or request caused the failure.
2026-03-26 15:42:49 +01:00
Penpot Dev
0ad3ae0620
📚 Add explicit commit guideline to builtin agents
2026-03-26 14:42:22 +01:00
Andrey Antukh
3eaf67a385
🐛 Fix fetch abort errors escaping the unhandled exception handler ( #8801 )
...
When AbortController.abort(reason) is called with a custom reason (a
ClojureScript ExceptionInfo), modern browsers (Chrome 98+, Firefox 97+)
reject the fetch promise with that reason object directly instead of with
the canonical DOMException{name:'AbortError'}. The ExceptionInfo has
.name === 'Error', so both the p/catch guard and is-ignorable-exception?
failed to recognise it as an abort, letting it surface to users as an
error toast.
Fix by calling .abort() without a reason so the browser always produces
a native DOMException whose .name is 'AbortError', which is correctly
handled by all existing guards.
Also add a defense-in-depth check in is-ignorable-exception? that
filters errors whose message matches the 'fetch to \'' prefix, guarding
against any future re-introduction of a custom abort reason.
Co-authored-by: Penpot Dev <dev@penpot.app>
2026-03-26 14:13:38 +01:00
Andrey Antukh
1a4ca6d04b
📚 Update frontend/AGENTS.md file
2026-03-26 14:12:11 +01:00
Alejandro Alonso
6403c8deee
🐛 Fix inset child clip for frames with inner stroke
2026-03-26 13:33:15 +01:00
Belén Albeza
85425e2ccd
🐛 Fix repeateable keys triggering an infinite React loop in text editor v2
2026-03-26 13:17:09 +01:00
Pablo Alba
1af2521f64
✨ Add create default team org for nitrate on adding an user to a team
2026-03-26 13:17:05 +01:00
Penpot Dev
945efdb0b4
🔥 Remove .opencode/skills
...
I think they make ai agent work worse.
2026-03-26 13:09:31 +01:00
Penpot Dev
2ba3605f11
⬆️ Update root repo deps
2026-03-26 13:09:31 +01:00
Andrey Antukh
5fca9457cf
♻️ Extract use-portal-container hook to reduce duplication ( #8798 )
...
The dedicated-container portal pattern was repeated across 6 components.
Extract it into a reusable use-portal-container hook under app.main.ui.hooks.
2026-03-26 12:45:42 +01:00
Andrey Antukh
448d85febb
🐛 Fix regression on mcp server listen port
2026-03-26 12:28:27 +01:00
Elena Torró
5ae4b21046
Merge pull request #8791 from penpot/superalex-update-new-render-screenshots
...
🎉 Updating wasm render screenshots
2026-03-26 12:00:53 +01:00
Elena Torró
72cfd5d996
Merge pull request #8770 from penpot/superalex-fix-text-v2-firefox-word-selection-styles
...
🐛 Fix wrong typography font size in sidebar when selecting text in Firefox (editor v2)
2026-03-26 11:59:23 +01:00
Elena Torro
1641eec672
🎉 Add stroke to path
2026-03-26 11:43:06 +01:00
Alejandro Alonso
74af101462
Merge remote-tracking branch 'origin/staging' into develop
2026-03-26 11:42:35 +01:00
Alejandro Alonso
ab404340f8
Merge remote-tracking branch 'origin/main' into staging
2026-03-26 11:36:42 +01:00
Marina López
6fa0c5ceaa
✨ Add organization avatar
2026-03-26 10:54:55 +01:00
Xaviju
713ff6190b
🔧 Add SCSS linter (stylelint) ( #8592 )
...
* 🔧 Add SCSS linter (stylelint)
* ✨ Fix default standard scss errors with extends - WIP
* ✨ Fix default standard scss errors
* ✨ Update and cleanup
* ✨ Update and cleanup
* ✨ Update and cleanup
* 🐛 Fix broken visual regression tests
* 📎 Add to CHANGES
* ♻️ Remove unused class
2026-03-26 10:09:54 +01:00
alonso.torres
6e03a191a3
🐛 Fix return type for combineAsVariants methods
2026-03-26 09:37:31 +01:00
Luis de Dios
a7e3d7963a
🐛 Fix do not manage tab notifications when MCP flag is disabled
2026-03-26 09:37:24 +01:00
Marina López
cd67dc42c4
🐛 Fix dates to avoid show them in english when browser is in auto ( #8775 )
2026-03-26 09:33:13 +01:00
alonso.torres
52a576dc4d
🐛 Fix problem with fills in text range
2026-03-26 09:14:50 +01:00
andrés gonzález
1740d2e3d1
🌐 Differentiate MCP key copy from access token copy ( #8786 )
2026-03-26 08:21:44 +01:00
Alejandro Alonso
b32a2d32d8
🎉 Updating wasm render screenshots
2026-03-26 08:06:36 +01:00
Alejandro Alonso
85cfb8161a
📎 Rename skills
2026-03-25 23:50:29 +01:00
Alejandro Alonso
a34a668f94
📎 Add opencode skills
2026-03-25 23:48:18 +01:00
Alejandro Alonso
811d53be12
Merge remote-tracking branch 'origin/main' into staging
2026-03-25 18:27:22 +01:00
andrés gonzález
a60020ea98
💄 Change link from Integrations to MCP docs ( #8784 )
2026-03-25 18:07:37 +01:00
Alejandro Alonso
d2c609f8a4
Merge pull request #8783 from penpot/alotor-fix-shadows
...
🐛 Fix problem with shadows
2026-03-25 17:51:08 +01:00
alonso.torres
7c5aec4274
🐛 Fix problem with shadows
2026-03-25 17:16:41 +01:00
andrés gonzález
f01bfb7a26
🐛 Adding missing images to mcp doc ( #8782 )
2026-03-25 16:30:47 +01:00
Alejandro Alonso
efd6b95ff6
🐛 Clear cache canvas on zoom. Teep textures-only invalidation on pan
2026-03-25 16:18:47 +01:00
Alejandro Alonso
3c2430b16c
Merge pull request #8778 from penpot/alotor-bugfix-z-index
...
🐛 Fix problem with z-index
2026-03-25 15:59:15 +01:00
alonso.torres
a5d908629b
🐛 Fix problems with z-index
2026-03-25 15:56:56 +01:00
Andrey Antukh
737e04fe2c
🐛 Fix nil deref on missing bounds in layout modifier propagation ( #8735 )
...
* 🐛 Fix nil deref on missing bounds in layout modifier propagation
When a parent shape has a child ID in its shapes vector that does
not exist in the objects map, the layout modifier code crashes
because it derefs nil from the bounds map.
The root cause is that children from the parent shapes list are
not validated against the objects map before being passed to the
layout modifier pipeline. Children with missing IDs pass through
unchecked and reach apply-modifiers where bounds lookup fails.
Fix by adding nil guards in apply-modifiers to skip children
without bounds, and changing map to keep to filter them out.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* 📎 Add tests for nil bounds in layout modifier propagation
Tests cover flex and grid layout scenarios where a parent
frame has child IDs in its shapes vector that do not exist
in the objects map, verifying that set-objects-modifiers
handles these gracefully without crashing.
Tests:
- Flex layout with normal children (baseline)
- Flex layout with non-existent child in shapes
- Flex layout with only non-existent children
- Grid layout with non-existent child in shapes
- Flex layout resize propagation with ghost children
- Nested flex layout with non-existent child in outer frame
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-25 15:36:21 +01:00
andrés gonzález
38bf6c3603
📚 Add MCP docs ( #8772 )
2026-03-25 15:32:24 +01:00
alonso.torres
28b4c14b95
🐛 Fix problem when removing margin
2026-03-25 13:28:56 +01:00
Eva Marco
ba8b552df2
🐛 Fix shared button variant and title ( #8696 )
...
Co-authored-by: Luis de Dios <luis.dedios@kaleidos.net>
2026-03-25 13:08:41 +01:00
moktamd
4e3dc6532a
🐛 Default MCP listen addresses to localhost instead of 0.0.0.0
...
Signed-off-by: moktamd <moktamd@users.noreply.github.com>
2026-03-25 12:34:33 +01:00
Andrey Antukh
a2672a598c
🐛 Fix TypeError when token error map lacks :error/fn key ( #8767 )
...
* 🐛 Fix TypeError when token error map lacks :error/fn key
Guard against missing :error/fn in token form control resolve streams.
When schema validation errors are produced they may not carry an
:error/fn key; calling nil as a function caused a TypeError crash.
Apply an if-let guard at all 7 affected sites across input.cljs,
color_input.cljs and fonts_combobox.cljs, falling back to :message
or returning the error map unchanged.
* ♻️ Extract token error helpers and add unit tests
Extract resolve-error-message and resolve-error-assoc-message helpers
into errors.cljs, replacing the seven duplicated inline lambdas in
input.cljs, color_input.cljs and fonts_combobox.cljs with named
function references. Add frontend-tests.tokens.token-errors-test
covering both helpers for the normal path (:error/fn present) and the
fallback path (schema-validation errors that lack :error/fn).
Signed-off-by: Penpot Dev <dev@penpot.app>
---------
Signed-off-by: Penpot Dev <dev@penpot.app>
2026-03-25 12:12:18 +01:00
Andrey Antukh
0a98100536
Merge remote-tracking branch 'origin/staging' into develop
2026-03-25 12:07:27 +01:00
Andrey Antukh
af4548a6ed
Merge remote-tracking branch 'origin/main' into staging
2026-03-25 12:02:49 +01:00
Alejandro Alonso
d361a2ca6e
Merge remote-tracking branch 'origin/staging' into develop
2026-03-25 10:42:24 +01:00
Alejandro Alonso
b5b51e21c2
Merge pull request #8741 from penpot/superalex-fix-text-align-empty-paragraph-v2
...
🐛 Fix text align empty paragraph v2
2026-03-25 10:42:05 +01:00
Alejandro Alonso
334039668d
🐛 Fix wrong typography font size in sidebar when selecting text in Firefox (editor v2)
2026-03-25 10:38:56 +01:00
Xaviju
a59bd05c4f
🐛 Update visual regression tests ( #8730 )
2026-03-25 09:51:32 +01:00
Alejandro Alonso
caa25c70fc
Merge remote-tracking branch 'origin/staging' into develop
2026-03-25 09:38:06 +01:00
Alejandro Alonso
6268a8aaf1
Merge pull request #8764 from penpot/alotor-fix-issue-text-sizing
...
🐛 Fix resize text modifiers
2026-03-25 07:45:25 +01:00
alonso.torres
6b609566e1
🐛 Fix resize text modifiers
2026-03-25 07:29:20 +01:00
Andrey Antukh
0dfac801a4
✨ Improve error handling and exception formatting ( #8757 )
...
* ✨ Improve error handling and exception formatting
- Enhance exception formatting with visual separators and cause chaining
- Add new handler for :internal error type
- Refine error types: change assertion-related errors to :assertion type
- Improve error messages and hints consistency
- Clean up error handling in zip utilities and HTTP modules
* 🐛 Properly handle AbortError on fetch request unsubscription
When a fetch request in-flight is cancelled due to RxJS unsubscription
(e.g. navigating away from the workspace while thumbnail loads are
pending), the AbortController.abort() call triggers a catch handler
that previously relied solely on a @unsubscribed? flag to suppress the
error.
This was unreliable: nested observables spawned inside rx/mapcat (such
as datauri->blob-uri conversions within get-file-object-thumbnails)
could abort independently, with their own AbortController instances,
meaning the outer unsubscribed? flag was never set and the AbortError
propagated as an unhandled exception.
Add an explicit AbortError name check as a disjunctive condition so
that abort errors originating from any observable in the chain are
suppressed at the source, regardless of subscription state.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-24 19:55:23 +01:00
Andrey Antukh
01284e2a00
✨ Improve error handling and exception formatting ( #8757 )
...
* ✨ Improve error handling and exception formatting
- Enhance exception formatting with visual separators and cause chaining
- Add new handler for :internal error type
- Refine error types: change assertion-related errors to :assertion type
- Improve error messages and hints consistency
- Clean up error handling in zip utilities and HTTP modules
* 🐛 Properly handle AbortError on fetch request unsubscription
When a fetch request in-flight is cancelled due to RxJS unsubscription
(e.g. navigating away from the workspace while thumbnail loads are
pending), the AbortController.abort() call triggers a catch handler
that previously relied solely on a @unsubscribed? flag to suppress the
error.
This was unreliable: nested observables spawned inside rx/mapcat (such
as datauri->blob-uri conversions within get-file-object-thumbnails)
could abort independently, with their own AbortController instances,
meaning the outer unsubscribed? flag was never set and the AbortError
propagated as an unhandled exception.
Add an explicit AbortError name check as a disjunctive condition so
that abort errors originating from any observable in the chain are
suppressed at the source, regardless of subscription state.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-24 19:54:05 +01:00
Andrey Antukh
cc73a768d5
✨ Add comprehensive tests for path and descendant namespaces ( #8755 )
...
Add tests for app.common.types.path.subpath, helpers, segment,
bool operations (union/difference/intersection/exclude), top-level
path API, and shape-to-path conversion. Covers previously untested
functions across all path sub-namespaces. Tests pass on both JVM
and JS (ClojureScript/Node) platforms.
2026-03-24 19:53:22 +01:00
Andrey Antukh
3ef100427b
🎉 Add tests for app.common.data namespace ( #8750 )
...
* ✨ Add tests for predicates and ordered data structures
Adds tests for boolean-or-nil?, in-range?, ordered-set/map creation
and ordering, oassoc/oassoc-in/oupdate-in/oassoc-before, and the
ordered collection index helpers (adds/inserts/addm/insertm-at-index).
* ✨ Add tests for lazy and sequence helpers
Adds tests for concat-all, mapcat, zip, zip-all, enumerate,
interleave-all, add-at-index, take-until, safe-subvec and domap.
* ✨ Add tests for collection lookup and map manipulation
Adds tests for group-by, seek, index-by, index-of-pred/of,
replace-by-id, getf, vec-without-nils, without-nils,
without-qualified, without-keys, deep-merge, dissoc-in, patch-object,
without-obj, update-vals, update-in-when, update-when, assoc-in-when,
assoc-when, merge, txt-merge, mapm, removev, filterm, removem,
map-perm, distinct-xf and deep-mapm.
* ✨ Add tests for parsing, numeric and utility helpers
Adds tests for nan?, safe+, max, min, parse-integer, parse-double,
parse-uuid, coalesce-str, coalesce, read-string, name, prefix-keyword,
kebab-keys, regexp?, nilf, nilv, any-key?, tap, tap-r, map-diff,
unique-name, toggle-selection, invert-map, obfuscate-string,
unstable-sort, opacity-to-hex, format-precision, format-number
and append-class.
* ✨ Add tests for remaining untested helpers in data ns
Cover percent?, parse-percent, num-string?, num?, not-empty?,
editable-collection?, oreorder-before, oassoc-in-before,
lazy-map and reorder.
Platform-specific assertions use reader conditionals where
CLJS and JVM behaviour differ (js/isFinite string coercion,
js/isNaN empty-string coercion).
2026-03-24 19:52:52 +01:00
Andrey Antukh
7461c5304c
✨ Add comprehensive tests for app.common.colors ns ( #8758 )
...
Cover all public functions: valid-hex-color?, parse-rgb,
valid-rgb-color?, rgb->str, hex->rgb, rgb->hex, rgb->hsv,
hsv->rgb, rgb->hsl, hsl->rgb, hex->hsl, hex->hsv, hex->rgba,
hex->hsla, hex->lum, hsl->hex, hsl->hsv, hsv->hex, hsv->hsl,
format-hsla, format-rgba, expand-hex, prepend-hash, remove-hash,
color-string?, parse, next-rgb, reduce-range, interpolate-color,
uniform-spread, uniform-spread? and interpolate-gradient.
Tests pass on both JVM and JS (ClojureScript) platforms.
Platform differences (NaN saturation for achromatic colors,
integer vs float return types) are handled with mth/close?.
2026-03-24 19:10:44 +01:00
Andrey Antukh
0f19bc02d7
📎 Add testing engineer agent (opencode)
2026-03-24 18:49:30 +01:00
Andrey Antukh
53f4c6fede
Merge remote-tracking branch 'origin/main' into staging
2026-03-24 18:19:09 +01:00
Andrey Antukh
edfa437ce7
📚 Improve CONTRIBUTING.md file
2026-03-24 18:18:38 +01:00
Andrey Antukh
d4bc1d37f2
Merge remote-tracking branch 'origin/staging' into develop
2026-03-24 18:08:23 +01:00
Andrey Antukh
8928e274fc
Merge remote-tracking branch 'origin/main' into staging
2026-03-24 18:01:38 +01:00
Andrey Antukh
cc03f3f884
📚 Add minor improvements to ai agents documentation
2026-03-24 18:00:39 +01:00
alonso.torres
b6e300a6c7
🐛 Fix plugins addToken schema validation
2026-03-24 16:27:59 +01:00
Belén Albeza
44689d3f9c
🐛 Fix internal error on invalid max-h/max-w values (wasm)
2026-03-24 16:02:40 +01:00
Dominik Jain
ccaeb49354
📚 Add instructions on MCP usage via npx #8535
2026-03-24 15:57:04 +01:00
Dominik Jain
38f2ec1339
📎 Update Serena project file
2026-03-24 15:57:04 +01:00
Dominik Jain
7b5699b59f
✨ Improve instructions on Text elements
2026-03-24 15:57:04 +01:00
Dominik Jain
1f7afcebe3
✨ Apply throwValidationErrors flag during MCP code executions #8682
2026-03-24 15:57:04 +01:00
Andrey Antukh
750e8a9d51
🐛 Fix dissoc error when detaching stroke color from library ( #8738 )
...
* 🐛 Fix dissoc error when detaching stroke color from library
The detach-value function in color-row was only passing index to
on-detach, but the stroke's on-color-detach handler expects both
index and color arguments. This caused a protocol error when trying
to dissoc from a number instead of a map.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* 🐛 Fix crash when detaching color asset from stroke
The color_row detach-value callback calls on-detach with (index, color),
but stroke_row's local on-color-detach wrapper only took a single argument
(fn [color] ...), so it received index as color and passed it to
stroke.cljs which then called (dissoc index :ref-id :ref-file), crashing
with 'No protocol method IMap.-dissoc defined for type number'.
Fix the wrapper to accept (fn [_ color] ...) so it correctly ignores the
index passed by color_row (it already has index in the closure) and
forwards the actual color map to the parent handler.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-24 15:35:32 +01:00
Alejandro Alonso
f88e287357
Merge pull request #8726 from penpot/niwinz-main-bugfix-1
...
🐛 Fix null text crash on paste in text editor
2026-03-24 15:19:41 +01:00
Andrey Antukh
56f1fcdb53
🐛 Fix crash when pasting image into text editor
...
When pasting an image (with no text content) into the text editor,
Draft.js calls handlePastedText with null/empty text. The previous fix
guarded splitTextIntoTextBlocks against null, but insertText still
attempted to build a fragment from an empty block array, causing
Modifier.replaceWithFragment to crash with 'Cannot read properties of
undefined (reading getLength)'.
Fix insertText to return the original state unchanged when there are no
text blocks to insert. Also guard handle-pasted-text in the ClojureScript
editor to skip the insert-text call entirely when text is nil or empty.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-24 13:00:28 +00:00
Andrey Antukh
d863c7065f
🐛 Fix null text crash on paste in text editor
...
The splitTextIntoTextBlocks function in @penpot/draft-js called
.split() on the text parameter without a null check. When pasting
content without text data (e.g., images only), Draft.js passes null
to handlePastedText, causing a TypeError.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-24 13:49:28 +01:00
Alonso Torres
1539c074b4
🐛 Fix problem with margins in grid ( #8748 )
2026-03-24 13:48:24 +01:00
Alejandro Alonso
ca427bcd4e
Merge pull request #8728 from penpot/niwinz-staging-dom-remove-child-issue
...
🐛 Fix removeChild crash on all portal components
2026-03-24 13:16:32 +01:00
Andrey Antukh
8729fed724
📎 Add opencode and copilot deps on root package.json
2026-03-24 12:52:56 +01:00
Alejandro Alonso
5d6eb3b3d6
Merge pull request #8739 from penpot/niwinz-main-bugfix-5
...
🐛 Fix error when get-parent-with-data encounters non-Element nodes
2026-03-24 12:50:48 +01:00
Alejandro Alonso
3abd63c35a
Merge pull request #8740 from penpot/niwinz-main-bugfix-7
...
🐛 Ensure path content is always PathData when saving
2026-03-24 12:44:51 +01:00
Aitor Moreno
c3a0189af2
Merge pull request #8746 from penpot/superalex-fix-backspace-breaks-ctrl-z
...
🐛 Fix backspace breaks ctrl z
2026-03-24 12:27:19 +01:00
Luis de Dios
5f722d9183
🐛 Fix show red bullet in workspace menu if mcp key is expired ( #8727 )
2026-03-24 12:27:09 +01:00
Elena Torro
5a73003c7f
🐛 Fix fallback fonts and symbols 2
2026-03-24 12:06:28 +01:00
Eva Marco
ccd28140bc
📎 Update changelog ( #8744 )
2026-03-24 12:03:56 +01:00
Alejandro Alonso
2ceb2c8d95
Merge pull request #8745 from penpot/azazeln28-fix-text-selection-misalignment
...
🐛 Fix text selection misalignment
2026-03-24 11:43:44 +01:00
Alejandro Alonso
bd37096637
Merge pull request #8725 from penpot/elenatorro-13774-fix-missing-whitespace
...
🐛 Fix text transform on different spans
2026-03-24 11:41:36 +01:00
Alejandro Alonso
0c6736e676
Merge pull request #8737 from penpot/alotor-export-wasm
...
🐛 Fix problem with multiple export
2026-03-24 11:36:12 +01:00
alonso.torres
937032c790
✨ Allow for reconnections to MCP server
2026-03-24 11:32:47 +01:00
Eva Marco
dd6a3c291a
🐛 Fix tooltip shown on tab change ( #8719 )
2026-03-24 11:22:52 +01:00
Alejandro Alonso
55d763736f
🐛 Fix backspace breaks ctrl+z
2026-03-24 11:19:02 +01:00
Aitor Moreno
c920c092cc
🐛 Fix text selection misalignment
2026-03-24 11:06:31 +01:00
Marina López
be437fbfa1
💄 Fix styles from select organization
2026-03-24 10:22:09 +01:00
Alejandro Alonso
51fa5a5773
Merge remote-tracking branch 'origin/staging' into develop
2026-03-24 10:18:51 +01:00
Andrey Antukh
13b5c96a42
📎 Update changelog
2026-03-24 09:19:58 +01:00
Alejandro Alonso
efd3efff00
🐛 Fix text-align before typing and sync attrs with v2 editor
2026-03-24 08:57:10 +01:00
Andrey Antukh
d051a3ba45
🐛 Ensure path content is always PathData when saving
...
The save-path-content function only converted content to PathData when
there was a trailing :move-to command. When there was no trailing
:move-to, the content from get-path was stored as-is, which could be
a plain vector if the shape was already a :path type with non-PathData
content. This caused segment/get-points to fail with 'can't access
property "get", cache is undefined' when the with-cache macro tried
to access the cache field on a non-PathData object.
The fix ensures content is always converted to PathData via path/content
before being stored in the state.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-24 08:15:58 +01:00
Andrey Antukh
577f00dd24
🐛 Fix error when get-parent-with-data encounters non-Element nodes
...
The get-parent-with-data function traverses the DOM using parentElement
to find an ancestor with a specific data-* attribute. When the current
node is a non-Element DOM node (e.g. Document node reached from event
handlers on window), accessing .-dataset returns undefined, causing
obj/in? to throw "right-hand side of 'in' should be an object".
This adds a nodeType check to skip non-Element nodes during traversal
and continue up the parent chain.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-23 19:19:27 +00:00
Marina López
65ea27cbac
💄 Fix styles between grid layout inputs ( #8673 )
2026-03-23 20:05:13 +01:00
Andrey Antukh
b484415a9f
🐛 Fix generic error shown on clipboard permission denial ( #8666 )
...
When the browser denies clipboard read permission (NotAllowedError),
the unhandled exception handler was showing a generic 'Something wrong
has happened' toast. This change adds proper error handling for
clipboard permission errors in paste operations and shows a
user-friendly warning message instead.
Changes:
- Add error handling in paste-from-clipboard for NotAllowedError
- Improve error handling in paste-selected-props to detect permission errors
- Mark clipboard NotAllowedError as ignorable in the uncaught error handler
to prevent duplicate generic error toasts
- Add translation key for clipboard permission denied message
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-23 20:03:14 +01:00
alonso.torres
43be994920
🐛 Fix problem with multiple export
2026-03-23 19:51:20 +01:00
Andrey Antukh
1442e4c246
📎 Update changelog
2026-03-23 19:16:48 +01:00
Renzo
852f9ce07f
🎉 Add drag-to-change for numeric inputs ( #8536 )
...
Signed-off-by: RenzoMXD <170978465+RenzoMXD@users.noreply.github.com>
2026-03-23 19:01:32 +01:00
Elena Torró
ee1c96f3a1
Merge pull request #8733 from penpot/ladybenko-13803-fix-grid-lines
...
🐛 Fix layout lines not disappearing on shape deletion (wasm)
2026-03-23 17:55:37 +01:00
Belén Albeza
ce0553951f
🐛 Fix layout lines not disappearing on shape deletion (wasm)
2026-03-23 17:21:28 +01:00
Elena Torró
7afcd46e5c
Merge pull request #8729 from penpot/ladybenko-13773-fix-exlusion
...
🐛 Fix exclusion being applied as union (wasm)
2026-03-23 16:31:52 +01:00
Elena Torro
84ac86af5b
🐛 Fix whitespace parsing and word capitalization
2026-03-23 16:30:23 +01:00
Eva Marco
7adac6df40
🐛 Fix review comments ( #8708 )
...
* 🐛 Fix focus option only on arrowdown not at open
* 🐛 Fix focus on input when visible focus should be on options
* ♻️ Improve nativation, adding tab control and moving throught options is now cyclic
* ✨ Add selected option when inside cursor is inside option
* 🐛 Dropdown is positioned nex to the input alwais
2026-03-23 16:06:23 +01:00
Elena Torro
57be1428b3
🐛 Fix background-blur on wasm export
2026-03-23 15:44:36 +01:00
alonso.torres
13ee27b1ad
🐛 Fix problem with plugins export
2026-03-23 15:40:15 +01:00
Andrey Antukh
2905905a9f
♻️ Extract use-portal-container hook to reduce duplication
...
The dedicated-container portal pattern was repeated across 7 components.
Extract it into a reusable use-portal-container hook under app.main.ui.hooks.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-23 13:47:33 +00:00
Belén Albeza
405fd49d79
🐛 Fix exclusion being applied as union (wasm)
2026-03-23 14:21:41 +01:00
Andrey Antukh
ff60503ce6
🐛 Fix removeChild crash on all portal components
...
The previous fix (80b64c440c) only addressed portal-on-document* but
there were 6 additional components that portaled directly to
document.body, causing the same race condition when React attempted
to remove a node that had already been detached during concurrent
state updates (e.g. navigating away while a context menu is open).
Apply the dedicated-container pattern consistently to all portal
sites: modal, context menus, combobox dropdown, theme selector, and
tooltip. Each component now creates a dedicated <div> container
appended to body on mount and removed on cleanup, giving React an
exclusive containerInfo for each portal instance.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-23 14:19:57 +01:00
Pablo Alba
11ed09f431
🐛 Fix link to nitrate create org
2026-03-23 12:32:50 +01:00
Andrey Antukh
43cdb91063
♻️ Recycle frontend tests with wasm mocks ( #8681 )
2026-03-23 12:11:27 +01:00
Eva Marco
4345cfaec7
🎉 Add natural sort on token names ( #8672 )
2026-03-23 11:24:59 +01:00
Roland
bfb331d230
🐛 Fix pluings API theme.addSet() crash caused by async state race in token-set proxy ( #8700 )
...
When `catalog.addSet()` creates a new token set, `st/emit!` is async —
the set is not yet in `@st/state` when the returned proxy is used.
Calling `theme.addSet(proxy)` immediately after reads `.name` from the
proxy, which calls `locate-token-set` on stale state → returns nil →
`enable-set` conjs nil into the theme's `:sets` → backend rejects with
400 (`:sets #{nil}`) → workspace reloads → plugin disconnects.
Fix: store `initial-name` in the proxy at construction time as a
fallback for the `:name` getter during the async propagation window.
Also add nil guards in `addSet`/`removeSet` as defense-in-depth.
Closes #8698
Signed-off-by: rodo <roland@dolltons.com>
2026-03-23 11:24:29 +01:00
Juan de la Cruz
884cdbbf8d
✨ Add new MCP plugin UI changes ( #8699 )
...
* ✨ Add new MCP plugin UI changes
* 📎 Fix tool status misleading
2026-03-23 11:20:37 +01:00
Eva Marco
72fd637ec2
♻️ Refactor small numeric inputs ( #8660 )
...
* ♻️ Refactor individual border radius inputs
* ♻️ Refactor layer opacity input
* ♻️ Refactor stroke width inputs and add icon only selects
* ♻️ Fix comments on PR
2026-03-23 11:00:29 +01:00
Andrey Antukh
dc56da9662
Merge remote-tracking branch 'origin/staging' into develop
2026-03-23 10:15:30 +01:00
Abhishek Mittal
094ef3d6fe
✨ Add 'page' shapeId to MCP export_shape for full-page snapshot ( #8693 )
...
Add support for 'page' as a special shapeId value in the MCP export_shape
tool. It resolves to penpot.root, exporting the entire current page as a
PNG or SVG snapshot.
Previously only 'selection' and explicit shape IDs were supported. The new
'page' shortcut is useful for AI agents needing a bird's-eye view of the
design without having to know a specific shape ID.
Closes https://github.com/penpot/penpot/issues/8689
Signed-off-by: Abhishek Mittal <abhishekmittaloffice@gmail.com>
2026-03-23 10:03:32 +01:00
Pablo Alba
8406b5e9f8
✨ Add nitrate api for notify org deletion ( #8697 )
2026-03-23 09:59:57 +01:00
Andres Gonzalez
9e4f4d5f7b
🐛 Remove wrong lines from staging changelog
2026-03-23 09:11:22 +01:00
Andres Gonzalez
b637f0a917
🐛 Remove wrong lines from changelog
2026-03-23 09:11:09 +01:00
andrés gonzález
35125dfd79
✨ Update changelog ( #8703 )
2026-03-23 08:48:22 +01:00
Alejandro Alonso
52496243ac
Merge remote-tracking branch 'origin/staging' into develop
2026-03-20 17:00:47 +01:00
Alejandro Alonso
0c3b5895bf
🐛 Restore correct branches in finalize-editor-state for text
2026-03-20 17:00:34 +01:00
Alejandro Alonso
c6f3aa4f66
Merge pull request #8710 from penpot/superalex-fix-text-finalize-classic-editor
...
🐛 Restore correct branches in finalize-editor-state for text
2026-03-20 16:59:53 +01:00
Alejandro Alonso
62b36f0153
🐛 Restore correct branches in finalize-editor-state for text
2026-03-20 16:48:37 +01:00
Juanfran
e53ff6d20b
✨ Open create org modal in Nitrate
2026-03-20 16:19:29 +01:00
Alejandro Alonso
02afd805ca
Merge remote-tracking branch 'origin/staging' into develop
2026-03-20 16:00:24 +01:00
María Valderrama
9c3fbc59b9
🐛 Fix visibility of go to nitrate cc option
2026-03-20 13:42:45 +01:00
Alejandro Alonso
dd10be1fb4
Merge pull request #8611 from penpot/alotor-export-wasm
...
✨ Add support for export with wasm engine
2026-03-20 11:59:03 +01:00
Alejandro Alonso
f068842a6c
Merge remote-tracking branch 'origin/staging' into develop
2026-03-20 10:20:43 +01:00
Eva Marco
71b32b97f0
🔧 Activate flag on dev enviroment ( #8706 )
2026-03-20 10:13:05 +01:00
Aitor Moreno
d8b1bd53f3
Merge pull request #8705 from penpot/superalex-fix-wasm-text-editor-finalize-nil
...
🐛 Coerce finalize? in WASM text updates for valid undo flags
2026-03-20 10:07:07 +01:00
alonso.torres
7a8824b826
✨ Add support for export with wasm engine
2026-03-20 09:46:19 +01:00
Alejandro Alonso
1126ed37f1
🐛 Coerce finalize? in WASM text updates for valid undo flags
2026-03-20 09:43:00 +01:00
Aitor Moreno
0df6b30f79
Merge pull request #8704 from penpot/superalex-fix-text-disappearing
...
🐛 Fix WASM text auto-width geometry on finalize
2026-03-20 09:36:58 +01:00
Alejandro Alonso
353d8677b0
🐛 Fix WASM text auto-width geometry on finalize
2026-03-20 09:28:28 +01:00
Aitor Moreno
d8f4d38ac2
Merge pull request #8701 from penpot/superalex-fix-line-breaks-not-rendering-in-text-shapes
...
🐛 Fix line breaks not rendering in text shapes
2026-03-20 09:17:10 +01:00
Eva Marco
fb5ac5cd8b
🐛 Add box shadow to token dropdowns ( #8685 )
2026-03-20 09:02:27 +01:00
Aitor Moreno
58d959a37e
Merge pull request #8684 from penpot/superalex-fix-embedded-editor-pasting-text-2
...
🐛 Fix embedded editor pasting text
2026-03-20 06:52:39 +01:00
Xaviju
ee1dd80b6e
✨ Copy token name from contextual menu ( #8566 )
2026-03-19 23:22:44 +01:00
Xaviju
8ad62c6800
🐛 Add export menu to inspect styles tab ( #8645 )
...
* 🐛 Add export menu to inspect styles tab
* 📎 Add to CHANGES
2026-03-19 23:20:18 +01:00
Xaviju
f8913c755d
🎉 Rename token group ( #8275 )
...
* 🎉 Rename token group
* 📎 Add to CHANGES
2026-03-19 22:54:21 +01:00
Alejandro Alonso
e8ce2a43f2
🐛 Fix line breaks not rendering in text shapes
2026-03-19 17:45:58 +01:00
Eva Marco
8e7e6ffc2f
♻️ Design review for numeric inputs ( #8630 )
...
* ♻️ Update tooltip position on icon buttons
* ♻️ Sort token groups by priority not alphabetically
* ♻️ Add proper padding on text-icon-inputs
* ♻️ Hide detach button when dropdown is open
* 🐛 Fix detach stroke width
* 🐛 Fix strokes applied on all rows
* 🐛 Fix nillable inputs
* 🐛 Fix comments on PR
2026-03-19 16:46:18 +01:00
Luis de Dios
e870497ae1
📎 PR changes
2026-03-19 16:39:29 +01:00
Luis de Dios
9e9c28fe3c
🐛 Fix MCP notifications when there is only one tab
2026-03-19 16:39:29 +01:00
alonso.torres
93de83c427
🐛 Fix problem with error message
2026-03-19 16:19:27 +01:00
alonso.torres
3270d65491
🐛 Fix problem with token retrieval
2026-03-19 16:19:27 +01:00
alonso.torres
a1a469449e
✨ Add throwValidationErrors flag for plugins
2026-03-19 15:37:08 +01:00
Alejandro Alonso
0499cd6162
Merge pull request #8654 from penpot/elenatorro-13282-perf-tiles
...
🔧 Preserve cache canvas during tile rebuild for smooth zoom preview
2026-03-19 15:20:08 +01:00
Alejandro Alonso
64b5fd7fb9
Merge pull request #8674 from penpot/ladybenko-13720-flag-wasm-debug-info
...
🔧 Show / Hide wasm info label via config flag
2026-03-19 14:45:37 +01:00
Eva Marco
4abaae4f80
🐛 Fix open tooltip on tab change ( #8680 )
2026-03-19 13:41:33 +01:00
Elena Torro
de04896266
🔧 Preserve cache canvas during tile rebuild for smooth zoom preview
2026-03-19 12:30:10 +01:00
Alejandro Alonso
d59aa03924
Merge pull request #8593 from penpot/azazeln28-feat-text-editor-composition-update
...
🎉 Feat add text editor composition update
2026-03-19 12:27:26 +01:00
Alejandro Alonso
a28d47f437
🐛 Fix embedded editor pasting text
2026-03-19 12:10:46 +01:00
Elena Torró
2adf79a5eb
Merge pull request #8615 from penpot/ladybenko-13626-more-recoverable-errors
...
✨ Use new error types in other parts of the rust codebase
2026-03-18 18:13:22 +01:00
Elena Torro
e630be1509
🎉 Add background blur for wasm render
2026-03-18 18:05:30 +01:00
Elena Torro
5ba53f7296
🎉 Add background blur for wasm render
2026-03-18 17:43:27 +01:00
BitToby
b876417d5b
✨ Add copy and paste for grid layout rows and columns via co… ( #8498 )
...
* ✨ Add copy and paste for grid layout rows and columns via context menu
* 🔧 Use grid-id instead of grid in context menu deps
---------
Co-authored-by: bittoby <bittoby@users.noreply.github.com>
2026-03-18 16:19:15 +01:00
Elena Torró
81d90be4c9
🐛 Fix rasterizer initialization to only run when render-wasm/v1 is active ( #8669 )
2026-03-18 16:04:04 +01:00
Alonso Torres
a4ad940177
✨ Add version property to plugins API ( #8676 )
2026-03-18 16:03:17 +01:00
Pablo Alba
2a09f30199
✨ Add nitrate endpoint to delete teams keeping your-penpot projects
2026-03-18 15:59:38 +01:00
Dominik Jain
1b91bbe64d
✨ Update MCP server to account for API updates
...
Update instructions and API documentation to account for
* updated token property names; resolves #8512
* improved variant container creation; resolves #8564
2026-03-18 15:30:04 +01:00
Andrés Moya
8e2a52af50
💄 Change function names
2026-03-18 15:30:04 +01:00
alonso.torres
4e1b940e04
✨ Remap token properties for usability
2026-03-18 15:30:04 +01:00
Andrey Antukh
ca72dcdcbb
Merge remote-tracking branch 'origin/staging' into develop
2026-03-18 15:00:40 +01:00
Andrey Antukh
46c2d41218
Merge remote-tracking branch 'origin/main' into staging
2026-03-18 15:00:11 +01:00
Andrey Antukh
2d616cf9c0
📚 Add better organization for AGENTS.md file ( #8675 )
2026-03-18 14:59:38 +01:00
Aitor Moreno
72f5ecfe56
🎉 Feat add text editor composition update
2026-03-18 14:41:54 +01:00
Elena Torró
10359d39df
Merge pull request #8659 from penpot/superlalex-fix-test-halos-big-shadows
...
🐛 Fix visible halos in big shadows
2026-03-18 13:38:25 +01:00
Belén Albeza
66ba097ba2
🐛 Fix not being able to enable wasm text editor via config flag
2026-03-18 13:27:05 +01:00
Belén Albeza
619842152d
♻️ Refactor render options (wasm)
2026-03-18 13:16:13 +01:00
Eva Marco
df8194acf5
🐛 Fix several bugs ( #8604 )
...
* 🐛 Fix console warning
* ♻️ Use DS buttons and remove deprecated CSS
* 🐛 Fix copy on update library message
* 🐛 Fix id prop on switch component
* 🐛 Fix tooltip shown after tab change
2026-03-18 12:52:58 +01:00
Belén Albeza
0597eef750
✨ Show/hide wasm info label via config flag
2026-03-18 12:44:10 +01:00
Elena Torro
d2422e3a21
✨ Add background blur type support to common schema
2026-03-18 11:29:27 +01:00
Alejandro Alonso
0484d23b12
🐛 Fix clipped rounded corners artifacts
2026-03-18 11:04:02 +01:00
Pablo Alba
04a3e236fe
✨ Add a callback-url parameter to login ( #8655 )
2026-03-18 10:15:31 +01:00
Andrey Antukh
0d2ec687d2
🐛 Fix unexpected corner case between SES hardening and transit ( #8663 )
...
* Revert "🐛 Fix plugin sandbox freezing CLJS Proxy constructor breaking Transit encoding"
This reverts commit 27a934dcfd579093b066c78d67eba782ba6229cb.
* 🐛 Fix unexpected corner case between SES hardening and transit
The cause of the issue is a race condition between plugin loading
and the first time js/Date objects are encoded using transit. Transit
encoder populates the prototype of the Date object the first time a
Date instance is encoded, but if SES freezes the Date prototype before
transit, an strange exception will be raised on encoding any object
that contains Date instances.
Example of the exception:
Cannot define property transit$guid$4a57baf3-8824-4930-915a-fa905479a036,
object is not extensible
2026-03-18 09:54:54 +01:00
Andrey Antukh
5482ee211e
🐛 Fix unexpected corner case between SES hardening and transit ( #8663 )
...
* Revert "🐛 Fix plugin sandbox freezing CLJS Proxy constructor breaking Transit encoding"
This reverts commit 27a934dcfd579093b066c78d67eba782ba6229cb.
* 🐛 Fix unexpected corner case between SES hardening and transit
The cause of the issue is a race condition between plugin loading
and the first time js/Date objects are encoded using transit. Transit
encoder populates the prototype of the Date object the first time a
Date instance is encoded, but if SES freezes the Date prototype before
transit, an strange exception will be raised on encoding any object
that contains Date instances.
Example of the exception:
Cannot define property transit$guid$4a57baf3-8824-4930-915a-fa905479a036,
object is not extensible
2026-03-18 09:53:22 +01:00
Dr. Dominik Jain
757fb8e21d
✨ Reduce instructions transferred at MCP connection to a minimum ( #8649 )
...
* ✨ Reduce instructions transferred at MCP connection to a minimum
Force on-demand loading of the 'Penpot High-Level Overview',
which was previously transferred in the MCP server's instructions.
This greatly reduces the number of tokens for users who will
not actually interact with Penpot, allowing the MCP server to
remain enabled for such users without wasting too many tokens.
Resolves #8647
* 📎 Update Serena project
2026-03-17 18:50:07 +01:00
Dr. Dominik Jain
0f24cf26f6
✨ Reduce instructions transferred at MCP connection to a minimum ( #8649 )
...
* ✨ Reduce instructions transferred at MCP connection to a minimum
Force on-demand loading of the 'Penpot High-Level Overview',
which was previously transferred in the MCP server's instructions.
This greatly reduces the number of tokens for users who will
not actually interact with Penpot, allowing the MCP server to
remain enabled for such users without wasting too many tokens.
Resolves #8647
* 📎 Update Serena project
2026-03-17 18:48:06 +01:00
Andrey Antukh
1a59017e1c
🐛 Ignore posthog exceptions in unhandled exception handler ( #8629 )
...
PostHog recorder throws errors like 'Cannot assign to read only property
'assert' of object' which are unrelated to the application and should be
ignored to prevent noise in error reporting.
2026-03-17 18:41:06 +01:00
Andrey Antukh
4da332a5e2
Merge remote-tracking branch 'origin/staging' into develop
2026-03-17 18:29:08 +01:00
Andrey Antukh
de03f3883b
Merge remote-tracking branch 'origin/main' into staging
2026-03-17 18:28:39 +01:00
Pablo Alba
5eecd52743
✨ Add get-teams-summary to nitrate api ( #8662 )
2026-03-17 18:25:18 +01:00
Elena Torró
bf872fa766
Merge pull request #8665 from penpot/ladybenko-show-text-editor-info
...
🔧 Show label if wasm text editor is enabled
2026-03-17 17:12:18 +01:00
Belén Albeza
c8b3407acd
🔧 Show label if wasm text editor is enabled
2026-03-17 16:47:05 +01:00
Andrey Antukh
802cec1ee4
✨ Revert several changes to mcp scripts introduced in previous commits
2026-03-17 15:31:17 +01:00
Andrey Antukh
3c92c98c94
✨ Revert several changes to mcp scripts introduced in previous commits
2026-03-17 15:30:26 +01:00
Andrey Antukh
6079ef4e22
✨ Make mcp plugin always ready to be in multiuser
2026-03-17 15:18:22 +01:00
girafic
d6cc469027
🐛 Fix permission message and update ruler guide proxy name on plugins api ( #8632 )
...
- Updated the error message for missing content write permission in the removeRulerGuide function.
- Renamed the ruler guide proxy from "RuleGuideProxy" to "RulerGuideProxy" for consistency.
- Adjusted variable naming in the addRulerGuide function for clarity.
Signed-off-by: Stas Haas <stas@girafic.de>
2026-03-17 15:05:26 +01:00
Andrey Antukh
ab4e195cca
✨ Add protection for stale cache of js assets loading issues ( #8638 )
...
* ✨ Use update-when for update dashboard state
This make updates more consistent and reduces possible eventual
consistency issues in out of order events execution.
* 🐛 Detect stale JS modules at boot and force reload
When the browser serves cached JS files from a previous deployment
alongside a fresh index.html, code-split modules reference keyword
constants that do not exist in the stale shared.js, causing TypeError
crashes.
This adds a compile-time version tag (via goog-define / closure-defines)
that is baked into the JS bundle. At boot, it is compared against the
runtime version tag from index.html (which is always fresh due to
no-cache headers). If they differ, the app forces a hard page reload
before initializing, ensuring all JS modules come from the same build.
* 📎 Ensure consistent version across builds on github e2e test workflow
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-17 15:04:06 +01:00
Andrey Antukh
7480be0bda
🐛 Fix mcp bundle build issue introduced in previous commits
2026-03-17 14:51:51 +01:00
Andrey Antukh
b86898eaf9
Revert " 🐛 Fix "Cannot assign to read only property toString" error in plugins runtime"
...
This reverts commit f796f7ccb9dcf9e4f927450550920ad63f1de08d.
2026-03-17 14:45:18 +01:00
Andrey Antukh
e018253c6b
✨ Make mcp plugin always ready to be in multiuser
2026-03-17 14:45:18 +01:00
Elena Torró
c6f8356847
📚 Improve docs on feature flags ( #8641 )
2026-03-17 11:49:14 +01:00
David Barragán Merino
1b223359d9
🔧 Remove staging-render bundle github workflow
2026-03-17 11:18:51 +01:00
Andrey Antukh
0535ef0e39
✨ Remove duplicated code for browser detection
2026-03-17 10:58:43 +01:00
Andrey Antukh
2d5392327e
🐛 Add minor improvements on wasm-render error handling
2026-03-17 10:58:43 +01:00
Andrey Antukh
0d236110e9
🐛 Fix ts/asap helper on frontend utils
2026-03-17 10:58:43 +01:00
Andrey Antukh
997f0c0e40
✨ Build render-wasm on runing pnpm run test on frontend
2026-03-17 10:58:43 +01:00
Alejandro Alonso
c27449e4f0
🐛 Fix visible halos in big shadows
2026-03-17 10:54:39 +01:00
Andrey Antukh
2276456295
✨ Add minor compatibility adjustments for audit archive task ( #8491 )
2026-03-17 10:39:26 +01:00
Luis de Dios
a5f09e18a8
🎉 Make the mcp plugin switching between tabs work correctly ( #8597 )
...
* ✨ Make the MCP plugin switching between tabs work correctly
* 🎉 Show notification when the plugin is loaded in another tab
* 📎 PR changes
* ✨ Add events
2026-03-17 10:17:02 +01:00
Andrey Antukh
f796f7ccb9
🐛 Fix "Cannot assign to read only property toString" error in plugins runtime
...
The error "Cannot assign to read only property 'toString' of function"
occurs during React's commit phase after a plugin is loaded. The root
cause is an initialization ordering issue in the SES (Secure EcmaScript)
lockdown sequence.
When loadPlugin() is called, ses.harden(context) runs first, which
transitively freezes everything reachable from the context object —
including Function.prototype and Object.prototype — via prototype chain
traversal of getter functions. Later, createSandbox() calls
ses.hardenIntrinsics(), which attempts to run enablePropertyOverrides()
to convert frozen data properties (like Function.prototype.toString)
into accessor pairs that work around JavaScript's "override mistake".
However, enablePropertyOverrides checks "if (configurable)" before
converting, and since Function.prototype is already frozen (all
properties have configurable: false), the override taming is silently
skipped. This leaves Function.prototype.toString as a frozen
non-writable data property, causing any subsequent code that assigns
.toString to a function instance in strict mode to throw a TypeError.
The fix calls ses.hardenIntrinsics() before ses.harden(context) in
loadPlugin(), ensuring override taming installs the accessor pairs on
prototype properties before they get frozen. The existing
hardenIntrinsics() call in createSandbox() becomes a harmless no-op
thanks to the idempotency guard.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-17 10:14:12 +01:00
Andrey Antukh
e730e9ee64
🐛 Fix subscribe to undefined stream error in use-stream hook ( #8633 )
...
Add a nil guard before subscribing to the stream in the use-stream
hook. When a nil/undefined stream is passed (e.g., from a conditional
expression or timing edge case during React rendering), the subscribe
call on undefined causes a TypeError. The guard ensures we only
subscribe when the stream is defined.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-17 10:06:16 +01:00
Andrey Antukh
27a934dcfd
🐛 Fix plugin sandbox freezing CLJS Proxy constructor breaking Transit encoding
...
When the plugin sandbox calls harden() (SES lockdown) on any proxy object
returned from the penpot.* API, SES traverses the prototype chain up to
Proxy.prototype and freezes the CLJS Proxy constructor function. Transit's
typeTag helper later fails with "object is not extensible" when trying to
set its cache property on that frozen constructor.
Fix by deleting the constructor data property from Proxy.prototype so that
harden never traverses to the CLJS Proxy constructor function.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-17 10:01:45 +01:00
Pablo Alba
acc383ba31
✨ Improve nitrate module JSON handling and error management
2026-03-17 09:59:02 +01:00
Andrey Antukh
0779c9ca61
🐛 Fix TypeError in get-points when content is not PathData ( #8634 )
...
The with-cache macro in impl.cljc assumed the target was always a
PathData instance (which has a cache field). When content was a plain
vector, (.-cache content) returned undefined in JS, causing:
TypeError: Cannot read properties of undefined (reading 'get')
Fix:
- path/get-points (app.common.types.path) is now the canonical safe
entry point: converts non-PathData content via impl/path-data and
handles nil safely before delegating to segment/get-points
- segment/get-points remains a low-level function that expects a
PathData instance (no defensive logic at that level)
- streams.cljs: replace direct call to path.segm/get-points with
path/get-points so the safe conversion path is always used
- with-cache macro: guards against nil/undefined cache, falling back
to direct evaluation for non-PathData targets
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-17 09:31:10 +01:00
andrés gonzález
efd6d19a12
📚 Remove link to sales form from the Help Center ( #8643 )
2026-03-16 16:58:08 +01:00
Andrey Antukh
46f50aab16
Merge remote-tracking branch 'origin/staging' into develop
2026-03-16 16:13:16 +01:00
Andrey Antukh
3bf145a749
✨ Disable wasm-render on frontend tests (temporarily)
2026-03-16 16:12:53 +01:00
David Barragán Merino
31696de474
🔧 GitHub Actions worker tasks updated
2026-03-16 15:02:26 +01:00
Marina López
1b8871df8e
✨ Update image nitrate modal
2026-03-16 14:23:23 +01:00
Pablo Alba
8cb5c23a29
🐛 Fix nitrate url
2026-03-16 13:35:15 +01:00
Elena Torró
ac69f28a0a
Merge pull request #8646 from penpot/elenatorro-include-wasm-share-on-gitignore
...
🔧 Ignore render_wasm shared.js autogenerated file
2026-03-16 13:04:25 +01:00
Elena Torro
ff1ba6b953
🔧 Ignore render_wasm shared.js autogenerated file
2026-03-16 12:09:54 +01:00
Dream
ce04780b6c
🐛 Make collapsible sidebar titles clickable to toggle ( #8547 )
...
Fixes #5168
2026-03-16 11:03:49 +01:00
andrés gonzález
98e989d7f3
📚 Adjust MCP presence in changelog ( #8642 )
2026-03-16 10:51:10 +01:00
Dr. Dominik Jain
5e519c6b4b
✨ Account for changed interfaces of addToken and addSet ( #8614 )
...
Resolves #8613
2026-03-16 10:39:08 +01:00
Dr. Dominik Jain
f566c1950f
✨ Account for changed interfaces of addToken and addSet ( #8614 )
...
Resolves #8613
2026-03-16 10:38:25 +01:00
Pablo Alba
8f35e451e6
✨ Add notification for nitrate when creating a team inside an organization ( #8639 )
2026-03-16 10:36:32 +01:00
Andrey Antukh
d763484554
📎 Enable render-wasm feature by default
2026-03-16 10:15:49 +01:00
Andrey Antukh
6e19548bac
📎 Update changelog
2026-03-16 09:38:23 +01:00
Andrey Antukh
4f08580ced
📎 Update changelog
2026-03-16 09:38:01 +01:00
Andrey Antukh
c4333341b1
Merge remote-tracking branch 'origin/develop' into staging
2026-03-16 09:36:46 +01:00
Andrey Antukh
4c9775e182
Merge remote-tracking branch 'origin/staging-render' into develop
2026-03-16 09:35:12 +01:00
Andrey Antukh
c7f63c4155
Merge remote-tracking branch 'origin/staging' into staging-render
2026-03-16 09:29:25 +01:00
Andrey Antukh
328b7739e0
📎 Prepare changes and flags for next release ( #8624 )
2026-03-13 13:07:24 +01:00
Andrey Antukh
a528508751
📚 Update AGENTS.md
2026-03-13 12:57:22 +01:00
Elena Torró
a68e06ffe9
Merge pull request #8587 from penpot/azazeln28-feat-word-boundary-cursor-navigation
...
🎉 Feat word boundary cursor navigation
2026-03-13 12:49:09 +01:00
alonso.torres
1ab1d4f6ca
🐛 Fix problem with snap pixel transforms
2026-03-13 12:47:34 +01:00
Aitor Moreno
39dcad8f54
Merge pull request #8623 from penpot/superalex-fix-embedded-editor-cursor-positioning
...
🐛 Fix embedded editor cursor positioning
2026-03-13 12:21:12 +01:00
Belén Albeza
fc64dfe9d6
Revert " ✨ Add regression test for token highlight bug (13302) ( #8573 )"
...
This reverts commit d8249cc3db6283c12ba983d4b44a8c322aaffb6b.
2026-03-13 12:12:15 +01:00
Elena Torro
c4b4f8c63c
🔧 Keep shared.js file on CI
2026-03-13 12:08:55 +01:00
Alejandro Alonso
fa5c853bca
🐛 Fix embedded editor cursor positioning
2026-03-13 12:06:45 +01:00
Andrey Antukh
6d30989a2d
Merge remote-tracking branch 'origin/staging-render' into develop
2026-03-13 11:54:04 +01:00
Andrey Antukh
50ce8c4739
Merge remote-tracking branch 'origin/staging' into staging-render
2026-03-13 11:53:20 +01:00
Andrey Antukh
cf94b56154
Merge remote-tracking branch 'origin/staging' into develop
2026-03-13 11:41:56 +01:00
Andrey Antukh
5d931d1614
Merge remote-tracking branch 'origin/main' into staging
2026-03-13 09:20:30 +01:00
Andrey Antukh
33c5f82c43
🐛 Fix penpot.openPage() to navigate in same tab by default
...
- Change the default for the newWindow param from true to false, so
openPage() navigates in the same tab instead of opening a new one
- Accept a UUID string as the page argument in addition to a Page object,
avoiding the need to call penpot.getPage(uuid) first
- Add validation error when an invalid page argument is passed
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-13 09:19:50 +01:00
Pablo Alba
08845ad2d4
✨ Add organization selection for nitrate ( #8619 )
2026-03-13 09:16:12 +01:00
Alejandro Alonso
fe9f1d63ad
Merge pull request #8616 from penpot/alotor-fix-live-update-pvalues
...
🐛 Fix problem with update live sidebar values
2026-03-13 08:38:09 +01:00
Alejandro Alonso
ebd17974a6
Merge pull request #8580 from penpot/niwinz-staging-fix-paste-issue
...
🐛 Fix crash when pasting non-map transit clipboard data
2026-03-13 08:33:19 +01:00
Andrey Antukh
eecb51ecc1
🐛 Fix clipboard getType error when no allowed types found ( #8609 )
...
When clipboard items have types that don't match the allowed types
list, the filtering results in an empty array. Calling getType with
undefined throws a NotFoundError. This change adds a check for null/undefined
types and filters them from the result.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-13 08:24:36 +01:00
Andrey Antukh
e7e6303184
🐛 Make ct/format-inst nil safe ( #8612 )
...
Prevent JS TypeError when date is nil in date formatting.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 19:55:51 +01:00
David Barragán Merino
3eabbffb0e
🔧 Change the assets dir to fix deployment with Wrangler
2026-03-12 19:50:46 +01:00
Andrey Antukh
dbe8304f0c
✨ Include plugins on the frontend bundle
2026-03-12 19:07:44 +01:00
Andrey Antukh
87488f4a98
✨ Make the rename-layers-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
f6259708ca
✨ Make the create-palette-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
1229c2a5e5
✨ Make the constrast-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
4a6e6fce5b
✨ Make the lorem-ipsum-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
b8c319aa61
✨ Make the poc-tokens-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
2d0058ef3b
✨ Make the poc-state-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
d14e3a9914
✨ Make the colors-to-tokens-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
eebe90b2cd
✨ Make the table-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
9fb6a3ab0e
✨ Make the icons-plugin work correctly on subpath
2026-03-12 19:07:44 +01:00
Andrey Antukh
207bc795c0
✨ Add minor changes on plugins examples-style
2026-03-12 19:07:44 +01:00
Andrey Antukh
4ccbc612cb
✨ Add the ability to accept plugin permission pressing enter
2026-03-12 19:07:44 +01:00
Andrey Antukh
b56885b8be
💄 Add cosmetic changes to workspace plugins dialog components
2026-03-12 19:07:44 +01:00
Andrey Antukh
a6e0113b25
✨ Install plugin by pressing enter on plugins dialog
2026-03-12 19:07:44 +01:00
Andrey Antukh
24fc84054d
✨ Append manifest.json to plugin uri if it comes without it
2026-03-12 19:07:44 +01:00
Andrey Antukh
e841dc60b7
✨ Make penpot depend on local plugins runtime
...
This removes the need to publish versions to pnpn
2026-03-12 19:07:44 +01:00
Andrey Antukh
85ffadf8d7
✨ Add better approach for handling plugin iframe url
...
Ensure params are passed correctly to plugins declared to be version
2 and are prepared to run in a subpath.
2026-03-12 19:07:44 +01:00
Andrey Antukh
bb651e0c4e
✨ Update devenv nginx to serve locally builded plugins
2026-03-12 19:07:44 +01:00
alonso.torres
99151fe530
🐛 Fix problem with update live sidebar values
2026-03-12 17:30:57 +01:00
Andrey Antukh
ec4f685aac
🐛 Fix penpot.openPage() to navigate in same tab by default
...
- Change the default for the newWindow param from true to false, so
openPage() navigates in the same tab instead of opening a new one
- Accept a UUID string as the page argument in addition to a Page object,
avoiding the need to call penpot.getPage(uuid) first
- Add validation error when an invalid page argument is passed
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 15:53:32 +01:00
Andrey Antukh
25df9f2f83
🐛 Fix DataCloneError in plugin postMessage communication
...
Fixes a crash where plugins sending messages via 'penpot.ui.sendMessage()'
could fail if their message payload contained non-serializable values like
functions or closures.
The fix adds validation using 'structuredClone()' to catch these messages
early with a helpful error message, and adds a defensive try/catch in the
modal's message handler as a safety net.
Fixes the error: 'Failed to execute postMessage on Window: ... could not
be cloned.'
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 15:26:00 +01:00
Andrey Antukh
8d5450391e
🐛 Fix crash when pasting non-map transit clipboard data
...
Guard against transit-decoded clipboard content that is not a map
before calling assoc, which caused a runtime crash ('No protocol
method IAssociative.-assoc defined for type number').
Also route :copied-props paste data to paste-transit-props instead
of incorrectly sending it to paste-transit-shapes.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 15:05:22 +01:00
Aitor Moreno
c76985abee
Merge pull request #8585 from penpot/superalex-fix-first-width-change-ignored-on-auto-width-text-in-wasm-render
...
🐛 Fix auto width text issues
2026-03-12 14:01:11 +01:00
Alejandro Alonso
be9b1158ed
Merge pull request #8588 from penpot/niwinz-staging-abort-signal-fix
...
🐛 Fix unhandled AbortError in HTTP fetch requests
2026-03-12 13:53:18 +01:00
Eva Marco
8f5c38d476
🐛 Fix scroll on colorpicker ( #8595 )
2026-03-12 13:36:38 +01:00
Andrey Antukh
80d165ed5b
🐛 Fix unhandled AbortError in HTTP fetch requests
...
Identify and silence "signal is aborted without reason" errors by:
- Providing an explicit reason to AbortController when subscriptions are disposed.
- Updating the global error handler to ignore AbortError exceptions.
- Ensuring unhandled rejections use the ignorable exception filter.
The root cause was RxJS disposal calling .abort() without a reason, combined
with the on-unhandled-rejection handler missing the ignorable error filter.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 13:31:58 +01:00
Alejandro Alonso
4b330e7b50
Merge pull request #8596 from penpot/niwinz-staging-fix-max-recursion
...
🐛 Fix RangeError (stack overflow) in find-component-main
2026-03-12 13:30:16 +01:00
Alejandro Alonso
f5cabac5f3
Merge pull request #8583 from penpot/niwinz-staging-ignore-extensions-exceptions
...
🐛 Ignore browser extension errors in unhandled exception handler
2026-03-12 13:20:11 +01:00
Alejandro Alonso
1487386fbb
Merge pull request #8582 from penpot/niwinz-staging-bugfix-path-plain-content
...
🐛 Fix plain vector leaking into shape :content from shape-to-path
2026-03-12 13:15:14 +01:00
Andrey Antukh
b68e400cc1
🐛 Fix crash in select* when options vector is empty ( #8578 )
...
Guard get-option fallback with (when (seq options) ...) to avoid
"No item 0 in vector of length 0" when options is an empty vector.
Also guard the selected-option memo in select* to mirror the same
pattern already present in combobox*.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 13:06:25 +01:00
Alejandro Alonso
50c27aecc7
Merge pull request #8574 from penpot/niwinz-staging-unmount-fixes
...
🐛 Fix removeChild crash on portal-on-document* unmount
2026-03-12 13:06:00 +01:00
Andrey Antukh
37cf099126
🐛 Fix number token applying rotation when line-height attr is specified ( #8557 )
...
* 💄 Removed forgotten print (#8594 )
* 🐛 Fix number token applying rotation when line-height attr is specified
toggle-token always used the on-update-shape from token-properties,
which for :number tokens is unconditionally update-rotation. So calling
applyToken(token, ["line-height"]) on a :number token would correctly
set the line-height text attribute but also invoke update-rotation with
the token value, silently rotating the shape.
Added an :on-update-shape-per-attr map to the :number token properties
entry mapping each valid attribute subset to its correct update function.
toggle-token now resolves the update function from that map when explicit
attrs are provided, falling back to the default on-update-shape otherwise.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* ♻️ Centralise attr->update-fn map and use it generically in toggle-token
The attributes->shape-update map was only defined in propagation.cljs.
Move it to application.cljs (where all the update functions live) and
have propagation.cljs reference it via dwta/attributes->shape-update,
eliminating the duplication.
Build a private flattened attr->shape-update map (one entry per
individual keyword) from that same source of truth. toggle-token now
uses it to resolve the correct on-update-shape when explicit attrs are
passed, instead of always taking the default from token-properties.
This fixes the :number token side-effect without any per-type special
casing: any token type whose explicit attrs map to a different update
function than the type default will now dispatch correctly.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* ✨ Backport obj/reify changes from develop
* ✨ Add missing error handler on shape proxy on plugins objects
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Alonso Torres <alonso.torres@kaleidos.net>
2026-03-12 12:51:26 +01:00
Aitor Moreno
5a2e926c6b
🎉 Add word boundary navigation
2026-03-12 12:50:26 +01:00
Alejandro Alonso
c254f88367
Merge pull request #8575 from penpot/niwinz-staging-fetch-exception
...
🐛 Wrap fetch TypeError into proper ex-info with :unable-to-fetch code
2026-03-12 12:48:48 +01:00
Alejandro Alonso
8f7b12dfd8
Merge pull request #8569 from penpot/niwinz-staging-bugfix-2-not-iseqable-exception
...
🐛 Fix 'not ISeqable' error when entering float values in layout/opacity inputs
2026-03-12 12:37:35 +01:00
Andrey Antukh
82e3a5fa53
🐛 Fix 'not ISeqable' error when entering float values in layout/opacity inputs
...
Replace int? with number? in on-change handlers for layout item margins,
min/max sizes, and layer opacity. Using int? caused float values like 8.5
to fall into the design token branch, calling (first 8.5) and crashing.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 12:37:22 +01:00
alonso.torres
0e0029bd56
🐛 Fix MCP keep alive messages
2026-03-12 12:34:22 +01:00
Alejandro Alonso
1680be33ef
Merge pull request #8568 from penpot/niwinz-staging-bugfix-1-path-get-points
...
🐛 Fix TypeError when path content is nil in get-points calls
2026-03-12 12:31:58 +01:00
Alejandro Alonso
a079de1305
Merge pull request #8579 from penpot/elenatorro-13619-fix-outer-non-closing-stroke
...
🐛 Fix stroke closing on outer strokes on paths
2026-03-12 12:24:52 +01:00
Andrey Antukh
6ee8184821
🐛 Fix error when creating guides without frame ( #8598 )
...
* 🐛 Fix error when creating guides without frame
The error 'Cannot read properties of undefined (reading
$cljs$core$IFn$_invoke$arity$0$)' occurred when creating a new
guide. It is probably a race condition because it is not reproducible
from the user point of view.
The cause is mainly because of use incorrect jsx handler :& where :>
should be used. This caused that some props pased with incorrect casing
and the relevant callback props received as nil on the component and
on the use-guide hook.
The fix is simple: use correct jsx handler
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
* 💄 Add cosmetic changes to viewport guides components
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 12:23:09 +01:00
Alejandro Alonso
0c778d7278
🐛 Consolidate WASM text content update and resize into a single change
2026-03-12 12:21:06 +01:00
Andrey Antukh
86f2cbf45e
Merge remote-tracking branch 'origin/staging' into develop
2026-03-12 12:19:54 +01:00
Dominik Jain
93896d2263
✨ Remove workaround for FlexLayout.appendChild
...
Update instructions to no longer stress that FlexLayout.appendChild
does not work as expected (#8417 now being resolved)
2026-03-12 12:06:16 +01:00
Dominik Jain
6c7c584c9a
✨ Emphasise the importance of the 'auto' sizing option of layouts
2026-03-12 12:06:16 +01:00
Dominik Jain
ac6541d74a
✨ Add instructions to avoid unnecessary annotations
2026-03-12 12:06:16 +01:00
Dominik Jain
683468fa97
✨ Update instructions on sizing options for FlexLayout & GridLayout
...
With #39 implemented, update the instructions accordingly.
2026-03-12 12:06:16 +01:00
Dominik Jain
d2c9911eb2
📎 Fix typo
2026-03-12 12:06:16 +01:00
Dominik Jain
ba138de53e
✨ Make clear that layoutChild is only available after the child was added
2026-03-12 12:06:16 +01:00
Dominik Jain
bf87af1928
✨ Add instructions on how to reuse fills/strokes
2026-03-12 12:06:16 +01:00
Dominik Jain
a928980d62
📎 Ignore .claude
2026-03-12 12:06:16 +01:00
Eva Marco
c00ef7c128
🐛 Fix unnexpected warning ( #8603 )
2026-03-12 12:01:28 +01:00
Elena Torro
6ca8865e5b
🐛 Close the subpath when possible
2026-03-12 12:00:03 +01:00
Marina López
58d7e1de18
📎 Revert show version notes when navigate from cc ( #8591 )
2026-03-12 11:47:50 +01:00
Xaviju
9b3207b06c
🐛 Fix wrong value on property copy on inspect styles ( #8605 )
2026-03-12 11:45:16 +01:00
Eva Marco
5c989d00d0
🎉 Token form combobox ( #8294 )
...
* 🎉 Create token combobox
* ♻️ Extract floating position as hook
* ♻️ Extract mouse navigation as hook
* ♻️ Extract token parsing
* 🎉 Add test
* 🎉 Add flag
* 🐛 Fix comments
* 🐛 Fix some errors on navigation
* 🐛 FIx errors on dropdown selection in the middle of the string
* 🐛 Only select available options not headers or empty mesage
* ♻️ Change component name
* 🐛 Intro doesn't trigger dropdown
* 🐛 Fix differences between on-option-enter and on-option-click
* ♻️ Refactor scrollbar rule
* 🐛 Fix update proper option
* ♻️ Use tdd to resolve parsing token
* ♻️ Add more test
* ♻️ Use new fn for token parsing
* ♻️ Refactor new fns and add docstrings
* 🐛 Fix comments and warnings
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 09:34:29 +01:00
Elena Torró
1512d53e7c
Merge pull request #8601 from penpot/superalex-fix-text-width-not-applied-on-first-change-for-auto-width-texts-in-wasm-viewport
...
🐛 Fix text width not applied on first change for auto-width texts in WASM viewport
2026-03-12 09:30:10 +01:00
Elena Torró
c59df2e52d
Merge pull request #8602 from penpot/superalex-fix-slash-problem-in-embedded-editor
...
🐛 Fix slash problem in embedded editor
2026-03-12 09:21:18 +01:00
Elena Torro
e72e2bf176
🐛 Fix stroke closing on outer strokes on paths
2026-03-12 09:02:37 +01:00
Alejandro Alonso
0d1b8dc1d6
🐛 Fix slash problem in embedded editor
2026-03-12 08:45:14 +01:00
Alejandro Alonso
70ef763bfe
🐛 Fix text width not applied on first change for auto-width texts in WASM viewport
2026-03-12 08:25:36 +01:00
Alejandro Alonso
ecf525e094
Merge pull request #8576 from penpot/elenatorro-13619-fix-svg-inner-stroke-artifact
...
🐛 Fix inner stroke intersection on paths
2026-03-12 08:20:21 +01:00
Andrey Antukh
3e60de9582
🐛 Backport merge issues fixes from develop.
2026-03-11 20:16:32 +01:00
Elena Torró
af7a9b4589
Merge pull request #8584 from penpot/azazeln28-fix-13577-auto-width-fixed-width-regression
...
🐛 Fix auto-width/fixed-width regression
2026-03-11 16:32:23 +01:00
Andrey Antukh
11a1ac2a09
🐛 Fix RangeError (stack overflow) in find-component-main
...
Refactor find-component-main to use an iterative loop/recur pattern instead of direct recursion and added cycle detection for malformed data structures.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-11 16:15:47 +01:00
Andrey Antukh
ade0b6b07b
🐛 Fix issues introduced on merge from staging
2026-03-11 16:07:35 +01:00
Alonso Torres
31a4a7f21f
💄 Removed forgotten print ( #8594 )
2026-03-11 16:04:33 +01:00
Andrey Antukh
2de3ead14f
Merge remote-tracking branch 'origin/staging-render' into develop
2026-03-11 15:50:58 +01:00
Andrey Antukh
0708b0f334
Merge remote-tracking branch 'origin/staging' into staging-render
2026-03-11 15:45:55 +01:00
Andrey Antukh
7ec9261475
✨ Add improvements to AGENTS.md ( #8586 )
2026-03-11 15:24:40 +01:00
Belén Albeza
d8249cc3db
✨ Add regression test for token highlight bug (13302) ( #8573 )
...
* ✨ Add aria role to token pill
* ✨ Clean up unused vars, imports and unneeded intercepts in tokens tests
* ✨ Add regression test for bug 13302 (highlight token)
2026-03-11 14:17:57 +01:00
Elena Torró
2ca264496c
Merge pull request #8529 from penpot/azazeln28-feat-add-proper-ltr-rtl-navigation
...
🎉 Add LTR/RTL cursor navigation
2026-03-11 13:52:17 +01:00
Aitor Moreno
920e66fd24
🎉 Add LTR/RTL cursor navigation
2026-03-11 13:34:23 +01:00
Andrey Antukh
33da7f384a
Merge remote-tracking branch 'origin/staging'
2026-03-11 12:04:28 +01:00
Aitor Moreno
e380886f51
🐛 Fix auto-width/fixed-width regression
2026-03-10 20:51:40 +01:00
David Barragán Merino
e6d15a5ac2
🔧 Disable search indexing of plugin docs for non-production envs
2026-03-10 19:36:52 +01:00
David Barragán Merino
e855907b05
🔧 Disable search indexing of plugin docs for non-production envs
2026-03-10 19:36:28 +01:00
David Barragán Merino
b314faa0e9
🔧 Disable search indexing of plugin docs for non-production envs
2026-03-10 19:35:19 +01:00
Andrey Antukh
db9e9f4832
🐛 Ignore browser extension errors in unhandled exception handler
...
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 19:30:01 +01:00
Andrey Antukh
7939cb045b
🐛 Fix plain vector leaking into shape :content from shape-to-path conversions
...
group-to-path was storing a raw concatenated vector into :content after
flattening children's PathData instances via (map vec). bool-to-path
was storing the plain-vector result of bool/calculate-content directly.
Both now wrap through path.impl/path-data at the assignment site so the
:content invariant (always a PathData instance) is upheld.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 19:26:03 +01:00
Andrey Antukh
f566a2adfd
🐛 Fix ITransformable error when path content is a plain vector
...
Coerce content to PathData in transform-content before dispatching
the ITransformable protocol, so shapes carrying a plain vector in
their :content field (legacy data, bool shapes, SVG imports) no
longer crash with 'No protocol method ITransformable.-transform
defined for type object'.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 18:06:44 +00:00
Andrey Antukh
31d8b35a2c
📎 Revert small changes related to browser pool on exporter
2026-03-10 18:51:04 +01:00
Elena Torro
70dd46f8ce
🐛 Fix inner stroke intersection on paths
2026-03-10 16:08:55 +01:00
Andrey Antukh
fed01fba73
🐛 Wrap fetch TypeError into proper ex-info with :unable-to-fetch code
...
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 15:59:14 +01:00
Andrey Antukh
7248db28c8
🐛 Fix nil values being inserted into TokenTheme :sets field ( #8560 )
...
* 🐛 Fix nil values being inserted into TokenTheme :sets field
* 📎 Use transducer form for filter in make-token-theme
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
---------
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 15:44:06 +01:00
Andrey Antukh
4f0bceddae
🐛 Fix stale deferred DOM ops in dashboard navigation
...
Two related issues that could cause crashes during fast navigation
in the dashboard:
1. grid.cljs: On drag-start, a temporary counter element is appended
to the file card node for the drag ghost image, then scheduled for
removal via requestAnimationFrame. If the user navigates away before
the RAF fires, React unmounts the section and removes the card node
from the DOM. When the RAF fires, item-el.removeChild(counter-el)
throws because counter-el is no longer a child. Fixed by guarding
the removal with dom/child?.
2. sidebar.cljs: Keyboard navigation handlers used ts/schedule-on-idle
(requestIdleCallback with a 30s timeout) to focus the newly rendered
section title after navigation. This left a very wide window for the
callback to fire against a stale DOM after a subsequent navigation.
Additionally, the idle callbacks were incorrectly passed as arguments
to st/emit! (which ignores non-event values), making the scheduling
an accidental side effect. Fixed by replacing all occurrences with
ts/schedule (setTimeout 0), which is sufficient to defer past the
current render cycle, and moving the calls outside st/emit!.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 14:22:45 +00:00
Andrey Antukh
80b64c440c
🐛 Fix removeChild crash on portal-on-document* unmount
...
The previous implementation passed document.body directly as the
React portal containerInfo. During unmount, React's commit phase
(commitUnmountFiberChildrenRecursively, case 4) sets the current
container to containerInfo and then calls container.removeChild()
for every DOM node inside the portal tree.
When two concurrent state updates are processed — e.g. navigating
away from a dashboard section while a file-menu portal is open —
React could attempt document.body.removeChild(node) twice for the
same node, the second time throwing:
NotFoundError: Failed to execute 'removeChild' on 'Node':
The node to be removed is not a child of this node.
The fix allocates a dedicated <div> container per portal instance
via mf/use-memo. The container is appended to body on mount and
removed in the effect cleanup. React then owns an exclusive
containerInfo and its unmount path never races with another
portal or the modal container (which also targets document.body).
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 14:22:34 +00:00
Elena Torró
5a1461a910
Merge pull request #8563 from penpot/superalex-fix-negative-insets
...
🐛 Fix negative insets
2026-03-10 15:08:39 +01:00
Andrey Antukh
98c1503bca
⏪ Backport serveral plugin types documentation
2026-03-10 15:05:08 +01:00
Andrey Antukh
9f66220caa
🐛 Fix flex layout container horizontalSizing/verticalSizing via plugin API ( #8555 )
...
Setting horizontalSizing/verticalSizing on a FlexLayoutProxy was
dispatching update-layout-child instead of update-layout, so the
frame's auto-sizing (hug content) was never triggered even though
the getter read back the value correctly.
Also restricts accepted values to #{:fix :auto} (matching shape.cljs)
since frames cannot use :fill, and fixes a copy-paste error that
reported :horizontalPadding instead of :horizontalSizing in error messages.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 15:01:23 +01:00
Aitor Moreno
3112b0d8cf
🐛 Fix grow options not verifying text-editor/v2 ( #8571 )
2026-03-10 15:01:23 +01:00
Andrey Antukh
ab90500ec8
🐛 Fix download-image to properly handle network errors and non-2xx responses ( #8554 )
...
The download-image function in app.media silently succeeded when the
remote image URL was unreachable or returned an error status code,
causing create-file-media-object-from-url to report success with no
actual image stored.
Add exception handling for connection refused, timeouts, and I/O errors
around the HTTP request, and validate the HTTP status code in
parse-and-validate before processing the response body.
Fixes #8499
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 15:01:23 +01:00
Pablo Alba
3141f67cd7
✨ Add subscription info for nitrate
2026-03-10 14:55:12 +01:00
Aitor Moreno
4bfd5194f6
🐛 Fix grow options not verifying text-editor/v2 ( #8571 )
2026-03-10 14:41:50 +01:00
Andrey Antukh
0f47c30349
Merge branch 'main' into staging
2026-03-10 14:39:16 +01:00
Andrey Antukh
68fbacf8b3
Merge tag '2.14.0-RC2'
2026-03-10 14:38:58 +01:00
Andrey Antukh
7ab5f241da
🐛 Fix TypeError when path content is nil in get-points calls
...
Use nil-safe path/get-points wrapper (some-> based) instead of
direct path.segment/get-points calls in edition.cljs to prevent
'Cannot read properties of undefined (reading get)' crash.
Add nil-safety test to verify path/get-points returns nil without
throwing when content is nil.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 12:21:13 +00:00
Andrey Antukh
32cf95265a
📚 Add GitHub Copilot instructions ( #8548 )
2026-03-10 13:12:15 +01:00
Elena Torró
bd28131357
Merge pull request #8559 from penpot/superalex-fix-text-strokes-opacity
...
🐛 Fix text stroke opacity causing different colors on overlapping glyphs
2026-03-10 13:03:54 +01:00
Alejandro Alonso
0f34677ba7
🐛 Fix negative insets
2026-03-10 12:42:08 +01:00
Alejandro Alonso
024f779cab
🐛 Fix text stroke opacity causing different colors on overlapping glyphs
2026-03-10 12:36:53 +01:00
Andrey Antukh
70030fa9e3
🐛 Fix download-image to properly handle network errors and non-2xx responses ( #8554 )
...
The download-image function in app.media silently succeeded when the
remote image URL was unreachable or returned an error status code,
causing create-file-media-object-from-url to report success with no
actual image stored.
Add exception handling for connection refused, timeouts, and I/O errors
around the HTTP request, and validate the HTTP status code in
parse-and-validate before processing the response body.
Fixes #8499
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 10:04:07 +01:00
Andrey Antukh
0de482da9d
⬆️ Update pnpm to 10.31.0 across all submodules ( #8549 )
2026-03-10 10:03:05 +01:00
Andrey Antukh
8d342e9374
🐛 Fix flex layout container horizontalSizing/verticalSizing via plugin API ( #8555 )
...
Setting horizontalSizing/verticalSizing on a FlexLayoutProxy was
dispatching update-layout-child instead of update-layout, so the
frame's auto-sizing (hug content) was never triggered even though
the getter read back the value correctly.
Also restricts accepted values to #{:fix :auto} (matching shape.cljs)
since frames cannot use :fill, and fixes a copy-paste error that
reported :horizontalPadding instead of :horizontalSizing in error messages.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 09:59:54 +01:00
Aitor Moreno
5474b1890b
Merge pull request #8558 from penpot/superalex-fix-embedded-editor-deselect-text-shape
...
🐛 Fix embedded editor deselect text shape
2026-03-10 09:54:01 +01:00
Alejandro Alonso
3e0cef4a3c
🐛 Fix embedded editor deselect text shape
2026-03-10 07:39:13 +01:00
Andrey Antukh
e5f321c8f1
Merge remote-tracking branch 'origin/develop' into develop
2026-03-09 21:28:11 +01:00
Andrey Antukh
657546a993
Merge remote-tracking branch 'origin/staging' into develop
2026-03-09 21:27:50 +01:00
Pablo Alba
b0ad6d7fdb
✨ Mark the default team for an user in an org with the default flag ( #8552 )
2026-03-09 17:46:10 +01:00
Elena Torró
052417cd10
Merge pull request #8551 from penpot/ladybenko-13536-fix-position-absolute
...
🐛 Fix ordering of absolute shapes with no z-index
2026-03-09 17:09:15 +01:00
Elena Torro
d948761090
🐛 Fix WebGL context lost error to raise an exception and show the exception page
2026-03-09 17:05:10 +01:00
Belén Albeza
a2c89a816a
🐛 Fix ordering of absolute shapes with no z-index
2026-03-09 16:50:55 +01:00
Marina López
ab20019e81
✨ Add show version notes when navigate from CC
2026-03-09 16:32:07 +01:00
Elena Torró
6c20bfbc9b
Merge pull request #8545 from penpot/superalex-fix-non-uniform-stroke-scaling-path-shapes-wasm
...
🐛 Fix non-uniform stroke scaling on path shapes in WASM renderer
2026-03-09 16:23:50 +01:00
Andrey Antukh
05c71f7b75
📚 Add GitHub Copilot instructions ( #8548 )
2026-03-09 16:23:28 +01:00
Luis de Dios
adc3fa41e9
🎉 Add workspace menu for MCP server
2026-03-09 13:02:14 +01:00
Alejandro Alonso
bdfa176b2f
Merge pull request #8526 from penpot/azazeln28-feat-double-click-word-boundary-selection
...
🎉 Add word boundary selection
2026-03-09 12:53:30 +01:00
Alejandro Alonso
84539dac1f
🐛 Fix non-uniform stroke scaling on path shapes in WASM renderer
2026-03-09 12:42:09 +01:00
Pablo Alba
34d29328e6
🐛 Fix bad size on switching a layout with fixed sizing ( #8504 )
2026-03-09 12:12:03 +01:00
Eva Marco
c59cc4dff4
🐛 Fix tooltip position on absolute positioned elements ( #8509 )
...
* 🐛 Fix tooltip position on absolute positioned elements
* 🐛 Fix tests
2026-03-09 12:11:39 +01:00
Eva Marco
0a5de10dff
🐛 Fix name on broken color token ( #8527 )
2026-03-09 12:10:26 +01:00
Pablo Alba
b3a6468697
✨ Add nitrate method for notify user when is added to organization ( #8531 )
2026-03-09 12:09:42 +01:00
Alonso Torres
40c9466718
🐛 Fix type in plugin attribute ( #8543 )
2026-03-09 12:06:56 +01:00
Alonso Torres
321b53e936
✨ Add improvements on variants plugins ( #8482 )
2026-03-09 10:24:16 +01:00
Andrey Antukh
0ceadada35
🐛 Fix invalid data on layout flex dir shape property
2026-03-09 10:09:07 +01:00
Alejandro Alonso
a059284a30
Merge pull request #8462 from penpot/ladybenko-13452-error-types
...
🎉 Improved wasm error handling
2026-03-09 10:08:43 +01:00
Andrey Antukh
77955d7f91
✨ Add several redundant checks for library-id on file rpc methods
2026-03-09 10:01:29 +01:00
Andrey Antukh
151238e518
💄 Add cosmetic change to link-file-to-library rpc method impl
2026-03-09 10:01:29 +01:00
Andrey Antukh
591d63e470
✨ Add better error report on wrong input on logging helpers
2026-03-09 10:01:09 +01:00
Belén Albeza
2ace44c9e5
✨ Create wasm_error macro to handle Wasm errors differentiating critical vs recoverable
2026-03-09 07:22:32 +01:00
Marina López
5102ae2a58
✨ Add API get-penpot-version
2026-03-04 15:27:59 +01:00
andrés gonzález
5a6be141fd
📚 Add info about using math in tokens ( #8510 )
2026-03-04 14:59:04 +01:00
Aitor Moreno
208b3329fd
Merge pull request #8532 from penpot/superalex-fix-cut-copy-paste
...
🐛 Fix cut copy paste
2026-03-04 13:38:11 +01:00
Alejandro Alonso
da372099f7
🐛 Fix cut copy paste
2026-03-04 13:20:11 +01:00
María Valderrama
de5276d638
💄 Add missing nitrate banner
2026-03-04 11:35:56 +01:00
Aitor Moreno
0b41a910bf
🎉 Add word boundary selection
2026-03-04 10:59:46 +01:00
Eva Marco
cc3033735b
🐛 Fix showing warning when no shape is selected ( #8515 )
2026-03-04 10:58:36 +01:00
Xaviju
e1d556f4aa
🐛 Sort tokens by name ( #8488 )
2026-03-04 10:33:29 +01:00
Andrey Antukh
c3f5117757
🐛 Fix unhandled exception on using decimals on stroke row ( #8405 )
2026-03-04 09:47:14 +01:00
Elena Torró
ffae6d4281
Merge pull request #8524 from penpot/azazeln28-feat-text-editor-theme-conf
...
🎉 Text Editor v3 theme conf
2026-03-04 09:37:56 +01:00
Andrey Antukh
86e851f408
🐛 Fix incorrect version visibility on workspace ( #8463 )
...
* 🐛 Add missing order by clause to snapshot query
This fixes the incorrect snapshot visibility when file
has a lot of versions.
* ⚡ Reduce allocation on milestone-group* component
* 🐛 Fix milestone group timestamp formatting
* 📎 Update changelog
* 🐛 Fix scroll on history panel
---------
Co-authored-by: Eva Marco <evamarcod@gmail.com>
2026-03-04 09:27:51 +01:00
Marina López
4da9aa844b
💄 Align button with other elements
2026-03-04 09:24:57 +01:00
Andrey Antukh
a4351d133b
✨ Add minor improvements to error reporting ( #8402 )
2026-03-04 09:12:19 +01:00
Andrey Antukh
b704a7da0e
🐛 Fix inconsistency between plugins api doc and impl for shadows ( #8454 )
...
Related to offset-x and offset-y attributes.
2026-03-04 09:09:27 +01:00
Mihai
1ce295f5e5
🐛 Auto-focus search input when shortcuts panel opens
...
Fixes #8481
2026-03-04 09:09:24 +01:00
Andrey Antukh
478f631df5
🐛 Don't throw exception when picker is closed and image is still uploading ( #8453 )
...
* ✨ Add notification tag to media uploading
This avoid hidding error messages once the upload
is finished.
* 🐛 Don't throw exception when picker is closed and image is still uploading
2026-03-04 09:07:15 +01:00
Dominik Jain
c9d9e493e7
🎉 Prepare npm package for MCP server ( #8473 )
...
* 🎉 Prepare npm package for MCP server
* 🐛 Re-establish Windows compatibility of MCP server build script
Use node instead of cp to copy files
* ✨ Set version for MCP npm tarball based on git tag
* Add scripts/set-version to set the version in package.json
based on git describe information
* Add scripts/pack to perform the packaging
2026-03-04 08:41:28 +01:00
Belén Albeza
287b9d4597
🔧 Remove deleting node_modules on frontend watch script ( #8525 )
2026-03-04 08:28:58 +01:00
Elena Torró
336095486e
Merge pull request #8501 from penpot/superalex-fix-frame-clipping-artifact
...
🐛 Fix frame clipping artifact
2026-03-03 16:16:21 +01:00
Aitor Moreno
ccb272784f
🎉 Add TextEditor theme customization
2026-03-03 16:04:41 +01:00
Elena Torró
52b4e803ff
Merge pull request #8492 from penpot/azazeln28-fix-text-editor-initialization
...
♻️ Refactor Text Editor v3
2026-03-03 15:59:15 +01:00
Aitor Moreno
95aa63374c
♻️ Refactor Text Editor v3
2026-03-03 15:49:26 +01:00
Elena Torro
1800deddd5
🔧 Await promise correctly to fix tests flakyness
2026-03-03 13:01:32 +01:00
Marina López
eb5b3a3fe5
✨ Add link to see current plan
2026-03-03 12:56:40 +01:00
Elena Torro
9de591d9d7
🔧 Await promise correctly to fix tests flakyness
2026-03-03 12:34:18 +01:00
Andrey Antukh
57b9efbcd7
🐛 Fix redo operation on commenting on workspace ( #8455 )
2026-03-03 09:50:23 +01:00
Elena Torró
ab40f3c888
Merge pull request #8518 from penpot/superalex-fix-blur-affecting-extra-shapes
...
🐛 Fix blur affecting extra shapes
2026-03-03 09:24:55 +01:00
andrés gonzález
db0a8b65ca
📚 Add info about tokens remapping ( #8503 )
2026-03-03 09:02:31 +01:00
andrés gonzález
7c326e05e4
📚 Fix spanish text at docs ( #8502 )
2026-03-03 09:02:08 +01:00
andrés gonzález
58e86a545a
📚 Add info about grouping tokens ( #8508 )
2026-03-03 09:01:48 +01:00
Alejandro Alonso
9fa027c1df
🐛 Fix blur affecting extra shapes
2026-03-03 08:48:43 +01:00
Andrés Moya
31478c6afc
🐛 Fix validation of shadow token with missing keys ( #8507 )
2026-03-02 16:17:12 +01:00
Julien Déramond
cc2c104e16
📚 Move Design Tokens > Spacing image to the Spacing section ( #8487 )
...
Signed-off-by: Julien Déramond <julien.deramond@thalesgroup.com>
2026-03-02 15:50:32 +01:00
Andrey Antukh
0b8ac2508e
📎 Update changelog
2026-03-02 14:57:03 +01:00
Andrey Antukh
c35f70edc5
📎 Add minor adjustments
2026-03-02 14:57:03 +01:00
bittoby
c18375c66e
✨ Add Tab/Shift+Tab navigation to rename layers sequentially
2026-03-02 14:57:03 +01:00
Andrey Antukh
585a2d7523
🐛 Fix merge issues
2026-03-02 14:02:05 +01:00
Andrey Antukh
23e77b5f03
🐛 Fix merge issues
2026-03-02 13:35:36 +01:00
Andrey Antukh
7067cc2286
Merge remote-tracking branch 'origin/staging-render' into develop
2026-03-02 12:22:47 +01:00
Andrey Antukh
0644bd817e
Merge remote-tracking branch 'origin/staging' into staging-render
2026-03-02 12:20:08 +01:00
Dominik Jain
b587e2e8ec
✨ MCP: Improve Streamable HTTP session handling & logging ( #8493 )
...
* ✨ Reintroduce proper session management for /mcp endpoint
Reuse transport and server instance based on session ID in header
* ✨ Periodically clean up stale streamable HTTP sessions
Add class StreamableSession to improve type clarity
* ✨ Avoid recreation of objects when instantiating McpServer instances
Precompute the initial instructions and all tool-related data
* ✨ Improve logging of tool executions
2026-03-02 11:27:13 +01:00
Maks
d61e57099e
🐛 Make boolean environment variable parsing case-insensitive ( #8500 )
...
Resolves configuration validation errors when boolean environment variables
are provided with mixed case (e.g., PENPOT_TELEMETRY_ENABLED=True). The
parse-boolean function now handles all string variations: true, True, TRUE,
false, False, FALSE.
opencode/Bug-Hunter @ ollama/GLM4.6 with Love
Signed-off-by: Max <60165+34x@users.noreply.github.com>
2026-03-02 11:26:44 +01:00
Alejandro Alonso
cfe11a930c
🐛 Fix frame clipping artifact
2026-03-02 09:32:30 +01:00
Pablo Alba
97d3e31593
✨ Add success popup for nitrate license subscription
2026-02-27 12:28:09 +01:00
Aitor Moreno
740e790585
🎉 Add active-features? helper function ( #8490 )
2026-02-27 12:12:27 +01:00
Dominik Jain
8882f18db4
🚑 Fix multi-user mode MCP connections
...
Previously, only the latest streamable HTTP connection was operational
2026-02-26 17:39:33 +01:00
Alejandro Alonso
a2f8fca6ea
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-26 14:05:32 +01:00
Elena Torró
ed23c55550
Merge pull request #8483 from penpot/superalex-fix-opacity-for-dotted-strokes
...
🐛 Fix opacity for dotted strokes
2026-02-26 13:41:43 +01:00
Alejandro Alonso
5b5c868a87
🐛 Fix opacity for dotted strokes
2026-02-26 13:31:12 +01:00
Eva Marco
35c829a981
🐛 Add token name in broken token tooltip ( #8480 )
2026-02-26 13:29:08 +01:00
Luis de Dios
b5874b365b
Merge pull request #8414 from oraios/mcp-dev-latest
...
✨ Update MCP server to account for recent API changes & general improvements
2026-02-26 13:18:19 +01:00
Alejandro Alonso
1a3ac6bdf8
Merge pull request #8475 from penpot/elenatorro-13524-fix-token-highlight
...
🐛 Fix rotation token highlight and its application on the text-ed…
2026-02-26 13:00:45 +01:00
Elena Torró
de5d4f4292
Merge pull request #8460 from penpot/azazeln28-refactor-text-cursor
...
♻️ Refactor TextCursor and TextPositionWithAffinity
2026-02-26 12:29:43 +01:00
Elena Torro
2bd7c10e09
🔧 Fix variable name from wrong merge
2026-02-26 12:19:20 +01:00
Juan de la Cruz
7066afa01a
🎉 Add new slides 2.14 content ( #8478 )
2026-02-26 12:19:15 +01:00
Elena Torro
495371c079
🐛 Fix rotation token highlight and its application on the text-editor-v2
2026-02-26 11:57:11 +01:00
Elena Torró
75b1c0c1b1
Merge pull request #8280 from penpot/niwinz-layers-sidebar-changes
...
⚡ Add serveral performance optimization to layers sidebar
2026-02-26 11:37:57 +01:00
Dalai Felinto
0ff5574b12
✨ Add the ability to import tokens from Linked Library
...
Add the option to import tokens from a linked library.
I know there are plans to link the tokens in together with the library.
Once this happens this patch can be reverted. Until then it helps a lot
to use a design system that relies on themes.
Before that someones would need to:
* Download the design system / add to their team.
* Open the file, download the tokens.
For every new file:
* Link the Design System library.
* Import the tokens file.
With this patch all you need to get started is to download the design
system and add to your team. From their importing the links is done on
the same pop-up that is used to import the tokens.
---
Technical considerations:
I try adding this as a dialog that is called once the library is
imported. I ran into a few issues though:
* To find whether the library has tokens (and thus show the dialog) I
would need to extend library summary to include tokens.
* I couldn't find a reliable way to import the tokens after importing
the library without resorting to a timer :/
I'm sure both of those hurdles are doable, I just wasted enough time
trying it to the point I decided on a different approach.
Signed-off-by: Dalai Felinto <dalai@blender.org>
📎 Fix minor issues and linter reports
📎 Reuse translations
2026-02-26 11:37:56 +01:00
Andrey Antukh
5ea4b03108
📎 Fix e2e tests
2026-02-26 11:13:31 +01:00
Andrey Antukh
0fef5b7e5d
⚡ Memoize variant props on layer-item
2026-02-26 11:13:31 +01:00
Andrey Antukh
8a1fdd9dd1
⚡ Reduce watchers for layer-item rename mechanism
2026-02-26 11:13:31 +01:00
Andrey Antukh
a080a9e646
⚡ Add micro optimizations to layer-item component
2026-02-26 11:13:31 +01:00
Andrey Antukh
a728d5a5f2
💄 Add minor cosmetic changes to filters-tree component
2026-02-26 11:13:30 +01:00
Andrey Antukh
6072234230
⚡ Add more selective debouncing for layers-tree
2026-02-26 11:13:30 +01:00
Andrey Antukh
41f2877801
⚡ Reduce allocation on layers-tree component
2026-02-26 11:13:30 +01:00
Andrey Antukh
e2576d049a
💄 Add minor cosmetic changes on event listening
2026-02-26 11:13:30 +01:00
Andrey Antukh
4db9c373e6
💄 Fix component naming style related to layer-item
2026-02-26 11:13:30 +01:00
Andrey Antukh
09a9407867
💄 Change props naming on layer-item and related components
2026-02-26 11:13:30 +01:00
Andrey Antukh
7be03e2ea6
⚡ Remove usage of use-var on layer-item
...
Focus on use more basic primitves on performance
sensitive components
2026-02-26 11:13:30 +01:00
Eva Marco
9345902a62
🐛 Fix cannot apply second token after creation while shape is selected ( #8476 )
2026-02-26 10:53:25 +01:00
Alonso Torres
a4190df073
🐛 Fix problem with flex.appendChild with naturalOrdering on plugins API ( #8470 )
2026-02-26 10:47:44 +01:00
Alexis Morin
05521a84d4
🌐 Add Canadian French
2026-02-26 10:26:10 +01:00
Eva Marco
47dae090ed
🐛 Add notification to token applied during text edition ( #8434 )
2026-02-26 10:24:48 +01:00
MkDev11
e30c01db26
🎉 Allow duplicating color and typography styles ( #8449 )
...
Add duplicate functionality for colors and typographies in the Assets
panel, matching the existing duplicate feature for components.
Changes:
- Add duplicate-color and duplicate-typography events in libraries
- Add Duplicate context menu option for colors
- Add Duplicate context menu option for typographies
- Update CHANGES.md
Closes #2912
Signed-off-by: mkdev11 <98430825+MkDev11@users.noreply.github.com>
2026-02-26 10:13:34 +01:00
Aitor Moreno
05165ce014
🐛 Fix board title cropped using wrong side
2026-02-26 09:35:56 +01:00
Aitor Moreno
96677713fc
🐛 Fix 45 rotated board doesn't show title properly
2026-02-26 09:34:15 +01:00
Pablo Alba
c27f874e74
✨ Show subscription type nitrate
2026-02-26 09:09:48 +01:00
Alejandro Alonso
901aa9bf09
Merge pull request #8403 from penpot/azazeln28-issue-13306-45-degree-rotated-board
...
🐛 Fix 45 rotated board doesn't show title properly
2026-02-26 07:57:12 +01:00
Aitor Moreno
0aea699482
🐛 Fix board title cropped using wrong side
2026-02-25 16:14:40 +01:00
Aitor Moreno
48d2135cf3
🐛 Fix 45 rotated board doesn't show title properly
2026-02-25 16:14:24 +01:00
Andrey Antukh
d680973c85
Merge remote-tracking branch 'origin/staging' into develop
2026-02-25 15:31:49 +01:00
Alejandro Alonso
0d194decbf
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-25 14:26:42 +01:00
alonso.torres
f41eca12f4
🐛 Fix problem with frame title movement
2026-02-25 14:14:08 +01:00
Andrés Moya
c72e9ee1a0
🐛 Convert token values for the plugins
2026-02-25 14:04:20 +01:00
Andrés Moya
ba87ea1a44
🔧 Add tokenscript flag and more validations to token values
2026-02-25 14:04:20 +01:00
Andrés Moya
72a855d4ac
🐛 Fix activeSets in themes API
2026-02-25 14:04:20 +01:00
Eva Marco
e2377e8fa8
🐛 Fix input width on composite token form
2026-02-25 14:04:20 +01:00
Eva Marco
c08cff68d7
♻️ Refactor token test to match new render ( #8442 )
...
* ♻️ Refactor apply token test to match new render
* ♻️ Refactor crud token test with new render
* ♻️ Refactor general token tes tto use new render
* ♻️ Refactor remapping token tests to use new render
* ♻️ Refactor token set tests to use new render
* ♻️ Refactor token theme tests to use new render
* ♻️ Refactor token tree tests to use new render
2026-02-25 14:03:31 +01:00
Luis de Dios
a75de11e70
✨ Improve MCP section in the dashboard
2026-02-25 13:17:10 +01:00
alonso.torres
701443c3d7
✨ Add disconnect to MCP plugin
2026-02-25 13:16:56 +01:00
Alejandro Alonso
baa44119f4
Merge pull request #8468 from penpot/azazeln28-issue-13315-fix-text-alignment-options
...
🐛 Fix text alignment options
2026-02-25 13:15:13 +01:00
Aitor Moreno
7d3e434167
Merge pull request #8457 from penpot/superalex-improve-cursor-blinking
...
🎉 Improve cursor blinking
2026-02-25 12:50:05 +01:00
Dominik Jain
0974bca2c0
✨ Improve instructions on writable shape properties
2026-02-25 12:49:26 +01:00
Dominik Jain
927455926f
📎 Update Serena project file
2026-02-25 12:48:38 +01:00
Aitor Moreno
40233e3316
🐛 Fix text alignment options
2026-02-25 12:47:07 +01:00
Alejandro Alonso
7e287bacfd
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-25 12:17:38 +01:00
Andrey Antukh
b4c279ad7b
💄 Add minor cosmetic refactor on how plugin flags are stored
...
The main idea behind this, is move all plugin related stuff from
app.main.data.plugins into app.plugins.* and make them more consistent.
Also the intention that put all plugins related state under specific
prefix on the state.
2026-02-25 11:35:03 +01:00
Alejandro Alonso
e2b5f936f5
🐛 Fix stroke artifacts
2026-02-25 11:27:05 +01:00
Elena Torró
614c6ed300
Merge pull request #8461 from penpot/superalex-fix-auto-width-affects-text-selection
...
🐛 Fix auto width affects text selection
2026-02-25 11:22:38 +01:00
Alejandro Alonso
4975f28a3d
🐛 Fix auto width affects text selection
2026-02-25 11:11:45 +01:00
Alejandro Alonso
f5109c7df2
🎉 Refactor caret blinking to reduce CPU usage
2026-02-25 11:08:56 +01:00
Elena Torró
12a1cb1d32
Merge pull request #8451 from penpot/superalex-update-skia-version
...
🎉 Update skia version
2026-02-25 11:07:00 +01:00
Alejandro Alonso
84ba6f0002
🎉 Update skia version
2026-02-25 10:30:29 +01:00
Aitor Moreno
a12b59d101
♻️ Refactor TextCursor and TextPositionWithAffinity
2026-02-25 09:59:02 +01:00
Pablo Alba
e4b69426e9
✨ Add subscribe to nitrate dialog
2026-02-24 14:45:31 +01:00
Alonso Torres
c972c06142
🐛 Fix problem with export dialog on single board ( #8426 )
2026-02-24 14:41:35 +01:00
Elena Torró
32d4026641
Merge pull request #8338 from penpot/azazeln28-11826-compute-selection-rects-from-pointer-events
...
🎉 Add compute selection rects from pointer events
2026-02-24 12:53:08 +01:00
Aitor Moreno
4477b2b4a0
🎉 Compute selection rects from pointer events
2026-02-24 11:09:45 +01:00
Andrey Antukh
bcc755b0be
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-24 00:09:57 +01:00
Andrey Antukh
9e51fa198a
Merge remote-tracking branch 'origin/staging' into staging-render
2026-02-24 00:09:41 +01:00
Andrey Antukh
d176da8012
✨ Add jfr and jcmd to the backend docker image ( #8446 )
2026-02-24 00:08:14 +01:00
Andrey Antukh
20862c2da3
🐛 Fix incorrect plugin icon resolution
2026-02-24 00:07:30 +01:00
Dominik Jain
4e577d37b8
✨ Add information on the usage of component variants
2026-02-23 21:37:55 +01:00
Dominik Jain
40fb4edc4a
✨ PenpotUtils: Update isContainedIn to use textBounds, adding getBounds
...
Follow-up to https://github.com/penpot/penpot-mcp/issues/30
2026-02-23 17:27:25 +01:00
Dominik Jain
e305ad1fa8
✨ Update MCP instructions to mention new textBounds property
...
Follow-up to https://github.com/penpot/penpot-mcp/issues/30
2026-02-23 17:25:27 +01:00
Andrey Antukh
1b8afccba2
✨ Remove usage of multipart body size config on backend
2026-02-23 14:44:44 +01:00
Yamila Moreno
dd856ecf50
♻️ Deprecate PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE envvar
2026-02-23 13:48:01 +01:00
Pablo Alba
d159244ea6
✨ Nitrate send subscription type
2026-02-23 13:43:31 +01:00
Elena Torró
f4e79af3cd
Merge pull request #8438 from penpot/alotor-fix-flex-layout-issue
...
🐛 Fix problem with flex layout propagation
2026-02-23 13:09:04 +01:00
alonso.torres
3e758826fe
🐛 Fix problem with flex layout propagation
2026-02-23 12:49:27 +01:00
Aitor Moreno
2cf66c948d
Merge pull request #8427 from penpot/superalex-fix-blur-0-artifacts-2
...
🐛 Fix blur 0 artifacts
2026-02-23 12:25:54 +01:00
Andrey Antukh
145198c148
📎 Use proper version tag on frontend index template
2026-02-23 12:17:58 +01:00
Dalai Felinto
27c4ddba10
📎 Use generic error when failing to download font
...
The font specific error string was never added to en.po (my own mistake).
Looking further into it, there is no need to add more work to
translators when a generic error goes a long way.
Specially since this is not expected to happen.
2026-02-23 09:42:51 +01:00
alonso.torres
eddfc4c4b2
🐛 Fix problem with createText in plugins
2026-02-23 09:35:30 +01:00
alonso.torres
e6e34af391
🐛 Show outline on hidden paths
2026-02-23 09:34:50 +01:00
Alejandro Alonso
4ee908fc89
Revert " 🐛 Fix stroke artifacts"
...
This reverts commit bdcf448f3f69841721b1340c8d2a52a36f637abc.
2026-02-23 07:23:41 +01:00
Alejandro Alonso
bdcf448f3f
🐛 Fix stroke artifacts
2026-02-23 07:23:12 +01:00
Aitor Moreno
c58054d19c
Merge pull request #8408 from penpot/ladybenko-always-mock-config-playwright
...
🔧 Always mock config.js in Playwright
2026-02-20 14:26:45 +01:00
Alejandro Alonso
a7ab506c5c
🐛 Fix blur 0 artifacts
2026-02-20 13:37:27 +01:00
Marina López
16a067c0ae
✨ Add nitrate subscription plan card
2026-02-20 13:15:26 +01:00
Alejandro Alonso
c7f644ab2a
Merge pull request #8420 from penpot/elenatorro-13426-improve-pan-and-zoom-for-blur
...
🔧 Improve performance on shapes with blur
2026-02-20 12:49:24 +01:00
Andrés Moya
3d41dc276e
🐛 Fix resolve tokens with tokenscript when type is font family
2026-02-20 12:41:17 +01:00
Pablo Alba
90288e32d5
✨ Show different info on nitrate dialog by connectivity
2026-02-20 10:19:25 +01:00
Elena Torró
cb5cacbcee
Merge pull request #8413 from penpot/alotor-fix-error-emtpy-text
...
🐛 Fix problem with empty text
2026-02-19 17:09:03 +01:00
Dominik Jain
f43de05d3d
✨ Remove workaround for atob function being unavailable
...
Follow-up to https://github.com/penpot/penpot-mcp/issues/17
2026-02-19 17:06:36 +01:00
Dominik Jain
d019972bca
✨ Account for Token.resolvedValue now being implemented
...
Update MCP instructions, removing workaround for #8341
2026-02-19 17:06:36 +01:00
Dominik Jain
7fceb92673
✨ Apply naturalChildOrdering, removing workarounds
...
Set the flag to true during code execution, resetting it to the
original value afterwards.
If the flag is unavailable, issue an error message, which is passed
on to the user via the LLM.
Remove instructions that served to work around the corresponding
issues:
* https://github.com/penpot/penpot-mcp/issues/28
* https://github.com/penpot/penpot-mcp/issues/32
2026-02-19 17:06:36 +01:00
Elena Torro
337cfc2d3e
🔧 Improve performance on shapes with blur
2026-02-19 16:50:42 +01:00
Dominik Jain
426053ac17
✨ Update API type information for the MCP server
...
This resolves https://github.com/penpot/penpot-mcp/issues/31
2026-02-19 16:22:10 +01:00
Dominik Jain
a5da7ceb2f
✨ Update TokenProperty values in system prompt
...
Update based on changes to camelCase.
See https://github.com/penpot/penpot-mcp/issues/38
2026-02-19 16:21:58 +01:00
Dominik Jain
a7e3e78e0c
✨ Update Serena overview memory and initial instructions
2026-02-19 16:21:49 +01:00
Luis de Dios
a82cf34d35
Merge pull request #8415 from oraios/mcp-prod
...
✨ MCP changes to improve handling of use cases 2 & 3
2026-02-19 16:01:10 +01:00
Alejandro Alonso
3f277b7daf
Merge pull request #8416 from penpot/luis-revert-mcp-changes
...
Revert "✨ MCP changes to improve handling of use cases 2 & 3…
2026-02-19 15:54:56 +01:00
Belén Albeza
c2ee31e791
✨ Fix some flaky text editor v2 tests
2026-02-19 15:46:16 +01:00
Luis de Dios
21a1320f16
Revert " ✨ MCP changes to improve handling of use cases 2 & 3 ( #8369 )"
...
This reverts commit 0a54d25d5a166edf1575614a53e1bc96827e2ebd.
2026-02-19 14:46:44 +01:00
Dominik Jain
0a54d25d5a
✨ MCP changes to improve handling of use cases 2 & 3 ( #8369 )
...
* 📎 Fix spelling errors
* 🚧 Temporary workaround for sizing options not working
Add instructions explaining that FlexLayout sizing options do not work.
Relates to https://github.com/penpot/penpot-mcp/issues/39
* 🚧 Temporary workaround for Token resolvedValue not working
Instruct LLM to not use this property.
To be reverted once #8341 is fixed.
* ✨ Improve description of token values
* ✨ Make clear that ExecuteCodeTool serialises automatically
LLMs sometimes decide to apply serialisation themselves, which is unnecessary,
and which this seeks to prevent.
* 🚧 Temporary workaround for fills/strokes being read-only
Add instructions to make the limintations.
Once #8357 is resolved, this can be reverted.
* ♻️ Move high-level instructions to the end
In this way, they can reasonably reference the more low-level concepts
* 📚 Add instructions on cloning and the branch to use
* 📚 Revise instructions on prerequisites
* Do not state that pnpm must be available after Node.js installation
(it is installed by corepack)
* Do not state that caddy is required; it is required only when
rebuilding the API documentation for the server, which is not
a task relevant to regular users.
* Do not strongly suggest that MCP users should be using the devenv.
* Windows: Add pointer to use Git Bash
* 📚 Remove unnecessary details on what the boostrap script does
* 📚 Update information on repository structure
* 📚 Add section on 'Development' to README
2026-02-19 14:29:07 +01:00
Pablo Alba
a19860a77b
✨ Add nitrate popup
2026-02-19 12:08:47 +01:00
alonso.torres
360937f613
🐛 Fix problem with empty text
2026-02-19 12:00:05 +01:00
alonso.torres
426c8ea714
🐛 Fix type annotation for layoutCell property in plugins
2026-02-19 10:26:51 +01:00
alonso.torres
75e8d226d9
✨ Add textBounds property in plugins
2026-02-19 10:26:51 +01:00
alonso.torres
d42f5db1f0
🐛 Fix problem with horizontalSizing/verticalSizing in plugins
2026-02-19 10:26:51 +01:00
alonso.torres
03d0c62de1
🐛 Send a keep alive message in websocket connection
2026-02-19 10:26:51 +01:00
alonso.torres
698852cbeb
🐛 Fix permissions for mcp plugin
2026-02-19 10:26:51 +01:00
Belén Albeza
f6d0414449
🔧 Use config flag for variants tests
2026-02-19 09:56:28 +01:00
Belén Albeza
4d05827fa9
🔧 Use disable-onboarding config flag instead of mocking get-profile in playwright
2026-02-19 09:56:27 +01:00
Belén Albeza
48fb9fa6ea
✨ Fix broken playwright tests
2026-02-19 09:56:27 +01:00
Dominik Jain
7cf88359fa
📚 Add section on 'Development' to README
2026-02-18 20:22:34 +01:00
Dominik Jain
ea4c6c3998
📚 Update information on repository structure
2026-02-18 20:17:05 +01:00
alonso.torres
cee974a906
🐛 Fix problem with tokens in plugins
2026-02-18 17:20:46 +01:00
alonso.torres
5cc5e8771e
🐛 Fix problem with tokens in plugins
2026-02-18 17:01:47 +01:00
Belén Albeza
c74cf3fa37
🔧 Make config.js automatically mocked in playwright tests
2026-02-18 16:54:03 +01:00
Dominik Jain
f8dd02169c
📚 Remove unnecessary details on what the boostrap script does
2026-02-18 11:14:21 +01:00
Dominik Jain
ebdae2cf65
📚 Revise instructions on prerequisites
...
* Do not state that pnpm must be available after Node.js installation
(it is installed by corepack)
* Do not state that caddy is required; it is required only when
rebuilding the API documentation for the server, which is not
a task relevant to regular users.
* Do not strongly suggest that MCP users should be using the devenv.
* Windows: Add pointer to use Git Bash
2026-02-18 11:11:25 +01:00
Dominik Jain
79d3469f36
📚 Add instructions on cloning and the branch to use
2026-02-18 10:56:21 +01:00
Aitor Moreno
7c1ddd3d7d
Merge pull request #8382 from penpot/alotor-fix-components-propagation
...
🐛 Fix problem with text change component propagation and undo
2026-02-18 10:37:06 +01:00
Alejandro Alonso
4965f6d859
Merge pull request #8394 from penpot/elenatorro-fix-watch
...
🔧 Fix watch script
2026-02-18 10:11:44 +01:00
Elena Torro
a3cd90da7f
🔧 Fix watch script
2026-02-18 09:57:25 +01:00
Andrey Antukh
942da56e78
Merge branch 'staging-render' into develop
2026-02-17 21:56:54 +01:00
Andrey Antukh
2b130c7e52
Merge branch 'staging' into staging-render
2026-02-17 21:54:23 +01:00
Alejandro Alonso
a1a7f643ec
Merge pull request #8390 from penpot/niwinz-staging-exporter-bundle
...
🐛 Fix exporter bundle deps issue with pnpm
2026-02-17 18:38:50 +01:00
Andrey Antukh
70013fde74
🐛 Fix exporter bundle deps issue with pnpm
2026-02-17 17:46:09 +01:00
Andrey Antukh
916107ce04
📎 Update pnpm-lock.yaml file on plugins module
2026-02-17 17:42:39 +01:00
Andrey Antukh
8eb5bd3dd8
🔧 Add minor adjustments to mcp build-types script
2026-02-17 17:42:39 +01:00
Andrey Antukh
5718698bff
✨ Update mcp api_types.yml file with latest plugins doc updates
2026-02-17 17:42:39 +01:00
Elena Torró
c41b9214c5
Merge pull request #8387 from penpot/ladybenko-13415-fix-layout-lines
...
🐛 Fix grid overlay persisting after deleting board (wasm)
2026-02-17 17:38:52 +01:00
Elena Torró
fb80c8f45b
Merge pull request #8383 from penpot/superalex-fix-text-stroke-bounds
...
🐛 Fix text stroke bounds
2026-02-17 17:35:38 +01:00
Elena Torró
009dc4485a
Merge pull request #8375 from penpot/alotor-fix-flex-layout-problem
...
🐛 Fix problem with flex layout auto sizing
2026-02-17 17:25:02 +01:00
alonso.torres
b8f3bee3ac
🐛 Fix problem with flex layout auto sizing
2026-02-17 16:40:59 +01:00
Andrey Antukh
f00b222262
Revert " ♻️ Replace some components with DS ones" ( #8384 )
...
* Revert "♻️ Replace some components with DS ones"
This reverts commit 6879f54e5da45b38173c3e2660d88b4ea6939bb0.
* 📎 Restore missing styles
* 📎 Fix tests
---------
Co-authored-by: Luis de Dios <luis.dedios@kaleidos.net>
2026-02-17 16:23:04 +01:00
Elena Torró
b28457860c
Merge pull request #8388 from penpot/ladybenko-fix-cargo-clean
...
🔧 Run cargo clean on devenv start
2026-02-17 15:34:13 +01:00
Belén Albeza
23b268b414
🔧 Run cargo clean on devenv start
2026-02-17 15:08:30 +01:00
Elena Torró
32706a1460
Merge pull request #8386 from penpot/alotor-fix-watch-script
...
🐛 Fix watch script in wasm
2026-02-17 15:08:24 +01:00
Belén Albeza
cd4b9ddd47
✨ Add regression test for bug 13415
2026-02-17 14:32:09 +01:00
alonso.torres
f0e3f1a319
🐛 Fix watch script in wasm
2026-02-17 14:27:36 +01:00
Dominik Jain
6a49b5df8c
♻️ Move high-level instructions to the end
...
In this way, they can reasonably reference the more low-level concepts
2026-02-17 13:16:21 +01:00
Alejandro Alonso
afb252f42e
🔧 Migrate text editor v2 tests to wasm viewport
2026-02-17 12:59:53 +01:00
Belén Albeza
4185a7a6f3
🐛 Fix grid layout lines persisted after board is deleted
2026-02-17 12:58:15 +01:00
Dominik Jain
141847585e
🚧 Temporary workaround for fills/strokes being read-only
...
Add instructions to make the limintations.
Once #8357 is resolved, this can be reverted.
2026-02-17 12:51:48 +01:00
Alejandro Alonso
0dda7bd9ee
🐛 Fix text stroke bounds
2026-02-17 12:25:32 +01:00
alonso.torres
30106f8524
🐛 Fix problem with text change component propagation and undo
2026-02-17 11:54:33 +01:00
Serhii Shvets
2b34767b2b
🐛 Fix Alt/Option to draw shapes from center point
...
Use the Alt/Option key stream (mouse-position-alt) instead of
the Command/Meta stream (mouse-position-mod) so the modifier
is actually detected during shape drawing.
When Alt is held, mirror the mouse point around the initial
click so that the click becomes the center of the drawn shape.
This aligns drawing behavior with resizing (transforms.cljs)
and with other design tools (Figma, Sketch, Illustrator).
Closes #8360
Signed-of-by: Serhii Shvets <justone128@gmail.com>
2026-02-17 11:02:40 +01:00
Andrey Antukh
082c8adb1d
📎 Update changelog
2026-02-17 10:29:05 +01:00
Melvin Laplanche
6cfaeb8a44
🎉 Add woff2 support on user uploaded fonts
...
Signed-off-by: Melvin Laplanche <noreply@melvin.la>
2026-02-17 10:29:05 +01:00
Andrey Antukh
d192cf8893
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-17 10:01:42 +01:00
Andrey Antukh
7ef16a2b69
Merge remote-tracking branch 'origin/staging' into staging-render
2026-02-17 10:01:06 +01:00
Andrey Antukh
137febcbab
📎 Clean changelog
2026-02-17 10:00:42 +01:00
Andrey Antukh
e6fde82609
📎 Add 2.15 to changelog
2026-02-17 10:00:07 +01:00
Andrey Antukh
ecc633efbe
Merge remote-tracking branch 'origin/staging' into develop
2026-02-17 09:59:09 +01:00
Andrey Antukh
f98c0bbd16
📎 Update changelog
2026-02-17 09:58:40 +01:00
Andrey Antukh
dafad0c124
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-17 09:57:51 +01:00
Andrey Antukh
71ec51919e
Merge remote-tracking branch 'origin/staging' into staging-render
2026-02-17 09:55:16 +01:00
Elena Torró
1cb113dfeb
Merge pull request #8379 from penpot/superalex-fix-grouped-component-shadow
...
🐛 Fix grouped component shadow
2026-02-17 09:54:37 +01:00
Elena Torró
b45aec13ab
Merge pull request #8378 from penpot/superalex-fix-focus-mode-simple-component
...
🐛 Fix focus mode for simple component
2026-02-17 09:53:27 +01:00
Luis de Dios
7f3212d5a4
🐛 Fix changelog to remove MCP ( #8380 )
2026-02-17 09:53:12 +01:00
Elena Torró
19592fadd8
Merge pull request #8374 from penpot/ladybenko-13385-fix-restore-version
...
🐛 Fix restore version not updating the canvas (wasm)
2026-02-17 09:50:05 +01:00
Luis de Dios
11690e7428
🐛 Fix copies in mcp server ( #8370 )
2026-02-17 09:21:09 +01:00
Andrés Moya
643cd6f61f
🐛 Add resolved value to tokens in plugins API ( #8372 )
2026-02-17 09:20:04 +01:00
Alonso Torres
c32a336c50
🎉 Add MCP plugin embedded execution ( #8368 )
...
* ✨ Add core changes for mcp server
* ✨ Changes to plugins-runtime to add mcp extensions
* ✨ Changes to MCP plugin
* ✨ Changes post-review and ci fixes
2026-02-17 09:18:46 +01:00
Alejandro Alonso
0b2dfe7297
🐛 Fix grouped component shadow
2026-02-17 08:19:37 +01:00
Alejandro Alonso
fe6fb0534c
🐛 Fix focus mode for simple component
2026-02-17 07:23:09 +01:00
Pablo Alba
b87d7e3de0
✨ Add create org button for nitrate
2026-02-16 19:43:26 +01:00
Alejandro Alonso
f2d09a6140
🐛 Preserving selection when applying styles to selected text range
2026-02-16 17:39:30 +01:00
Eva Marco
d09c909788
🐛 Fix input width on composite token form ( #8365 )
2026-02-16 17:08:33 +01:00
Belén Albeza
5ae2351e5a
✨ Add playwright test for bug 13385
2026-02-16 16:58:05 +01:00
Belén Albeza
b5f4ce0a71
🐛 Fix canvas not being re-rendered after restoring a file version
2026-02-16 16:58:05 +01:00
Luis de Dios
166dc05ff2
🐛 Fix incorrect icons in grid view ( #8373 )
2026-02-16 16:39:39 +01:00
Yamila Moreno
9fa77cd06c
🔧 Add workflow_dispatch to staging, render and tag builds
2026-02-16 15:38:38 +01:00
Andrés Moya
619e2387dc
🐛 Fix applied tokens property names
2026-02-16 15:16:14 +01:00
Andrés Moya
813c804d45
🔧 Enhance schema validation of token application
2026-02-16 15:16:14 +01:00
Andrey Antukh
63f0c68977
Merge remote-tracking branch 'origin/main' into staging
2026-02-16 14:35:28 +01:00
Andrey Antukh
1f2a234458
📚 Update changelog
2026-02-16 14:32:28 +01:00
Andrey Antukh
b281870c50
📚 Update changelog
2026-02-16 14:27:33 +01:00
Andrey Antukh
3909bc0fc1
Merge remote-tracking branch 'origin/main' into staging
2026-02-16 14:17:46 +01:00
Andrey Antukh
b6427ecaac
🐛 Revert yetti upgrade
...
Because of regression introduced on undertow-core 2.3.19
2026-02-16 14:16:29 +01:00
Andrey Antukh
e82319c49e
Merge tag '2.13.2'
2026-02-16 14:13:51 +01:00
Yamila Moreno
8c5ce4d318
🔧 Add workflow_dispatch to develop builds
2026-02-16 12:22:09 +01:00
Luis de Dios
3c0df27fe0
🎉 Add MCP server to integrations section in dashboard ( #8169 )
2026-02-16 11:17:52 +01:00
Andrey Antukh
a278d54429
🎉 Add copy as image to clipboard menu option ( #8364 )
...
* ✨ Copy as image
Function to copy a board directly to the clipboard.
This is exposed on the Copy/Paste as... context menu.
The image is always copied at 2x to work well with wireframes. I tried
with and without Retina display and it is better in both scenarios.
Signed-off-by: Dalai Felinto <dalai@blender.org>
* ✨ Add minor adjustments on promise creation
* 🔥 Remove prn from obj/reify macros
---------
Signed-off-by: Dalai Felinto <dalai@blender.org>
2026-02-16 11:17:02 +01:00
Andrey Antukh
ce63bae92d
✨ Add better approach for error handling to obj/reify
2026-02-16 11:07:40 +01:00
Andrey Antukh
a1cc016727
🔥 Remove prn from obj/reify macros
2026-02-16 11:05:57 +01:00
Pablo Alba
3d38aeb089
✨ Add nitrate banner
2026-02-16 10:52:59 +01:00
Pablo Alba
43725a4abe
🐛 Fix unable to finish the create account form using keyboard ( #8273 )
...
* 🐛 Fix unable to finish the create account form using keyboard
* 📎 Prefer dom/click over dom/click!
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-02-16 10:49:51 +01:00
Andrey Antukh
a0236e8c7e
Merge pull request #8335 from penpot/dfelinto-download-font
...
✨ Add option for download used custom fonts
2026-02-16 10:44:57 +01:00
Andrey Antukh
caccf72c7f
✨ Add better approach for error handling to obj/reify
2026-02-16 10:44:13 +01:00
Andrey Antukh
60ecb901b2
✨ Make the obj/proxy object do not extend js/Object directly
2026-02-16 10:44:13 +01:00
Andrey Antukh
fbf1240998
⚡ Add several optimizations for fonts zip download
...
Mainly prevent hold the whole zip in memory and uses an
unified response type, leavin frontend fetching the blob
data from the assets/storage subsystem.
2026-02-16 10:14:50 +01:00
Dalai Felinto
c55c23c6dd
✨ Add option to download user uploaded custom fonts
...
Allow users download any of the manually installed fonts.
When there is more than one font in the family download as a .zip.
Signed-off-by: Dalai Felinto <dalai@blender.org>
2026-02-16 10:14:49 +01:00
Andrey Antukh
d1d50138ed
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-16 10:00:46 +01:00
Andrey Antukh
c63de58b7f
Merge remote-tracking branch 'origin/staging' into staging-render
2026-02-16 10:00:27 +01:00
Andrey Antukh
7301973655
🌐 Rehash and sync translation files
2026-02-16 09:41:49 +01:00
Sebastiaan Pasma
e6990e996c
🌐 Add translations for: Dutch
...
Currently translated at 98.9% (2052 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2026-02-16 09:35:25 +01:00
Alejandro Alonso
82a6e73b0d
🌐 Add translations for: Yoruba
...
Currently translated at 56.5% (1172 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/yo/
2026-02-16 09:35:24 +01:00
VKing9
a0fc14d4e8
🌐 Add translations for: Hindi
...
Currently translated at 96.3% (1998 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2026-02-16 09:35:24 +01:00
Anonymous
a5dc3a4e2b
🌐 Add translations for: Croatian
...
Currently translated at 76.9% (1596 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2026-02-16 09:35:24 +01:00
Ņikita K.
f60f259937
🌐 Add translations for: Latvian
...
Currently translated at 90.7% (1883 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2026-02-16 09:35:23 +01:00
Anonymous
c669bd7327
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 86.8% (1801 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2026-02-16 09:35:23 +01:00
Anonymous
c33a52ec51
🌐 Add translations for: Basque
...
Currently translated at 55.5% (1152 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/eu/
2026-02-16 09:35:23 +01:00
Anonymous
9b2e847d99
🌐 Add translations for: Spanish
...
Currently translated at 97.1% (2015 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es/
2026-02-16 09:35:22 +01:00
Anonymous
d1e82c4d40
🌐 Add translations for: Hebrew
...
Currently translated at 95.6% (1984 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2026-02-16 09:35:22 +01:00
AlexTECPlayz
71ef2294e4
🌐 Add translations for: Romanian
...
Currently translated at 93.3% (1937 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
2026-02-16 09:35:21 +01:00
Alejandro Alonso
3576c581a3
🌐 Add translations for: Arabic
...
Currently translated at 54.1% (1123 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
2026-02-16 09:35:21 +01:00
Anonymous
13be3599b6
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 75.6% (1568 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2026-02-16 09:35:20 +01:00
Nicola Bortoletto
7b5e1f0196
🌐 Add translations for: Italian
...
Currently translated at 98.6% (2047 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2026-02-16 09:35:20 +01:00
Anonymous
a483c99480
🌐 Add translations for: Polish
...
Currently translated at 54.3% (1127 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pl/
2026-02-16 09:35:20 +01:00
Radek Sawicki
60ebbd57c6
🌐 Add translations for: Polish
...
Currently translated at 54.3% (1127 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pl/
2026-02-16 09:35:19 +01:00
Црнобог
e830689987
🌐 Add translations for: Serbian
...
Currently translated at 65.9% (1368 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sr/
2026-02-16 09:35:19 +01:00
Amerey.eu
c8f9f49793
🌐 Add translations for: Czech
...
Currently translated at 76.7% (1591 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2026-02-16 09:35:19 +01:00
Anonymous
f24f872c24
🌐 Add translations for: French
...
Currently translated at 95.2% (1976 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2026-02-16 09:35:19 +01:00
Renan Mayrinck
4a1a7e6e8f
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 67.0% (1391 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2026-02-16 09:35:18 +01:00
Denys Kisil
46ee8402fe
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 87.5% (1815 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2026-02-16 09:35:18 +01:00
The_BadUser
b6d813dd51
🌐 Add translations for: Russian
...
Currently translated at 76.1% (1579 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2026-02-16 09:35:13 +01:00
Anonymous
a9f674389a
🌐 Add translations for: German
...
Currently translated at 94.4% (1958 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2026-02-16 09:35:13 +01:00
william chen
78bdb13831
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 77.0% (1599 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2026-02-16 09:35:12 +01:00
im424
e548b2d863
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 77.0% (1599 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2026-02-16 09:35:12 +01:00
Alejandro Alonso
7543527fae
🌐 Add translations for: Hausa
...
Currently translated at 59.6% (1238 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ha/
2026-02-16 09:35:12 +01:00
Anonymous
da488373e2
🌐 Add translations for: Turkish
...
Currently translated at 98.9% (2052 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2026-02-16 09:35:12 +01:00
Henrik Allberg
91e1c8299d
🌐 Add translations for: Swedish
...
Currently translated at 95.6% (1983 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2026-02-16 09:35:11 +01:00
Linerly
adc661126a
🌐 Add translations for: Indonesian
...
Currently translated at 81.6% (1694 of 2074 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2026-02-16 09:35:11 +01:00
Hosted Weblate
3b07ff2613
🌐 Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
2026-02-16 09:15:59 +01:00
Alexis Morin
3aebff0799
🌐 Add translations for: French (Canada)
...
Currently translated at 61.2% (1266 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
3b14acc93e
🌐 Add translations for: French (Canada)
...
Currently translated at 60.2% (1244 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
ad2db07123
🌐 Add translations for: French (Canada)
...
Currently translated at 55.8% (1154 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
068ecc3847
🌐 Add translations for: French (Canada)
...
Currently translated at 55.4% (1146 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
c850fe2d4f
🌐 Add translations for: French (Canada)
...
Currently translated at 55.0% (1138 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
59acf71255
🌐 Add translations for: French (Canada)
...
Currently translated at 52.4% (1083 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
d7c5e7798c
🌐 Add translations for: French (Canada)
...
Currently translated at 48.8% (1009 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
ee81459d87
🌐 Add translations for: French (Canada)
...
Currently translated at 44.6% (923 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
ea54ff4bd5
🌐 Add translations for: French (Canada)
...
Currently translated at 43.6% (902 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
353998b989
🌐 Add translations for: French (Canada)
...
Currently translated at 42.3% (874 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
6b1ae46116
🌐 Add translations for: French (Canada)
...
Currently translated at 40.8% (844 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Sandy S Kuo
727a0adf1f
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 77.5% (1603 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2026-02-16 09:15:49 +01:00
Alexis Morin
b99e4e8954
🌐 Add translations for: French (Canada)
...
Currently translated at 37.5% (775 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Alexis Morin
e8f893a668
🌐 Add translations for: French (Canada)
...
Currently translated at 36.6% (758 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Yaron Shahrabani
44964bc98b
🌐 Add translations for: Hebrew
...
Currently translated at 96.2% (1988 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2026-02-16 09:15:49 +01:00
Dogyeong
86f52a15a5
🌐 Add translations for: Korean
...
Currently translated at 12.1% (250 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ko/
2026-02-16 09:15:49 +01:00
Alexis Morin
cc43426bb8
🌐 Add translations for: French (Canada)
...
Currently translated at 35.8% (740 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:49 +01:00
Dogyeong
5da2865158
🌐 Add translations for: Korean
...
Currently translated at 11.4% (237 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ko/
2026-02-16 09:15:49 +01:00
Alexis Morin
eeb998409d
🌐 Add translations for: French (Canada)
...
Currently translated at 33.8% (699 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:48 +01:00
Alexis Morin
b9ac8f7616
🌐 Add translations for: French (Canada)
...
Currently translated at 32.2% (667 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:48 +01:00
Nicola Bortoletto
626d6a285d
🌐 Add translations for: Italian
...
Currently translated at 99.5% (2057 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2026-02-16 09:15:48 +01:00
Alexis Morin
7159d00d75
🌐 Add translations for: French (Canada)
...
Currently translated at 29.3% (607 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:48 +01:00
Louis Chance
380c5382c7
🌐 Add translations for: French
...
Currently translated at 95.8% (1980 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2026-02-16 09:15:48 +01:00
Alexis Morin
28c244f8ee
🌐 Add translations for: French (Canada)
...
Currently translated at 24.1% (499 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:48 +01:00
Stas Haas
af149afd08
🌐 Add translations for: German
...
Currently translated at 95.0% (1963 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2026-02-16 09:15:48 +01:00
Alexis Morin
afd8add839
🌐 Add translations for: French (Canada)
...
Currently translated at 22.6% (467 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:48 +01:00
Andrey Antukh
d6aad1d79b
🌐 Add translations for: French
...
Currently translated at 95.1% (1966 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2026-02-16 09:15:48 +01:00
Nicola Bortoletto
621e5161dc
🌐 Add translations for: Italian
...
Currently translated at 99.1% (2049 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2026-02-16 09:15:48 +01:00
Alexis Morin
00df74d602
🌐 Add translations for: French (Canada)
...
Currently translated at 21.7% (449 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:48 +01:00
Alexis Morin
d31501ddb6
🌐 Add translations for: French (Canada)
...
Currently translated at 18.9% (392 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:48 +01:00
Louis Chance
b0fda4cb06
🌐 Add translations for: French
...
Currently translated at 95.1% (1966 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2026-02-16 09:15:48 +01:00
Stephan Paternotte
ce80c049cd
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (2062 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2026-02-16 09:15:48 +01:00
Marius
2873bffff1
🌐 Add translations for: German
...
Currently translated at 93.7% (1937 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2026-02-16 09:15:48 +01:00
Alexis Morin
56c7ef8e99
🌐 Add translations for: French (Canada)
...
Currently translated at 18.7% (388 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:48 +01:00
Edgars Andersons
594551c16a
🌐 Add translations for: Latvian
...
Currently translated at 91.3% (1887 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2026-02-16 09:15:47 +01:00
Stephan Paternotte
00c34ecf12
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (2062 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2026-02-16 09:15:47 +01:00
Alexis Morin
033a1f39fa
🌐 Add translations for: French (Canada)
...
Currently translated at 17.5% (363 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-02-16 09:15:47 +01:00
Oğuz Ersen
aaab3e6b3e
🌐 Add translations for: Turkish
...
Currently translated at 99.8% (2062 of 2066 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2026-02-16 09:15:47 +01:00
Dominik Jain
7a52550889
✨ Make clear that ExecuteCodeTool serialises automatically
...
LLMs sometimes decide to apply serialisation themselves, which is unnecessary,
and which this seeks to prevent.
2026-02-15 22:20:38 +01:00
Andrey Antukh
4a7b89a1da
Merge pull request #8327 from penpot/niwinz-develop-rlimit-notifications
...
✨ Add proper mattermost notifications for rlimit rejects
2026-02-13 17:11:54 +01:00
Elena Torró
51782551cc
Merge pull request #8346 from penpot/alotor-fix-problem-text-autogrouw
...
🐛 Fix problem with autogrow change while editing text
2026-02-13 15:25:35 +01:00
alonso.torres
f60a4cd111
🐛 Fix problem with autogrow change while editing text
2026-02-13 14:52:40 +01:00
David Barragán Merino
1349789a7b
🔧 Fix the plugin style documentation build command
2026-02-13 14:20:34 +01:00
David Barragán Merino
8dbb169061
🔧 Fix the plugin style documentation build command
2026-02-13 14:20:01 +01:00
David Barragán Merino
cc28bd44f6
🔧 Fix the plugin style documentation build command
2026-02-13 14:18:35 +01:00
Alejandro Alonso
d9d4a99e1d
🔧 Migrate variants tests to wasm viewport
2026-02-13 14:13:03 +01:00
David Barragán Merino
fe833c9e34
🔧 Disable observability for plugin docs and packages
...
This reverts commit a4f2641cc95040c17c6ed40225085af90fb524d1.
2026-02-13 13:55:13 +01:00
Elena Torró
38ad24ea07
Merge pull request #8349 from penpot/alotor-fix-editor-selrect
...
🐛 Fix problem with text editor outline
2026-02-13 13:25:13 +01:00
Alejandro Alonso
8d225af13a
Merge pull request #8351 from penpot/alotor-fix-create-rect-click
...
🐛 Fix problem when create click
2026-02-13 13:21:27 +01:00
Juanfran
449aa65f8d
🐛 Fix e2e tests for plugins
2026-02-13 13:17:08 +01:00
Andrey Antukh
bd7f4dca3a
🐛 Fix rpc methods on plugins e2e tests
2026-02-13 13:17:08 +01:00
Andrey Antukh
1e7bef081a
✨ Allow self-signed certs on plugins e2e browser setup
2026-02-13 13:17:08 +01:00
Andrey Antukh
12bc3ac9ed
✨ Update default cors headers
2026-02-13 13:17:08 +01:00
Elena Torró
80a3f4cd60
Merge pull request #8350 from penpot/superalex-migrate-tests-to-wasm-viewport-3
...
🔧 Migrate inspect tab tests to wasm viewport
2026-02-13 13:06:14 +01:00
alonso.torres
3ea0a781f1
🐛 Fix problem when create click
2026-02-13 12:38:33 +01:00
alonso.torres
35abf8a179
🐛 Fix problem with text editor outline
2026-02-13 12:23:05 +01:00
Sagar
cfcebf59d5
🐛 Make S3Client and S3Presigner use identical credential resolution ( #8316 )
2026-02-13 12:21:05 +01:00
Andrey Antukh
cf43ac23a1
Merge pull request #8340 from penpot/hiru-fix-plugins-api-tokens
...
🐛 Fix problems about applying tokens to shapes with plugins
2026-02-13 12:18:29 +01:00
Alejandro Alonso
7e9fb0742d
🔧 Migrate inspect tab tests to wasm viewport
2026-02-13 12:09:31 +01:00
Elena Torró
39b3767203
Merge pull request #8348 from penpot/superalex-fix-non-existent-google-font
...
🐛 Fix non existent google font
2026-02-13 12:08:18 +01:00
Alejandro Alonso
23333aa3c3
Merge pull request #8347 from penpot/elenatorro-13386-fix-flex-absolute-index
...
🐛 Fix absolute z-index values on layout children
2026-02-13 12:06:45 +01:00
Alejandro Alonso
684e2b6950
🐛 Fix non existent google font
2026-02-13 11:59:59 +01:00
Elena Torro
fd6f70a740
🐛 Fix absolute z-index values on layout children
2026-02-13 11:41:16 +01:00
Elena Torro
b892cc9b14
🔧 Refactor shape base props to use transmute
2026-02-13 11:28:18 +01:00
Belén Albeza
50ddf5e628
🔧 Add integration test for bug 13305
2026-02-13 10:57:27 +01:00
Belén Albeza
75a4102637
🐛 Fix resize board to fit (wasm)
2026-02-13 10:57:27 +01:00
David Barragán Merino
d7203ef24c
🔧 Fix the plugin bundle build command
2026-02-13 09:39:12 +01:00
David Barragán Merino
61f3e090da
🔧 Fix the plugin bundle build command
2026-02-13 09:38:39 +01:00
David Barragán Merino
fda09b02b9
🔧 Fix the plugin bundle build command
2026-02-13 09:37:22 +01:00
Elena Torró
8f478aa6e5
Merge pull request #8325 from penpot/superalex-fix-wasm-forcing-url-param
...
🐛 Fix forcing wasm via url param
2026-02-12 17:46:50 +01:00
Dominik Jain
08fc6fe917
✨ Improve description of token values
2026-02-12 17:45:50 +01:00
Alejandro Alonso
95e1efa5ff
🐛 Fix forcing wasm via url param
2026-02-12 17:35:02 +01:00
Dominik Jain
926d573d3e
🚧 Temporary workaround for Token resolvedValue not working
...
Instruct LLM to not use this property.
To be reverted once #8341 is fixed.
2026-02-12 17:24:44 +01:00
Andrés Moya
a23ca6a1cb
🐛 Fix applied tokens reading in shape proxy
2026-02-12 17:14:16 +01:00
Eva Marco
d07f568ba2
🐛 Avoid modifying shape by apply negative tokens to border radius ( #8336 )
2026-02-12 17:01:36 +01:00
Andrés Moya
c626634610
🐛 Detect empty font-family
2026-02-12 16:04:23 +01:00
Andrés Moya
11eedd0368
🐛 Patch alternative ways of applying tokens to shapes
2026-02-12 16:01:55 +01:00
Florian Schroedl
375608b44b
⬆️ Update tokenscript interpreter to 0.26.0 and add CSS color schemas
...
Regenerate schemas.js with preset:cssColors to support CSS color constants.
2026-02-12 14:14:45 +01:00
Elena Torró
97d24b190f
Merge pull request #8334 from penpot/superalex-migrate-tests-to-wasm-viewport
...
🔧 Migrate straightforward tests to user the wasm viewport
2026-02-12 14:03:06 +01:00
Alejandro Alonso
434ac0556a
🔧 Migrate straightforward tests to user the wasm viewport
2026-02-12 13:29:13 +01:00
Dominik Jain
bac04f8a73
🚧 Temporary workaround for sizing options not working
...
Add instructions explaining that FlexLayout sizing options do not work.
Relates to https://github.com/penpot/penpot-mcp/issues/39
2026-02-12 12:37:24 +01:00
Dominik Jain
b4e815e787
📎 Fix spelling errors
2026-02-12 12:36:51 +01:00
Andrey Antukh
12e5d8d8c4
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-12 11:00:56 +01:00
Andrey Antukh
04a3126856
Merge remote-tracking branch 'origin/main' into staging-render
2026-02-12 11:00:38 +01:00
Elena Torró
2f71663470
Merge pull request #8245 from penpot/elenatorro-13047-setup-embedded-text-editor
...
🔧 Set up embedded editor
2026-02-12 10:05:39 +01:00
Andrey Antukh
43cb313cd7
Merge pull request #8310 from oraios/mcp-tokens
...
✨ MCP improvements to enable UC2, design token handling
2026-02-12 09:47:32 +01:00
Elena Torró
0b199c606a
Merge pull request #8331 from penpot/ladybenko-add-wasm-config-playwright-helper
...
🔧 Add helper utils to mock config flags for WasmWorkspacePage (e2e)
2026-02-12 09:45:03 +01:00
Aitor Moreno
54f63c5dc5
♻️ Refactor minor things
2026-02-12 09:34:21 +01:00
Elena Torro
a14c36e996
📚 Add embedded text editor MVP documentation
2026-02-12 09:34:20 +01:00
Elena Torro
2b525f0f48
🔧 Set up embedded editor
2026-02-12 09:34:20 +01:00
Belén Albeza
fd6ff04e90
🔧 Add helper utils to mock config flags for WasmWorkspacePage (e2e)
2026-02-12 09:25:08 +01:00
eps-epsiloneridani
dbb0aa8ce2
📚 Update recommended-settings.md ( #8330 )
...
Got rid of a stray quotation mark
Signed-off-by: eps-epsiloneridani <162043859+eps-epsiloneridani@users.noreply.github.com>
2026-02-12 09:19:10 +01:00
Andrey Antukh
12822833f6
Merge pull request #8301 from eureka928/fix/4513-shift-arrow-color-inputs
...
🐛 Add Shift/Alt arrow key stepping to color picker inputs
2026-02-12 08:26:05 +01:00
eureka928
307ae374fe
♻️ Unify color picker input handlers by treating alpha as a property
...
Eliminate duplicated on-change-opacity and on-key-down-opacity handlers
by routing alpha through apply-property-change, and extract shared
stepping logic into on-key-down-step.
Signed-off-by: eureka928 <meobius123@gmail.com>
2026-02-12 08:25:37 +01:00
eureka928
7d7dbd4662
🐛 Add Shift/Alt arrow key stepping to color picker inputs ( #4513 )
...
Color picker numeric inputs (R, G, B, H, S, V, Alpha) now support
Shift+Arrow for ×10 steps and Alt+Arrow for ×0.1 steps, matching
the behavior of numeric inputs elsewhere in the application.
Signed-off-by: eureka928 <meobius123@gmail.com>
2026-02-12 08:25:37 +01:00
Alejandro Alonso
139d4ba13c
Merge pull request #8328 from penpot/elenatorro-13311-fix-multiple-strokes-blending
...
🐛 Fix stroke color aliasing when a shape has multiple strokes
2026-02-12 07:05:44 +01:00
Elena Torro
0cb5c16823
🐛 Fix fallback font
2026-02-12 06:43:52 +01:00
Elena Torro
4ed1a544f8
🐛 Fix stroke color aliasing when a shape has multiple strokes
2026-02-12 06:43:52 +01:00
Elena Torró
566ac67fc9
Merge pull request #8324 from penpot/azazeln28-fix-editor-fills
...
🐛 Fix text editor issues
2026-02-11 16:37:20 +01:00
Juanfran
394d597736
✨ Add enhacements to plugins build mechanism ( #8326 )
...
* 🐛 Fix plugin code build
* 🔧 Update editor.defaultFormatter to new Prettier
* 🐛 Fix lint issues in create-palette-plugin
* 🐛 Add missing run in pnpm init script for plugins
2026-02-11 15:28:33 +01:00
Aitor Moreno
b2231e520c
📚 Add best practices to text editor README.md
2026-02-11 13:09:56 +01:00
Aitor Moreno
e722e17b10
🐛 Fix paragraph styles not being applied
2026-02-11 12:49:20 +01:00
Aitor Moreno
755d720b34
🐛 Fix text editor fills not being updated
2026-02-11 12:29:03 +01:00
Alejandro Alonso
d991d59852
Merge pull request #8318 from penpot/elenatorro-13311-fix-multiple-fills-blending
...
🐛 Fix fill aliasing when a shape has multiple fills
2026-02-11 11:37:43 +01:00
Dominik Jain
7eb9a207f5
✨ Change PenpotUtils.findShapes to search on all pages by default
...
This matches the behaviour of findShape, more closely aligning with
the LLM's expectations (given the lack of concrete information in
the instructions)
2026-02-11 11:35:10 +01:00
Dominik Jain
8ac17604fd
✨ Improve information on component instances
...
* Add information on detachment
* Add information on remove behaviour in component instances
2026-02-11 11:35:10 +01:00
Elena Torro
eede023d6b
🐛 Fix fill aliasing when a shape has multiple fills
2026-02-11 11:21:08 +01:00
Belén Albeza
ccd42852b7
🐛 Fix token not being highlighted (wasm)
2026-02-11 11:17:27 +01:00
Alejandro Alonso
a2f7ae549e
Merge pull request #8312 from penpot/elenatorro-13256-sync-text-selection
...
🔧 Hide text color from selected text
2026-02-11 11:02:35 +01:00
Alejandro Alonso
6f74d458a8
🐛 Adding lost file for render e2e testing get-file-stroke-styles.json
2026-02-11 10:47:50 +01:00
Alejandro Alonso
8d033de145
Merge pull request #8299 from penpot/elenatorro-13242-review-performance
...
🔧 Improve layout performance
2026-02-11 10:45:40 +01:00
Dominik Jain
f5afcde0de
✨ Improve shapeStructure
...
* Add information on component instance (component id, name; main instance id)
* Improve JSON result order (children should come last)
2026-02-11 10:45:22 +01:00
Dominik Jain
b6dfdc23cd
✨ Update information on TokenProperty
2026-02-11 10:45:22 +01:00
Dominik Jain
a5a084cf0f
✨ Update API type information based on current repo state
2026-02-11 10:45:22 +01:00
Dominik Jain
1546025814
✨ Avoid certain <ul> elements with single <li> generating bullets
2026-02-11 10:45:22 +01:00
Dominik Jain
8de510d1c6
🐛 Fix PenpotAPIDocsProcessor not requiring the url parameter
...
* Add additional constant for the PROD url
* Adapt the debug function to use a URL
* Improve logging
2026-02-11 10:45:10 +01:00
Elena Torró
2e77c09ca5
Merge pull request #8309 from penpot/superalex-fix-stroke-dot-dash-mix
...
🐛 Fix dot strokes
2026-02-11 10:37:46 +01:00
Elena Torró
47346e478e
Merge pull request #8303 from penpot/superalex-fix-stroke-opacity-for-boards
...
🐛 Fix stroke opacity for boards
2026-02-11 10:05:47 +01:00
Andrey Antukh
89cd4d820c
🔥 Remove mcp from compose
2026-02-11 09:13:24 +01:00
Alejandro Alonso
f32c377f17
🐛 Fix stroke opacity for boards
2026-02-11 09:08:03 +01:00
Andrey Antukh
8693623b13
📎 Update SECURITY.md file
2026-02-11 08:11:04 +01:00
Alejandro Alonso
97f01c646d
🎉 Improve multiple emoji E2E test
2026-02-11 07:36:22 +01:00
Alejandro Alonso
eea1d3c0a5
🎉 Improve updating canvas background E2E test
2026-02-11 07:19:22 +01:00
Alejandro Alonso
9eef4de87d
🐛 Fix dot/dahs/mixed strokes
2026-02-11 07:08:28 +01:00
Andrey Antukh
f4d07a3c36
⬆️ Update pnpm on frontend and plugins modules
2026-02-10 19:02:32 +01:00
Francis Santiago
15fa6206e2
Merge pull request #8286 from penpot/fc-fix-ipv6-fronted
...
🎉 Enable IPv6 support for docker images
2026-02-10 16:01:06 +01:00
Francis Santiago
3281819283
🎉 Enable IPv6 support for docker images
2026-02-10 15:52:33 +01:00
Andrés Moya
41f29767db
🐛 Fix configuration of poc-tokens-plugin ( #8314 )
...
* 🐛 Fix configuration of poc-tokens-plugin
* 📎 Add missing changes on poc-tokens-pligin tsconfig
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-02-10 15:18:11 +01:00
Dominik Jain
76289df32c
✨ Establish compatibility with new member anchors (h3 instead of a tag)
2026-02-10 14:03:40 +01:00
Andrey Antukh
920fbe34ad
🐛 Fix invalid deps passed to http management routes service
2026-02-10 13:46:29 +01:00
Elena Torro
187d1118c0
🔧 Hide text color from selected text
2026-02-10 13:15:55 +01:00
Dominik Jain
a674b5f914
📚 Add instructions on running only the docs server
2026-02-10 12:53:20 +01:00
Dominik Jain
71507fb9b7
♻️ Adjust ConfigurationLoader to use markdown file instead of yml
2026-02-10 12:35:44 +01:00
Dominik Jain
024aedc3ca
♻️ Convert prompt content to markdown format
2026-02-10 12:35:44 +01:00
Dominik Jain
44657c95df
♻️ Rename prompts.yml -> initial_instructions.md
2026-02-10 12:35:44 +01:00
Dominik Jain
d4d5009a3d
✨ Improve prompts on token application
2026-02-10 12:35:44 +01:00
Dominik Jain
bb4d0322d8
🚧 Temporarily add ts-ignore statements
...
This shall be reverted once the new API types are published
2026-02-10 12:35:44 +01:00
Dominik Jain
56e369a1c0
✨ Add helper functions for token exploration
...
Extend PenpotUtils with helper functions for token exploration/discovery
and describe them in the system prompt
2026-02-10 12:35:44 +01:00
Dominik Jain
6b277956b9
✨ Add information on clone() method
2026-02-10 12:35:44 +01:00
Dominik Jain
e9a56c9d9f
✨ Shorten design token instructions
2026-02-10 12:35:44 +01:00
Dominik Jain
8d90edcc2f
✨ Add instructions on design tokens
2026-02-10 12:35:44 +01:00
Dominik Jain
8186f3c87c
📚 Remove misleading information from README
...
The types build is not part of the bootstrap, and it is not
relevant to regular users (only to developers).
Information on how to apply it is now in types-generator/README.md
2026-02-10 12:35:44 +01:00
Dominik Jain
d7282518c4
📚 Improve usage documentation of API type generator script
2026-02-10 12:35:44 +01:00
Dominik Jain
467eb3c333
✨ Update API docs to include token-related types
2026-02-10 12:35:44 +01:00
Dominik Jain
d2299f83ec
✨ Apply bash in build scripts explicitly (Win compatibility)
2026-02-10 12:35:44 +01:00
Andrey Antukh
11a283916d
Merge remote-tracking branch 'origin/staging' into staging-render
2026-02-10 11:58:27 +01:00
Andrey Antukh
f08700945a
Merge remote-tracking branch 'origin/staging' into develop
2026-02-10 11:58:09 +01:00
Andrey Antukh
59711a1cf8
📎 Update changelog
2026-02-10 11:57:01 +01:00
Aitor Moreno
e9b2e9e818
🚑 Hot fix for text editor internal error
2026-02-10 11:10:16 +01:00
Belén Albeza
c4aa51bc01
🐛 Fix permanent blur when switching pages
2026-02-10 10:59:47 +01:00
Belén Albeza
1c270ac9c6
✨ Remove leftover println in render code
2026-02-10 10:59:47 +01:00
Andrey Antukh
06e5825c8a
🐛 Add proper input checking to font related RCP method
2026-02-10 10:36:57 +01:00
Andrey Antukh
e3dfa69011
✨ Make plugins devserver to be able run inside devenv
2026-02-10 08:29:24 +01:00
Juanfran
96b682aa12
♻️ Remove Nx and rely on pnpm monorepo features
2026-02-10 08:29:24 +01:00
Juanfran
45d04942cc
✨ Add example ui storybook
2026-02-10 08:29:24 +01:00
Juanfran
07055b53d1
⬆️ Update plugins dependencies
2026-02-10 08:29:24 +01:00
Andrey Antukh
d30387eb77
⏪ Backport docker images changes from develop
2026-02-09 19:21:30 +01:00
Andrey Antukh
33fd672c21
⏪ Backport MCP related changes from develop ( #8306 )
2026-02-09 18:00:43 +01:00
Andrey Antukh
dd7038bdad
📎 Fix fmt issue on frontend code
2026-02-09 17:38:40 +01:00
Andrey Antukh
5ec345162a
✨ Add mcp plugin into the frontend bundle
2026-02-09 17:38:40 +01:00
Andrey Antukh
0027e9031a
✨ Make mcp env vars to use the same convention as penpot
2026-02-09 17:38:40 +01:00
Pablo Alba
5d3ccbc8b4
✨ Add managed profiles endpoint to nitrate api ( #8292 )
2026-02-09 15:52:18 +01:00
Andrés Moya
1a1c351466
🐛 Fix dependency
2026-02-09 15:06:39 +01:00
Andrés Moya
5b5f22a8c6
🎉 Add tokens to Penpot Plugins API ( #7756 )
...
* 🎉 Add tokens to plugins API documentation
And add poc plugin example
* 📚 Document better the tokens value in plugins API
* 🔧 Refactor token validation schemas
* 🔧 Use automatic validation in token proxies
* 🔧 Use schemas to validate token creation
* 🔧 Use multi schema for token value
* 🔧 Use schema in token api methods
* 🐛 Fix review comments
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-02-09 14:18:31 +01:00
Andrey Antukh
ac1c3ff184
Merge branch 'staging-render' into develop
2026-02-09 14:14:02 +01:00
Andrey Antukh
43cd92c76d
Merge remote-tracking branch 'origin/staging' into staging-render
2026-02-09 14:12:55 +01:00
Elena Torró
cf2b40a097
Merge pull request #8302 from penpot/azazeln28-issue-13124-text-not-restored-undoing
...
🐛 Fix text not restored on ctrl+z
2026-02-09 13:41:43 +01:00
Aitor Moreno
b72959544c
🐛 Fix text not restored on ctrl+z
2026-02-09 13:29:31 +01:00
Andrey Antukh
a7b2e98b8e
⬆️ Use latest imagemagick version on docker images
2026-02-09 13:19:26 +01:00
Andrey Antukh
d979894872
✨ Add libxml2 dep to imagemagick dockerfile
2026-02-09 12:27:44 +01:00
Alejandro Alonso
3d20fc508d
🐛 Fix image magick info call ( #8300 )
2026-02-09 12:26:42 +01:00
Elena Torro
969666b39b
🔧 Simplify view interaction log message
...
Remove zoom_changed from log output as it's no longer needed
for debugging after the tile optimization changes.
2026-02-09 11:44:50 +01:00
Yamila Moreno
d953222eb4
🔧 Add CI for MCP server ( #8293 )
2026-02-09 11:25:24 +01:00
Elena Torró
b3faa985ce
Merge pull request #8291 from penpot/superalex-fix-dashboard-navigation
...
🐛 Fix dashboard navigation from workspace
2026-02-09 09:59:11 +01:00
Elena Torro
a8322215dd
🔧 Optimize pan/zoom tile handling
...
- Add incremental tile update that preserves cache during pan
- Only invalidate tile cache when zoom changes
- Force visible tiles to render synchronously (no yielding)
- Increase interest area threshold from 2 to 3 tiles
2026-02-09 09:38:01 +01:00
Elena Torro
e1ce97a2b4
🔧 Prioritize visible tiles over interest-area tiles
...
Partition pending tiles into 4 groups by visibility and cache status.
Visible tiles are processed first to eliminate empty squares during
pan/zoom. Cached tiles within each group are processed before uncached.
2026-02-09 09:38:01 +01:00
Elena Torro
2ccd2a6679
🔧 Use HashSet for grid layout children lookup
...
HashSet provides O(1) contains() vs Vec's O(n), improving
child lookup performance in grid cell data creation.
2026-02-09 09:38:01 +01:00
Elena Torro
2d9a2e0d50
🔧 Use swap_remove in flex layout distribution
...
swap_remove is O(1) vs remove's O(n) when order doesn't matter.
These loops iterate backwards, so swap_remove is safe.
2026-02-09 09:38:01 +01:00
Elena Torro
216d400262
🔧 Prevent duplicate layout calculations
...
Use HashSet for layout_reflows to avoid processing the same
layout multiple times. Also use std::mem::take instead of
creating a new Vec on each iteration.
2026-02-09 09:37:58 +01:00
Elena Torro
c87ffdcd30
🔧 Add forward children iterator for flex layout
...
Avoid Vec allocation + reverse for reversed flex layouts.
The new children_ids_iter_forward returns children in original order,
eliminating the need to collect and reverse.
2026-02-09 09:35:04 +01:00
Elena Torro
8ef6600cdc
🔧 Return HashSet from update_shape_tiles
...
Avoid final collect() allocation by returning HashSet directly.
Callers already use extend() which works with both types.
2026-02-09 09:35:04 +01:00
Elena Torro
a3764b9713
🔧 Avoid clone in rebuild_touched_tiles
...
Use std::mem::take instead of clone to avoid HashSet allocation.
The set was cleared anyway by clean_touched(), so take() is safe.
2026-02-09 09:35:03 +01:00
Alejandro Alonso
e5cdb5b163
Merge pull request #8290 from penpot/alotor-fix-alt-duplicate
...
🐛 Fix problem with alt+move for duplicate shapes
2026-02-09 06:33:13 +01:00
David Barragán Merino
a4f2641cc9
🔧 Enable observability for plugin docs and packages
2026-02-06 18:01:11 +01:00
Alejandro Alonso
a164a1bab3
🐛 Fix dashboard navigation from workspace
2026-02-06 12:58:56 +01:00
alonso.torres
a0cbb392af
🐛 Fix problem with alt+move for duplicate shapes
2026-02-06 12:20:43 +01:00
Alejandro Alonso
ccfee34e76
Merge pull request #8289 from penpot/niwinz-staging-exporter-fix
...
🐛 Fix issue with pdf render on exporter
2026-02-06 11:40:18 +01:00
Andrey Antukh
989eb12139
🔥 Remove merge conflict from plugins api ns
2026-02-06 11:38:36 +01:00
Eva Marco
a5e36dbb3d
🐛 Fix broken attribute on numeric input ( #8250 )
...
* 🐛 Fix broken attribute on numeric input
* 🐛 Fix tooltip position
2026-02-06 11:32:16 +01:00
Alejandro Alonso
8acd031ab2
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-06 11:23:50 +01:00
Andrey Antukh
6f3f2f9a71
🐛 Fix issue with pdf render on exporter
...
When paired with release build penpot app
2026-02-06 11:19:56 +01:00
Elena Torro
a7c1de6478
🐛 Fix lazy load intersection on dragging at the beginning
2026-02-06 10:59:05 +01:00
Elena Torro
184487f568
🐛 Fix lazy load intersection on dragging at the beginning
2026-02-06 10:53:11 +01:00
Andrey Antukh
c00d512193
✨ Add the concept of version to plugins
...
And make mcp plugin version 2
2026-02-06 09:42:59 +01:00
alonso.torres
af5dbf2fbc
🐛 Set objects modified instead of modif-tree
2026-02-06 09:34:58 +01:00
Alejandro Alonso
7c7e32d85f
🐛 Fix grid lines
2026-02-06 09:34:58 +01:00
Andrey Antukh
2ccb33ba89
📎 Add missing for-update for the migration 145
2026-02-05 18:12:11 +01:00
Andrey Antukh
ee88ee63a2
✨ Add data migration for fix plugins data on profiles
2026-02-05 18:08:28 +01:00
alonso.torres
fd3d549f9c
✨ Batch text layout updates
2026-02-05 17:29:43 +01:00
alonso.torres
53c2acb3e6
🐛 Fix several problems with layouts and texts
2026-02-05 17:29:43 +01:00
Belén Albeza
8a72eb64c3
✨ Add integration test for 13267
2026-02-05 16:37:21 +01:00
alonso.torres
1d45ca7019
🐛 Fix problem propagating geometry changes to instances
2026-02-05 16:37:21 +01:00
Eva Marco
f961f9a123
🐛 Fix several bugs ( #8267 )
...
* ♻️ Remove rename warning
* 🐛 Fix opacity value
2026-02-05 11:34:14 +01:00
Eva Marco
dda3377596
🐛 Allow detach broken token from input ( #8242 )
...
* 🐛 Allow detach broken token from input
* 🐛 Fix multiselection on multiple token applied
* ♻️ Remove detach-token new fn
2026-02-05 11:28:47 +01:00
Andrey Antukh
17935443df
✨ Move all tokenscript related adaptations to a separared package
2026-02-05 09:45:55 +01:00
Florian Schroedl
150d57b1eb
✨ Add tokenscript MVP
2026-02-05 09:45:55 +01:00
Alejandro Alonso
ad5e8ccdb3
🐛 Fix pdf sizing issue on export ( #8274 )
2026-02-05 09:23:14 +01:00
Andrey Antukh
490619119e
🐛 Use correct listen address for mcp server
2026-02-04 18:57:53 +01:00
Belén Albeza
834b513562
🔧 Fix typo in workspace spec ( #8272 )
2026-02-04 17:05:49 +01:00
Andrey Antukh
1656fefdc9
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-04 16:23:46 +01:00
Andrey Antukh
7f318bb110
Merge remote-tracking branch 'origin/staging' into staging-render
2026-02-04 16:22:13 +01:00
Andrey Antukh
44c7d3fbd6
✨ Backport .github workflows from develop
2026-02-04 16:21:19 +01:00
Andrey Antukh
3d50aa6cb2
⬆️ Update imagemagick version
2026-02-04 16:21:19 +01:00
Andrey Antukh
06afd94a74
⬆️ Update backend dependencies (mainly bugfixes)
2026-02-04 16:21:19 +01:00
Andrey Antukh
e7d9dca55e
⬆️ Update jdk and node on devenv and other images
2026-02-04 16:21:19 +01:00
Andrey Antukh
c14ccc18b8
✨ Import mcp from develop
2026-02-04 16:21:19 +01:00
Andrey Antukh
ca4d00df69
🐛 Fix latest error report related migration
2026-02-04 15:36:07 +01:00
Andrey Antukh
9667477d6b
🐛 Add missing dep for rpc routes on backend
2026-02-04 15:26:02 +01:00
Alejandro Alonso
485005477e
🐛 Fix WasmWorkspacePage import
2026-02-04 14:02:38 +01:00
Alejandro Alonso
86ca260ea2
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-04 13:50:13 +01:00
Andrey Antukh
d80ba1856a
✨ Add several improvements to frontend error reporting
...
* ✨ Add major improvement on error handling
* ✨ Add the ability to store frontend reports
* 📎 Add PR feedback changes
2026-02-04 12:45:38 +01:00
Alejandro Alonso
ebb7d01bc9
🐛 Fix entering decimal values in dimension fields causes internal server error ( #8263 )
2026-02-04 12:44:19 +01:00
Andrey Antukh
a1bfb2781e
📎 Update mcp readme
2026-02-04 12:22:36 +01:00
Andrey Antukh
08e8787568
✨ Add mcp types generator build script
2026-02-04 12:22:36 +01:00
Andrey Antukh
da55653844
✨ Add integration tests for mcp
2026-02-04 12:22:36 +01:00
Andrey Antukh
11f2323057
✨ Add mcp to default compose template
2026-02-04 12:22:36 +01:00
Andrey Antukh
ae0f5e2bb9
🐛 Fix subpath support on plugins
2026-02-04 12:22:36 +01:00
Andrey Antukh
1fff1f9506
✨ Add mcp dockerfile
2026-02-04 12:22:36 +01:00
Andrey Antukh
61d7dd3167
✨ Update devenv with mcp required dependencies
2026-02-04 12:22:36 +01:00
Dominik Jain
880b9b61c4
🎉 Integrate mcp repository
...
Original repository: https://github.com/penpot/penpot-mcp
Imported commit: fcfa67e908fc54e23a3a3543dee432472dc90c5d
2026-02-04 12:22:36 +01:00
Yamila Moreno
307dae9f61
💄 Remove access logs for /readyz
2026-02-04 10:54:07 +01:00
Xaviju
0f0ad4f161
🐛 Remove path from state when removing tokens ( #8252 )
...
* 🐛 Remove path from state when removing tokens
* ♻️ Improve path edition legibility
* ♻️ Fix path delete on change set
2026-02-04 10:15:46 +01:00
Alejandro Alonso
24c8fc484f
🐛 Fix Internal Error when adding a new text layer and trying to go back to Dashboard without saving
2026-02-04 10:01:10 +01:00
Eva Marco
d6831e9b48
♻️ Restore warning on name change in generic form ( #8260 )
2026-02-03 14:08:35 +01:00
Pablo Alba
138df7c958
🐛 Fix remove fill affects different element than selected ( #8233 )
2026-02-03 13:17:54 +01:00
alonso.torres
ef2bdf86d8
✨ Add event to create shape in plugins
2026-02-03 13:09:58 +01:00
alonso.torres
512a31d375
✨ Add naturalChildOrdering flag to Plugin's API
2026-02-03 13:09:58 +01:00
Alejandro Alonso
bc16b8ddc3
Merge pull request #8198 from penpot/ladybenko-13176-playwright-wasm
...
🔧 Migrate workspace tests to user the wasm viewport
2026-02-03 13:00:10 +01:00
Alejandro Alonso
b07c98faa5
Merge pull request #8259 from penpot/superalex-improve-shadow-rendering
...
🎉 Improving shadow rendering performance
2026-02-03 12:59:49 +01:00
Alejandro Alonso
25aff100cf
🎉 Add shadows playground for render wasm
2026-02-03 12:44:43 +01:00
Alejandro Alonso
5be887f10b
🎉 Improve plain shape calculation
2026-02-03 12:44:43 +01:00
Alejandro Alonso
f7403935c8
🎉 Improve shadows rendering performance
2026-02-03 12:33:05 +01:00
Andrey Antukh
7d09d930fe
📚 Update changelog
2026-02-03 11:13:46 +01:00
Belén Albeza
79be3ab7df
🔧 Fix text editor flaky tests
2026-02-03 10:39:38 +01:00
Andrey Antukh
717a048b73
📎 Add fmt fix on frontend
2026-02-03 09:37:19 +01:00
Andrey Antukh
cbd90ff970
📎 Comment problematic code on frontend
2026-02-03 09:31:26 +01:00
Andrey Antukh
c99fac000a
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-03 09:30:16 +01:00
andrés gonzález
79e5d2f4cd
📚 Change link to post at SH guide ( #8247 )
2026-02-03 08:27:17 +01:00
Andrey Antukh
1325584e1a
Merge remote-tracking branch 'origin/staging' into staging-render
2026-02-03 08:24:04 +01:00
Andrey Antukh
0d9b7ca696
Merge tag '2.13.0-RC11'
2026-02-03 08:23:27 +01:00
Andrey Antukh
d215a5c402
Merge tag '2.13.0-RC10'
2026-02-03 08:22:50 +01:00
Belén Albeza
629649aca6
🔧 Fix config playwright syntax
2026-02-02 16:25:16 +01:00
Belén Albeza
cc326f23cf
🔧 Adjust timeout of websocket readiness (playwright)
2026-02-02 16:16:59 +01:00
Belén Albeza
2c4efc6b53
🔧 Fix onboarding test
2026-02-02 16:16:58 +01:00
Belén Albeza
4d5c874b91
🔧 Fix typography token test
2026-02-02 16:16:58 +01:00
Belén Albeza
e3b97638b4
🔧 Fix broken / flaky tests
2026-02-02 16:16:58 +01:00
Belén Albeza
daedc660b9
🔧 Migrate workspace tests to user the wasm viewport
2026-02-02 16:16:58 +01:00
Elena Torró
7681231d8f
Merge pull request #8246 from penpot/azazeln28-test-more-text-editor
...
🔧 Add more Text Editor v2 tests
2026-02-02 15:09:18 +01:00
Aitor Moreno
07b9ef0fd6
🔧 Add more v2 text editor tests
2026-02-02 09:35:28 +01:00
Alejandro Alonso
2ae68d5752
Merge pull request #8244 from penpot/alotor-fix-modifiers-propagation
...
🐛 Fix problem with modifiers propagation
2026-01-29 17:34:36 +01:00
alonso.torres
913672e5c5
🐛 Fix problem with modifiers propagation
2026-01-29 17:15:01 +01:00
Xaviju
91671afb7a
🐛 Update switch checked state on change prop ( #8235 )
2026-01-29 13:13:50 +01:00
Eva Marco
838194f9e5
♻️ Refactor code to reduce duplicates ( #8213 )
2026-01-29 12:28:05 +01:00
Alejandro Alonso
8c25fb00ac
🐛 Fix auto width/height texts on variant swithching
2026-01-29 12:25:38 +01:00
Alejandro Alonso
6a84215911
🐛 Fix stroke weight visually different with different levels of zoom
2026-01-29 12:18:26 +01:00
Xaviju
68cf2ecc57
🐛 Break long token names in remapping modal ( #8241 )
2026-01-29 11:04:36 +01:00
Xaviju
3e4f70f37b
🐛 Bulk remove tokens with a single undo action ( #8208 )
2026-01-29 10:58:16 +01:00
Andrey Antukh
f65292a13c
📎 Mark as skip two text editor v2 tests (flaky)
2026-01-29 10:43:29 +01:00
Andrey Antukh
94722fdec2
✨ Ensure .hidePopover fn exist before call
2026-01-29 10:43:29 +01:00
Andrey Antukh
28509e0418
✨ Ensure .stopPropagation fn exists before calling
...
Also for .stopImmediatePropagation and .preventDefault on
the event instances.
2026-01-29 10:43:29 +01:00
Eva Marco
9569fa2bcb
🐛 Fix error when creating a token with an invalid name ( #8216 )
2026-01-29 10:41:52 +01:00
Eva Marco
852b31c3a0
🐛 Fix allow spaces on token description ( #8234 )
2026-01-29 10:40:32 +01:00
Eva Marco
b8fdbd1ef8
🐛 Fix opacity value when token is broken ( #8239 )
2026-01-29 10:27:25 +01:00
Andrés Moya
84b3f5d7c6
🐛 Fix import of shadow tokens
2026-01-29 10:25:22 +01:00
Andrey Antukh
32454f5959
Merge remote-tracking branch 'origin/staging-render' into develop
2026-01-29 10:23:46 +01:00
Andrey Antukh
b881e36875
Merge remote-tracking branch 'origin/staging' into staging-render
2026-01-29 10:23:31 +01:00
Pablo Alba
0bb74ed722
🐛 Fix viewer can update library ( #8231 )
2026-01-28 20:48:52 +01:00
Andrey Antukh
b40e775a70
✨ Add minor improvements to performance events ( #8217 )
...
* ✨ Move devtools perf logging helpers to util.perf ns
* 💄 Move flag check to the entry point instead of initialize event
* ♻️ Make performance events consistent with other events
2026-01-28 20:47:14 +01:00
Eva Marco
2b4e315744
♻️ Replace layout item numeric inputs. ( #8163 )
...
* ✨ Replace opacity numeric input
* ✨ Add test
* ♻️ Replace margin inputs
* 🎉 Add test
2026-01-28 14:30:18 +01:00
Pablo Alba
4ca82821c1
🐛 Fix shared keys init should be by keywords (2) ( #8230 )
2026-01-28 13:41:37 +01:00
David Barragán Merino
76bd31fe7d
🔧 Fix CORS error
2026-01-28 13:40:45 +01:00
David Barragán Merino
cc81e56d82
🔧 Fix CORS error
2026-01-28 13:40:26 +01:00
David Barragán Merino
a90f672a5e
🔧 Fix CORS error
2026-01-28 13:30:08 +01:00
Aitor Moreno
2b00e4eec9
Merge pull request #8207 from penpot/alotor-wasm-disable-thumbnail-generation
...
🐛 Disable thumbnails render in wasm
2026-01-28 13:28:07 +01:00
Aitor Moreno
3b86d7c1b1
🐛 Fix initializing rasterizer
2026-01-28 12:59:16 +01:00
alonso.torres
3cb716ec30
🐛 Disable thumbnails render in wasm
2026-01-28 12:59:16 +01:00
Andrey Antukh
a9e2fc8d94
✨ Backport linter fixes and config from develop
2026-01-28 12:58:54 +01:00
Pablo Alba
f76598f638
🐛 Fix shared keys init should be by keywords ( #8228 )
2026-01-28 12:56:04 +01:00
Andrey Antukh
17ffd9a5d0
✨ Backport linter fixes and config from develop
2026-01-28 12:54:18 +01:00
Xaviju
eacc033567
🐛 Fix long token names overflow remap modal ( #8224 )
2026-01-28 12:44:07 +01:00
Andrey Antukh
71c349479f
Merge pull request #8196 from penpot/niwinz-develop-management-auth-changes
...
♻️ Make several improvements to management API authentication
2026-01-28 10:52:26 +01:00
David Barragán Merino
77bbf30ae4
🔧 Fix file name
2026-01-27 21:16:44 +01:00
David Barragán Merino
693b52bf45
📚 Fix links related to penpot plugins
2026-01-27 21:16:44 +01:00
David Barragán Merino
0f51b23ce7
🔧 Deploy plugin styles documentation
2026-01-27 21:16:44 +01:00
David Barragán Merino
ec61aa6b6d
🔧 Add custom domain
2026-01-27 21:16:41 +01:00
David Barragán Merino
18aca16f98
🔧 Fix file name
2026-01-27 21:12:32 +01:00
David Barragán Merino
c6465e27e3
📚 Fix links related to penpot plugins
2026-01-27 21:12:32 +01:00
David Barragán Merino
1834a18263
🔧 Deploy plugin styles documentation
2026-01-27 21:12:32 +01:00
David Barragán Merino
d220d07875
🔧 Add custom domain
2026-01-27 21:12:32 +01:00
David Barragán Merino
fda31624c1
🔧 Fix file name
2026-01-27 21:04:25 +01:00
David Barragán Merino
7f640569bd
📚 Fix links related to penpot plugins
2026-01-27 20:59:54 +01:00
David Barragán Merino
91f1323802
🔧 Deploy plugin styles documentation
2026-01-27 20:59:54 +01:00
David Barragán Merino
dbd4a2366f
🔧 Add custom domain
2026-01-27 20:59:54 +01:00
Pablo Alba
cbb6d098a7
🐛 Fix boolean operators in menu for boards ( #8177 )
2026-01-27 17:58:07 +01:00
Andrey Antukh
b6f5000d1c
⬆️ Update pnpm
2026-01-27 17:57:07 +01:00
Andrey Antukh
0527124f2f
Merge remote-tracking branch 'origin/staging-render' into develop
2026-01-27 17:56:03 +01:00
Andrey Antukh
faf91ac70d
Merge remote-tracking branch 'origin/staging' into staging-render
2026-01-27 17:53:16 +01:00
Eva Marco
9ca76c745f
🐛 Fix app freeze on token name change ( #8214 )
2026-01-27 17:31:50 +01:00
Andrey Antukh
89935e2174
✨ Make nitrate module loading conditional to flag
...
This removes the flag checking on each rpc method
2026-01-27 15:16:36 +01:00
Andrey Antukh
7f27e0326d
✨ Reuse basic team and profile schemas on nitrate
2026-01-27 15:14:32 +01:00
Andrey Antukh
9c539dfb2f
🔥 Remove subscriptions related management module
2026-01-27 15:14:32 +01:00
Andrey Antukh
50a4cf8b99
📎 Adapt nitrate module to auth changes
2026-01-27 15:14:32 +01:00
Andrey Antukh
f5996a7235
♻️ Make several improvements to management API authentication
2026-01-27 15:14:32 +01:00
Andrey Antukh
e8fd4698c9
🔧 Update caddy configuration
2026-01-27 15:10:53 +01:00
Andrey Antukh
0ab126748f
💄 Add format rule for code comments ( #8211 )
...
* 💄 Add format rule for code comments
* ⬆️ Update linter and formatter on devenv
2026-01-27 15:07:18 +01:00
Yamila Moreno
71a5ab9913
🔧 Delete unused workflow
2026-01-27 13:47:05 +01:00
Andrey Antukh
61969f3eb5
✨ Improve unhandled exception handling
2026-01-27 13:46:51 +01:00
Andrey Antukh
bd2ef8057e
✨ Add helper for proper print js exceptions
2026-01-27 13:46:51 +01:00
Elena Torró
9808b6ca57
Merge pull request #8205 from penpot/superalex-improve-huge-shapes-render
...
🎉 Improving huge shapes render
2026-01-27 13:08:25 +01:00
Eva Marco
2523096fdd
🐛 Fix css rule ( #8206 )
2026-01-27 12:30:14 +01:00
Aitor Moreno
de41cb5488
🐛 Fix add/remove fills to text nodes
2026-01-27 12:17:10 +01:00
Xaviju
8e63c4e3e8
♻️ Review remap interface and interaction ( #8168 )
...
* ♻️ Review remap interface and interaction
* ♻️ Fix remapping feature tests
2026-01-27 11:18:34 +01:00
Alejandro Alonso
b40ccaf030
🎉 Improve zoom actions for huge shapes
2026-01-27 11:11:38 +01:00
Alejandro Alonso
7d3ac38749
🎉 Improve huge shapes rendering
2026-01-27 11:11:38 +01:00
Pablo Alba
d5abc52dac
🎉 Add first integration with nitrate ( #7803 )
...
* 🐛 Display missing selected tokens set info (#8098 )
* 🐛 Display missing selected tokens set info
* ✨ Add integration tests to verify current active set
* 🎉 Integration with nitrate platform
* 🐛 Fix nitrate get-teams returns deleted teams
* ✨ Add nitrate to tmux devenv
* ✨ Add retry and validation to nitrate module
* ✨ Add photoUrl to profile on nitrate authenticate
* ✨ Move nitrate url to an env variable
* ♻️ Change Nitrate organization-id schema to text
* ♻️ Cleanup unused imports
* 🔧 Add control-center to nginx
* ✨ Add create org link
* 🔧 Fix nginx entrypoint
* 🐛 Fix control-center proxy pass
* 🎉 Add nitrate licence check
* Revert "✨ Add nitrate to tmux devenv"
This reverts commit dc6f6c458995dac55cab7be365ced0972760a058.
* ✨ Add feature flag check
* 🐛 Rename licences for licenses
* ✨ MR changes
* ✨ MR changes 2
* 📎 Add the ability to have local config on start backend
* 📎 Add FIXME comment
---------
Co-authored-by: Xaviju <xavier.julian@kaleidos.net>
Co-authored-by: Juanfran <juanfran.ag@gmail.com>
Co-authored-by: Yamila Moreno <yamila.moreno@kaleidos.net>
Co-authored-by: Marina López <marina.lopez.yap@gmail.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-01-27 10:04:53 +01:00
Elena Torro
8d1bc6c50c
🐛 Fix flex layout sorting on reverse order with no z-index
2026-01-27 09:34:36 +01:00
Andrey Antukh
3112b240a0
📎 Add missing entry on changelog
2026-01-27 09:28:41 +01:00
Andrey Antukh
56fd66b91a
🐛 Fix several issues related to path edition ( #8187 )
...
* ✨ Improve save-path-content event consistency
Mainly removing possible race conditions from the event
implementation.
* ✨ Ensure path content snapshot on start-path-edit event
* ✨ Reuse already available shape-id on split-segments
2026-01-27 09:27:42 +01:00
Andrey Antukh
3b96eb5476
🐛 Fix incorrect handling of schema expression on obj/reify
2026-01-27 09:20:33 +01:00
Elena Torro
2a7c24f6fd
🐛 Fix shape operations on sidebar when using interaction observer
2026-01-27 09:03:41 +01:00
Andrey Antukh
7a842ce36a
✨ Restore back node based http server for e2e tests
2026-01-27 08:55:17 +01:00
Andrey Antukh
ea25c5db99
🔥 Remove unused svg from frontend resources
2026-01-27 08:55:17 +01:00
Alejandro Alonso
947aa22dee
Merge pull request #8173 from penpot/elenatorro-improve-surface-performance
...
🔧 Improve surface rendering performance
2026-01-27 07:21:23 +01:00
Alejandro Alonso
ce1796eb02
Merge pull request #8199 from penpot/elenatorro-13192-fix-layer-items-operations
...
🐛 Fix shape operations on sidebar when using interaction observer
2026-01-27 07:14:55 +01:00
Andrey Antukh
6f0685ba8e
🐛 Fix several issues related to path edition ( #8187 )
...
* ✨ Improve save-path-content event consistency
Mainly removing possible race conditions from the event
implementation.
* ✨ Ensure path content snapshot on start-path-edit event
* ✨ Reuse already available shape-id on split-segments
2026-01-26 22:48:57 +01:00
Andrey Antukh
abc1773f65
Merge tag '2.13.0-RC9'
2026-01-26 18:12:16 +01:00
David Barragán Merino
93f5e74bb0
🔧 Run all the jobs if the workflow is launched manually
2026-01-26 17:14:15 +01:00
David Barragán Merino
1ce0b60e3d
🔧 Run all the jobs if the workflow is launched manually
2026-01-26 17:13:54 +01:00
David Barragán Merino
d433fd25c1
🔧 Run all the jobs if the workflow is launched manually
2026-01-26 17:12:58 +01:00
Elena Torro
bb0e9b47cb
🐛 Fix shape operations on sidebar when using interaction observer
2026-01-26 16:14:18 +01:00
Elena Torro
5209a8b423
🔧 Improve surface rendering performance
2026-01-26 16:10:22 +01:00
Aitor Moreno
f4f4f5bbb5
🐛 Fix multiple issues and tests
2026-01-26 14:14:06 +01:00
David Barragán Merino
38179ba11e
🔧 Enable secret inheritance
2026-01-26 14:01:22 +01:00
David Barragán Merino
ef80901400
🔧 Enable secret inheritance
2026-01-26 14:00:55 +01:00
David Barragán Merino
c5f03d711a
🔧 Enable secret inheritance
2026-01-26 14:00:09 +01:00
David Barragán Merino
719a95246a
🔧 Define deploy plugin packages workflows
2026-01-26 13:48:33 +01:00
David Barragán Merino
e590cd852d
🔧 Rename wrangle to wrangler
2026-01-26 13:48:33 +01:00
David Barragán Merino
a9741073e5
🔧 Add deploy plugin packages workflow placeholder and wrangle config files
2026-01-26 13:48:33 +01:00
David Barragán Merino
5306bed548
🔧 Define deploy plugin packages workflows
2026-01-26 13:47:57 +01:00
David Barragán Merino
92a319ddd1
🔧 Rename wrangle to wrangler
2026-01-26 13:47:57 +01:00
David Barragán Merino
68a6d4c9a8
🔧 Add deploy plugin packages workflow placeholder and wrangle config files
2026-01-26 13:47:57 +01:00
David Barragán Merino
72cc5ee349
🔧 Define deploy plugin packages workflows
2026-01-26 13:23:46 +01:00
Eva Marco
804695b48b
♻️ Replace stroke width numeric inputs ( #8137 )
...
* ✨ Replace opacity numeric input
* ✨ Add test
* ♻️ Replace stroke width numeric input
* 🎉 Add tests
2026-01-26 12:50:28 +01:00
Elena Torró
20c8fbf314
🔧 Make render-wasm visual regression tests use gpu ( #8189 )
2026-01-26 11:53:29 +01:00
Andrey Antukh
e02536f8d4
Merge branch 'staging-render' into develop
2026-01-26 11:02:50 +01:00
Andrey Antukh
3eeaaab17e
Merge branch 'staging' into staging-render
2026-01-26 11:02:26 +01:00
Andrey Antukh
f07495ae95
🐛 Fix incorrect handling of numeric values layout padding and gap
...
Fixes https://github.com/penpot/penpot/issues/8113
2026-01-26 11:01:25 +01:00
Andrey Antukh
23d5fc7408
🐛 Prevent exception on open-new-window when no window is returned
...
Fixes https://github.com/penpot/penpot/issues/7787
2026-01-26 11:01:25 +01:00
Andrey Antukh
8632b18eec
🐛 Avoid json decoder liner limit exception by chunking
...
Happens only when we send large binary data serialized with transit
(mainly used for upload fonts data).
2026-01-26 11:01:25 +01:00
Andrey Antukh
33e650242c
✨ Add slugify to the filename on assets exportation
...
Fixes https://github.com/penpot/penpot/issues/8017
2026-01-26 11:01:25 +01:00
Alejandro Alonso
3dc9e28230
Merge pull request #8155 from penpot/elenatorro-13089-improve-page-load-render
...
🔧 Improve render UX on first load
2026-01-26 10:40:44 +01:00
Andrey Antukh
e03ad25118
🔧 Backport CI workflow from develop
2026-01-26 10:18:24 +01:00
Andrey Antukh
d9c56da705
⬆️ Update playwright on frontend module
2026-01-26 10:08:53 +01:00
Andrey Antukh
75248aec4e
🔧 Add missing container on tests.yml
2026-01-26 09:52:47 +01:00
David Barragán Merino
f0d9429775
🔧 Rename wrangle to wrangler
2026-01-26 09:37:33 +01:00
Eva Marco
62ecf48bdb
🐛 Fix glich when applying padding ( #8099 )
...
* ✨ Replace opacity numeric input
* ✨ Add test
* 🐛 Fix glich when applying padding
2026-01-26 08:40:32 +01:00
Alejandro Alonso
18de7f1db6
Merge pull request #8041 from penpot/niwinz-subpath-support
...
✨ Add several adjustments for make penpot run on subpath
2026-01-26 07:34:24 +01:00
Alejandro Alonso
2b2941bd25
Merge pull request #8049 from penpot/niwinz-virtual-clock-by-user
...
✨ Make the virtual clock by profile and not global
2026-01-26 07:22:08 +01:00
Alejandro Alonso
f2d561eff7
Merge pull request #8063 from penpot/niwinz-develop-auditlog-logging
...
✨ Add the ability to log using logging subsystem the audit events
2026-01-26 07:17:13 +01:00
Alejandro Alonso
418b65a287
Merge pull request #8143 from penpot/niwinz-develop-bugfix-2
...
🐛 Fix incorrect handling of numeric values layout padding and gap
2026-01-26 07:11:09 +01:00
Alejandro Alonso
d4e7810eba
Merge pull request #8135 from penpot/niwinz-develop-chunking-on-font-upload
...
🐛 Avoid json decoder line limit exception by chunking
2026-01-26 07:08:23 +01:00
Andrey Antukh
1d1d32ad39
🐛 Avoid json decoder liner limit exception by chunking
...
Happens only when we send large binary data serialized with transit
(mainly used for upload fonts data).
2026-01-26 06:58:17 +01:00
Alejandro Alonso
fb08dc65c8
Merge pull request #8133 from penpot/niwinz-develop-asset-export-whitespaces
...
✨ Add slugify to the filename on assets exportation
2026-01-26 06:55:52 +01:00
Alejandro Alonso
927ac93fa7
Merge pull request #8141 from penpot/niwinz-develop-bugfix-1
...
🐛 Prevent exception on open-new-window when no window is returned
2026-01-26 06:32:02 +01:00
Andrey Antukh
e546a7c614
🐛 Prevent exception on open-new-window when no window is returned
...
Fixes https://github.com/penpot/penpot/issues/7787
2026-01-26 06:31:40 +01:00
David Barragán Merino
058c20c2e2
🔧 Add deploy plugin packages workflow placeholder and wrangle config files
2026-01-23 20:39:39 +01:00
David Barragán Merino
599656c31e
🔧 Fix a typo in an interpolation
2026-01-23 19:52:47 +01:00
David Barragán Merino
5d7e6afd76
🔧 Fix a typo in an interpolation
2026-01-23 19:52:20 +01:00
Elena Torró
68a77e9cc8
Merge pull request #8179 from penpot/superalex-adding-performance-logs-flag
...
🎉 Adding performance logs flag
2026-01-23 14:06:57 +01:00
Alejandro Alonso
e3148ea20e
🎉 Adding performance logs flag
2026-01-23 13:34:19 +01:00
Elena Torró
5da9bbea62
Merge pull request #8174 from penpot/superalex-fix-blur-events-text-editor-v2
...
🐛 Fix blur events for text editor v2 in firefox
2026-01-23 13:08:01 +01:00
Alonso Torres
15d369493b
🐛 Fix problem with z-index modal in dashboard ( #8178 )
2026-01-23 12:48:01 +01:00
Andrey Antukh
5016b2a7bf
Merge remote-tracking branch 'origin/staging-render' into develop
2026-01-23 11:18:33 +01:00
Andrey Antukh
089d1667b6
Merge remote-tracking branch 'origin/staging' into staging-render
2026-01-23 11:08:07 +01:00
Alejandro Alonso
4ad5282063
🐛 Fix blur events for text editor v2 in firefox
2026-01-23 10:58:54 +01:00
Elena Torró
d0e79c94b4
Merge pull request #8162 from penpot/superalex-fix-auto-height
...
🐛 Fix text boxes with auto-height don't update height when resized by dragging side handles
2026-01-23 10:57:54 +01:00
Eva Marco
9c9b672e3e
🐛 Fix spanish translations on import export token modal ( #8172 )
2026-01-23 10:05:20 +01:00
Andrey Antukh
43ae213659
✨ Replace login illustration svg with a correct bitmap ( #8170 )
2026-01-23 09:59:29 +01:00
Eva Marco
5146221513
🐛 Fix allow negative spread values on shadow token creation ( #8167 )
...
* 🐛 Fix allow negative spread values on shadow token creation
* 🎉 Add test
2026-01-23 09:50:36 +01:00
Eva Marco
e53f335204
🐛 Fix unhandled error on tokens modal ( #8165 )
2026-01-23 09:35:53 +01:00
Alejandro Alonso
d112c0a33b
🐛 Fix text boxes with auto-height don't update height when resized by dragging side handles
2026-01-23 09:05:20 +01:00
Elena Torró
7b86518afa
Merge pull request #8171 from penpot/ladybenko-13152-fix-blur
...
🐛 Fix blur when clicking on same page
2026-01-22 17:42:39 +01:00
Elena Torró
9991901ed8
Merge pull request #8161 from penpot/superalex-fix-editing-text-doesnt-update-layer-name
...
🐛 Bug: Editing the text inside a text object doesn’t update the text layer name.
2026-01-22 17:40:32 +01:00
Belén Albeza
3d0c6ad421
✨ Blur board titles and outlines when switching pages
2026-01-22 16:00:24 +01:00
Andrey Antukh
dc973dac36
🔧 Enable link workspace packages on plugins
2026-01-22 13:55:41 +01:00
Andrey Antukh
4467827218
⬆️ Update react dependency on frontend
2026-01-22 13:55:41 +01:00
Andrey Antukh
6470db8d5f
✨ Remove mention of yarn on several files
2026-01-22 13:55:41 +01:00
Andrey Antukh
dc44156b53
🐛 Fix text editor wasm playground
2026-01-22 13:55:41 +01:00
Andrey Antukh
f0e53d70ae
🎉 Migrate to PNPM render-wasm module
2026-01-22 13:55:41 +01:00
Andrey Antukh
ef73a263b2
🎉 Migrate to PNPM docs module
2026-01-22 13:55:41 +01:00
Andrey Antukh
9b1e007a49
✨ Replace e2e node server with caddy
...
Which is already available in the devenv runtime image
2026-01-22 13:55:41 +01:00
Andrey Antukh
ea8632e56a
🐛 Fix frontend test-components scripts
2026-01-22 13:55:41 +01:00
Andrey Antukh
2d00e64ede
✨ Fix e2e scripts related to pnpm change
2026-01-22 13:55:41 +01:00
Andrey Antukh
1246250198
🎉 Migrate to PNPM frontend module
2026-01-22 13:55:41 +01:00
Andrey Antukh
34f2943dcd
🎉 Migrate to PNPM library module
2026-01-22 13:55:41 +01:00
Andrey Antukh
3fb78116b8
🎉 Migrate to PNPM backend module
2026-01-22 13:55:41 +01:00
Andrey Antukh
072e415b9e
🎉 Migrate to PNPM common module
2026-01-22 13:55:41 +01:00
Andrey Antukh
67a904824c
🎉 Migrate to PNPM exporter module
2026-01-22 13:55:41 +01:00
Belén Albeza
835ea97be7
🐛 Fix blur applied when clicking in the active page
2026-01-22 13:27:05 +01:00
Andrey Antukh
68184209be
✨ Add the ability to make json/->clj non-recursive
2026-01-22 13:07:05 +01:00
Andrey Antukh
d2295862b4
✨ Add the ability to customize decoder and schema on obj/reify
2026-01-22 13:07:05 +01:00
Andrey Antukh
23cbf33d1b
Merge remote-tracking branch 'origin/staging' into develop
2026-01-22 12:34:49 +01:00
David Barragán Merino
16f22a7b5c
🔧 Fixes to the API documentation deployer
2026-01-22 12:10:27 +01:00
David Barragán Merino
a1460115e8
🔧 Deploy penpot api documentation
2026-01-22 12:10:27 +01:00
David Barragán Merino
2574ad3315
🔧 Fixes to the API documentation deployer
2026-01-22 12:09:38 +01:00
David Barragán Merino
e6b5364a84
🔧 Deploy penpot api documentation
2026-01-22 12:09:38 +01:00
David Barragán Merino
b4ff0ccf3a
🔧 Fixes to the API documentation deployer
2026-01-22 12:08:09 +01:00
Andrey Antukh
6c6666a39a
Merge pull request #8158 from penpot/ladybenko-13058-hide-avatar
...
🐛 Do not hide active users avatar when there are 3 of them
2026-01-22 12:02:53 +01:00
Elena Torro
f94c9cdb02
🐛 Fix objects sorting for thumbnail generation
2026-01-22 09:29:33 +01:00
Elena Torro
8637c46ba1
🐛 Fix empty pool state
2026-01-22 08:52:26 +01:00
Elena Torro
5d7d23a2c7
🔧 Keep clear cached canvas
2026-01-22 08:51:58 +01:00
Alejandro Alonso
a1a3966d7b
🐛 Editing the text inside a text object doesn’t update the text layer name
2026-01-22 08:24:13 +01:00
David Barragán Merino
c1335961b4
🔧 Deploy penpot api documentation
2026-01-21 18:52:07 +01:00
Alonso Torres
656f81f89f
⬆️ Update plugins to 1.4.2 ( #8157 )
2026-01-21 17:36:58 +01:00
Belén Albeza
eaf64b6e16
♻️ Make the CSS of presence widgets to adhere to our guidelines
2026-01-21 17:33:18 +01:00
Belén Albeza
560a0d09d5
🐛 Fix hiding avatar when we have 3 active users
2026-01-21 16:01:20 +01:00
Elena Torro
aab1d97c4c
🔧 Clean up and use proper imports
2026-01-21 16:01:06 +01:00
Elena Torro
499aac31a4
🔧 Improve tile invalidation to prevent visual flickering
...
When tiles are invalidated (during shape updates or page loading), the old tile
content is now kept visible until new content is rendered to replace it. This
provides a smoother visual experience during updates.
2026-01-21 15:42:52 +01:00
Alonso Torres
01a4ffeb8b
⬆️ Updated plugins release to 1.4.0 ( #8148 )
2026-01-21 15:41:00 +01:00
Elena Torro
962d7839a2
🔧 Add progressive rendering support for improved page load experience
...
When loading large pages with many shapes, the UI now remains responsive by
processing shapes in chunks (100 shapes at a time) and yielding to the browser
between chunks. Preview renders are triggered at 25%, 50%, and 75% progress to
give users visual feedback during loading.
2026-01-21 14:55:53 +01:00
Elena Torro
83387701a0
🔧 Add batched shape base properties serialization for improved WASM performance
2026-01-21 14:55:07 +01:00
Elena Torro
5775fa61ba
🔧 Refactor ShapesPool to use index-based storage instead of unsafe lifetime references
...
Replace `HashMap<&'a Uuid, ...>` with `HashMap<usize, ...>` for all auxiliary maps
(modifiers, structure, scale_content, modified_shape_cache)
2026-01-21 14:53:56 +01:00
Andrey Antukh
b70eb768e0
Merge remote-tracking branch 'origin/staging' into develop
2026-01-21 13:51:41 +01:00
Andrey Antukh
b8c70be9a2
✨ Make frontend build and watch process more resilent to errors
2026-01-21 13:44:35 +01:00
Andrey Antukh
525adcfcbe
✨ Add wasm build on watch app script (devenv)
2026-01-21 13:44:35 +01:00
Eva Marco
7cce4c6532
🐛 Fix unhandled exception tokens creation dialog ( #8136 )
2026-01-21 13:09:22 +01:00
Alejandro Alonso
a3fdd8b691
Merge pull request #8147 from penpot/niwinz-staging-file-menu-issue
...
✨ Use correct team-id on file-menu on dashboard
2026-01-21 12:54:28 +01:00
Andrey Antukh
b6a9579c98
✨ Use correct team-id on file-menu on dashboard
...
Before the changes on this commit, the team object is used for
retrieve the id, where we already have team-id. Additionally, the
team object resolution is async operation and is not available on
the first render which causes strange issues on automated flows
(playwright) where an option is clicked when the async flow is
still pending and we have no team object loaded.
2026-01-21 12:23:44 +01:00
Belén Albeza
5b1766835f
🐛 Fix broken selection on duplicated shapes on new pages
2026-01-21 10:32:13 +01:00
Andrey Antukh
4397ede5c1
Merge branch 'staging-render' into develop
2026-01-21 10:18:15 +01:00
Andrey Antukh
ff25df0457
Merge remote-tracking branch 'origin/staging' into staging-render
2026-01-21 10:17:22 +01:00
Andrey Antukh
e0910db99e
🐛 Fix incorrect handling of numeric values layout padding and gap
...
Fixes https://github.com/penpot/penpot/issues/8113
2026-01-21 09:38:44 +01:00
Eva Marco
8c7fd0af4b
🐛 Fix shadow reference validation ( #8132 )
2026-01-21 09:17:03 +01:00
Andrey Antukh
cf46051f56
🔥 Remove .traivis.yml file from the repository
2026-01-20 19:40:31 +01:00
Luis de Dios
079b3fbfad
♻️ Extract and create panel title component ( #8090 )
2026-01-20 18:56:25 +01:00
Andrey Antukh
299f628951
Merge pull request #8123 from penpot/GlobalStar117-fix/token-validation-crash
...
🐛 Fix Penpot crash when setting some name in Design tokens
2026-01-20 18:53:05 +01:00
David Barragán Merino
32d0fe6463
🔧 Use selfhosted runner 01 to generate the bundle
2026-01-20 18:09:18 +01:00
Andrey Antukh
6393330ee1
Merge remote-tracking branch 'origin/staging'
2026-01-20 16:25:10 +01:00
Andrey Antukh
8252bc485e
📚 Fix oidc callback related documentation issue
2026-01-20 16:24:12 +01:00
Andrey Antukh
cecd3d4a90
📎 Update changelog
2026-01-20 16:00:57 +01:00
Eva Marco
1c2c0987f5
🐛 Fix schema validation for references from other sets
2026-01-20 15:51:43 +01:00
Globalstar117
0418147e74
🐛 Add error handler to token form validation to prevent crash
...
When creating a token with a name that conflicts with existing
hierarchical token names (e.g., 'accent-color' when 'accent-color.blue.dark'
exists), the validation throws an error via rx/throw. However, the
rx/subs! subscriber in generic_form.cljs had no error handler, causing
an unhandled exception that resulted in an 'Internal Error' crash.
This fix adds an error handler that:
1. Catches validation errors from the reactive stream
2. Uses humanize-errors to convert them to user-friendly messages
3. Displays the error in the form's extra-errors field
Before: Crash with 'Internal Error' dialog
After: Form shows validation error message
Fixes #8110
---
This is a Gittensor contribution.
gittensor:user:GlobalStar117
2026-01-20 15:51:25 +01:00
Andrey Antukh
9e0ba4429a
✨ Add slugify to the filename on assets exportation
...
Fixes https://github.com/penpot/penpot/issues/8017
2026-01-20 15:27:24 +01:00
Alonso Torres
47775a9e2c
Merge pull request #8134 from penpot/alotor-fix-plugins-export
...
🐛 Fix problem with export in plugins
2026-01-20 15:03:04 +01:00
Eva Marco
7499a5bca6
♻️ Replace opacity input ( #8072 )
...
* ✨ Replace opacity numeric input
* ✨ Add test
2026-01-20 14:30:35 +01:00
Xaviju
6cd5bc76d7
💄 Replace current themes switch with DS switch ( #8131 )
2026-01-20 14:17:25 +01:00
Andrey Antukh
8191d04114
✨ Use non-legacy config example on docker compose file
2026-01-20 13:25:55 +01:00
David Barragán Merino
bbe6ee2e19
🔧 Define a different temporary config file for each execution
2026-01-20 12:59:56 +01:00
David Barragán Merino
fb6d8309b6
🔧 Prevent error 429 downloading docker images from dockerhub
2026-01-20 12:59:56 +01:00
Alejandro Alonso
b7c2d9a079
Merge pull request #8130 from penpot/superalex-improve-zoom-pan-performance-7
...
🐛 Fix some tiles disappear after fast zoom and pan
2026-01-20 12:56:02 +01:00
Alejandro Alonso
aeb34a6f64
Merge pull request #8109 from penpot/superalex-fix-text-selrect-calculation
...
🐛 Render wasm typography token issues
2026-01-20 12:54:45 +01:00
Alejandro Alonso
6fa0c3af0c
🐛 Fix some tiles disappear after fast zoom and pan
2026-01-20 12:40:01 +01:00
Alejandro Alonso
260b9fb040
🐛 Fix texts with auto size updated via tokens with render wasm
...
activated
2026-01-20 12:39:17 +01:00
Alejandro Alonso
884954f4ff
🐛 Fix text selrect calculation
2026-01-20 12:37:57 +01:00
Andrey Antukh
88f0f75174
Merge pull request #8129 from penpot/niwinz-staging-bugfix-1
...
✨ Several improvements for build process
2026-01-20 12:26:55 +01:00
Andrey Antukh
1ffa956251
✨ Include timestamp on version tag
2026-01-20 12:26:39 +01:00
Andrey Antukh
31054099ff
✨ Use pseudo-names on release builds of frontend ( #8105 )
2026-01-20 12:26:39 +01:00
Andrey Antukh
689467bcf9
📎 Update changelog
2026-01-20 12:25:43 +01:00
Andrey Antukh
7724450037
Merge remote-tracking branch 'origin/staging-render' into develop
2026-01-20 12:18:04 +01:00
Xaviju
368fa954ce
✨ Remove tokens tree node ( #8042 )
2026-01-20 11:00:13 +01:00
Eva Marco
983487d73c
🐛 Fix shadow token reference validation ( #8128 )
2026-01-20 10:56:27 +01:00
Andrey Antukh
6fd0f5377c
Merge remote-tracking branch 'origin/staging' into staging-render
2026-01-20 10:08:58 +01:00
Elena Torró
eb54bc485e
Merge pull request #8120 from penpot/alotor-fix-flex-layout
...
🐛 Fix problems with layout
2026-01-20 10:00:24 +01:00
Elena Torró
12c24a36b4
Merge pull request #8122 from penpot/fix-thumbnail-generation
...
🐛 Fix problem with thumbnail generation
2026-01-20 09:59:34 +01:00
Alejandro Alonso
324d54ad28
🐛 Fix set all rounded corners to 0
2026-01-20 09:34:06 +01:00
alonso.torres
f42ff27f3d
🐛 Fix problem with bools
2026-01-19 17:05:04 +01:00
Andrey Antukh
0ecb2bc838
Merge remote-tracking branch 'origin/staging' into develop
2026-01-19 13:42:05 +01:00
Andrey Antukh
3ecf509f3b
🔧 Add missing gif files handling on defaut nginx config
2026-01-19 13:32:01 +01:00
alonso.torres
2c1cc89f53
🐛 Fix problem with thumbnail generation
2026-01-19 12:54:15 +01:00
alonso.torres
498b0b30fe
🐛 Fix problems with layout
2026-01-19 12:17:58 +01:00
Elena Torró
89f40dcda2
🔧 Move WebGL context error message to 'errors' namespace ( #8117 )
2026-01-19 11:24:19 +01:00
Andrey Antukh
e92f3fb3cb
✨ Use pseudo-names on release builds of frontend ( #8105 )
2026-01-19 11:23:35 +01:00
Andrey Antukh
5193cfd56e
:paerclip: Update changelog
2026-01-19 11:15:39 +01:00
Dalai Felinto
7f395b2642
🐛 Fix import tokens dialog default option ( #8051 )
...
This was intended to be changed on 13fcf3a9bb25. However only the menu
order changed, not the default option.
Signed-off-by: Dalai Felinto <dalai@blender.org>
Co-authored-by: Dalai Felinto <dalai@blender.org>
2026-01-19 11:14:34 +01:00
Dalai Felinto
813d5d8e69
🐛 Fix import tokens dialog default option ( #8051 )
...
This was intended to be changed on 13fcf3a9bb25. However only the menu
order changed, not the default option.
Signed-off-by: Dalai Felinto <dalai@blender.org>
Co-authored-by: Dalai Felinto <dalai@blender.org>
2026-01-19 11:13:55 +01:00
Andrey Antukh
84f1ff092d
Merge remote-tracking branch 'origin/staging' into develop
2026-01-19 11:10:37 +01:00
Juan de la Cruz
2a62bd2586
🎉 Add 2.13 release slides ( #8116 )
2026-01-19 11:09:58 +01:00
Elena Torró
ccac7bd510
Merge pull request #8108 from penpot/ladybenko-13022-blur-page
...
🎉 Apply blur effect when switching pages
2026-01-19 11:04:31 +01:00
Andrey Antukh
f2b082b93e
Merge branch 'staging-render' into develop
2026-01-19 10:54:37 +01:00
Andrey Antukh
d73197625d
Merge remote-tracking branch 'origin/staging' into staging-render
2026-01-19 10:43:43 +01:00
Andrey Antukh
1f41bef4a9
✨ Add several adjustments for make penpot run on subpath
2026-01-18 10:12:23 +01:00
Marina López
fdf5bb250b
🐛 Fix profile not updating after deleting a team member ( #8075 )
2026-01-18 10:08:18 +01:00
Yamila Moreno
786736fadd
✨ Improve default nginx config ( #8104 )
2026-01-18 10:07:44 +01:00
Pablo Alba
1ff6e00398
🐛 Fix error message on components doesn't close automatically ( #8081 )
2026-01-18 10:07:11 +01:00
David Barragán Merino
25455523ad
🔧 Revert use of selfhosted runner 02 to generate the bundle
2026-01-16 17:51:02 +01:00
David Barragán Merino
8dfeb21978
🔧 Use selfhosted runner 02 to generate the bundle and the docker images
2026-01-16 17:44:15 +01:00
Belén Albeza
43d1d127dc
🎉 Apply blur effect to previous canvas pixels while setting wasm objects
2026-01-16 13:04:59 +01:00
Belén Albeza
8bd3ef717c
🎉 Apply blur to canvas when switching pages
2026-01-16 13:04:59 +01:00
Elena Torro
53bc647783
🔧 Fix shape selection from canvas to sidebar
2026-01-16 13:02:25 +01:00
Alejandro Alonso
ad2833bb7a
Merge pull request #8107 from penpot/elenatorro-13077-improve-shape-selection-performance
...
🔧 Fix shape selection from canvas to sidebar
2026-01-16 13:01:58 +01:00
Elena Torro
21911e898f
🔧 Fix shape selection from canvas to sidebar
2026-01-16 12:45:45 +01:00
Andrey Antukh
538073debf
Merge remote-tracking branch 'origin/staging' into develop
2026-01-16 10:38:20 +01:00
Andrey Antukh
1ae7515189
🐛 Set correct defaults for storage configuration on compose ( #8060 )
...
* 🔥 Remove mention to legacy and never released admin on compose
* 🐛 Set correct defaults for storage configuration on compose
2026-01-16 08:11:34 +01:00
andrés gonzález
8c401f5346
📚 Add Files and Projects section to user guide ( #8095 )
2026-01-15 17:01:05 +01:00
Elena Torró
6029f9bb51
Merge pull request #8089 from penpot/superalex-improve-zoom-pan-performance-5
...
🎉 Performance improvements
2026-01-15 16:46:07 +01:00
Elena Torro
e0fd8bac81
🔧 Optimize sidebar performance for deeply nested shapes
...
- Batch hover highlights using RAF to avoid long tasks from rapid events
- Run parent expansion asynchronously to not block selection
- Lazy-load children in layer items using IntersectionObserver
- Clarify expand-all-parents logic with explicit bindings
2026-01-15 13:41:54 +01:00
Elena Torro
34737ddfc9
🔧 Always lookup over a set
2026-01-15 13:41:10 +01:00
Elena Torro
a8dfd19338
🔧 Add performance debugging logs
2026-01-15 13:40:58 +01:00
Elena Torro
e33e8a8c3b
🔧 Lookup page objects only when value changes
2026-01-15 13:40:53 +01:00
Alejandro Alonso
214b0efa02
Merge pull request #8074 from penpot/elenatorro-13017-improve-sidebar-performance
...
🔧 Optimize sidebar performance for deeply nested shapes
2026-01-15 13:28:14 +01:00
David Barragán Merino
661436ecae
🔧 Use selfhosted runner 02
2026-01-15 13:26:49 +01:00
Alejandro Alonso
c411aefc6c
🐛 Fix rotated shapes extrect calculation
2026-01-15 12:53:21 +01:00
Alejandro Alonso
311e124658
🎉 Reduce extrect work in tile traversal
...
Avoid repeated extrect calculations and simplify root ordering per tile.
2026-01-15 12:53:21 +01:00
Alejandro Alonso
afc914f486
🎉 Render simple shapes directly on Current
...
Bypass intermediate surfaces for simple shapes without effects.
2026-01-15 12:53:21 +01:00
Pablo Alba
0d5fe6e527
🐛 Fix wrong register image
2026-01-15 11:25:12 +01:00
Pablo Alba
e7230d9da4
🐛 Fix wrong image in the onboarding invitation block
2026-01-15 11:25:12 +01:00
Elena Torro
5054f6bc38
🔧 Optimize sidebar performance for deeply nested shapes
...
- Batch hover highlights using RAF to avoid long tasks from rapid events
- Run parent expansion asynchronously to not block selection
- Lazy-load children in layer items using IntersectionObserver
- Clarify expand-all-parents logic with explicit bindings
2026-01-15 09:15:32 +01:00
andrés gonzález
b72de2dc8f
📚 Add shadow token documentation ( #8082 )
2026-01-15 09:09:08 +01:00
Alejandro Alonso
84f750da0d
🎉 Skip heavy effects in fast mode
...
Avoid blur and shadow passes for text and shapes when FAST_MODE is enabled.
2026-01-15 08:45:21 +01:00
Xaviju
38396ba299
♻️ Divide token integrations tests into multiple files ( #8076 )
2026-01-14 16:12:36 +01:00
Pablo Alba
b1997a83b3
🐛 Fix prototype connections lost when switching between variants
2026-01-14 15:30:54 +01:00
Elena Torro
68f5671eab
🔧 Always lookup over a set
2026-01-14 13:49:32 +01:00
Elena Torro
92976143bb
🔧 Add performance debugging logs
2026-01-14 13:49:32 +01:00
Eva Marco
dd2d03e6a0
♻️ Replace border radius inputs ( #7953 )
...
* ✨ Replace border radius numeric input
* ✨ Add border radius token inputs on multiple selection
2026-01-14 12:45:40 +01:00
Elena Torro
fd675e0194
🔧 Lookup page objects only when value changes
2026-01-14 12:15:01 +01:00
Elena Torro
a3119bef5e
🔧 Show message and button to reload the page when WebGL context is lost
2026-01-14 11:10:03 +01:00
Alejandro Alonso
c60d74df62
🐛 Fix nested frames border clipping
2026-01-14 11:10:03 +01:00
Alejandro Alonso
d593e299e3
🐛 Fix mask erros on save/restore optimizations
2026-01-14 11:10:03 +01:00
Alejandro Alonso
4a8e02987f
🐛 Fix mask erros on save/restore optimizations
2026-01-14 11:10:03 +01:00
Alejandro Alonso
ee766e85a0
🎉 Wasm render dirty surfaces
2026-01-14 11:10:03 +01:00
Alejandro Alonso
35e3b7f19a
🎉 Root ids refactor
2026-01-14 11:10:03 +01:00
Alejandro Alonso
1810df232b
🎉 Ignore frames and groups when they have no visual extra information
2026-01-14 11:10:03 +01:00
Alejandro Alonso
3e99ad036c
🎉 Avoid unnecesary saves and restores
2026-01-14 11:10:03 +01:00
Alejandro Alonso
042a3a4080
🐛 Fix wasm playgrounds
2026-01-14 11:10:03 +01:00
Belén Albeza
f0687fd1f7
🎉 Make workspace loader to wait for first render
2026-01-14 11:10:03 +01:00
Aitor Moreno
2c9159288f
🐛 Fix previous styles lost when changing selected text
2026-01-14 11:10:01 +01:00
Alejandro Alonso
51635770ce
Merge pull request #8065 from penpot/eva-fix-lost-translation
...
🐛 Fix translation on rename token
2026-01-14 09:44:41 +01:00
Eva Marco
18a4e63da0
🐛 Fix translation on rename token
2026-01-13 15:57:09 +01:00
Andrey Antukh
c98373658e
Revert " 🔧 Use selfhosted runners ( #8057 )"
...
This reverts commit 01e42b04583de94d6a1f21c9b7a0d38780d57053.
2026-01-13 15:45:28 +01:00
Andrey Antukh
2e400768b7
✨ Add the ability to log using logging subsystem the audit events
2026-01-13 14:22:18 +01:00
David Barragán Merino
01e42b0458
🔧 Use selfhosted runners ( #8057 )
2026-01-13 14:20:33 +01:00
Madalena Melo
7529673812
📎 Create an issue template for reporting bugs on the new render engine ( #8059 )
...
This template will be part of the open beta test for the new render, so that users can report issues for us to review.
2026-01-13 13:27:27 +01:00
Andrey Antukh
d2dad35d7a
Merge branch 'staging' into develop
2026-01-13 10:36:22 +01:00
Andrey Antukh
d71f811dbe
✨ Update help center build script
2026-01-13 10:35:15 +01:00
Eva Marco
f7b5266304
🐛 Fix sticky-buttons-on-layers ( #7962 )
2026-01-12 14:28:19 +01:00
Eva Marco
09c23256b7
🐛 Fix multiselection with tokens on stroke color ( #7977 )
2026-01-12 12:54:24 +01:00
Andrey Antukh
1ae1c0460e
🐛 Fix translation related to dashboard deleted page ( #8056 )
...
* 🐛 Fix translation related to dashboard deleted page
* ✨ Rehash and validate translation files
2026-01-12 12:42:51 +01:00
Andrey Antukh
291c7349db
Merge remote-tracking branch 'origin/staging' into develop
2026-01-12 11:53:02 +01:00
Andrey Antukh
1beb3b86aa
🐛 Add missing msgid_plural on several translations
2026-01-12 11:52:07 +01:00
Andrey Antukh
b605a3b53d
Merge branch 'staging' into develop
2026-01-12 11:44:51 +01:00
Andrey Antukh
fe20bdd00e
🐛 Fix multiple selection options on dashboard deleted page ( #8055 )
...
* 🐛 Fix multiple selection options on dashboard deleted page
* 📎 Fix translations
2026-01-12 11:41:37 +01:00
María Valderrama
5420897b92
🐛 Fix empty state message in trash page ( #8045 )
2026-01-12 11:17:01 +01:00
Andrey Antukh
e430a4c9f3
Revert " ⏪ Backport translations from develop"
...
This reverts commit ec6d72bd9157734b5fbb5afb907372897b0e5a24.
2026-01-12 10:40:17 +01:00
Andrey Antukh
ec6d72bd91
⏪ Backport translations from develop
2026-01-12 09:39:33 +01:00
Nicola Bortoletto
cc2dab2756
🌐 Add translations for: Italian
...
Currently translated at 98.4% (2032 of 2065 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2026-01-12 09:36:34 +01:00
Alexis Morin
d0c0664338
🌐 Add translations for: French (Canada)
...
Currently translated at 16.5% (342 of 2065 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-12 09:36:34 +01:00
Alexis Morin
2240f25143
🌐 Add translations for: French (Canada)
...
Currently translated at 15.3% (317 of 2065 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-12 09:36:34 +01:00
Oğuz Ersen
93a5ec2f5d
🌐 Add translations for: Turkish
...
Currently translated at 99.8% (2061 of 2065 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2026-01-12 09:36:33 +01:00
Alexis Morin
d6784771a8
🌐 Add translations for: French (Canada)
...
Currently translated at 13.5% (279 of 2065 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-12 09:36:33 +01:00
Edgars Andersons
930c814ded
🌐 Add translations for: Latvian
...
Currently translated at 91.1% (1883 of 2065 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2026-01-12 09:36:33 +01:00
Stephan Paternotte
1a5a69bca2
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (2061 of 2065 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2026-01-12 09:36:33 +01:00
VKing9
9ad323a220
🌐 Add translations for: Hindi
...
Currently translated at 96.9% (2001 of 2065 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2026-01-12 09:36:33 +01:00
Andrey Antukh
bcaf76d055
✨ Make the virtual clock by profile and not global
...
And make it affect only RPC/HTTP requests and not worker
tasks.
2026-01-09 12:58:44 +01:00
Eva Marco
6ec451b46d
🐛 Fix resolved value on line height ( #8047 )
2026-01-09 12:54:24 +01:00
Andrés Moya
5fa4368d70
🔧 Refactor integration test to be cleaner ( #8044 )
2026-01-09 12:52:50 +01:00
Elena Torró
b8efd2518d
🐛 Fix invite members UI modal ( #8032 )
2026-01-09 11:12:15 +01:00
Andrey Antukh
2b836f10cb
🐛 Do not show deleted files on search ( #8036 )
...
* 🐛 Do not show deleted files on search
* 💄 Add cosmetic changes to dashboard deleted files page
2026-01-09 11:11:29 +01:00
Andrés Moya
7b2271ec38
🐛 Fix remapping of tokens with the same name and update tests ( #8043 )
2026-01-09 10:53:19 +01:00
Xaviju
2240d93069
✨ Save unfolded tokens path ( #7949 )
2026-01-09 09:56:18 +01:00
Edgars Andersons
3f4506284b
🌐 Add translations for: Latvian
...
Currently translated at 91.3% (1869 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2026-01-08 18:06:51 +01:00
Valentina Chapellu
af1dfd91aa
🌐 Add translations for: Italian
...
Currently translated at 97.0% (1984 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2026-01-08 18:06:51 +01:00
Mikel Larreategi
24feebd73b
🌐 Add translations for: Basque
...
Currently translated at 56.4% (1155 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/eu/
2026-01-08 18:06:51 +01:00
Aryiu
33e5a9a538
🌐 Add translations for: Catalan
...
Currently translated at 52.2% (1068 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ca/
2026-01-08 18:06:50 +01:00
Linerly
9c69b07a62
🌐 Add translations for: Indonesian
...
Currently translated at 82.9% (1697 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2026-01-08 18:06:50 +01:00
Црнобог
56f5be4f37
🌐 Add translations for: Serbian
...
Currently translated at 67.0% (1371 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sr/
2026-01-08 18:06:50 +01:00
ascarida
8a70204d41
🌐 Add translations for: Galician
...
Currently translated at 18.0% (370 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/gl/
2026-01-08 18:06:50 +01:00
Henrik Allberg
57a27f7e7f
🌐 Add translations for: Swedish
...
Currently translated at 97.1% (1986 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2026-01-08 18:06:50 +01:00
Eranot
3b0b2a78d6
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 68.1% (1394 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2026-01-08 18:06:50 +01:00
Alejandro Alonso
10bf4610df
🌐 Add translations for: Hausa
...
Currently translated at 60.6% (1241 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ha/
2026-01-08 18:06:50 +01:00
Andy Li
77e8414aea
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 78.1% (1599 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2026-01-08 18:06:50 +01:00
bingling_sama
20ecf3b066
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 88.2% (1804 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2026-01-08 18:06:50 +01:00
Amerey.eu
49b1032973
🌐 Add translations for: Czech
...
Currently translated at 77.9% (1594 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2026-01-08 18:06:49 +01:00
Radek Sawicki
5ba7dd8c56
🌐 Add translations for: Polish
...
Currently translated at 55.2% (1130 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pl/
2026-01-08 18:06:49 +01:00
Ingrid Pigueron
38b5125186
🌐 Add translations for: French
...
Currently translated at 94.5% (1934 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2026-01-08 18:06:49 +01:00
Vint Prox
6677ae83d4
🌐 Add translations for: Russian
...
Currently translated at 77.3% (1582 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2026-01-08 18:06:49 +01:00
Marius
0737c055f0
🌐 Add translations for: German
...
Currently translated at 93.2% (1906 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2026-01-08 18:06:49 +01:00
Dário
4b88748fe3
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 76.8% (1571 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2026-01-08 18:06:49 +01:00
Denys Kisil
92107e5b1e
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 88.8% (1818 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2026-01-08 18:06:49 +01:00
Shuaib Zahda
ebc0e3a23c
🌐 Add translations for: Arabic
...
Currently translated at 55.0% (1126 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
2026-01-08 18:06:49 +01:00
VKing9
ebe4f2da50
🌐 Add translations for: Hindi
...
Currently translated at 97.1% (1986 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2026-01-08 18:06:48 +01:00
Vincas Dundzys
a07c1d6eaa
🌐 Add translations for: Lithuanian
...
Currently translated at 5.7% (118 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lt/
2026-01-08 18:06:48 +01:00
Ahmad HosseinBor
613bfda955
🌐 Add translations for: Persian
...
Currently translated at 38.2% (782 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fa/
2026-01-08 18:06:48 +01:00
AlexTECPlayz
f7ef6618e5
🌐 Add translations for: Romanian
...
Currently translated at 94.8% (1940 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
2026-01-08 18:06:48 +01:00
Sebastiaan Pasma
fe334d9cbe
🌐 Add translations for: Dutch
...
Currently translated at 97.1% (1986 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2026-01-08 18:06:48 +01:00
Revenant
268b883c73
🌐 Add translations for: Malay
...
Currently translated at 32.8% (672 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ms/
2026-01-08 18:06:48 +01:00
Zvonimir Juranko
f6a4effa29
🌐 Add translations for: Croatian
...
Currently translated at 78.1% (1599 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2026-01-08 18:06:48 +01:00
Yessenia Villarte Vaca
ced848077e
🌐 Add translations for: Spanish (Latin America)
...
Currently translated at 6.4% (131 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es_419/
2026-01-08 18:06:48 +01:00
Alexis Morin
7d9d318539
🌐 Add translations for: French (Canada)
...
Currently translated at 12.5% (257 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-08 18:06:48 +01:00
Oğuz Ersen
9781fceadb
🌐 Add translations for: Turkish
...
Currently translated at 97.1% (1986 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2026-01-08 18:06:48 +01:00
Yaron Shahrabani
3178bd9a27
🌐 Add translations for: Hebrew
...
Currently translated at 97.0% (1984 of 2045 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2026-01-08 18:06:47 +01:00
Andrey Antukh
e5d677f449
🌐 Validate and rehash translation files
2026-01-08 18:05:51 +01:00
Andrey Antukh
6bf928893c
Merge pull request #8000 from penpot/luis-radio-buttons-ds
...
♻️ Replace some components with DS ones
2026-01-08 18:04:20 +01:00
Andrey Antukh
1ae0f3fc87
Merge pull request #8037 from penpot/niwinz-staging-project-name-fix
...
🐛 Fix long project name visual problem on dashboard
2026-01-08 17:41:37 +01:00
Andrés Moya
53dd90aa24
🔥 Remove unused css ( #8039 )
2026-01-08 16:37:27 +01:00
Eva Marco
e13c203b8d
♻️ Refactor scss file
2026-01-08 16:35:56 +01:00
Andrey Antukh
9fd0f6a8f3
📎 Fix integration tests
2026-01-08 16:02:52 +01:00
Andrey Antukh
638c3356d3
📎 Use correct casing on translation strings
2026-01-08 14:58:17 +01:00
Luis de Dios
6879f54e5d
♻️ Replace some components with DS ones
2026-01-08 14:52:25 +01:00
Andrey Antukh
a71baa5a78
🌐 Rehash and validate translation files
2026-01-08 14:46:18 +01:00
Andrey Antukh
8e4a89bd1c
Merge branch 'staging' into develop
2026-01-08 14:43:43 +01:00
Andrey Antukh
90efb665b5
✨ Add several additional renames for make translation string consistent
2026-01-08 14:37:58 +01:00
Pablo Alba
47ee490158
🐛 Fix typos on download modal
2026-01-08 14:37:58 +01:00
Andrey Antukh
f0f89599bc
🌐 Backport translations from develop
2026-01-08 14:08:02 +01:00
Hosted Weblate
7aad9da285
🌐 Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
2026-01-08 14:04:56 +01:00
Alexis Morin
ab57a4ae52
🌐 Add translations for: French (Canada)
...
Currently translated at 12.9% (259 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-08 14:04:48 +01:00
Alexis Morin
266ee29bb9
🌐 Add translations for: French (Canada)
...
Currently translated at 9.2% (184 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-08 14:04:48 +01:00
Alexis Morin
69ca86bb6c
🌐 Add translations for: French (Canada)
...
Currently translated at 7.3% (147 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-08 14:04:48 +01:00
Alexis Morin
ee14a845fc
🌐 Add translations for: French (Canada)
...
Currently translated at 3.1% (62 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-08 14:04:48 +01:00
Yaron Shahrabani
73639f5d16
🌐 Add translations for: Hebrew
...
Currently translated at 99.7% (1992 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2026-01-08 14:04:48 +01:00
Yaron Shahrabani
9bd106b2bc
🌐 Add translations for: Hebrew
...
Currently translated at 99.4% (1986 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2026-01-08 14:04:47 +01:00
Alexis Morin
59c75afc7b
🌐 Add translations for: French (Canada)
...
Currently translated at 1.0% (21 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-08 14:04:47 +01:00
Nicola Bortoletto
bbc81586e3
🌐 Add translations for: Italian
...
Currently translated at 99.7% (1992 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2026-01-08 14:04:47 +01:00
Anton Palmqvist
c9c30eab75
🌐 Add translations for: Swedish
...
Currently translated at 99.8% (1994 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2026-01-08 14:04:47 +01:00
Alexis Morin
86ba9280db
🌐 Add translations for: French (Canada)
...
Currently translated at 0.3% (6 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr_CA/
2026-01-08 14:04:47 +01:00
Vin
5800cc4bb2
🌐 Add translations for: Russian
...
Currently translated at 79.2% (1583 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2026-01-08 14:04:47 +01:00
andy
aa29a34c4c
🌐 Added translation for: French (Canada)
2026-01-08 14:04:47 +01:00
Edgars Andersons
3276129cc7
🌐 Add translations for: Latvian
...
Currently translated at 93.9% (1876 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2026-01-08 14:04:47 +01:00
VKing9
67a96de475
🌐 Add translations for: Hindi
...
Currently translated at 100.0% (1997 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2026-01-08 14:04:47 +01:00
Stephan Paternotte
48785b4846
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1994 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2026-01-08 14:04:46 +01:00
Oğuz Ersen
3f0573f95d
🌐 Add translations for: Turkish
...
Currently translated at 99.8% (1994 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2026-01-08 14:04:46 +01:00
Andrey Antukh
d94a2a8881
Merge branch 'staging-render' into develop
2026-01-08 13:59:01 +01:00
Andrey Antukh
1c237a0968
Merge branch 'staging' into staging-render
2026-01-08 13:58:48 +01:00
Andrey Antukh
b0dc7d6ffb
🔧 Change default jmx port on deps.edn
2026-01-08 13:56:22 +01:00
Elena Torró
b7eaeffa88
Merge pull request #8024 from penpot/azazeln28-issue-12835-fix-previous-styles-lost
...
🐛 Fix previous styles lost when changing selected text
2026-01-08 13:49:06 +01:00
Andrey Antukh
722fcc1f82
Merge remote-tracking branch 'origin/staging' into develop
2026-01-08 13:48:21 +01:00
Andrey Antukh
b7cd315872
🐛 Fix wasm-playground on devenv
2026-01-08 13:48:09 +01:00
Andrés Moya
2ad42cfd9b
✨ Add ability to remap tokens when renamed ones are referenced by other child tokens ( #8035 )
...
* 🎉 Add ability to remap tokens when renamed ones are referenced by other child tokens
Signed-off-by: Akshay Gupta <gravity.akshay@gmail.com>
* 🐛 Fix remap skipping tokens with same name in different sets
* 📚 Update CHANGES.md
* 🔧 Fix css styles
---------
Signed-off-by: Akshay Gupta <gravity.akshay@gmail.com>
Co-authored-by: Akshay Gupta <gravity.akshay@gmail.com>
2026-01-08 13:42:06 +01:00
Eva Marco
743d4e5c8d
🐛 Fix error on shadow token creation ( #8029 )
2026-01-08 13:26:01 +01:00
Andrey Antukh
97e4f4c424
🐛 Fix long project name visual problem on dashboard
2026-01-08 11:40:55 +01:00
Belén Albeza
fb9560c315
🐛 Fix guides dropdown width ( #8031 )
...
* 🐛 Fix width of guides column dropdown
* ♻️ Remove deprecated tokens in css
* 🔧 Update changelog
2026-01-08 10:47:11 +01:00
Andrey Antukh
795f65632a
🐛 Fix wasm-playground on devenv
2026-01-08 10:42:37 +01:00
Alejandro Alonso
d53c090900
Merge pull request #8028 from penpot/elenatorro-12956-fix-text-color-tokens
...
🐛 Fix missing text color token from selected shapes in selected colors list
2026-01-07 16:49:41 +01:00
Elena Torro
621e030095
🐛 Fix missing text color token from selected shapes in selected colors list
2026-01-07 16:41:25 +01:00
Alejandro Alonso
157e4aa2d0
Merge pull request #8025 from penpot/elenatorro-12951-fix-inner-text-shadow-token
...
🐛 Fix inner shadow selector on shadow token
2026-01-07 16:37:19 +01:00
Elena Torro
7cd2308f3b
🐛 Fix inner shadow selector on shadow token
2026-01-07 16:36:51 +01:00
Alejandro Alonso
c315a15b48
Merge pull request #8026 from penpot/elenatorro-12997-fix-clojure-on-css-box-shadow
...
🐛 Fix CSS generated box-shadow property
2026-01-07 16:32:12 +01:00
Elena Torro
8a3e6d026e
🐛 Fix CSS generated box-shadow property
2026-01-07 16:28:05 +01:00
Florian Schrödl
0dd062d011
🐛 Fix line-height throwing for int ( #7927 )
2026-01-07 16:13:10 +01:00
Alejandro Alonso
bfbb546699
Merge pull request #8027 from penpot/superalex-fix-colors-assets-from-shared-libraries
...
🐛 Fix color assets from shared libraries
2026-01-07 14:16:57 +01:00
Alejandro Alonso
083e77e9c5
🐛 Fix color assets from shared libraries
2026-01-07 14:02:28 +01:00
Aitor Moreno
7819e6c440
🐛 Fix previous styles lost when changing selected text
2026-01-07 12:41:39 +01:00
Andrey Antukh
952f622ce9
🔧 Add 'Reapply` prefix to valid commit checker prefixes
2026-01-07 11:56:38 +01:00
Andrey Antukh
a6c6f97f47
Reapply " 💄 Group tokens by name path ( #7775 )"
...
This reverts commit eff572d3bb22fb1ca5bf6455df5f5b4c52c9486c.
2026-01-07 11:55:56 +01:00
Andrey Antukh
88424eb54a
Merge branch 'staging' into develop
2026-01-07 11:55:40 +01:00
Alejandro Alonso
919f78daeb
Merge pull request #7965 from penpot/eva-fix-styles-on-viewer
...
🐛 Fix inspect tab styles on viewer
2026-01-07 11:54:33 +01:00
Eva Marco
b5c30f8c41
🐛 Fix inspect tab styles on viewer
2026-01-07 11:41:49 +01:00
Alejandro Alonso
60aa426753
Merge pull request #8022 from penpot/alotor-fix-drag-handlers
...
🐛 Fix problem with dragging handlers
2026-01-07 11:36:26 +01:00
Alejandro Alonso
86f7d6b26b
✨ Sanitizing error values ( #8020 )
2026-01-07 11:23:19 +01:00
Andrey Antukh
36732a4bd3
✨ Make the devenv runtine initialization yarn independent ( #8023 )
2026-01-07 11:21:58 +01:00
Andrey Antukh
eff572d3bb
Revert " 💄 Group tokens by name path ( #7775 )"
...
This reverts commit 0956b66281bba6303e2c0acb85bb2aa6be4d9d1a.
2026-01-07 11:20:44 +01:00
alonso.torres
d470d96833
🐛 Fix problem with dragging handlers
2026-01-07 11:00:02 +01:00
Aitor Moreno
cab70773d2
Merge pull request #7667 from penpot/azazeln28-doc-add-more-info-text-editor-v2-readme
...
📚 Add more info about text editor v2
2026-01-07 09:40:06 +01:00
Alejandro Alonso
de9a21121a
Merge remote-tracking branch 'origin/staging' into develop
2026-01-05 13:22:14 +01:00
Alejandro Alonso
32ca42a093
Merge remote-tracking branch 'origin/staging-render' into staging
2026-01-05 13:21:58 +01:00
Alejandro Alonso
523a97a4ec
Merge pull request #8016 from penpot/alotor-fix-refresh-thumbnails
...
🐛 Fix problem with thumbnail regeneration
2026-01-05 13:21:34 +01:00
Alejandro Alonso
260f6861a3
Merge pull request #8015 from penpot/alotor-fix-grid-component-auto-sizing
...
🐛 Fix problem with grid layout components and auto sizing
2026-01-05 13:18:59 +01:00
alonso.torres
edd53b419a
🐛 Fix problem with thumbnail regeneration
2026-01-05 13:09:40 +01:00
Alejandro Alonso
cea10308b7
Merge remote-tracking branch 'origin/staging' into develop
2026-01-05 11:52:15 +01:00
alonso.torres
078a3d5a5c
🐛 Fix problem with grid layout components and auto sizing
2026-01-05 10:54:36 +01:00
Alejandro Alonso
c4e57427ac
Merge branch 'staging-render' into staging
2026-01-05 10:30:06 +01:00
David Barragán Merino
5223c9c881
🔧 Fix a typo in an interpolation
2026-01-05 09:13:14 +01:00
Alejandro Alonso
be62fa10c4
📎 Bump new version on changelog
2026-01-05 08:42:57 +01:00
Alejandro Alonso
7a6405481c
Merge remote-tracking branch 'origin/develop' into staging
2026-01-05 08:37:19 +01:00
Alejandro Alonso
218f34380a
Merge pull request #8012 from penpot/azazeln28-refactor-minor-changes
...
♻️ Minor naming changes and event handling
2026-01-02 14:16:55 +01:00
Alejandro Alonso
47aaa2b5fa
Merge pull request #8011 from penpot/alotor-fix-trash-bar
...
🐛 Fix problems with trash bar in dashboard
2026-01-02 13:46:53 +01:00
Aitor Moreno
6c6b3db87e
♻️ Minor naming changes and event handling
2026-01-02 13:41:48 +01:00
Alejandro Alonso
6eb32cfb79
Merge pull request #8008 from penpot/alotor-fix-path-editor
...
🐛 Fix problem with path editor and right click
2026-01-02 13:29:44 +01:00
alonso.torres
dbba3496af
🐛 Fix problems with trash bar in dashboard
2026-01-02 12:00:16 +01:00
alonso.torres
55752d361f
🐛 Fix problem with path editor and right click
2026-01-02 10:37:52 +01:00
Alejandro Alonso
fe94ee4526
Merge pull request #8009 from penpot/alotor-fix-style-font-input
...
🐛 Fix problem with style in fonts input
2026-01-02 10:23:02 +01:00
Aitor Moreno
e39f292499
📚 Add more info about text editor v2
2026-01-02 10:13:34 +01:00
Andrey Antukh
5c71c57dd9
Merge tag '2.12.1'
2025-12-30 15:37:30 +01:00
Andrey Antukh
52b8560b70
Merge branch 'staging-render' into develop
2025-12-30 15:30:56 +01:00
Andrey Antukh
75860afe57
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-30 15:29:58 +01:00
Andrey Antukh
824ca1bbca
🔧 Make devenv init yarn indpendent
2025-12-30 15:28:19 +01:00
Andrey Antukh
5b6f9c1741
📎 Disable legacy cache on plugins nx config
2025-12-30 14:56:15 +01:00
Andrey Antukh
19853b832b
📚 Update documentation
2025-12-30 14:56:15 +01:00
Andrey Antukh
d20c011db2
✨ Migrate plugins to pnpm
2025-12-30 14:56:15 +01:00
Andrey Antukh
9431ae6858
📎 Update docs
2025-12-30 14:56:15 +01:00
Andrey Antukh
96356c1b89
⬆️ Update storybook and fix compatibility issues
2025-12-30 14:56:15 +01:00
Andrey Antukh
b7b68eeb47
🔥 Remove npx prefix on package.json scripts
2025-12-30 14:56:15 +01:00
Andrey Antukh
9bbeb657f8
🔧 Add plugins runtime ci job
2025-12-30 14:56:15 +01:00
Andrey Antukh
ec1af4ad96
🎉 Import penpot-plugins repository
...
As commit 819a549e4928d2b1fa98e52bee82d59aec0f70d8
2025-12-30 14:56:15 +01:00
alonso.torres
23e7116b24
🐛 Fix problem with style in fonts input
2025-12-30 14:28:10 +01:00
Alejandro Alonso
48e3f35bb3
🐛 Fix setting a portion of text as bold or underline messes things up
2025-12-30 11:34:24 +01:00
Andrey Antukh
6b794c9d12
Merge branch 'staging' into staging-render
2025-12-30 11:13:15 +01:00
Yamila Moreno
d3ee50daf5
🔧 Add ci for branch staging-render
2025-12-30 11:13:00 +01:00
Yamila Moreno
22a36d59d8
🔧 Add ci for branch staging-render
2025-12-30 10:57:51 +01:00
Alejandro Alonso
a948e49e51
🐛 Fix using cache on first zoom after pan
2025-12-30 10:03:24 +01:00
Alejandro Alonso
d635f5a8dc
🐛 Detecting situations where WebGL context is lost or no WebGL support
2025-12-30 10:03:24 +01:00
Alejandro Alonso
ab3a3ef43b
🎉 Resize cache only when required
2025-12-30 10:03:24 +01:00
Alejandro Alonso
9c21fd3359
🐛 Fix resize cache memory leak
2025-12-30 10:03:24 +01:00
Andrey Antukh
7b5817f407
♻️ Make several adjustments to the dashboard deleted page ( #7999 )
...
* ♻️ Make several sustantial adjustments to the dashboard deleted page
* 📎 Add PR feedback changes
2025-12-30 09:52:29 +01:00
Yamila Moreno
e3405eacca
🔧 Improve mattermost notification
2025-12-29 19:06:26 +01:00
Alejandro Alonso
44b70cf1d4
Merge pull request #7998 from penpot/alotor-fix-problem-with-create-grid
...
🐛 Fix problem creating grid from elements
2025-12-29 14:31:15 +01:00
Alejandro Alonso
a8bd74b392
Merge pull request #8001 from penpot/alotor-fix-gfonts-references
...
🐛 Fix problem with some fonts
2025-12-29 14:25:54 +01:00
alonso.torres
3d3e3582d6
🐛 Fix problem with some fonts
2025-12-29 12:35:19 +01:00
Andrey Antukh
de052b5161
📎 Update changelog
2025-12-29 11:10:04 +01:00
Andrey Antukh
e01654ba43
Merge branch 'staging-render' into develop
2025-12-29 10:43:00 +01:00
Andrey Antukh
6ebd48b94c
Merge branch 'staging' into staging-render
2025-12-29 10:41:08 +01:00
Andrey Antukh
8a3b33797f
🐛 Fix error handling on password change form
...
Fixes https://github.com/penpot/penpot/issues/7978
2025-12-29 10:27:27 +01:00
Andrey Antukh
13fd20f76f
⏪ Backport form error management improvements from develop
2025-12-29 10:27:27 +01:00
alonso.torres
417cd80564
🐛 Fix problem creating grid from elements
2025-12-23 14:49:21 +01:00
Alejandro Alonso
a57011ec7b
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-23 13:35:27 +01:00
Andrey Antukh
69c880d00e
🐛 Fix importmap usage on firefox
2025-12-23 13:10:58 +01:00
Andrey Antukh
9eebc467ef
✨ Preload default translations
2025-12-23 13:10:58 +01:00
Andrey Antukh
b77712ce73
✨ Move frontend/vendor to frontend/packages
2025-12-23 13:10:58 +01:00
Andrey Antukh
3d3e81f314
✨ Replace tubax with more modern tooling
2025-12-23 13:10:58 +01:00
Andrey Antukh
fe6441bb24
✨ Replace hightlight.js internal bundle with direct npm use
2025-12-23 13:10:58 +01:00
Andrey Antukh
e15f0baf30
✨ Replace direct draft-js usage with internal module
2025-12-23 13:10:58 +01:00
Andrey Antukh
c040cbb784
🔥 Remove old gulp related dependencies
2025-12-23 13:10:58 +01:00
Andrey Antukh
7f674b78a9
📎 Move all deps to dev-dependencies on frontend package.json
...
All they only needed for build process.
2025-12-23 13:10:58 +01:00
Andrey Antukh
099b78affd
📎 Update frontend yarn.lock file
2025-12-23 13:10:58 +01:00
Andrey Antukh
78cc3f0aa4
📎 Add immutable dependency to vendor/draft-js
2025-12-23 13:10:58 +01:00
Andrey Antukh
76f5f12808
⬆️ Update dependencies on exporter
2025-12-23 13:10:58 +01:00
Alejandro Alonso
cb325282ec
Merge pull request #7994 from penpot/alotor-fix-font-style
...
🐛 Fix problem when changing colors with multiple fonts
2025-12-23 07:34:41 +01:00
Andrey Antukh
01ecde3bfa
✨ Add the ability to add relations on penpot sdk ( #7987 )
...
* ✨ Add the ability to add relations on penpot sdk
* 📎 Remove debug console log
2025-12-22 20:55:31 +01:00
Andrey Antukh
047483a70a
🐛 Fix deleted files thumbnails generation
2025-12-22 20:20:43 +01:00
Alonso Torres
4000ec8762
🐛 Fix problem resizing auto size layouts ( #7995 )
2025-12-22 20:17:11 +01:00
Andrey Antukh
8cb2f27de8
♻️ Move file permissions to binfile common ns
2025-12-22 20:16:41 +01:00
Andrey Antukh
0433336fc9
📎 Use correct criterium version on frontend deps
2025-12-22 20:16:41 +01:00
Andrey Antukh
ce234fbeda
✨ Allow get thumbnails for deleted files
2025-12-22 20:16:41 +01:00
Andrey Antukh
fc4d31eed7
⚡ Add minor efficiency improvements to deleted dashboard page
2025-12-22 20:16:41 +01:00
María Valderrama
c670aac339
🎉 Added deleted files to dashboard
2025-12-22 20:16:41 +01:00
Andrés Moya
1d3fb5434f
✨ Enable shadow tokens by default ( #7996 )
2025-12-22 18:17:29 +01:00
Andrey Antukh
f478399ae0
Merge remote-tracking branch 'origin/staging-render' into develop
2025-12-22 17:28:18 +01:00
Andrey Antukh
6a1854f180
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-22 17:28:01 +01:00
Andrés Moya
0858e297e5
🎉 Add composite tokens to plugins API ( #7992 )
2025-12-22 17:14:54 +01:00
alonso.torres
bd580ab159
🐛 Fix problem when changing colors with multiple fonts
2025-12-22 17:14:37 +01:00
Alejandro Alonso
5780a43fe0
🐛 Fix object added in different page ( #7988 )
2025-12-22 16:59:47 +01:00
Alejandro Alonso
737eceda3a
🐛 Fix unmasking shapes ( #7989 )
2025-12-22 16:59:04 +01:00
Alonso Torres
923c3c2dbd
🐛 Fix font weight token ( #7991 )
2025-12-22 16:58:26 +01:00
Alejandro Alonso
a14b4561e7
🐛 Fix comment bubbles ( #7990 )
2025-12-22 16:57:45 +01:00
Andrey Antukh
bb5568e15a
🎉 Enable hindi translations on the application
2025-12-22 16:57:00 +01:00
Pablo Alba
5cbcec3db6
🐛 Fix "maximum call stack size exceeded" crash on variant
2025-12-22 16:57:00 +01:00
Anonymous
105e1fe86c
🌐 Add translations for: Spanish
...
Currently translated at 97.1% (1940 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es/
2025-12-22 16:34:43 +01:00
Yaron Shahrabani
3e0a916883
🌐 Add translations for: Hebrew
...
Currently translated at 99.3% (1985 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-12-22 16:34:42 +01:00
Ahmad HosseinBor
4f80238bc2
🌐 Add translations for: Persian
...
Currently translated at 39.2% (783 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fa/
2025-12-22 16:34:42 +01:00
Alejandro Alonso
5156cc5d9a
🌐 Add translations for: Yoruba
...
Currently translated at 58.8% (1176 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/yo/
2025-12-22 16:34:42 +01:00
Yessenia Villarte Vaca
42c46b6cfc
🌐 Add translations for: Spanish (Latin America)
...
Currently translated at 6.5% (131 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es_419/
2025-12-22 16:34:41 +01:00
VKing9
8b3c40b35e
🌐 Add translations for: Hindi
...
Currently translated at 99.6% (1991 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2025-12-22 16:34:41 +01:00
Andy Li
d3996e5fb1
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 80.1% (1601 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-12-22 16:34:40 +01:00
Anonymous
0c42bca866
🌐 Add translations for: German
...
Currently translated at 95.5% (1908 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-12-22 16:34:40 +01:00
Marius
e5685c1f1c
🌐 Add translations for: German
...
Currently translated at 95.5% (1908 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-12-22 16:34:40 +01:00
Anonymous
2784209bde
🌐 Add translations for: Turkish
...
Currently translated at 99.5% (1989 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2025-12-22 16:34:40 +01:00
Alejandro Alonso
024f460e99
🌐 Add translations for: Igbo
...
Currently translated at 25.6% (512 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ig/
2025-12-22 16:34:39 +01:00
Anonymous
1d9b76b62a
🌐 Add translations for: Romanian
...
Currently translated at 97.2% (1942 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
2025-12-22 16:34:39 +01:00
Shuaib Zahda
7e17a75b7d
🌐 Add translations for: Arabic
...
Currently translated at 56.4% (1127 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
2025-12-22 16:34:39 +01:00
Anonymous
ca093d6fae
🌐 Add translations for: French
...
Currently translated at 96.8% (1934 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-12-22 16:34:38 +01:00
Alexandre Pawlak
0f0b7562b5
🌐 Add translations for: French
...
Currently translated at 96.8% (1934 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-12-22 16:34:38 +01:00
Anonymous
9cdc694697
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 90.3% (1804 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-12-22 16:34:37 +01:00
Dário
b972a4033b
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 90.3% (1804 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-12-22 16:34:37 +01:00
Anonymous
cbe9f4da51
🌐 Add translations for: Swedish
...
Currently translated at 99.3% (1985 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-12-22 16:34:37 +01:00
Anonymous
c583bde9e3
🌐 Add translations for: Russian
...
Currently translated at 76.8% (1534 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-12-22 16:34:37 +01:00
Vint Prox
3911ebdc4e
🌐 Add translations for: Russian
...
Currently translated at 76.8% (1534 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-12-22 16:34:36 +01:00
Anonymous
3e3b18667b
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 69.9% (1396 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-12-22 16:34:36 +01:00
Anonymous
ed81c9b8df
🌐 Add translations for: Dutch
...
Currently translated at 99.5% (1988 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-12-22 16:34:36 +01:00
Sebastiaan Pasma
fbdf98d29c
🌐 Add translations for: Dutch
...
Currently translated at 99.5% (1988 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-12-22 16:34:36 +01:00
Anonymous
e603825a55
🌐 Add translations for: Italian
...
Currently translated at 99.5% (1988 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-12-22 16:34:35 +01:00
Valentina Chapellu
1d724783e6
🌐 Add translations for: Italian
...
Currently translated at 99.5% (1988 of 1997 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-12-22 16:34:35 +01:00
Hosted Weblate
e0abe7dcb5
🌐 Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
2025-12-22 16:33:05 +01:00
Andrey Antukh
5c1bbf5be8
Merge remote-tracking branch 'weblate/develop' into develop
2025-12-22 16:32:30 +01:00
Pablo Alba
bbb0d58190
🐛 Fix "maximum call stack size exceeded" crash on variant
2025-12-22 16:27:10 +01:00
Andrey Antukh
88dcf9d1fe
🐛 Mark rpc calls as authenticated when shared key is used ( #7901 )
2025-12-22 12:18:36 +01:00
Alejandro Alonso
fe44c14bac
Merge pull request #7982 from penpot/niwinz-staging-import-bucket
...
🐛 Prefill storage object bucket if it comes nil on import binfile
2025-12-22 12:17:16 +01:00
Belén Albeza
20061067ad
🐛 Fix text editor not getting focus back after font variant change
2025-12-22 11:18:25 +01:00
Andrey Antukh
336173645e
🐛 Fix regression on export shape on plungins API
2025-12-22 10:41:42 +01:00
Andrey Antukh
2acf15958b
Merge branch 'staging-render' into develop
2025-12-22 09:24:04 +01:00
Andrey Antukh
08267de242
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-22 09:23:48 +01:00
Pablo Alba
35fb376a78
✨ Add proxypass to caddyfile on devenv ( #7985 )
2025-12-22 09:21:22 +01:00
Dalai Felinto
13fcf3a9bb
💄 Set import Tokens default option to be Single JSON value ( #7918 )
...
This patches makes the default Tokens importing option to match the
current default Tokens exporting option (single JSON value). This way it
is more obvious and quick to export the tokens from a file and import
in new one,
---
While testing our design system we are often re-exporting and
re-importing the Tokens to the files using the design system components.
I'm aware that this may be addressed in the future so the Tokens are
brought in together with the library. Meanwhile (and even in the future)
I think it is sensible to have a symmetry between the export and import
defeault options.
Co-authored-by: Dalai Felinto <dalai@blender.org>
2025-12-19 10:44:05 +01:00
Andrey Antukh
83bb4bf221
🐛 Prefill storage object bucket if it comes nil on import binfile
2025-12-19 09:32:51 +01:00
Henrik Steffens
dba6ae2820
🌐 Add translations for: German
...
Currently translated at 95.8% (1911 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-12-17 13:00:25 +01:00
Marius
ada101c236
🌐 Add translations for: German
...
Currently translated at 95.8% (1911 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-12-17 13:00:24 +01:00
Marius
ea48fb5825
🌐 Add translations for: German
...
Currently translated at 90.4% (1804 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-12-16 11:00:25 +01:00
Alejandro Alonso
15ed25ca79
Merge pull request #7966 from penpot/niwinz-staging-abrreviate
...
🐛 Fix incorrect string truncation with abbreviate template filter
2025-12-12 13:53:33 +01:00
Andrey Antukh
9aa387a473
🐛 Fix incorrect string truncation with abbreviate template filter
2025-12-12 13:50:46 +01:00
Alejandro Alonso
67ba91b4b9
Merge pull request #7971 from penpot/niwinz-staging-bugfix-6
...
🐛 Fix tokens-lib encoding when value is nilable
2025-12-12 13:46:06 +01:00
Alejandro Alonso
f67f1a6a0e
Merge pull request #7972 from penpot/niwinz-staging-bugfix-7
...
🐛 Fix exception on assinging gradient to shadow on multiple selection
2025-12-12 13:42:39 +01:00
Alejandro Alonso
82d3e2024e
Merge pull request #7973 from penpot/niwinz-staging-worker-scheduler
...
🐛 Fix incorrect redis connection error handling
2025-12-12 13:23:49 +01:00
Alejandro Alonso
4bd846c16d
Merge pull request #7969 from penpot/niwinz-staging-fix-ratelimit
...
🐛 Fix issue on reading rlimit config
2025-12-12 13:22:53 +01:00
alonso.torres
8fde6b28ed
🐛 Fix problems with alignments and margins
2025-12-12 13:21:04 +01:00
alonso.torres
63325ec796
🐛 Fix problem with flex fill size distribution
2025-12-12 13:21:04 +01:00
alonso.torres
84415476d0
🐛 Fix problem with reflow layout
2025-12-12 13:21:04 +01:00
Andrey Antukh
94f95ca6b8
🐛 Fix incorrect redis connection error handling
2025-12-12 12:33:38 +01:00
Andrey Antukh
33c786498d
Merge remote-tracking branch 'origin/staging-render' into develop
2025-12-12 12:19:49 +01:00
Andrey Antukh
5abc1aafb4
Merge tag '2.12.0-RC3'
2025-12-12 12:19:29 +01:00
Andrey Antukh
1f886b1f88
Merge remote-tracking branch 'origin/staging' into develop
2025-12-12 12:16:41 +01:00
Aitor Moreno
5a922c6bd6
Merge pull request #7960 from penpot/superalex-fix-too-many-active-webgl-contexts
...
🐛 Fix too many active WEBGL contexts
2025-12-12 12:03:46 +01:00
Andrey Antukh
507bf7445b
🐛 Fix tokens-lib encoding when value is nilable
2025-12-12 11:42:15 +01:00
Andrey Antukh
81b72c5acd
🐛 Fix exception on assinging gradient to shadow on multiple selection
2025-12-12 11:24:53 +01:00
Alejandro Alonso
1388865cfc
🐛 Fix too many active WEBGL contexts
2025-12-12 11:16:47 +01:00
Andrey Antukh
1738847694
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-12 10:20:21 +01:00
Aitor Moreno
ca1c3c799d
Merge pull request #7968 from penpot/alotor-fix-border-radius
...
🐛 Fix problem with border radius to path
2025-12-12 10:18:07 +01:00
Andrey Antukh
974495e08f
✨ Reduce log level for profile picture download error
...
Because it is not blocking operation and does not provents user
to proceed.
2025-12-12 08:17:13 +01:00
Andrey Antukh
2ed39e43c3
🐛 Fix issue on reading rlimit config
2025-12-11 23:50:01 +01:00
alonso.torres
ce5006ae84
🐛 Fix problem with border radius to path
2025-12-11 22:40:44 +01:00
Eva Marco
50dbe6ab12
🐛 Fix horizontal scroll on layer panel ( #7956 )
2025-12-11 21:34:18 +01:00
Belén Albeza
0a7a65af5d
♻️ Make SerializableResult to depend on From traits
2025-12-11 16:00:03 +01:00
alonso.torres
ea4d0e1238
✨ Calculate position data in wasm
2025-12-11 16:00:03 +01:00
Elena Torro
b705cf953a
🐛 Set layout data from set-object
2025-12-11 14:52:32 +01:00
Alejandro Alonso
90ce1f56e7
Merge pull request #7958 from penpot/superalex-fix-svg-extract-ids
...
🐛 Fix svg extract ids
2025-12-11 14:02:05 +01:00
Alejandro Alonso
ab0438cc6f
🐛 Fix svg extract ids
2025-12-11 13:47:00 +01:00
Aitor Moreno
c6aa9cc4b7
Merge pull request #7950 from penpot/ladybenko-12851-fix-text-selection
...
🐛 Fix text selection when editor regains focus
2025-12-11 13:45:29 +01:00
Andrey Antukh
5779adef33
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-11 13:30:59 +01:00
Andrey Antukh
2f46cbc0d4
✨ Make render wasm import on worker http cache aware
2025-12-11 13:27:20 +01:00
Elena Torró
ebf1758958
Merge pull request #7935 from penpot/superalex-improve-svg-import
...
🎉 Improve svg import
2025-12-11 13:21:29 +01:00
Elena Torró
e94c56bfa7
Merge pull request #7954 from penpot/azazeln28-fix-font-weight-mixed-value
...
🐛 Fix font weight mixed value
2025-12-11 12:43:53 +01:00
Andrey Antukh
53be6f996b
🐛 Fix issues on build processs related to render-wasm
2025-12-11 12:41:19 +01:00
Alejandro Alonso
89d9591011
🎉 Improve svg import
2025-12-11 12:02:34 +01:00
Andrey Antukh
5a260294a1
🔧 Update build-tag.yml github workflow
2025-12-11 12:00:42 +01:00
Andrey Antukh
3becfcd723
🔧 Update build-tag.yml github workflow
2025-12-11 11:59:16 +01:00
Andrey Antukh
3f6e44316e
🐛 Add missing node depes install on render-wasm
2025-12-11 11:51:47 +01:00
Aitor Moreno
5501a2815f
🐛 Fix font-variant-id mixed value
2025-12-11 11:32:27 +01:00
Eva Marco
77ef8e6fe6
🐛 Fix scroll on move library modal ( #7952 )
2025-12-11 10:46:54 +01:00
Alejandro Alonso
1066438b02
Merge pull request #7922 from penpot/elenatorro-12855-improve-pan-rendering
...
🔧 Improve pan rendering
2025-12-10 15:58:59 +01:00
Alejandro Alonso
3b23a3ad19
Merge pull request #7947 from penpot/elenatorro-12880-fix-variant-ui
...
🔧 Support variants interactivity on the new render's UI
2025-12-10 15:27:48 +01:00
Andrey Antukh
7396f4bfb6
Merge remote-tracking branch 'origin/staging' into develop
2025-12-10 15:17:50 +01:00
Alejandro Alonso
916b7709dc
✨ Update Pencil Penpot Design System System template in carousel ( #7948 )
2025-12-10 15:09:28 +01:00
Belén Albeza
5cf51f3d26
🐛 Fix text selection not being restore if it was only 1 word
2025-12-10 15:05:13 +01:00
Belén Albeza
25acad5154
🔧 Add formatting rules to the TextEditor
2025-12-10 15:04:34 +01:00
Elena Torro
0a212b6291
🔧 Support variants interactivity on the new render's UI
2025-12-10 14:39:59 +01:00
Eva Marco
443e41fea4
🐛 Fix multiple selection with color tokens ( #7941 )
2025-12-10 14:36:08 +01:00
Alejandro Alonso
c7c9b04095
Merge pull request #7944 from penpot/niwinz-staging-exporter-fix
...
🐛 Fix incorrect resource lifetime handling on exporter
2025-12-10 14:35:20 +01:00
Eva Marco
c61a0c0332
📚 Add line to changelog ( #7945 )
2025-12-10 13:58:18 +01:00
Andrey Antukh
eb1eeb4750
Merge remote-tracking branch 'origin/staging-render' into niwinz-develop-merge
2025-12-10 13:53:15 +01:00
Andrey Antukh
a78477592b
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-10 13:36:23 +01:00
Eva Marco
8707ff6511
🎉 Add spanish translation
2025-12-10 13:12:30 +01:00
Florian Schroedl
3d8a251741
🐛 Disallow font-family referencing composite token
2025-12-10 13:12:30 +01:00
Andrey Antukh
34e84ee3c8
🐛 Fix incorrect resource lifetime handling on exporter
2025-12-10 13:02:31 +01:00
Xaviju
0956b66281
💄 Group tokens by name path ( #7775 )
...
* 💄 Group tokens by name path
2025-12-10 12:34:19 +01:00
Luis de Dios
007b3f11f9
🐛 Fix pass new icons to radio buttons ( #7939 )
2025-12-10 12:28:27 +01:00
Alejandro Alonso
e8201402a7
Merge pull request #7938 from penpot/niwinz-staging-bugfix-5
...
🐛 Fix several issues
2025-12-10 12:05:42 +01:00
Aitor Moreno
8a22477b96
Merge pull request #7932 from penpot/niwinz-staging-worker-wasm-load
...
🐛 Fix WASM loading strategy on worker
2025-12-10 11:47:31 +01:00
Elena Torro
a661b2564f
🐛 Fix default case on vertical align
2025-12-10 10:59:27 +01:00
Elena Torro
2c3732f3f4
🔧 Fix line height calculation
2025-12-10 10:59:27 +01:00
Andrey Antukh
e16645227b
Merge branch 'staging-render' into develop
2025-12-10 10:10:44 +01:00
Andrey Antukh
45665a3c21
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-10 10:09:58 +01:00
Alejandro Alonso
3e684ea54f
⬆️ Update svgo dependency on frontend ( #7936 )
2025-12-10 10:07:02 +01:00
Eva Marco
179e6a195d
🎉 Add test for token creation ( #7915 )
2025-12-10 09:56:21 +01:00
Andrey Antukh
98039f13d8
🐛 Fix main toolbar z-index
2025-12-10 09:47:40 +01:00
Alejandro Alonso
40c27591f6
🐛 Fix svg import ( #7925 )
2025-12-10 08:36:54 +01:00
Andrey Antukh
91d20a46d1
💄 Add cosmetic changes to exports assets progress component
2025-12-10 08:23:05 +01:00
Andrey Antukh
50bead7c56
🐛 Fix react warning on having p inside p on assets export progress
2025-12-10 08:22:41 +01:00
Andrey Antukh
b75b999903
📎 Fix devenv jvm warning
2025-12-10 08:22:05 +01:00
Andrey Antukh
810f1721c8
🐛 Fix recursion render on subscription modal
2025-12-10 07:54:52 +01:00
Stephan Paternotte
b45bdd723f
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1991 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-12-09 22:00:21 +00:00
Ingrid Pigueron
8696044620
🌐 Add translations for: French
...
Currently translated at 97.1% (1937 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-12-09 22:00:19 +00:00
Andrey Antukh
8a8f360c7f
Merge remote-tracking branch 'origin/staging' into develop
2025-12-09 19:53:38 +01:00
Andrey Antukh
a4646373cf
♻️ Refactor wasm loading strategy on worker
2025-12-09 19:41:19 +01:00
Andrey Antukh
f111cbb2a4
✨ Add better cache config on devenv nginx
2025-12-09 19:38:30 +01:00
Luis de Dios
e35fc85c3d
🎉 Create new empty-state component ( #7903 )
2025-12-09 16:48:12 +01:00
Aitor Moreno
a614207f7e
🐛 Fix exporter failing with HTTPS
2025-12-09 16:08:20 +01:00
Elena Torro
81bc1bb0af
🔧 Log performance when building using profile-macros
2025-12-09 15:25:13 +01:00
Yamila Moreno
1798461d21
🐳 Add override for assets ( #7926 )
2025-12-09 14:55:21 +01:00
Luis de Dios
6ce3249c6d
🐛 Fix color format does not switch in the view mode ( #7923 )
...
* 🐛 Fix color format does not switch in the inspect mode of the view mode
* ♻️ Update components
2025-12-09 14:38:15 +01:00
Yamila Moreno
dde0fddd6f
🐳 Add missing override to Dockerfile.frontend ( #7920 )
2025-12-09 12:08:46 +01:00
Aitor Moreno
7d36bc4025
Merge pull request #7907 from penpot/alotor-fix-export-text
...
🐛 Fix problem when exporting texts
2025-12-09 11:28:47 +01:00
Elena Torro
b8feb6374d
🔧 Rebuild indices on zoom change, not pan
2025-12-09 11:26:03 +01:00
Elena Torro
0889df8e08
🔧 Skip slow operations on fast render
2025-12-09 11:26:03 +01:00
Andrey Antukh
4637aced8c
✨ Add support auto decoding and validation syntax for obj/reify
2025-12-09 11:13:06 +01:00
Andrey Antukh
9dfe5b0865
🐛 Fix inconsistencies on using obj/reify on plugins
2025-12-09 11:13:06 +01:00
Andrey Antukh
33bcc9544a
✨ Update frontend repl script
2025-12-09 11:13:06 +01:00
Andrey Antukh
babd481b7f
✨ Make sm/coercer lazy
2025-12-09 11:13:06 +01:00
Andrey Antukh
a9733c792d
✨ Make check-fn completly lazy
2025-12-09 11:13:06 +01:00
Belén Albeza
7be8ac3fd7
🐛 Fix internal error while importing a library
2025-12-09 11:10:32 +01:00
Pablo Alba
b0351be724
🐛 Fix switch variants with paths
2025-12-09 11:08:55 +01:00
Elena Torro
9216d965ef
🔧 Update rendering settings to smooth render
2025-12-09 10:43:33 +01:00
Andrey Antukh
d04fdb5fbd
✨ Make the dist bundle use consistent and cache-aware uris ( #7911 )
2025-12-09 08:05:28 +01:00
Ingrid Pigueron
4f3ca6422c
🌐 Add translations for: French
...
Currently translated at 96.8% (1931 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-12-08 19:40:14 +01:00
Nicola Bortoletto
1c03457fda
🌐 Add translations for: Italian
...
Currently translated at 99.8% (1991 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-12-06 07:00:19 +00:00
Eva Marco
81e0e4f222
♻️ Replace token form files ( #7896 )
...
* ♻️ Replace shadow form
* ♻️ Rename files and components
* ♻️ Replace offsetx and offsety names
* ♻️ Replace form file for new form component using new form system
* ♻️ Rename files and props
2025-12-05 17:04:07 +01:00
Andrey Antukh
b8392b3731
🐛 Fix regression on sending team invitations ( #7912 )
2025-12-05 12:36:06 +01:00
Andrey Antukh
935728aa39
🔧 Backport build-tag github workflow from develop
2025-12-05 10:26:01 +01:00
Andrey Antukh
77dba477ca
🔧 Backport build-tag github workflow from develop
2025-12-05 10:25:03 +01:00
Eva Marco
b6598d1f07
🐛 Fix scrollbar on color modal ( #7906 )
2025-12-05 09:55:41 +01:00
Yamila Moreno
f13b3c8737
🔧 Fix bug in Github Actions ( #7908 )
2025-12-04 20:24:33 +01:00
alonso.torres
520e979363
🐛 Fix problem when exporting texts
2025-12-04 17:32:54 +01:00
Yamila Moreno
a0f8559ffc
🔧 Add ci/cd for nitrate-module ( #7905 )
2025-12-04 16:02:29 +01:00
Xaviju
bf1dc21c75
💄 Hide themes & sets panels when none active ( #7902 )
2025-12-04 14:11:57 +01:00
Alejandro Alonso
46c20a993f
Merge pull request #7904 from penpot/niwinz-staging-fix-invitation-resend
...
🐛 Fix exception on resending invitation
2025-12-04 11:56:07 +01:00
Andrey Antukh
0e0106f69a
🐛 Add correct assertion on create-invitation fn
2025-12-04 11:38:32 +01:00
Andrey Antukh
19bb69cc60
✨ Improve invalid schema error report
2025-12-04 11:38:16 +01:00
Alejandro Alonso
504eb70988
Merge pull request #7885 from penpot/niwinz-staging-bugfix-2
...
🐛 Make workspace palette reposition on left sidebar collapse
2025-12-04 11:19:20 +01:00
Andrey Antukh
a38f425dd3
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-04 11:06:48 +01:00
Xaviju
75a2331edf
💄 Set low-emphasis color for both light/dark modes ( #7884 )
2025-12-04 11:04:07 +01:00
VKing9
74d4b9b045
🌐 Add translations for: Hindi
...
Currently translated at 100.0% (1994 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2025-12-04 11:00:32 +01:00
Alejandro Alonso
c2b4c9907d
Merge pull request #7886 from penpot/niwinz-staging-bugfix-3
...
🐛 Fix casing on a translation of export files modal option
2025-12-04 10:59:51 +01:00
Alejandro Alonso
bd5bbcae26
Merge pull request #7894 from penpot/niwinz-staging-bugfix-4
...
🐛 Fix incorrect interaction betwen hower and scroll on assets sidebar
2025-12-04 10:58:54 +01:00
Andrey Antukh
84273508ad
🐛 Fix incorrect interaction betwen hower and scroll on assets sidebar
2025-12-04 10:56:29 +01:00
Andrey Antukh
9245ba6bc2
💄 Adapt component style for assets-local-library on sidebar assets
2025-12-04 10:55:57 +01:00
Andrey Antukh
4be046406d
⚡ Pass direct args instead of a vector to toggle-values on sidebar assets
2025-12-04 10:55:57 +01:00
Alejandro Alonso
84c747cd31
Merge pull request #7883 from penpot/niwinz-staging-bugfix
...
🐛 Fix exception on paste text on comments input
2025-12-04 10:32:07 +01:00
Alejandro Alonso
0036a9a0cd
Merge pull request #7865 from penpot/niwinz-staging-audit
...
✨ Add minor improvements to the audit module
2025-12-04 10:04:00 +01:00
Alejandro Alonso
2105c3a68c
Merge pull request #7866 from penpot/niwinz-staging-fix-emails
...
🐛 Change internal ordering on how email parts are assembled
2025-12-04 09:56:22 +01:00
Belén Albeza
38efa88460
🐛 Fix unpublish library modal not scrolling file list ( #7892 )
...
* 🐛 Fix unpublish library modal not scrolling when the linked files list is too long
* 💄 Remove deprecated tokens in unpublish library modal
* 🔧 Update CHANGELOG
2025-12-03 22:41:20 +01:00
Pablo Alba
6e254c2cf4
🐛 Fix change of library on swap ( #7898 )
2025-12-03 22:40:23 +01:00
Andrey Antukh
416980f063
🐛 Fix issue on render template on dist bundle ( #7899 )
2025-12-03 20:48:02 +01:00
Andrey Antukh
f76710296c
Merge remote-tracking branch 'origin/staging' into develop
2025-12-03 18:52:28 +01:00
Andrey Antukh
6251fa6b22
🐛 Close other open context menus on open a context menu ( #7895 )
2025-12-03 18:50:00 +01:00
alonso.torres
aedd8cc11e
🐛 Fix problem when renaming variants in plugins
2025-12-03 17:42:17 +01:00
Andrey Antukh
d1379c55f6
✨ Make i18n translation files load on demand
2025-12-03 16:44:37 +01:00
Andrey Antukh
b125c7b5a3
Merge remote-tracking branch 'origin/staging' into develop
2025-12-03 13:55:01 +01:00
Andrey Antukh
496d37795b
✨ Adapt docker images nginx config template to latest changes ( #7891 )
2025-12-03 13:45:18 +01:00
Alonso Torres
2f0853f5cc
🐛 Fix problem with variant plugins api ( #7890 )
2025-12-03 13:27:32 +01:00
Juan de la Cruz
648e660bcf
🎉 Add new content and images for the slides of 2.12 ( #7874 )
...
* 🎉 Add new slide's content
* 🎉 Add new slides images
* 📎 Fix clj fmt
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-12-03 13:26:55 +01:00
Andrey Antukh
9f6899007a
Merge remote-tracking branch 'origin/staging' into develop
2025-12-03 13:10:30 +01:00
Slava "nerfur" Voronzoff
bee2f70bfa
🐛 Add missing amd64 option on arch detection code on mange.sh script
...
Signed-off-by: Slava "nerfur" Voronzoff <nerfur@gmail.com>
2025-12-03 13:09:49 +01:00
Pablo Alba
00f8eac8fa
🐛 Fix can't delete unsaved variant prop ( #7878 )
2025-12-03 13:03:17 +01:00
Dalai Felinto
df7caacb45
🐛 Fix crash in token grid view due to tooltip validation ( #7887 )
...
The color tokens in grid view have a tooltip which is a map.
This is done so the frontend can render:
```
Name: foo
Resolved value: #000000
```
However the validation scheme for tooltips was only accepting functions
and strings.
---
How to reproduce the original (unreported) crash:
* Create a color token
* Create a shape, add a fill
* Pick a color, chose the Token options
* Click on the Grid View
Crash: `{:hint "invalid props on component tooltip*\n\n -> 'content'
should be a string\n"}`
Signed-off-by: Dalai Felinto <dalai@blender.org>
Co-authored-by: Dalai Felinto <dalai@blender.org>
2025-12-03 13:01:36 +01:00
Marina López
641df77834
🐛 Fix wrong board size presets in Android ( #7888 )
2025-12-03 12:52:47 +01:00
Marina López
49bbdfb257
🐛 Fix U and E icon displayed in project list ( #7875 )
...
* 🐛 Fix U and E icon displayed in project lis
* 🐛 Fix U and E icon displayed in project list
2025-12-03 12:50:51 +01:00
Aitor Moreno
4e84deca44
Merge pull request #7879 from penpot/elenatorro-12797-fix-update-spans
...
🐛 Fix paragraph with text spans with multiple styles
2025-12-03 11:30:17 +01:00
Aitor Moreno
0d21e52068
🐛 Fix applyStylesTo entire selection
2025-12-03 11:07:33 +01:00
alonso.torres
1b29e9a50f
🐛 Fix race condition with fix fonts patch
2025-12-03 10:39:05 +01:00
Andrey Antukh
94af978be8
🐛 Fix casing on a translation of export files modal option
2025-12-03 10:22:45 +01:00
Andrey Antukh
feababe2a8
🐛 Make workspace palette reposition on left sidebar collapse
2025-12-03 09:56:14 +01:00
Andrey Antukh
5ef06685fc
💄 Add cosmetic improvements to workspace palette component
2025-12-03 09:38:23 +01:00
Elena Torro
9f567c3bf4
🐛 Fix italic variant
2025-12-03 08:59:25 +01:00
Elena Torro
1ba15e5d10
🐛 Do not merge fill styles
2025-12-03 08:55:11 +01:00
Andrey Antukh
57fcec5afc
🐛 Make from-synthetic-clipboard-event function return always a stream
...
Causes an execption on steam processing when it returns nil
2025-12-03 08:32:38 +01:00
Andrey Antukh
58f82da61e
🐛 Fix exception on paste text on comments input
2025-12-03 08:20:58 +01:00
Andrey Antukh
a28c5b61ca
💄 Adapt viewport paste code codestyle
...
And remove some not necessary constructions
2025-12-03 08:09:13 +01:00
Yaron Shahrabani
60df56caa3
🌐 Add translations for: Hebrew
...
Currently translated at 99.6% (1988 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-12-02 21:00:32 +00:00
Andrey Antukh
53aad7bc15
Merge remote-tracking branch 'origin/staging' into develop
2025-12-02 17:43:34 +01:00
Andrey Antukh
9123d199b7
🐛 Fix scripts/fmt
2025-12-02 17:43:21 +01:00
alonso.torres
37e45a8bbf
🐛 Fix race condition with text and type
2025-12-02 17:28:20 +01:00
alonso.torres
3471d40f46
🐛 Fix problem with boolean shapes updates
2025-12-02 17:28:20 +01:00
Elena Torro
c6b64a8e39
🐛 Fix selectAll on mixed span styles
2025-12-02 16:50:48 +01:00
Elena Torro
511e80c948
🐛 Fix merge fill styles when there are multiple fills
2025-12-02 16:50:04 +01:00
Elena Torró
f5a640d104
Merge pull request #7876 from penpot/ladybenko-12805-slow-loading
...
🐛 Fix viewport not being fully drawn on first load until a mouse …
2025-12-02 15:31:43 +01:00
Belén Albeza
3ae7c514e4
🐛 Fix viewport not being fully drawn on first load until a mouse hover
2025-12-02 15:06:28 +01:00
Andrey Antukh
57297741f5
Merge remote-tracking branch 'origin/staging' into develop
2025-12-02 13:28:50 +01:00
Andrey Antukh
eeaf28bb25
📎 Disable caddy logging
2025-12-02 13:27:09 +01:00
Dalai Felinto
d63d692d34
🐛 Fix mask issues with component swap #7675
...
The logic to swap a component would delete the swapped out component
first before bringing in the new one.
In the process of doing so, the sanitization code would unmask the
group, now orphan of its mask shape component, when it was the first
element of the group.
The fix was to pass an optional argument to the generate-delete-shapes
function to ignore mask in special cases like this.
Signed-off-by: Dalai Felinto <dalai@blender.org>
2025-12-02 12:31:44 +01:00
alonso.torres
fad9ed1c48
🐛 Fix problem with reordering layers
2025-12-02 12:27:00 +01:00
alonso.torres
0caaefefea
🐛 Fix outline with single click text creation
2025-12-02 11:08:58 +01:00
Elena Torro
b179aa79b1
🐛 Fix create empty text on click regression
2025-12-02 11:08:58 +01:00
Andrey Antukh
6b8091bb90
✨ Make devenv https and http2 capable ( #7871 )
...
Making it more similar on how it runs on production
environments and improves large amount of files loading
thanks to http2.
2025-12-02 10:49:37 +01:00
Andrey Antukh
fe72d0af82
✨ Add self-signed cert to caddy ( #7872 )
2025-12-02 10:45:26 +01:00
Aitor Moreno
405ddb60d8
🐛 Fix letter spacing applied to paragraph
2025-12-02 10:45:19 +01:00
Luis de Dios
ef68081d1d
🎉 Add prototype tab UI tweaks ( #7832 )
...
* 🎉 Add prototype tab UI tweaks
* 📎 PR changes
2025-12-02 10:44:16 +01:00
Madalena Melo
bba02473d5
📚 Update subtitles in the new user guide cards ( #7823 )
...
Co-authored-by: Andres Gonzalez <andres.gonzalez79@gmail.com>
2025-12-02 09:21:05 +01:00
Andrey Antukh
4ed49cdc5d
✨ Make devenv https and http2 capable ( #7871 )
...
Making it more similar on how it runs on production
environments and improves large amount of files loading
thanks to http2.
2025-12-01 20:43:23 +01:00
Elena Torró
95c0d42d5b
Merge pull request #7868 from penpot/alotor-fix-flex-tools
...
🐛 Fix visual feedback on padding/margin/gaps modified
2025-12-01 17:51:44 +01:00
alonso.torres
721b337511
🐛 Fix visual feedback on padding/margin/gaps modified
2025-12-01 16:31:15 +01:00
Elena Torró
359379be09
Merge pull request #7867 from penpot/azazeln28-add-text-editor-v2-tests-to-staging
...
✨ Add text editor v2 integration tests
2025-12-01 16:11:25 +01:00
Aitor Moreno
876d5783cf
✨ Add text editor v2 integration tests
2025-12-01 15:56:52 +01:00
Elena Torro
786f73767b
🔧 Normalize font attributes to support old formats
2025-12-01 14:59:24 +01:00
Andrey Antukh
50f9eedcdf
Merge remote-tracking branch 'origin/staging' into develop
2025-12-01 14:33:38 +01:00
Andrey Antukh
77c9d8a2c8
🐛 Revert exporter dockerfile changes
2025-12-01 14:32:00 +01:00
Andrey Antukh
95b7784a42
🐛 Change internal ordering on how email parts are assembled
...
This fixes the html email rendering on gmail. Other clients (like proton,
emailcatcher) properly renders html independently of the order of parts
on the multipart email structure but gmail requires that html should be
the last one.
2025-12-01 14:27:21 +01:00
Andrey Antukh
4690f740b9
✨ Add minor improvements to the audit module
2025-12-01 13:57:55 +01:00
Xaviju
529c4eb38a
💄 Avoid code tab overflow ( #7854 )
2025-12-01 11:37:37 +01:00
Andrey Antukh
c3a9919c4d
🐛 Fix typo on exporter dockerfile
2025-12-01 11:19:41 +01:00
Eva Marco
efe74e62e8
🎉 Replace font family form ( #7825 )
2025-12-01 11:17:25 +01:00
Juanfran
10a2732a55
Merge pull request #7863 from penpot/niwinz-staging-improve-yarn-independency
...
✨ Use setup script on exporter instead of direct commands
2025-12-01 10:13:58 +01:00
Eva Marco
456afe46de
🎉 Replace font family form ( #7784 )
2025-12-01 10:11:29 +01:00
Andrey Antukh
4282cdcd2c
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-01 10:11:06 +01:00
Andrey Antukh
964ef799c2
🔥 Remove core.spec usage on common and frontend
2025-12-01 09:30:21 +01:00
Andrey Antukh
d34b6b88b6
✨ Remove malli dev stuff from cljs build
...
It only used on backend.
2025-12-01 09:30:21 +01:00
Andrey Antukh
9a58f0e954
🔧 Disable code motion on shadow config
2025-12-01 09:30:21 +01:00
Andrey Antukh
adaf8be56d
✨ Use sm/coercer on app.render entry point
2025-12-01 09:30:21 +01:00
Andrey Antukh
2f1b99fa53
♻️ Use ESM target for build frontend
2025-12-01 09:30:21 +01:00
Andrey Antukh
5080fcc594
🔥 Remove unused require of edn reader on loggin ns
2025-12-01 09:30:21 +01:00
Andrey Antukh
ea2d3758f0
Merge remote-tracking branch 'origin/staging' into develop
2025-12-01 09:28:49 +01:00
Andrey Antukh
40e3617138
✨ Use setup script on exporter instead of direct commands
2025-12-01 09:23:11 +01:00
Alejandro Alonso
e889413f26
🐛 Fix nested shadows clipping
2025-12-01 09:22:23 +01:00
Andrey Antukh
b18c421415
📎 Update .gitignore
2025-12-01 09:20:33 +01:00
Andrey Antukh
e7029f2182
✨ Make automatic workflows not dependent on yarn
2025-12-01 08:17:52 +01:00
Elena Torró
115273b478
Merge pull request #7852 from penpot/alotor-flex-issues
...
🐛 Fix flex problems in new render
2025-11-28 14:10:42 +01:00
Elena Torró
fdddd3284a
Merge pull request #7859 from penpot/ladybenko-12801-fix-mismatched-fonts
...
🐛 Fix mismatch between fonts for rendered and selected text when no fallback fonts apply
2025-11-28 14:10:17 +01:00
Belén Albeza
51385a04a0
🐛 Fix mismatch between fonts for rendered and selected text when no fallback fonts apply
2025-11-28 13:54:17 +01:00
Alonso Torres
2c3becb408
🐛 Fix problem with plugins content attribute ( #7835 )
2025-11-28 13:41:27 +01:00
Belén Albeza
f96ed8ccd6
✨ Fix playwright tests
2025-11-28 13:25:13 +01:00
Belén Albeza
bda5de5c1b
🔧 Update google fonts list
2025-11-28 13:25:13 +01:00
Juanfran
94c15916e2
Merge pull request #7857 from penpot/niwinz-develop-prepare-for-pnpm
...
✨ Make automatic workflows not dependent on yarn
2025-11-28 13:07:30 +01:00
Andrey Antukh
ed0f3c3595
✨ Make automatic workflows not dependent on yarn
2025-11-28 12:26:56 +01:00
alonso.torres
59f3b4db4c
🐛 Fix problem with auto-size and element margins
2025-11-28 12:12:19 +01:00
alonso.torres
7ee03ad911
🐛 Fix problem with grid layout editor
2025-11-28 12:12:09 +01:00
alonso.torres
130b8c8214
🐛 Fix problems with flex layout in new render
2025-11-28 10:49:55 +01:00
alonso.torres
0198d41757
🐛 Fix crash when cleanup
2025-11-28 10:44:54 +01:00
alonso.torres
567a955151
🐛 Fix problem with change gap/margin/padding
2025-11-28 10:44:38 +01:00
Xaviju
a4e6aa0588
💄 Limit inspect layer info message to avoid overflow ( #7847 )
2025-11-28 10:19:02 +01:00
Nicola Bortoletto
34da754357
🌐 Add translations for: Italian
...
Currently translated at 98.9% (1973 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-11-28 05:00:28 +00:00
alonso.torres
c2014a37b4
🐛 Fix problem when pasting elements in reverse flex layout
2025-11-27 18:02:34 +01:00
alonso.torres
6611fbd13b
🐛 Fix problem when drag+duplicate a full grid
2025-11-27 18:02:34 +01:00
Andrey Antukh
b5a6867058
Merge remote-tracking branch 'origin/staging' into develop
2025-11-27 18:01:08 +01:00
Andrey Antukh
7fe20b65dc
🔧 Add more cache efficient configuration for devenv nginx
2025-11-27 17:59:12 +01:00
Andrey Antukh
e5638cd769
⬆️ Update clojure tools version on devenv
2025-11-27 17:58:56 +01:00
Eva Marco
8e79dfcb82
🐛 Fix input variant
2025-11-27 17:54:11 +01:00
Eva Marco
508db99a57
🐛 Restore empty field error on dimension, text-case and color forms
2025-11-27 17:54:11 +01:00
Andrey Antukh
3c6c9894da
🐛 Restore empty value error on border radius token form
2025-11-27 17:54:11 +01:00
Andrey Antukh
972b23e6c0
🐛 Fix incorect pred build on ::sm/text schema
2025-11-27 17:54:11 +01:00
Andrey Antukh
28f550d533
🔥 Remove commented code
2025-11-27 17:54:11 +01:00
Elena Torró
2b20f75fd4
Merge pull request #7837 from penpot/ladybenko-12719-fix-editor-unicode-fonts
...
🐛 Fix editor not using fallback fonts for selected text
2025-11-27 17:37:00 +01:00
Belén Albeza
4d6d7a6a3d
🐛 Fix emoji font not being used as fallback in text editor dom
2025-11-27 17:23:20 +01:00
Andrey Antukh
0f88253dd5
Merge remote-tracking branch 'origin/staging' into develop
2025-11-27 16:11:36 +01:00
Andrey Antukh
db1ab7be69
📎 Run worker bundling serially on devenv
2025-11-27 16:09:15 +01:00
Andrey Antukh
fcbe9d92dc
🐛 Fix unexpected exception on rendering feedback email
...
Looks like a bug on selmer library
2025-11-27 16:09:15 +01:00
Andrey Antukh
9998ce0bb4
🔥 Remove fipps direct dependency
2025-11-27 16:09:15 +01:00
Andrey Antukh
6061391c89
✨ Don't require cljs.analyzer api under cljs on data.macros
...
Reduces the final production bundle size
2025-11-27 16:09:15 +01:00
Andrey Antukh
eabf6e36ed
✨ Remove a level of indentation on subscriptions-dashboard tests
2025-11-27 16:09:15 +01:00
Andrey Antukh
04274e53fa
📎 Fix advanced compilation warnings related to jsdoc
2025-11-27 16:09:15 +01:00
Andrey Antukh
52dd9271a9
🐛 Encode header values as strings on audit archive task
2025-11-27 16:09:15 +01:00
andrés gonzález
8f5a81e179
📚 Add info about boolean variants ( #7828 )
2025-11-27 16:03:11 +01:00
Alonso Torres
a940c08da9
🐛 Fix problem with worker bundling in development ( #7844 )
2025-11-27 14:13:48 +01:00
Alejandro Alonso
3de4473251
Merge pull request #7845 from penpot/elenatorro-fix-case
...
🐛 Fix editor vertical align default case
2025-11-27 14:00:12 +01:00
Andrey Antukh
0735140f07
🔧 Change concurrency rules on tests github workflow
2025-11-27 13:46:48 +01:00
Elena Torro
dc8a07099d
🐛 Fix vertical align default case
2025-11-27 13:38:51 +01:00
Andrey Antukh
8e3996fbb0
🔧 Change concirrency rules on tests github workflow
2025-11-27 13:16:08 +01:00
Alonso Torres
67762d9450
🐛 Fix problem with worker bundling in development ( #7844 )
2025-11-27 13:02:47 +01:00
Elena Torró
90dcf04fb0
Merge pull request #7841 from penpot/superalex-fix-boolean-operators-no-selection
...
🐛 Fix boolean operators no selection
2025-11-27 12:50:16 +01:00
Belén Albeza
f84c236e02
🐛 Fix text editor v2 not using fallback fonts for selected text
2025-11-27 12:26:39 +01:00
Alejandro Alonso
63959a22cc
🐛 Fix svg attrs
2025-11-27 12:23:46 +01:00
Alejandro Alonso
8840246425
🐛 Fix bleeding masks
2025-11-27 12:23:46 +01:00
Alejandro Alonso
62ec66cd15
🔧 Adding more e2e tests for nested frames with clipping
2025-11-27 12:23:46 +01:00
Alejandro Alonso
e3b87390f6
🐛 Fix nested shadows clipping
2025-11-27 12:23:46 +01:00
Alejandro Alonso
d9ab28e6ed
🐛 Fix nested clipping
2025-11-27 12:23:46 +01:00
Belén Albeza
9183dbbc43
🔧 Fix lint error (rust)
2025-11-27 11:51:05 +01:00
Andrey Antukh
74d00473e9
✨ Add missing render-wasm to the ci workflow
2025-11-27 11:51:05 +01:00
Alejandro Alonso
1c70f5a36b
🐛 Fix boolean operatos shown when there is no selection
2025-11-27 11:22:15 +01:00
Andrey Antukh
b23e0c0642
✨ Add tempfile storage bucket handler test case ( #7839 )
2025-11-27 10:27:57 +01:00
Andrey Antukh
7f62652870
Merge remote-tracking branch 'origin/staging' into develop
2025-11-27 09:24:40 +01:00
Marina López
db0cbbbc2e
🐛 Fix logic preventing incorrect trial flow in subscription modal ( #7831 )
2025-11-26 12:08:02 +01:00
alonso.torres
48304bd26f
🐛 Fix issue when exporting files
2025-11-26 12:04:34 +01:00
Elena Torro
60e32bbc71
🐛 Fix text editor vertical align
2025-11-26 11:46:47 +01:00
André Carvalhais
54451608dc
💄 Fix spelling of 'smtp' in email configuration section
...
Corrected the spelling of 'smtp' in the documentation.
Signed-off-by: André Carvalhais <carvalhais@live.com>
2025-11-26 08:11:27 +01:00
Andrey Antukh
78d31ab11a
🐳 Update devenv docker and compose files
...
Reuse the already builded imagemagick instead of building
it again on the devenv.
2025-11-26 07:44:56 +01:00
Andrey Antukh
0a80c47901
Merge remote-tracking branch 'origin/staging' into develop
2025-11-26 07:30:42 +01:00
Alejandro Alonso
b7727122d5
Merge pull request #7829 from penpot/alotor-fixes
...
🐛 Fix problem with thumbnails in parallel
2025-11-26 07:21:49 +01:00
alonso.torres
8880f07a6a
🐛 Fix problem with thumbnails in parallel
2025-11-25 17:56:00 +01:00
Oğuz Ersen
39eafae251
🌐 Add translations for: Turkish
...
Currently translated at 99.8% (1991 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2025-11-25 16:51:25 +00:00
Edgars Andersons
e1e09b7f96
🌐 Add translations for: Latvian
...
Currently translated at 94.0% (1876 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-11-25 16:51:24 +00:00
Stephan Paternotte
3b39980f2f
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1991 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-11-25 16:51:23 +00:00
Anton Palmqvist
223b12d2c7
🌐 Add translations for: Swedish
...
Currently translated at 99.6% (1987 of 1994 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-11-25 16:51:21 +00:00
andrés gonzález
aaca2c41d8
📚 Add metadescriptions to some help center pages ( #7821 )
2025-11-25 17:00:14 +01:00
Yamila Moreno
77f1046fc8
🔧 Add MT notification when a docker image with final tag is built ( #7824 )
2025-11-25 16:39:42 +01:00
Belén Albeza
33417a4b20
🐛 Fix svg attrs stroke-linecap stroke-linejoin fill-rule
2025-11-25 12:43:40 +01:00
Andrés Moya
2640889dc8
🐛 Fix backwards compatibility importing files with token themes
2025-11-25 10:56:33 +01:00
alonso.torres
dd5f3396d1
🐛 Fix problem with layout z-index
2025-11-24 17:48:58 +01:00
Andrey Antukh
dedeae8641
🐛 Fix incorrect subscription fetching after profile registration
2025-11-24 14:36:46 +01:00
Andrey Antukh
a7552d412a
✨ Add explicit network asingation and alias on devenv compose
2025-11-24 14:36:46 +01:00
Aitor Moreno
f58475a7c9
🐛 Fix pasting application/transit+json ( #7812 )
2025-11-24 14:36:24 +01:00
Marina López
00bbb0bfb6
♻️ Add format and refactor payments
2025-11-24 11:41:03 +01:00
Andrey Antukh
d93fe89c12
📎 Backport CI github workflog from develop
2025-11-24 10:48:51 +01:00
Andrey Antukh
553b73a83c
♻️ Replace CircleCI with Github Actions ( #7789 )
...
* ♻️ Replace circleci with github actions
* 📎 Add integration test sharding
* 📎 Reuse single build for integration tests shards
2025-11-24 10:44:04 +01:00
Andrey Antukh
00a45cb274
📎 Bump new version on changelog
2025-11-24 09:47:00 +01:00
Andrey Antukh
6e44330af4
Merge remote-tracking branch 'origin/develop' into staging
2025-11-24 09:42:45 +01:00
Andrey Antukh
624805fd6b
Merge remote-tracking branch 'weblate/develop' into develop
2025-11-24 09:32:06 +01:00
Eva Marco
9b6bb77422
✨ Materialize several tokens related flags ( #7773 )
...
* 📚 Add line to changelog
* ♻️ Remove typography types flag
* ♻️ Remove composite typography token flag
* ♻️ Remove token units flag
* 🎉 Activate by default two token flags
* ♻️ Update inspect tab tests to navigate to the right info tab
* 🐛 Fix test
---------
Co-authored-by: Xavier Julian <xavier.julian@kaleidos.net>
2025-11-24 09:26:05 +01:00
Yamila Moreno
9b8e04bb3c
🐳 Remove minio service from docker-compose.yml ( #7809 )
2025-11-24 08:15:36 +01:00
Edgars Andersons
2e919809c9
🌐 Add translations for: Latvian
...
Currently translated at 94.1% (1873 of 1990 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-11-23 12:51:20 +00:00
Nicola Bortoletto
645e123e3a
🌐 Add translations for: Italian
...
Currently translated at 98.8% (1967 of 1990 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-11-23 12:51:17 +00:00
Oğuz Ersen
cfb94d17b6
🌐 Add translations for: Turkish
...
Currently translated at 99.8% (1987 of 1990 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2025-11-22 10:51:22 +00:00
Keunes
e9cb409ca4
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1987 of 1990 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-11-22 10:51:19 +00:00
jonnysemon
8a0cd75257
🌐 Add translations for: Arabic
...
Currently translated at 56.6% (1128 of 1990 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
2025-11-22 10:51:17 +00:00
Pablo Alba
fae488b15a
🐛 Fix after changing a variant property value, the value appears as empty ( #7791 )
2025-11-21 17:51:12 +01:00
Elena Torró
b82828632e
Merge pull request #7807 from penpot/alotor-fix-hover-text
...
🐛 Fix hover text
2025-11-21 15:35:41 +01:00
alonso.torres
bf24e22588
🐛 Fix hover text
2025-11-21 14:27:15 +01:00
Alejandro Alonso
7399b4d423
📚 Remove wrong line on CHANGES
2025-11-21 14:21:14 +01:00
Alejandro Alonso
77b9eee6bd
🐛 Fix svg fills defined in svg-attrs with url or color format
2025-11-21 14:15:27 +01:00
Elena Torro
55896db49e
🔧 Check for emtpy/nil attrs when getting inline style
2025-11-21 14:10:23 +01:00
Elena Torró
f4c569d619
Merge pull request #7802 from penpot/alotor-fix-text-data-problem
...
🐛 Fix problems with text editor size
2025-11-21 13:41:38 +01:00
alonso.torres
ca2cf18a49
🐛 Fix problems with text editor size
2025-11-21 13:17:43 +01:00
Andrey Antukh
6e352c167c
🐛 Fix dev build of frontend
2025-11-21 13:02:44 +01:00
Andrey Antukh
3ec001de44
🔧 Add nitrate url to devenv nginx ( #7800 )
2025-11-21 12:30:49 +01:00
Elena Torró
a1f11c89f2
Merge pull request #7799 from penpot/alotor-fix-text-data-problem
...
🐛 Fix problem with text data serialization
2025-11-21 12:30:35 +01:00
alonso.torres
33d70f0e45
🐛 Fix problem with text data serialization
2025-11-21 12:07:01 +01:00
Elena Torró
4f24a8f5f1
Merge pull request #7770 from penpot/ladybenko-12587-fix-text-editor-crash-empty
...
🐛 Fix crash when using a font family with a number in its name
2025-11-21 12:02:40 +01:00
Andrey Antukh
b03cfffb9e
⏪ Restore the dashboard thumbnail rendering using wasm ( #7796 )
...
* Revert "🐛 Rollback esm worker (#7792 )"
This reverts commit 0120a5335bb5823cd84670d4aba30f4dbb74312b.
* 🐛 Fix incorrect manifest reading on building worker
2025-11-21 11:42:40 +01:00
Elena Torró
956ad88e51
Merge pull request #7795 from penpot/alotor-fix-paste-crash
...
🐛 Fix paste crash
2025-11-21 11:00:00 +01:00
Belén Albeza
76f5c73de6
✨ Remove leftover console.log/trace
2025-11-21 10:59:15 +01:00
Belén Albeza
c6dd3e0eeb
✨ Add missing param to cut handler
2025-11-21 10:28:48 +01:00
alonso.torres
fde73f30b9
🐛 Fix paste crash
2025-11-21 09:51:54 +01:00
Edgars Andersons
9d35a4317c
🌐 Add translations for: Latvian
...
Currently translated at 93.6% (1864 of 1990 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-11-21 05:51:27 +00:00
jonnysemon
e7ccfeccbf
🌐 Add translations for: Arabic
...
Currently translated at 56.6% (1128 of 1990 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
2025-11-21 05:51:26 +00:00
Stephan Paternotte
aa043d284f
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1987 of 1990 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-11-21 05:51:21 +00:00
Alejandro Alonso
537dd171c0
Merge pull request #7793 from penpot/alotor-tiles-improvement
...
✨ Improve cache rendering
2025-11-20 18:50:24 +01:00
alonso.torres
c2026918a4
✨ Improve cache rendering
2025-11-20 17:33:37 +01:00
Alonso Torres
0120a5335b
🐛 Rollback esm worker ( #7792 )
2025-11-20 16:07:22 +01:00
Belén Albeza
d0d2f43ca1
🐛 Fix text editor crash with font families with a number in their name
2025-11-20 15:22:40 +01:00
Alejandro Alonso
7e33a7c1a7
Merge pull request #7666 from penpot/azazeln28-feat-allow-disabling-rich-paste
...
🎉 Add an option to enable and disable HTML paste
2025-11-20 14:17:16 +01:00
Elena Torró
c13b58f42a
Merge pull request #7764 from penpot/superalex-fix-blurs
...
🐛 Fix shadows and blurs
2025-11-20 13:37:57 +01:00
alonso.torres
a5c9f9e454
📚 Adds contributor to the changelog
2025-11-20 13:35:43 +01:00
Aitor Moreno
d73be5832b
🎉 Add an option to enable and disable HTML paste
2025-11-20 13:33:51 +01:00
Alejandro Alonso
e1f2fca4af
Merge pull request #7771 from penpot/elenatorro-12541-improve-text-selection-and-cursor
...
✨ Improve text shape selection
2025-11-20 13:33:48 +01:00
Diana Veiga
37d5a31589
✨ Drop zoom snap ( #7774 )
...
* ✨ Remove const `zoom-half-pixel-precision`
* ♻️ Adjust usages
2025-11-20 13:28:45 +01:00
Luis de Dios
177bdaa72c
🐛 Fix variant toggle does not work for uppercase or mixed case ( #7716 )
...
* 🐛 Fix variant toggle does not work for uppercase or mixed case
* 📎 PR changes
2025-11-20 13:27:04 +01:00
Aitor Moreno
38ab2c61b9
Merge pull request #7782 from penpot/alotor-wasm-thumbnails
...
✨ Render WASM dashboard thumbnails
2025-11-20 13:12:26 +01:00
Marina López
cc32b22e8a
✨ Add improvements to the payment flow ( #7776 )
...
* ✨ Add improvements payment flow
* 📎 PR feedback
* 📎 Fix conflicts
2025-11-20 13:07:57 +01:00
Alejandro Alonso
d331c5ad83
Merge pull request #7769 from penpot/niwinz-develop-exporter-refactor
...
✨ Remove exporter dependency on shared-fs on scaling
2025-11-20 12:44:34 +01:00
iPagar
6c6c2c3012
📚 Update copyright year on doc ( #7502 )
...
Signed-off-by: iPagar <iPagar@users.noreply.github.com>
2025-11-20 12:38:31 +01:00
Andrey Antukh
81632a03dd
♻️ Make exporter upload resources using backend management api
...
Instead of custon shared fs approach. This commit fixes the main
scalability issue of exporter removing the need of shared-fs
for make it work with multiple instances.
2025-11-20 12:20:13 +01:00
Andrey Antukh
4fddf3d986
♻️ Make management key derivable from secret key
...
Still preserves the ability to set management
2025-11-20 12:20:13 +01:00
Andrey Antukh
57aa9a585b
🔧 Add explicit network alias for minio on devenv
2025-11-20 12:20:13 +01:00
Andrey Antukh
f71f491590
🐛 Fix incorrect bearer token decoding
2025-11-20 12:20:13 +01:00
Andrey Antukh
6ae2401c5e
♻️ Change how shapes are validated after changes apply operation
2025-11-20 12:08:48 +01:00
Andrey Antukh
53d8a2d6d7
🔥 Remove obsolete code on :move-objects related to old components
2025-11-20 12:08:48 +01:00
Andrey Antukh
bd65f3932e
🐛 Fix a race condition on move-object
...
That happens when an in-flight move-object change tries
to move object to an already deleted parent
2025-11-20 12:08:48 +01:00
alonso.torres
59845b756f
✨ Render WASM dashboard thumbnails
2025-11-20 11:56:25 +01:00
Alejandro Alonso
b8c0c5c310
Merge pull request #7742 from penpot/alotor-plugins-improvements
...
✨ Plugin API improvements with images and indexes
2025-11-20 11:47:50 +01:00
Alejandro Alonso
cfa8c21ee6
Merge pull request #7788 from penpot/elenatorro-fix-insert-shape-on-empty-frame
...
🐛 Fix insert shape on empty frame
2025-11-20 11:44:13 +01:00
Elena Torro
624bdaec88
✨ Show text cursor in the entire text rect
2025-11-20 11:42:07 +01:00
Alejandro Alonso
24745bed40
🐛 Fix shadows and blurs for high levels of zoom
2025-11-20 11:25:23 +01:00
Eva Marco
d26c08f8e2
♻️ Replace token forms ( #7759 )
...
* 🎉 Create dimensions form
* 🎉 Create text-case form
* 🎉 Create color form
* ♻️ Remove unused code on form file
2025-11-20 11:04:39 +01:00
Elena Torro
36adbd9118
🐛 Fix insert shape on empty frame
2025-11-20 10:59:44 +01:00
Elena Torró
0a3fe9836a
Merge pull request #7777 from penpot/superalex-fix-extrect-calculation
...
🐛 Fix extrect calculation
2025-11-20 09:57:59 +01:00
Andrey Antukh
fef0c11503
🔧 Update tests github flow
2025-11-20 09:37:38 +01:00
Alejandro Alonso
7e858784a1
Merge pull request #7785 from penpot/niwinz-develop-binary-fills
...
🐛 Fix invalid fills schema when binary fills are used
2025-11-20 09:06:45 +01:00
Miguel de Benito Delgado
203368c2ee
✨ Add parameter to openPage to toggle new window behaviour ( #7753 )
...
* ✨ Add parameter to openPage() to toggle opening a new tab/window
* 💄 Fix formatting
2025-11-20 08:05:08 +01:00
Alejandro Alonso
4f54469629
Merge pull request #7747 from penpot/niwinz-develop-storage-changes
...
✨ Make the binfile exportation process more reliable
2025-11-20 07:58:57 +01:00
Andrey Antukh
5343e799f8
🐛 Fix invalid fills schema when binary fills are used
2025-11-20 07:45:37 +01:00
Andrey Antukh
51e54a6bad
🐛 Fix incorrect project restoration on restoring file ( #7778 )
2025-11-19 18:24:24 +01:00
Aitor Moreno
f609747322
🐛 Fix inert element error
2025-11-19 18:23:44 +01:00
Andrey Antukh
26ad039d99
⬆️ Update playwright dependency on frontend
2025-11-19 18:23:44 +01:00
Andrey Antukh
3136096123
🔧 Add general improvements to integration tests
...
This commit marks as skip (temporal) several flaky/randomly-failing
tests.
It also moves the integration test execution from circleci to github
actions.
2025-11-19 18:23:44 +01:00
Andrey Antukh
122d3bc41c
💄 Add code formatting for js on frontend
2025-11-19 18:23:44 +01:00
Andrey Antukh
3b52051113
✨ Fix closure compiler issues on clipboard js impl
...
With minor naming fixes
2025-11-19 18:23:44 +01:00
Aitor Moreno
32e1b55658
♻️ Refactor clipboard
2025-11-19 18:23:44 +01:00
Andrey Antukh
e9d177eae3
✨ Make the binfile export process more resilent to errors
...
The current binfile export process uses a streaming technique. The
major problem with the streaming approach is the case when an error
happens on the middle of generation, because we have no way to
notify the user about the error (because the response is already
is sent and contents are streaming directly to the user
client/browser).
This commit replaces the streaming with temporal files and SSE
encoded response for emit the export progress events; once the
exportation is finished, a temporal uri to the exported artifact
is emited to the user via "end" event and the frontend code
will automatically trigger the download.
Using the SSE approach removes possible transport timeouts on export
large files by sending progress data over the open connection.
This commit also removes obsolete code related to old binfile
formats.
2025-11-19 17:28:55 +01:00
Andrey Antukh
d42c65b9ca
✨ Improve logging on shape detach operation
2025-11-19 17:28:55 +01:00
Andrey Antukh
86ad56797b
✨ Simplify tempfile deletion handling
...
Mainly removes the jvm on-exit hook usage because it can lead
to slow stops and unnecesary memory consumption over the time
the jvm is running.
2025-11-19 17:28:55 +01:00
Andrey Antukh
63497b8930
✨ Add tempfile bucket to the storage subsystem
...
This enables storing temporal files under storage subsystem. The
temporal objects (the objects that uses templfile bucket) will
always evaluate to "for deletion" after touched garbage collection;
and the deletion threshold will be 2 hours (the threshold is always
calculated from the instant when the touched garbage collector is
running).
2025-11-19 17:28:55 +01:00
Andrey Antukh
94719eebf8
♻️ Make storage and other objects deletion task vclock aware
...
This simplifes the mental model on how it works and simplifies testing
of the related code.
This also normalizes storage object deletion in the same way as the
rest of objects in penpot (now future deletion date on storage object
also means storage object to be deleted).
2025-11-19 17:28:55 +01:00
Andrey Antukh
9532dea2c6
📎 Skip inspect integration tests ( #7781 )
2025-11-19 17:26:40 +01:00
Andrey Antukh
40e1e27bf0
🐛 Fix not covered case on schema decode fn on tokens-lib
2025-11-19 15:04:49 +01:00
Andrés Moya
4338f97e9f
🐛 Allow deleting the library in the undo change of add tokens-lib
2025-11-19 15:04:49 +01:00
Andrey Antukh
2c4ec43d5f
🐛 Fix invalid syntax on translation files
2025-11-19 15:03:26 +01:00
Andrey Antukh
3d782a322d
🐛 Fix issue related to labels.code on translations
2025-11-19 14:53:13 +01:00
Andrey Antukh
407d28d187
🌐 Rehash and sync translation files
2025-11-19 14:18:41 +01:00
Andrey Antukh
bf582ec55f
🌐 Add several fixes on weblate merge
2025-11-19 13:25:11 +01:00
Andrey Antukh
858bc05ed5
Merge remote-tracking branch 'weblate/develop' into develop
2025-11-19 13:11:07 +01:00
Andrey Antukh
cd01386210
📎 Set version 1.1.0 final to sdk/library
2025-11-19 13:04:29 +01:00
Xaviju
3b2bb5f225
♻️ Follow translations guidelines on several inspect components ( #7766 )
...
Signed-off-by: Xaviju <xavier.julian@kaleidos.net>
2025-11-19 13:03:25 +01:00
Alejandro Alonso
fe3bc96d0d
Merge pull request #7772 from penpot/niwinz-develop-auth-bugfix
...
✨ Improvements to the auth internal flows changes
2025-11-19 12:46:10 +01:00
Alejandro Alonso
28f23f397e
🐛 Fix extrect calculation
2025-11-19 12:38:01 +01:00
Andrey Antukh
a487dfe004
✨ Add better approach for cookie token decoding
...
Remove unnecesary decoding for old tokens and add key identifier
and versioning to cookie tokens for handle future changes.
2025-11-19 07:47:52 +01:00
Andrey Antukh
4f29156929
📎 Add better formatting of public-uri on db report
2025-11-18 20:35:26 +01:00
Andrey Antukh
ce2d3d1652
🐛 Fix incorrect handling of session renewal
...
A regression introduced in the prev auth refactor.
2025-11-18 20:35:16 +01:00
Andrey Antukh
3639ff9dbc
🔧 Update devenv logging configuration
2025-11-18 20:34:17 +01:00
Andrey Antukh
ca5ec734a0
Merge remote-tracking branch 'origin/staging' into develop
2025-11-18 18:19:36 +01:00
Andrey Antukh
b08da4c3ff
Merge remote-tracking branch 'origin/main' into staging
2025-11-18 18:19:11 +01:00
Yamila Moreno
c9bec3924d
🐳 Use the secret key both in the backend and the exporter ( #7746 )
2025-11-18 18:18:49 +01:00
Yamila Moreno
6e725a75e1
🐳 Use the secret key both in the backend and the exporter ( #7746 )
2025-11-18 18:17:34 +01:00
Anton Palmqvist
81c3b84972
🌐 Add translations for: Swedish
...
Currently translated at 99.8% (1953 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-11-18 14:52:28 +01:00
jonnysemon
5868f7f6b2
🌐 Add translations for: Arabic
...
Currently translated at 57.7% (1130 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
2025-11-18 14:52:25 +01:00
Tiago José
653567d7de
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 71.6% (1402 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-11-18 14:51:51 +01:00
Alejandro Alonso
ce651fa0a9
Merge pull request #7767 from penpot/alotor-fix-problem-compatibility
...
🐛 Fix problem with tainted canvas in thumbnails
2025-11-18 14:15:06 +01:00
alonso.torres
e8a26ef83b
🐛 Fix problem with tainted canvas in thumbnails
2025-11-18 13:05:56 +01:00
alonso.torres
8fd17c9c84
🐛 Fix problem not checking feature flag
2025-11-18 13:05:29 +01:00
Xaviju
64b892f82d
♻️ Copy shorthands using user selected color space ( #7752 )
...
* ♻️ Copy shorthands using user selected color space
* ♻️ Add tests to ensure color space changes affect all properties
2025-11-18 10:54:10 +01:00
Alejandro Alonso
04185b3544
Merge pull request #7762 from penpot/alotor-fix-selection
...
🐛 Fix problem with selection and text shapes for new render
2025-11-18 10:39:36 +01:00
alonso.torres
0a01fc8af9
🐛 Fix problem with selection and text shapes for new render
2025-11-18 09:34:17 +01:00
Alejandro Alonso
ae624b3728
Merge pull request #7760 from penpot/elenatorro-12533-fix-selection-and-paste-and-word-deletion
...
🐛 Fix text editor select all functionality and inner paste corner cases
2025-11-18 09:31:57 +01:00
Alejandro Alonso
a48b719966
Merge pull request #7748 from penpot/elenatorro-12586-fix-offset-y-on-new-lines
...
🐛 Fix new lines spacing between paragraphs
2025-11-18 09:23:22 +01:00
Elena Torró
6425c0cb7d
Merge pull request #7757 from penpot/superalex-fix-apply-shadow-and-blur-bounds
...
🐛 Fix apply shadow and blur bounds
2025-11-17 16:50:15 +01:00
Elena Torro
368f4cfe81
🐛 Fix text editor select all functionality and inner paste corner cases
2025-11-17 16:24:52 +01:00
Alejandro Alonso
fdffa14d75
🐛 Fix apply shadow and blur bounds
2025-11-17 15:20:22 +01:00
Eva Marco
7fe965a870
🎉 Add new form system on workspace ( #7738 )
...
* 🎉 Add new form system on border-radius token modals
* ♻️ Create new namespace and separate components
* ♻️ Refactor submit button
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-11-17 13:44:56 +01:00
Anton Palmqvist
d03f5c10fb
🌐 Add translations for: Swedish
...
Currently translated at 99.8% (1953 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-11-15 20:51:48 +00:00
Anton Palmqvist
3eb0f1c225
🌐 Add translations for: Swedish
...
Currently translated at 88.9% (1740 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-11-14 18:51:24 +01:00
Elena Torro
127fa931c7
🐛 Fix new lines spacing between paragraphs
2025-11-14 12:00:39 +01:00
Andrey Antukh
30413dbc66
✨ Add small changes to the auth/login button label ( #7754 )
...
* 📎 Update changelog
* ✨ Update login button label
* 📎 Adapt playwright tests
2025-11-14 11:35:10 +01:00
Andrey Antukh
2810ae681f
⬆️ Update yarn requirement on library module
2025-11-14 11:15:26 +01:00
Andrey Antukh
d706bb7c8d
🐛 Fix validation issues with dtcg-node schema
2025-11-14 11:15:26 +01:00
Andrey Antukh
ef271db879
🎉 Add addTokensLib method to the library
2025-11-14 11:15:26 +01:00
Andrey Antukh
ec5e814a72
⬆️ Update npm deps on library
2025-11-14 11:15:26 +01:00
Andrey Antukh
c44fd2dd1d
💄 Use correct comments style on tokens-lib
2025-11-14 11:15:26 +01:00
Andrey Antukh
6aa797f51b
✨ Normalize token theme serialization to JSON
2025-11-14 11:15:26 +01:00
Andrés Moya
3cc54fd988
🎉 Add design tokens to plugins API ( #7602 )
...
Co-authored-by: alonso.torres <alonso.torres@kaleidos.net>
2025-11-14 11:14:56 +01:00
Xaviju
2233f34a15
🎉 Set default button behaviour as type button instead of submit ( #7741 )
2025-11-14 10:25:38 +01:00
Andrey Antukh
839bb470df
Merge remote-tracking branch 'origin/staging' into develop
2025-11-14 09:55:14 +01:00
Eva Marco
450ce869ba
🐛 Fix gap on export section on sidebar
2025-11-14 09:08:33 +01:00
Xaviju
665587d492
♻️ Review inspect tab UI ( #7727 )
...
* ♻️ Review inspect tab UI
* ♻️ Capitalize English strings and remove from styles
* ♻️ Set a minimum size por color space selector and adjust visually the UI
* 🐛 Fix error on hooks order when selecting texts
* 🐛 Set minim size to inspect tab element
* 🐛 Fix broken typography panel
* ♻️ Design review
2025-11-13 22:19:43 +01:00
Elena Torró
8aaa953604
Merge pull request #7730 from penpot/alotor-fixes-layouts
...
✨ Fix new render problems with layout
2025-11-13 16:38:20 +01:00
Marina López
a2cb84ba0d
✨ Add improvements payment flow
2025-11-13 13:48:27 +01:00
alonso.torres
639952abc8
🐛 Fix problems with text positioning in layout
2025-11-13 12:31:26 +01:00
alonso.torres
2d63730bfa
✨ Improved performance in modifiers
2025-11-13 12:31:26 +01:00
alonso.torres
c1638817b2
🐛 Fix problem with frame titles not moving
2025-11-13 12:31:26 +01:00
alonso.torres
76f6f71e02
🐛 Fix z-ordering for flex elements
2025-11-13 12:31:26 +01:00
alonso.torres
0a700864c9
🐛 Fix problem with grid layout modifiers
2025-11-13 12:31:26 +01:00
Yamila Moreno
04ce4c3233
🔧 Fix repository name in release.yml ( #7731 )
2025-11-13 11:42:33 +01:00
Andrey Antukh
befcca86df
📚 Update changelog
2025-11-12 21:37:16 +01:00
Andrey Antukh
b7bae3850b
🐛 Fix webp exportation on exporter docker image ( #7739 )
2025-11-12 21:31:19 +01:00
Elena Torró
3f05dae455
Merge pull request #7735 from penpot/superalex-fix-create-empty-text
...
🐛 Fix some text issues
2025-11-12 17:48:41 +01:00
alonso.torres
48c9fb5690
✨ Add methods to plugins for modifying indices
2025-11-12 17:07:38 +01:00
alonso.torres
4cdf1eed0c
🐛 Add method to retrieve image data in plugins
2025-11-12 17:07:38 +01:00
Aitor Moreno
4a887840c6
Merge pull request #7737 from penpot/sueralex-fix-shadows-clipping
...
🐛 Fix shadows clipping
2025-11-12 16:58:06 +01:00
Elena Torró
10cf2c7f35
Merge pull request #7729 from penpot/ladybenko-12514-fix-font-variants
...
🐛 Fix downloading wrong font variant
2025-11-12 15:30:08 +01:00
Belén Albeza
d048a251f1
🐛 Fix render of text baseline (wasm)
2025-11-12 14:59:57 +01:00
Belén Albeza
0b3fc6a663
🔧 Fix broken playwright tests (wasm render)
2025-11-12 14:48:31 +01:00
Andrey Antukh
363b4e3778
♻️ Make the SSO code more modular ( #7575 )
...
* 📎 Disable by default social auth on devenv
* 🎉 Add the ability to import profile picture from SSO provider
* 📎 Add srepl helper for insert custom sso config
* 🎉 Add custom SSO auth flow
2025-11-12 12:49:10 +01:00
Andrey Antukh
f248ab5644
🐛 Relax schema for importing plain path data related to curve-to command
2025-11-12 12:13:17 +01:00
Alejandro Alonso
33da6fbec2
🐛 Fix shadows clipping
2025-11-12 11:47:53 +01:00
Belén Albeza
07bede8ba2
🐛 Fix unicode ranges for codepoints that need surrogate pairs
2025-11-12 10:11:19 +01:00
Eva Marco
05bea14a88
🐛 Fix review selected colors ( #7715 )
...
* 🐛 Fix gap between token sets
* 🐛 Show token selected on color selecction modal
2025-11-12 10:04:29 +01:00
Alejandro Alonso
718f42aa94
🐛 Fix deselect and delete events for empty texts
2025-11-12 08:33:17 +01:00
Alejandro Alonso
f2f8a488ad
Merge pull request #7724 from penpot/elenatorro-12551-fix-blurs-and-shadows-bounding-box
...
🐛 Fix extrect calculation for shadows and blurs depending on the scale
2025-11-12 08:25:50 +01:00
Alejandro Alonso
7594f1883b
🐛 Fix create empty text
2025-11-12 08:20:58 +01:00
Belén Albeza
5c2dde7308
🐛 Fix font family not being updated when changed from dropdown
2025-11-11 15:52:18 +01:00
Belén Albeza
483a1bd703
🐛 Fix downloading wrong font variant
2025-11-11 14:44:56 +01:00
Andrey Antukh
e1a275c7a9
Merge remote-tracking branch 'origin/staging' into develop
2025-11-11 14:07:07 +01:00
Andrey Antukh
96d9724516
📎 Update changelog
2025-11-11 14:04:04 +01:00
Andrey Antukh
8158f2956f
⏪ Backport github release workflow from develop
2025-11-11 14:01:25 +01:00
Eva Marco
e45994e836
🐛 Fix color row opacity ( #7550 )
2025-11-11 13:30:08 +01:00
Xaviju
83da59e03c
✨ Add composite shadow token to inspect tab ( #7703 )
2025-11-11 13:28:11 +01:00
Yamila Moreno
fb21a98b0c
Merge pull request #7706 from penpot/yms-fix-release-docker-images
...
🚧 Fix docker images arch during release
2025-11-11 13:21:21 +01:00
Elena Torro
23baf6d18b
🐛 Fix extrect calculation for shadows and blurs depending on the scale
2025-11-11 12:50:15 +01:00
Andrey Antukh
28cf67e7ff
🎉 Add management RPC API ( #7700 )
...
* 🎉 Add management RPC API
And refactor internal http auth flow
* 📎 Adjust final url namings
* 📚 Update changelog
2025-11-10 17:10:59 +01:00
Elena Torro
1b50c13c4d
🐛 Render shadows on nested shapes
2025-11-10 14:13:49 +01:00
Pablo Alba
7de95e108b
🐛 Fix crash when using decimal values for X/Y or width/height ( #7722 )
2025-11-10 11:28:00 +01:00
Luis de Dios
c6b907d05c
📚 Improve switch component documentation ( #7714 )
2025-11-10 11:00:44 +01:00
Pablo Alba
ffb4d6a890
🐛 Fix input confirmation behavior is not uniform
2025-11-10 09:50:26 +01:00
Ahmad HosseinBor
69c4a8932a
🌐 Add translations for: Persian
...
Currently translated at 40.2% (787 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fa/
2025-11-10 08:51:23 +01:00
Luis de Dios
fa25307c05
🐛 Fix correct alignment of property names ( #7717 )
2025-11-09 17:52:11 +01:00
Xaviju
43a136a9e9
💄 Fix minor style details on DS select ghost variant ( #7707 )
2025-11-07 22:46:57 +01:00
Yamila Moreno
3ec4c96b48
🚧 Fix docker images arch during release
2025-11-07 17:50:09 +01:00
Eva Marco
2eaeb8e9a5
🐛 Fix flex children subgrid gap
2025-11-07 13:49:45 +01:00
Andrey Antukh
604f6ca024
🐛 Fix incorrect value coercing on legacy select component ( #7710 )
...
on managing values with select
2025-11-07 13:16:39 +01:00
Andrey Antukh
e3cf70d3a8
✨ Add URI to the report.txt ( #7709 )
2025-11-07 13:16:21 +01:00
Alejandro Alonso
6aedac35f2
🐛 Fix wasm erros when images are not found
2025-11-07 13:08:41 +01:00
Alejandro Alonso
a11b0f54d7
🐛 Fix changing properties resizes the text box height
2025-11-07 12:34:51 +01:00
Belén Albeza
ec0dc2931c
✨ Update copyright string in static page ( #7701 )
2025-11-07 10:54:27 +01:00
Andrey Antukh
9d65d11c91
Merge remote-tracking branch 'origin/staging' into develop
2025-11-07 10:43:27 +01:00
Luis de Dios
f00fd1d5a8
🎉 Use toggle for switching boolean variant property names ( #7564 )
2025-11-07 09:47:57 +01:00
Alejandro Alonso
d796dbb572
Merge pull request #7705 from penpot/niwinz-staging-fix-shadows
...
🐛 Restrict shadow colors to plain colors only
2025-11-06 16:10:02 +01:00
Andrey Antukh
e979476b0e
🐛 Restrict shadow colors to plain colors only
...
Previously, shadows used a general-purpose color schema that allowed
to have gradients and images on the data structure. This commit fixes
that using a specific schema for shadow colors that only allows plain
colors.
A migration is added to clean up existing shadows with non-plain
colors.
2025-11-06 15:54:50 +01:00
Andrey Antukh
097897d8da
✨ Add better sse parser for backend tests
2025-11-06 15:54:50 +01:00
Alejandro Alonso
ba092f03e1
🎉 Use Vec instead of Indexset
2025-11-06 14:16:07 +01:00
Alejandro Alonso
61202e1cab
Merge pull request #7698 from penpot/elenatorro-fix-word-breaking-different-browsers
...
🔧 Fix cross-browser text issues
2025-11-06 12:34:22 +01:00
Elena Torro
f496ba78f3
🔧 Fix cross-browser text issues
2025-11-06 12:20:02 +01:00
Alejandro Alonso
b9a0c6d932
Merge pull request #7702 from penpot/alotor-tiles-fixes
...
✨ Removed some artifacts when tile rendering
2025-11-06 12:11:23 +01:00
alonso.torres
a59ce2ed16
✨ Removed some artifacts when tile rendering
2025-11-06 11:46:02 +01:00
Xaviju
c221b9366f
✨ Add e2e tests to inspect tab ( #7685 )
2025-11-06 10:07:50 +01:00
Alejandro Alonso
8e0aa683a1
Merge pull request #7583 from penpot/niwinz-develop-backend-access-deleted-files
...
✨ Add RPC methods for enable access to deleted but recoverable projects and files
2025-11-06 06:44:56 +01:00
Alejandro Alonso
445d40b71c
Merge pull request #7691 from penpot/alotor-improved-render-tiling
...
✨ Improve tile rendering updating
2025-11-05 17:29:25 +01:00
Alejandro Alonso
7889578ced
🎉 Use textures directly for images
2025-11-05 17:16:06 +01:00
alonso.torres
a230d2fcf6
✨ Improve tile rendering updating
2025-11-05 17:16:06 +01:00
Belén Albeza
78fde35df9
🔧 Upgrade storybook ( #7693 )
...
* 🔧 Upgrade to storybook 9.x
* 🔧 Upgrade to storybook 10.x
* 🔧 Update watch:storybook script so it builds its assets dependencies first
* 🔧 Use vitest for storybook tests (test-storybook was deprecated)
2025-11-05 17:15:19 +01:00
Eva Marco
bb65782d08
🎉 Add sidebar css variables ( #7645 )
...
* 🎉 Add sidebar css variables
* 🎉 Explain more in depth the grid structure
2025-11-05 14:06:26 +01:00
Alejandro Alonso
02a1992a0a
Merge pull request #7694 from penpot/niwinz-staging-runner-fixes
...
🐛 Fix precision issues on worker task scheduling mechanism
2025-11-05 12:18:23 +01:00
Andrey Antukh
1cce82f958
Merge remote-tracking branch 'origin/staging' into develop
2025-11-05 12:15:15 +01:00
Alejandro Alonso
a576c0404a
🐛 Fix focus mode across page and file navigation ( #7695 )
2025-11-05 12:05:00 +01:00
Andrey Antukh
7d5c1c9b5f
✨ Make file-gc-scheduler task compatible with virtual clock
...
And simplify implementation
2025-11-05 10:47:31 +01:00
Andrey Antukh
cd53d3659c
🐛 Truncate worker scheduled-at to milliseconds
...
The nanosecond precision has the problem with transit serialization
roundtrip used for pass data on the worker scheduler throught redis
and generates unnecesary rescheduling.
2025-11-05 10:47:31 +01:00
Andrey Antukh
132f7d6d3e
♻️ Add minor refactor on tokens main form ( #7690 )
2025-11-05 10:37:38 +01:00
Alejandro Alonso
b2a9c55874
Merge pull request #7674 from penpot/elenatorro-12478-fix-new-lines
...
🐛 Fix new lines issues
2025-11-05 10:13:41 +01:00
Alejandro Alonso
d610e7c892
Merge pull request #7671 from penpot/niwinz-develop-path-data-fix
...
🐛 Relax schema for importing plain path data related to curve-to command
2025-11-05 10:04:03 +01:00
Alejandro Alonso
1b5557759a
Merge pull request #7687 from penpot/ladybenko-12440-fix-corrupt-files
...
🐛 Fix wasm crash when loading a file with missing font assets
2025-11-05 07:57:39 +01:00
Belén Albeza
8148da58ed
🐛 Fix wasm crash when loading a file with missing font assets
2025-11-05 07:47:16 +01:00
Alejandro Alonso
537f681944
Merge pull request #7692 from penpot/niwinz-develop-logging-improvements
...
✨ Remove unnecesary report on duplicate email error validation
2025-11-05 07:46:16 +01:00
Alejandro Alonso
9e7ec594ca
Merge pull request #7680 from penpot/niwinz-staging-file-export-fix
...
🐛 Fix race condition on file export process
2025-11-05 07:45:26 +01:00
Alejandro Alonso
7c529eedd4
Merge pull request #7682 from penpot/niwinz-staging-worker-runner-exceptions
...
🐛 Fix incorrect status return on worker runner
2025-11-05 07:44:28 +01:00
Alejandro Alonso
500c5c81d4
Merge pull request #7686 from penpot/elenatorro-12499-fix-nested-blur
...
🐛 Fix children blur rendering
2025-11-05 07:27:43 +01:00
Alejandro Alonso
6ea69c94ee
🎉 Improve big images performance
2025-11-04 22:02:34 +01:00
Andrey Antukh
9b3f68ad14
✨ Remove unnecesary report on duplicate email error validation
2025-11-04 20:34:25 +01:00
Andrey Antukh
34363320ae
Merge branch 'main' into staging
2025-11-04 16:49:53 +01:00
Andrey Antukh
092a5139e3
🐛 Fix incorrect token sets migration ( #7673 )
2025-11-04 16:49:08 +01:00
Andrey Antukh
4a01121043
Merge tag '2.11.0-RC3'
2025-11-04 16:43:32 +01:00
Elena Torro
564ad8adba
🐛 Fix children blur rendering
2025-11-04 15:37:49 +01:00
Andrey Antukh
78e2d6fec3
🐛 Relax schema for importing plain path data related to curve-to command
2025-11-04 12:59:26 +01:00
Andrey Antukh
c850f101d3
Merge remote-tracking branch 'origin/staging' into develop
2025-11-04 12:49:57 +01:00
Andrey Antukh
49721c0bcd
✨ Add better logging context report on worker runner
2025-11-04 12:44:38 +01:00
Andrey Antukh
c214cc1544
🐛 Do not process runner result if no result returned
2025-11-04 12:44:38 +01:00
Andrey Antukh
eaabe54c4b
💄 Check the runner task exists as first condition
2025-11-04 12:44:38 +01:00
Eva Marco
21fb38e5bd
🐛 Fixes some problems with dropdowns and token inputs ( #7640 )
...
* 🐛 Fix apply color token on strokes
* 🐛 Fix size and position of some numeric inputs
* 🐛 Fix padding token application
* ♻️ Fix ci
* 🐛 Fix selected color tick
* 🐛 Fix comments and design review
2025-11-04 12:39:41 +01:00
Luis de Dios
37aa59b164
🐛 Fix hidden advanced frame grid options menu ( #7681 )
2025-11-04 11:57:52 +01:00
Elena Torro
24e4ece323
🐛 Fix line-height rendering on empty lines
2025-11-04 11:25:14 +01:00
Andrey Antukh
cbae3dca34
✨ Simplify the approach for return streamable body
...
Removing unnecesary syntax overhead with simplier abstraction
2025-11-04 10:56:05 +01:00
Andrey Antukh
8307b699bf
🐛 Remove a race condition on file export
...
Caused when file is deleted in the middle of an exportation. The
current export process is not transactional, and on file deletion
several queries can start return not-found exception because of
concurrent file deletion.
With the changes on this PR we allow query deleted files internally
on the exportation process and make it resilent to possible
concurrent deletion.
2025-11-04 10:56:05 +01:00
Andrey Antukh
cd6865f54b
⬆️ Update yetti dependency
...
Bugfixes
2025-11-04 10:56:05 +01:00
Elena Torro
e673035817
🔧 Filter out empty paragraph content
2025-11-04 09:57:13 +01:00
Stas Haas
f6e77c09b3
🌐 Add translations for: German
...
Currently translated at 90.4% (1770 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-11-03 21:51:14 +01:00
Elena Torro
87fc71b55d
🐛 Ignore non-frequent chars
2025-11-03 17:08:38 +01:00
Elena Torro
b76bfa2197
🐛 Fix width on rotation
2025-11-03 16:37:17 +01:00
Andrey Antukh
88493f6805
🐛 Fix incorrect query for subscription editors ( #7672 )
...
Default teams should be present on the query results
2025-11-03 16:14:24 +01:00
Pablo Alba
69bbdad570
🐛 Fix nested variant in a component doesn't keep inherited overrides (3)
2025-11-03 15:36:37 +01:00
Pablo Alba
df4279bdee
Revert " 🐛 Fix nested variant in a component doesn't keep inherited overrides (2)"
...
This reverts commit 7c6515aa7b578dc69c3a0424fef60950a1406dee.
2025-11-03 15:36:37 +01:00
Alejandro Alonso
c8c901ee4c
Merge pull request #7670 from penpot/ladybenko-fix-broken-wasm-test
...
✨ Fix broken wasm test
2025-11-03 14:49:29 +01:00
Belén Albeza
8f0e5e36e9
✨ Fix broken wasm test
2025-11-03 14:18:15 +01:00
Andrés Moya
a5e9f7229b
💄 Fix tests nesting
2025-11-03 14:02:29 +01:00
Andrés Moya
5f22220a8b
🐛 Add test to catch a fixed bug and avoid regressions
2025-11-03 14:02:29 +01:00
Luis de Dios
6c7661b04d
🐛 Fix add missing use in SCSS
2025-11-03 12:47:25 +01:00
Alejandro Alonso
b867f276f2
Merge pull request #7665 from penpot/superalex-fix-texts-migrations
...
🐛 Fix texts migrations
2025-11-03 12:20:16 +01:00
Alejandro Alonso
da8d7a78cf
🐛 Add migration for texts with fills only in position-data
2025-11-03 12:06:41 +01:00
Alejandro Alonso
ec4936f5fe
🐛 Fix 0006 migration for strings that should be uuids
2025-11-03 12:06:41 +01:00
Alejandro Alonso
dd9ec54bd1
Merge pull request #7664 from penpot/alotor-performance-improvements
...
✨ Improve boolean calculations
2025-11-03 12:04:36 +01:00
Alejandro Alonso
3ad4b0a453
Merge pull request #7657 from penpot/elenatorro-12448-fix-text-tabs
...
🐛 Fix tabs rendering
2025-11-03 11:53:20 +01:00
Belén Albeza
83cd9c3db6
🔧 Fix rust linter errors
2025-11-03 11:45:05 +01:00
Andrey Antukh
399feec032
⬆️ Update rust to 1.91
2025-11-03 11:45:00 +01:00
Andrey Antukh
481fa44f18
Merge remote-tracking branch 'origin/staging' into develop
2025-11-03 11:41:13 +01:00
Andrey Antukh
42c9f2123d
Merge pull request #7663 from penpot/niwinz-staging-update-rust
...
⬆️ Update rust to 1.91
2025-11-03 11:26:01 +01:00
Elena Torro
d18a018236
🔧 Fix tab rendering with the text editor
2025-11-03 11:02:28 +01:00
Belén Albeza
4ab6ecec21
🔧 Fix rust linter errors
2025-11-03 10:43:35 +01:00
alonso.torres
b39c00fbf6
✨ Improve boolean calculations
2025-11-03 09:50:29 +01:00
Andrey Antukh
8a0fddf1e4
⬆️ Update rust to 1.91
2025-11-03 09:10:40 +01:00
Luis de Dios
95fdd75030
🐛 Fix misaligned right sidebar menus
2025-11-03 08:34:09 +01:00
Andrey Antukh
54489c4285
🔧 Add better regex for commit checker
2025-11-01 18:46:26 +01:00
Stas Haas
e7b8ad8ee2
🌐 Add translations for: German
...
Currently translated at 89.3% (1747 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-11-01 10:51:52 +00:00
Andrey Antukh
6815806669
Merge remote-tracking branch 'origin/staging' into develop
2025-10-31 18:15:12 +01:00
Andrey Antukh
febe87aa7b
🐛 Fix incorrect checksum of the jdk on dockerfiles
2025-10-31 18:01:55 +01:00
Andrey Antukh
83763b46ce
✨ Add RPC methods for manage deleted files
...
This includes: get already deletedf files, restore deleted files
and permanently delete files marked for deletion.
2025-10-31 16:07:23 +01:00
Andrey Antukh
1ddc196484
✨ Make the get-projects return deleted projects
...
And adapt the frontend code to properly filter
deleted projects on appropriate pages
2025-10-31 16:07:23 +01:00
Andrey Antukh
37d4844518
💄 Add minor cosmetic changes to get-project-files rpc method
2025-10-31 16:07:23 +01:00
Andrey Antukh
76e610dd06
🔥 Remove duplicated functions from file tests namespace
2025-10-31 16:07:23 +01:00
Andrés Moya
99e8b22672
🐛 Fix theme validation when still no tokens library exists
2025-10-31 16:04:50 +01:00
Andrey Antukh
65adbfaadb
Merge remote-tracking branch 'origin/staging' into develop
2025-10-31 14:50:59 +01:00
Andrey Antukh
0581c60800
⬆️ Update jdk and node on docker images
2025-10-31 14:50:12 +01:00
Andrey Antukh
7e92408807
⬆️ Update jdk and node on devenv
2025-10-31 14:50:12 +01:00
Marina López
03eeeda44f
✨ Add improvements payment flow
2025-10-31 14:15:22 +01:00
Alejandro Alonso
2f33009e69
Merge pull request #7655 from penpot/superalex-add-migration-to-fix-text-attrs-with-blank-strings
...
📎 Add migration to fix text attrs with blank strings
2025-10-31 13:58:42 +01:00
Alejandro Alonso
1d5c407456
📎 Add migration to fix text attrs with blank strings
2025-10-31 13:30:46 +01:00
Alejandro Alonso
aa15232cc7
Merge pull request #7648 from penpot/alotor-performance-improvements
...
✨ Add performance improvements for wasm render
2025-10-31 12:22:14 +01:00
Andrey Antukh
f53935f5df
Merge remote-tracking branch 'origin/staging' into develop
2025-10-31 12:13:29 +01:00
alonso.torres
de04026dc8
✨ After review changes
2025-10-31 12:04:52 +01:00
alonso.torres
f3b914534f
✨ Add scale_content to shapes_pool
2025-10-31 11:56:28 +01:00
alonso.torres
fcc9282304
✨ Fix problems with SVGraw and modifiers
2025-10-31 11:56:28 +01:00
alonso.torres
122619b197
✨ Support for booleans dynamic transforms
2025-10-31 11:56:28 +01:00
alonso.torres
dbf9bdceb5
✨ Removed modifiers from code
2025-10-31 11:56:28 +01:00
Alejandro Alonso
f6eb492329
🐛 Fig shapes pool extending size
2025-10-31 11:56:28 +01:00
Alejandro Alonso
c66a8f5dc5
✨ Improve shapes pool performance
2025-10-31 11:56:28 +01:00
alonso.torres
ed4df73e42
✨ Changes to modifiers
2025-10-31 11:56:28 +01:00
alonso.torres
59e745e9ab
✨ Improve performance of group bounds
2025-10-31 11:56:28 +01:00
alonso.torres
d4b4d943c6
✨ Store bounds inside the shape
2025-10-31 11:56:28 +01:00
alonso.torres
e4b4f1bd08
✨ Removed all_ancestors traversals
2025-10-31 11:56:28 +01:00
alonso.torres
e58b2453b1
✨ Removed method set_selrect_for_current_shape
2025-10-31 11:56:28 +01:00
alonso.torres
e9230b8b54
✨ Change internal data type for tiles
2025-10-31 11:56:28 +01:00
alonso.torres
9d7cac5e73
✨ Improved performance of children ancestors
2025-10-31 11:56:28 +01:00
alonso.torres
17fefcf0bc
✨ Changes WASM serialization mechanism
2025-10-31 11:56:28 +01:00
Alejandro Alonso
4367bd2dc6
Merge pull request #7651 from penpot/niwinz-email-bugfix-1
...
🐛 Fix regression on sending quote notification email
2025-10-31 11:23:39 +01:00
Miguel de Benito Delgado
6e2b2e8924
📚 Update increase/decrease font shortcuts ( #7652 )
2025-10-31 11:21:53 +01:00
Andrey Antukh
f3805e3b70
🐛 Fix regression on sending quote notification email
2025-10-31 10:56:33 +01:00
David Barragán Merino
262937c421
📚 Add recommendations for valkey/redis configuration
2025-10-31 10:45:33 +01:00
Alejandro Alonso
15ee75a692
Merge pull request #7647 from penpot/elenatorro-remove-unnecessary-text-properties
...
🔧 Remove unused text attrs
2025-10-31 09:56:12 +01:00
Alonso Torres
942e3300dd
🐛 Fix problem when checking usage with removed teams ( #7638 )
2025-10-31 09:22:31 +01:00
Elena Torro
eaa3904a3a
🔧 Remove unused text attrs
2025-10-31 09:22:01 +01:00
Alejandro Alonso
0c66b5db73
📎 Set stronger text validation ( #7646 )
2025-10-31 09:19:53 +01:00
Elena Torró
cc40448cb5
Merge pull request #7644 from penpot/azazeln28-fix-empty-text-attr-defaults
...
🐛 Fix empty text attr defaults
2025-10-31 09:00:19 +01:00
Alejandro Alonso
6a2029ca3b
🐛 Fix error comment message after the demo account creation ( #7615 )
2025-10-31 08:56:34 +01:00
David Barragán Merino
f32913adcf
📚 Adapt doc with the storage settings changes ( #7607 )
2025-10-31 08:56:06 +01:00
Juan de la Cruz
d906f05a6f
🎉 Add 2.11 release slides and images ( #7606 )
2025-10-31 08:54:19 +01:00
Yamila Moreno
2402334fb2
Merge pull request #7641 from penpot/yms-add-bundle-version-to-docker-metadata
...
🚧 Add bundle version to Docker metadata
2025-10-30 15:12:46 +01:00
Elena Torró
c3e2621ed5
Merge pull request #7643 from penpot/superalex-serialize-font-weight-properly
...
🐛 Serialize font weight properly
2025-10-30 14:59:47 +01:00
Yamila Moreno
d37695d7a5
🚧 Add bundle version to Docker metadata
2025-10-30 14:36:23 +01:00
Aitor Moreno
fadbe24aaa
🐛 Fix empty text attr defaults
2025-10-30 14:16:30 +01:00
Alejandro Alonso
9d29d5e8cc
🐛 Serialize font weight properly
2025-10-30 14:15:57 +01:00
Florian Schroedl
e681f95a70
✨ Add box shadow token
2025-10-30 14:05:42 +01:00
Alejandro Alonso
5c8b401037
Merge pull request #7637 from penpot/elenatorro-12439-fix-fonts-default-values
...
🐛 Fix default font size in text spans
2025-10-30 11:14:20 +01:00
Elena Torro
9dfb0ebe84
🐛 Fix default font size in text spans
2025-10-29 17:23:29 +01:00
Alejandro Alonso
08162c825d
Merge pull request #7633 from penpot/superalex-options-button-does-not-work-for-comments-created-in-the-lower-part-of-the-screen-with-an-active-reply-field
...
🐛 Fix options button does not work for comments created in the lower part of the screen
2025-10-29 16:18:21 +01:00
Alejandro Alonso
bc700334ca
🐛 Fix options button does not work for comments created in the lower part of the screen
2025-10-29 16:17:57 +01:00
Alejandro Alonso
133590f19c
Merge pull request #7635 from penpot/alotor-fix-paste-position
...
🐛 Fix paste without selection sends the new element in the back
2025-10-29 16:16:17 +01:00
alonso.torres
66c5a0570e
🐛 Fix paste without selection sends the new element in the back
2025-10-29 16:15:55 +01:00
Andrés Moya
94cbf9d8f2
🎉 Add integration test to check new validation
2025-10-29 15:40:45 +01:00
Andrés Moya
70143f8ae3
🐛 Fix theme renaming and small refactor tokens forms validation
2025-10-29 15:40:45 +01:00
Xaviju
6c824651df
🎉 Add copy shortands button to panels ( #7580 )
...
* 🎉 Add copy shorthands button to panels
* 🎉 Add shorthand for strokes
* 🎉 Add shorthand for fonts
* 🎉 Add shorthand for borders
* 🎉 Add shorthand for padding
* 🎉 Add shorthand for grid
* 🎉 Add shorthand for layout element
* 🐛 Refactor to fix hook rendering
2025-10-29 13:51:36 +01:00
David Barragán Merino
1b81ddebb4
🐛 Fix some paths and add missed nginx config file for the storybook docker image
2025-10-29 13:46:29 +01:00
David Barragán Merino
6076df5c80
🎉 Detach storybook from the frontend build process
2025-10-29 13:45:54 +01:00
Alejandro Alonso
6d2d66a079
Merge pull request #7634 from penpot/alotor-fix-editable-label
...
🐛 Fix problem with certain text input and drag/drop
2025-10-29 12:50:03 +01:00
Alejandro Alonso
239af4fb82
🐛 Fix problem with text grow types
2025-10-29 12:40:11 +01:00
alonso.torres
0ad4a9ca7e
🐛 Fix problem with certain text input and drag/drop
2025-10-29 12:35:13 +01:00
David Barragán Merino
034463e63a
🐛 Fix some paths and add missed nginx config file for the storybook docker image
2025-10-29 12:02:32 +01:00
Eva Marco
aadc1aac1c
🐛 Fix some error translations
2025-10-29 11:14:20 +01:00
Elena Torró
2cdc76f1af
Merge pull request #7573 from penpot/superalex-select-boards-to-export-to-pdf
...
✨ Select boards to export to PDF
2025-10-29 10:13:32 +01:00
alonso.torres
23f49237f8
🐛 Fix problem with plugins generating code for pages different than current one
2025-10-29 10:08:41 +01:00
Xaviju
93fb54c116
✨ Enable single color-space selector for styles and computed… ( #7525 )
...
* ✨ Enable single color-space selector for styles and computed tab
2025-10-29 09:53:37 +01:00
Alejandro Alonso
7565bb8d24
Merge pull request #7466 from penpot/bameda-storybook-detachment
...
🎉 Detach storybook from the frontend build process
2025-10-29 09:53:18 +01:00
Alejandro Alonso
0d394ee962
Merge pull request #7593 from penpot/eva-fix-some-translations
...
🐛 Fix some error translations
2025-10-29 09:36:06 +01:00
Alejandro Alonso
c4bebc1b0a
Merge pull request #7625 from penpot/elenatorro-12374-fix-remove-selection
...
🐛 Fix text selection
2025-10-29 09:35:56 +01:00
Elena Torro
6edc29dce2
🐛 Fix text selection
2025-10-29 09:20:51 +01:00
Eva Marco
d773e3a966
🐛 Fix some error translations
2025-10-29 09:20:07 +01:00
Alejandro Alonso
e18aef1d39
Merge pull request #7610 from mdbenito/fix/conflicting-selection-shortcut-text-shape
...
🐛 Fix conflicting shortcut in text editor
2025-10-29 08:45:05 +01:00
Alejandro Alonso
b033690239
Merge pull request #7618 from penpot/andy-docs-typography-token
...
📚 Add typography token to the user guide
2025-10-29 08:22:20 +01:00
Alejandro Alonso
9f732eb45a
Merge pull request #7595 from penpot/esther-moreno-user-guide-new-architecture
...
📚 New architecture in user guide
2025-10-29 08:02:45 +01:00
Alejandro Alonso
474453a503
Merge pull request #7594 from penpot/eva-fix-dropdown-submenu
...
🐛 Fix submenu visibility
2025-10-29 07:53:06 +01:00
Alejandro Alonso
c3d40659a9
Merge pull request #7600 from penpot/elenatorro-12344-fix-different-text-span-font-sizes
...
🔧 Add support for text spans of different sizes
2025-10-29 07:25:49 +01:00
David Barragán Merino
15e2b35afc
🎉 Detach storybook from the frontend build process
2025-10-28 20:58:50 +01:00
Elena Torró
ad15887d57
Merge pull request #7623 from penpot/superalex-fix-nested-fills-for-shapes-with-svg-attrs
...
🐛 Fix nested fills for shapes with svg attrs
2025-10-28 16:01:27 +01:00
Elena Torró
d01f921344
Merge pull request #7624 from penpot/superalex-fix-prevent-rendering-of-unused-fill-slots-in-shapes
...
🐛 Prevent rendering of unused fill slots in shapes
2025-10-28 15:54:51 +01:00
Alejandro Alonso
9e035ec4fe
Merge pull request #7605 from penpot/ladybenko-fix-text-playground-crash
...
🔧 Fix text-related playgrounds (wasm)
2025-10-28 14:11:52 +01:00
Alejandro Alonso
fbacdf0351
🔧 Fix shapes-related playgrounds (wasm)
2025-10-28 14:09:24 +01:00
Alejandro Alonso
3f4d699395
🐛 Prevent rendering of unused fill slots in shapes
2025-10-28 13:35:34 +01:00
Alejandro Alonso
1626371337
Merge pull request #7619 from penpot/elenatorro-11889-fix-text-span-selection
...
🐛 Fix data-itype for text spans
2025-10-28 13:33:19 +01:00
Marina López
4d8a70f1fa
✨ Improvements payments
2025-10-28 12:36:32 +01:00
Alejandro Alonso
14d5de29da
🐛 Fix nested fills for shapes with svg attrs
2025-10-28 12:25:57 +01:00
Esther Moreno
df718c940f
📚 New architecture in user guide
2025-10-28 11:04:09 +01:00
Elena Torro
80c78d9cd4
🐛 Fix pasting text within an existing text
2025-10-28 09:39:52 +01:00
Pablo Alba
e2ce226814
🐛 Fix remove flex button doesn’t work within variant
2025-10-28 09:38:38 +01:00
Elena Torro
28c4c1a286
🐛 Fix data-itype for text spans
2025-10-27 16:55:51 +01:00
alonso.torres
f64105ad08
🐛 Fix problem with changing gap in flex layout
2025-10-27 16:29:59 +01:00
Andres Gonzalez
a346d29d76
📚 Add typography token to the user guide
2025-10-27 15:18:14 +01:00
Ingrid Pigueron
ccb7b41b3a
🌐 Add translations for: French
...
Currently translated at 98.3% (1923 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-10-27 12:02:59 +00:00
Elena Torro
2c37c5c8ed
🔧 Add support for text spans of different sizes
2025-10-27 12:43:41 +01:00
Andrés Moya
ed767d9a5b
🐛 Fix library update notificacions showing when they should not
2025-10-27 11:14:41 +01:00
Miguel de Benito Delgado
57bfca4062
🐛 Maintain selection after font change
2025-10-26 12:02:20 +00:00
Miguel de Benito Delgado
e9dcd64463
🐛 Fix conflicting shortcut in text editor
2025-10-26 11:11:50 +00:00
Belén Albeza
b498056c01
🔧 Fix text-related playgrounds (wasm)
2025-10-24 14:35:28 +02:00
Andrés Moya
81f851cad4
🔧 Deactivate debug traces for fonts module
2025-10-24 11:49:43 +02:00
Pablo Alba
245190f4f9
🐛 Fix variant validation when nil
2025-10-24 10:59:16 +02:00
Alejandro Alonso
479ce99b32
✨ Improve setting svg attrs in wasm
2025-10-24 10:35:30 +02:00
Alejandro Alonso
6290b88d2e
Merge pull request #7601 from penpot/alotor-fix-text-grow-type-problem
...
🐛 Fix problem with text grow types
2025-10-24 09:45:47 +02:00
Elena Torró
dba718b850
Merge pull request #7484 from penpot/superalex-fix-text-line-height-values-are-wrong
...
🐛 Text line-height values are wrong
2025-10-24 08:49:35 +02:00
alonso.torres
7c1205018b
🐛 Fix problem with text grow types
2025-10-23 17:39:18 +02:00
Elena Torró
89763d7c5a
Merge pull request #7554 from penpot/azazeln28-fix-text-editor-v2-issues
...
🐛 Fix text editor v2 render integration issues
2025-10-23 15:55:54 +02:00
Aitor Moreno
7f6af6179b
🐛 Fix paste when collpaseNode is a br
2025-10-23 15:06:32 +02:00
Aitor Moreno
ceb184782f
🐛 Fix text editor paste inline/paragraph
2025-10-23 15:06:01 +02:00
Aitor Moreno
247c5c3700
Merge pull request #7588 from penpot/elenatorro-fix-text-tests
...
🔧 Fix text align selrect
2025-10-23 15:04:48 +02:00
Pablo Alba
0882c448f6
📎 Cleanup log files
2025-10-23 14:34:26 +02:00
Belén Albeza
f8cebb9d63
🐛 Fix scroll bar in design tab ( #7582 )
...
* 🐛 Fix scroll bar in design tab
* ♻️ Remove deprecated css tokens in options.scss
2025-10-23 14:11:11 +02:00
Alejandro Alonso
1e248c7177
🐛 Fix demo accounts creation
2025-10-23 13:45:11 +02:00
Elena Torró
351a35dad6
Merge pull request #7574 from penpot/azazeln28-refactor-text-struct-naming
...
♻️ Rename textleafs and inline to textspan
2025-10-23 13:39:36 +02:00
Aitor Moreno
eb088c31c1
🔧 Rename textleafs and inlines to keep coherence between render and editor
2025-10-23 13:04:21 +02:00
Belén Albeza
45af469a11
🐛 Fix invite selection copy
...
* 🐛 Fix selected invitations copy not being localized/pluralized
* ✨ Add integration test for team invites + fixes unaccessible dom
2025-10-23 12:04:34 +02:00
Eva Marco
232f2271d3
🐛 Fix submenu visibility
2025-10-23 11:52:03 +02:00
Elena Torro
a30315c91c
🔧 Fix text align selrect and update regression tests
2025-10-23 11:44:40 +02:00
Pablo Alba
04542e1e66
✨ Add variants to plugins API
2025-10-23 10:52:10 +02:00
Alejandro Alonso
36c986d8e8
🐛 Fix file doesn’t open after deleting the library used in it
2025-10-23 09:51:10 +02:00
Alejandro Alonso
38c3b2eaba
Merge pull request #7584 from penpot/alotor-fix-flex-issue
...
🐛 Fix problem with flex type conversions
2025-10-22 16:49:56 +02:00
alonso.torres
98e91ecda5
🐛 Fix problem with flex type conversions
2025-10-22 16:03:51 +02:00
Alejandro Alonso
54ac64db4b
Merge pull request #7578 from penpot/supealex-fix-selected-colors-children-shapes-in-multiple-selection
...
🐛 Fix selected colors not showing colors from children shapes in multiple selection
2025-10-22 15:18:58 +02:00
Alejandro Alonso
30ca6bf6ff
🐛 Fix selected colors not showing colors from children shapes in multiple selection
2025-10-22 14:53:06 +02:00
David Barragán Merino
81a364dfc4
🐳 Set default values for maxmemory and maxmemory-policy in Valkey
2025-10-22 13:43:30 +02:00
Pablo Alba
c6b9954af8
🐛 Fix nested variant in a component doesn't keep inherited overrides
2025-10-22 13:35:22 +02:00
Alejandro Alonso
f120cf82d3
✨ Select boards to export to PDF
2025-10-22 13:19:10 +02:00
Belén Albeza
7ec335ae96
🐛 Fix export element crashing the app
2025-10-22 13:02:55 +02:00
Eva Marco
8dcc46aba8
🐛 Fix color row opacity ( #7550 )
2025-10-22 12:20:58 +02:00
Xaviju
058a555594
🎉 Add shadow panel to inspect styles tab ( #7566 )
2025-10-22 12:17:14 +02:00
Luis de Dios
e073b89604
🐛 Fix property input remains editable after keeping default property name ( #7549 )
...
* 🐛 Fix property input remains focused when keeping default property name
* 📎 PR changes
2025-10-22 10:48:03 +02:00
Elena Torró
140290cd60
Merge pull request #7556 from penpot/ladybenko-12362-fix-underline-spacing
...
🐛 Fix underline not matching spacing/thickness
2025-10-22 10:21:48 +02:00
Pablo Alba
5e6af5aea9
🐛 Fix text override is lost after switch
2025-10-22 09:43:12 +02:00
Alejandro Alonso
5df2a740b9
Merge pull request #7571 from penpot/superalex-fix-cleaning-nested-fills
...
🐛 Fix cleaning nested fills
2025-10-21 17:05:00 +02:00
Pablo Alba
fd596a1371
🐛 Fix incorrect behavior of Alt + Drag for variants
2025-10-21 17:02:10 +02:00
Belén Albeza
87221eb7db
🐛 Fix underline not matching spacing/thickness
2025-10-21 16:57:02 +02:00
Aitor Moreno
69f2e131d7
Merge pull request #7570 from penpot/elenatorro-12386-fix-missplaced-text-strokes
...
🐛 Fix texts offset-y calculation when there are multiple lines and stroke paints
2025-10-21 16:46:53 +02:00
Alejandro Alonso
69da63e01c
🐛 Fix cleaning nested fills
2025-10-21 16:45:53 +02:00
Elena Torro
dc689f9756
🐛 Fix texts offset-y calculation when there are multiple lines and stroke paints
2025-10-21 16:13:40 +02:00
Marina López
82e1a5003c
🐛 Fix condition report feedback
2025-10-21 15:29:06 +02:00
Andrey Antukh
024697ff87
✨ Add cause stack trace logging on ui error boundary
2025-10-21 15:04:53 +02:00
alonso.torres
fc4b717287
🐛 Fix problem with CI
2025-10-21 14:45:59 +02:00
Marina López
9e8cdc8a3f
🐛 Fix search shortcut
2025-10-21 13:28:31 +02:00
Elena Torro
a51fd009bc
🔧 Improve text tiles intersection on changes
2025-10-21 13:21:02 +02:00
David Barragán Merino
f795f20ef8
📎 Notify about failures in releasing and creating docker images
2025-10-21 13:16:04 +02:00
Eva Marco
ca21e7e8b4
🐛 Fix font size placeholder
2025-10-21 12:27:15 +02:00
alonso.torres
93e7f2950b
🐛 Fix problem with multiple selection and shadows
2025-10-21 12:27:14 +02:00
Xaviju
d0e5d0d952
✨ Display resolved value for composite typography tokens ( #7537 )
...
* ✨ Display resolved value for composite typography tokens tooltip
* ✨ Add missing key to iteration
2025-10-21 11:30:34 +02:00
Andrey Antukh
e4c07e0ec0
✨ Merge staging into develop
2025-10-21 11:23:59 +02:00
alonso.torres
068caf2784
Merge remote-tracking branch 'origin/staging' into develop
2025-10-21 11:19:21 +02:00
Xavier Julian
436bc23da4
🐛 Remove duplicated tokens on stroke panel
2025-10-21 10:56:38 +02:00
Pablo Alba
579de6558a
🐛 Fix on copy instance inside a components chain touched are missing
2025-10-21 10:37:07 +02:00
Pablo Alba
2d45cba36c
🐛 Fix Restoring a variant from another file makes it overlap
2025-10-21 10:09:50 +02:00
Alejandro Alonso
cf21ffb30f
Merge pull request #7528 from penpot/alotor-set-children
...
✨ Add set_children granular methods for performance
2025-10-21 09:57:22 +02:00
Elena Torró
7a2fe232d5
Merge pull request #7527 from penpot/ladybenko-12329-break-editor-word
...
🐛 Make internal DOM of text editor v2 break words as the render engine does
2025-10-21 09:41:15 +02:00
Alejandro Alonso
9e17a0e65d
🐛 Fix unread comments
2025-10-21 09:30:01 +02:00
Pablo Alba
220c27c354
🐛 Fix nested variant in a component doesn't keep inherited overrides (2)
2025-10-20 18:28:10 +02:00
Pablo Alba
b0e4257e56
📚 Remove wrong line on CHANGES
2025-10-17 14:20:31 +02:00
Pablo Alba
b3cb7df33c
🐛 Fix nested variant in a component doesn't keep inherited overrides
2025-10-17 14:01:54 +02:00
Pablo Alba
fec420b6e9
🐛 Fix variants not syncronizing tokens on switch
2025-10-17 13:46:49 +02:00
Eva Marco
35af5455a0
🐛 Fix dropdown width ( #7534 )
2025-10-17 13:39:29 +02:00
AlexTECPlayz
597fba79cc
🌐 Add translations for: Romanian
...
Currently translated at 99.8% (1953 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
2025-10-17 13:07:28 +02:00
Luis de Dios
216b2d3072
🐛 Fix drag & drop functionality is swapping instead or reordering ( #7489 )
...
* 🐛 Fix drag & drop functionality is swapping instead or reordering
* ♻️ SCSS improvements
2025-10-17 12:12:34 +02:00
Eva Marco
bbc6709943
🐛 Fix applying color tokens on a row from colorpicker ( #7524 )
2025-10-17 11:10:10 +02:00
Eva Marco
14f6e22610
🐛 Fix composite token placeholders ( #7526 )
...
* 🐛 Fix composite token placeholders
* 📚 Recover some translations
2025-10-17 10:57:32 +02:00
Eva Marco
2f27a78bc0
🐛 Fix color row erros from review ( #7516 )
...
* 🐛 Fix text Ellipsis on token color row
* 🐛 Fix show token only on first stroke
* 🐛 Fix detach broken token
2025-10-17 10:39:41 +02:00
Marina López
f5761066a9
Merge pull request #7511 from penpot/marina-improve-users-give-feedback
...
✨ Improve the way users give us feedback
2025-10-17 10:19:34 +02:00
Andrey Antukh
3665bccaed
Merge remote-tracking branch 'origin/staging' into develop
2025-10-17 09:43:30 +02:00
Andrey Antukh
fbbee98c3d
✨ Add proper backend integration of for new feedback form
2025-10-17 09:40:27 +02:00
Marina López
854ad5bb4d
✨ Improve the way users give us feedback
2025-10-17 09:39:58 +02:00
Andrey Antukh
a32f44a62c
🐛 Use correct error boundary fallback on ui ns
2025-10-17 09:39:58 +02:00
Andrey Antukh
95f58ffda5
✨ Allow add attachements on emails
2025-10-17 09:39:58 +02:00
Andrey Antukh
e8e27c25c0
💄 Fix naming on several components under ui ns
...
Following the current naming convention
2025-10-17 09:39:58 +02:00
Andrey Antukh
42c416e3cb
📎 Add user feedback defaults to backend scripts/_env
2025-10-17 09:39:58 +02:00
Andrés Moya
5ad04e0f4c
🐛 Fix error when selecting set in theme
2025-10-16 16:17:16 +02:00
Belén Albeza
9f4db4479c
🐛 Make internal DOM of text editor v2 break words as the render engine does
2025-10-16 15:55:53 +02:00
alonso.torres
66997d2bc9
✨ Add set_children granular methods for performance
2025-10-16 15:33:08 +02:00
Alejandro Alonso
7350329658
🐛 Filter svg attrs supported in wasm
2025-10-16 14:48:22 +02:00
Elena Torró
544b118925
Merge pull request #7361 from penpot/azazeln28-feat-dom-textarea-position
...
🎉 Text Editor DOM textarea position
2025-10-16 14:30:41 +02:00
Alejandro Alonso
8ceb909cda
Merge pull request #7490 from penpot/elenatorro-12258-fix-text-shapes-intersection
...
🐛 Fix text tiles intersection
2025-10-16 14:23:41 +02:00
Elena Torro
af54e6ccc2
🔧 Fix text layout extrect intersection and refactor calculate_extrect function
2025-10-16 14:00:59 +02:00
Elena Torro
6ef0b8fd16
🔧 Update fixed visual tests
2025-10-16 14:00:54 +02:00
Alejandro Alonso
4a6d143a15
Merge pull request #7522 from penpot/alotor-render-performance
...
✨ New render small performance optimizations
2025-10-16 13:45:49 +02:00
David Barragán Merino
07dedbd3bb
📎 Fix registry uri
...
Signed-off-by: David Barragán Merino <david.barragan@kaleidos.net>
2025-10-16 13:06:34 +02:00
Aitor Moreno
7ca8bf32b2
🎉 Set DOM text editor element caret
2025-10-16 12:59:24 +02:00
alonso.torres
2e6fb1b9c5
✨ New render small performance optimizations
2025-10-16 12:40:29 +02:00
AlexTECPlayz
43b03b9714
🌐 Add translations for: Romanian
...
Currently translated at 99.8% (1953 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
2025-10-16 12:07:26 +02:00
Alejandro Alonso
8e8d46b314
🐛 Fix performance macros disabled in production mode
2025-10-16 12:01:29 +02:00
Eva Marco
e964f9820e
🐛 Fix tooltip position of proportion lock button ( #7519 )
2025-10-16 11:40:19 +02:00
Pablo Alba
d933e91c6c
🐛 Fix variants not syncronizing tokens on switch
2025-10-16 11:21:18 +02:00
Eva Marco
24264e7d8a
🎉 Replace numeric inputs on layout menus ( #7488 )
...
* 🎉 Replace numeric inputs on layout menus
* 🎉 Add numeric inputs on gaps
* ♻️ Refactor scss file
* 🐛 Fix comments
2025-10-16 10:05:25 +02:00
Xaviju
5b77df997b
🐛 Remove color validation for non-color tokens in strokes ( #7513 )
2025-10-16 09:54:50 +02:00
Xaviju
968274096d
🐛 Fix visual glitch in transparent background for swatch component ( #7509 )
2025-10-16 09:54:33 +02:00
Alejandro Alonso
392e3ac34e
Merge pull request #7507 from penpot/elenatorro-11974-fix-resize-on-blocked-shapes
...
🐛 Fix resize on blocked shapes from the viewport
2025-10-16 09:17:13 +02:00
Alejandro Alonso
9266ace537
Merge pull request #7514 from penpot/ladybenko-12293-fix-scroll-inspect
...
🐛 Fix scrollbar in the inspect tab
2025-10-16 07:07:56 +02:00
Elena Torro
e8336a401e
🐛 Do not show resize controls when a selected shape is blocked
2025-10-16 06:43:34 +02:00
Elena Torro
18048a4b2e
🐛 Do not select a blocked frame when clicking its name
2025-10-16 06:42:45 +02:00
Elena Torro
e28d4eaff1
🐛 Do not allow to resize a shape that is blocked from the viewport
2025-10-16 06:42:45 +02:00
Alejandro Alonso
fae574796f
Merge pull request #7512 from penpot/elenatorro-11963-change-font-styles-label
...
🌐 Add font-style label on workspace assets
2025-10-16 06:36:39 +02:00
Belén Albeza
b057ed1b9a
🐛 Fix scroll on inspect tab
2025-10-15 15:30:27 +02:00
Elena Torro
db59209b21
🌐 Add font-style label on workspace assets
2025-10-15 14:41:15 +02:00
Alejandro Alonso
a62f1fb46f
Merge pull request #7505 from penpot/elenatorro-review-extrect
...
🔧 Fix extrect and selrect debug interactivity
2025-10-15 14:02:22 +02:00
Alejandro Alonso
ffd2aa03a9
Merge pull request #7510 from penpot/alotor-bugfix-pan-with-guides
...
🐛 Fix pan cursor not disabling viewport guides
2025-10-15 13:36:12 +02:00
Xaviju
f1ebcaf635
✨ Add composite typography token to text panel ( #7496 )
2025-10-15 13:21:30 +02:00
alonso.torres
6a4d0f05bc
🐛 Fix pan cursor not disabling viewport guides
2025-10-15 13:02:56 +02:00
Alejandro Alonso
4d751c5acd
Merge pull request #7504 from penpot/azazeln28-feat-webgl-error
...
🎉 Add debug and alert when WebGL is unsupported
2025-10-15 12:51:45 +02:00
Alejandro Alonso
2c5abb0cbf
Merge pull request #7506 from penpot/niwinz-staging-hotfix-6-comments-threads
...
⚡ Add minor comment threads queries optimization
2025-10-15 12:04:42 +02:00
Andrey Antukh
7f6bffdbfc
⚡ Add minor comment threads queries optimization
2025-10-15 11:45:24 +02:00
Andrey Antukh
9a5efe8671
Merge remote-tracking branch 'origin/staging' into develop
2025-10-15 11:32:15 +02:00
Andrey Antukh
e0dd8247d4
Merge branch 'main' into staging
2025-10-15 11:25:36 +02:00
Andrey Antukh
1f65e2f560
Merge branch 'staging' into develop
2025-10-15 11:22:03 +02:00
Andrey Antukh
abad6a15bc
Merge branch 'main' into staging
2025-10-15 11:21:43 +02:00
Alejandro Alonso
bf6874a96d
Merge pull request #7460 from penpot/ladybenko-12205-cap-fills-text
...
✨ Cap the amount of text fills
2025-10-15 11:17:32 +02:00
Alejandro Alonso
7cdb1925d6
Merge pull request #7497 from penpot/ladybenko-12287-text-fills
...
🐛 Fix adding/removing identical text fills
2025-10-15 11:00:00 +02:00
Alejandro Alonso
aec4464749
Merge pull request #7498 from penpot/niwinz-staging-hotfix-4
...
✨ Make worker subsystem more resilent to redis restarts
2025-10-15 10:39:04 +02:00
Alejandro Alonso
1d14644250
Merge pull request #7494 from penpot/niwinz-staging-hotfix-3
...
✨ Use system clock for check invitation expiration
2025-10-15 10:23:48 +02:00
Alejandro Alonso
fad148e6a6
📎 Reorder jvm opts on _env
2025-10-15 10:15:06 +02:00
Elena Torro
3c05067c99
🔧 Fix extrect and selrect debug interactivity
2025-10-15 10:10:24 +02:00
Aitor Moreno
bbb78904fb
🎉 Add debug and alert when WebGL is unsupported
2025-10-15 10:06:02 +02:00
Alejandro Alonso
879caf66eb
Merge pull request #7493 from penpot/niwinz-staging-hotfix-2
...
🐛 Fix corrner case on error report validation
2025-10-15 09:51:52 +02:00
Andrey Antukh
4daf086214
📎 Backport circleci config from develop
2025-10-15 09:33:42 +02:00
Andrey Antukh
c8b3a41117
📎 Backport all github workflows from develop
2025-10-15 09:33:42 +02:00
Andrey Antukh
c9dcc8a4ee
🐛 Add migration for clearing :objects nil from components
...
on the local library
2025-10-15 09:33:40 +02:00
Stephan Paternotte
4739c4730c
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1953 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-10-14 19:08:02 +02:00
Edgars Andersons
603bb860ba
🌐 Add translations for: Latvian
...
Currently translated at 95.3% (1866 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-10-14 19:08:01 +02:00
Yaron Shahrabani
55d9ca1439
🌐 Add translations for: Hebrew
...
Currently translated at 99.4% (1945 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-10-14 19:07:59 +02:00
Oğuz Ersen
a2f397c329
🌐 Add translations for: Turkish
...
Currently translated at 99.8% (1953 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2025-10-14 19:07:57 +02:00
Roman D
ada4e72c27
🌐 Add translations for: Russian
...
Currently translated at 78.2% (1530 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-10-14 19:07:54 +02:00
Andrey Antukh
17376dfa3f
✨ Add mark-file-as-trimmed srepl helper
2025-10-14 19:04:02 +02:00
Andrey Antukh
8d65e1cc94
✨ Simplify reset-password srepl helper
2025-10-14 19:04:02 +02:00
Andrey Antukh
d4de367499
🐛 Fix ::sm/set schema validation
...
It has several corner cases where set specific type
is not checked. It also now checks for ordered type
specifically when ordered is specified
2025-10-14 19:04:02 +02:00
Andrey Antukh
25521b18ff
✨ Make the restriction errors report as warning to logging
2025-10-14 19:04:02 +02:00
Andrey Antukh
39bdf026ca
🐛 Fix corrner case on error report validationt
2025-10-14 19:03:59 +02:00
Andrey Antukh
1b6a833166
🐛 Add migration for fix fills on position-data
2025-10-14 18:11:42 +02:00
Andrey Antukh
928dcf5cb8
🐛 Fix migrations set decoding on binfile import
...
that causes incorrect migration ordering on the table
2025-10-14 18:11:42 +02:00
Elena Torró
12e91751c3
🔧 Improve debugging UI ( #7500 )
2025-10-14 17:29:04 +02:00
David Barragán Merino
0f0c8466be
📎 Add bundle version to the metadata in S3
2025-10-14 16:30:31 +02:00
Belén Albeza
204d0dfb9d
✨ Add integration test to check fills limit in UI
2025-10-14 16:14:53 +02:00
Belén Albeza
e4a3fc3940
✨ Limit the amount of text fills passed to wasm
2025-10-14 16:05:03 +02:00
Andrey Antukh
5ae173f01c
✨ Make worker subsystem more resilent to redis restarts
2025-10-14 15:48:54 +02:00
Belén Albeza
840c1f59bc
🐛 Fix adding/removing identical text fills
2025-10-14 15:34:44 +02:00
Francis Santiago
29dc99deae
🔧 Replace ADD with COPY in Dockerfiles to fix hadolint warnings
2025-10-14 13:53:48 +02:00
Andrey Antukh
f7b3913c71
✨ Use system clock for check invitation expiration
...
instead of db time
2025-10-14 13:35:50 +02:00
alonso.torres
025f0d2fdb
🐛 Fix problem with tiles and transform
2025-10-14 12:51:48 +02:00
Andrey Antukh
85591bd579
Merge branch 'main' into staging
2025-10-14 12:30:21 +02:00
Andrey Antukh
b3ae54775b
📎 Update changelog
2025-10-14 12:26:56 +02:00
Eva Marco
045aa7c788
🎉 Add tokens to color selection ( #7447 )
...
* 🎉 Add tokens to color row
* 🎉 Add color-token to stroke input
* 🐛 Fix change token on multiselection with groups
* 🎉 Create token colors on selected-colors section
* ♻️ Fix comments
2025-10-14 11:17:14 +02:00
Alejandro Alonso
497282d964
Merge pull request #7491 from penpot/niwinz-staging-fix-fills-position-data
...
🐛 Add migration for fix fills on position-data
2025-10-14 10:45:25 +02:00
Andrey Antukh
362bb7d2f6
🐛 Add migration for fix fills on position-data
2025-10-14 10:34:19 +02:00
Alejandro Alonso
b4cd955484
🐛 Text line-height values are wrong
2025-10-14 07:53:37 +02:00
Andrey Antukh
55353b80a2
🔧 Simplfy circleci workflow dependencies
2025-10-13 18:54:47 +02:00
Andrey Antukh
c46ab38d58
🔧 Add missing construction_worker to commit checker regex
2025-10-13 18:54:40 +02:00
Andrey Antukh
0f3ca67773
🔧 Simplfy circleci workflow dependencies
2025-10-13 18:53:39 +02:00
Andrey Antukh
1c06c87acf
🔧 Add missing construction_worker to commit checker regex
2025-10-13 18:53:39 +02:00
Andrey Antukh
d532558bab
Merge remote-tracking branch 'origin/staging' into develop
2025-10-13 18:41:18 +02:00
Andrey Antukh
a4192ce835
🐛 Fix incorrect file data migration from db to legacy-db
2025-10-13 18:41:02 +02:00
Andrey Antukh
d3e28a8307
🐛 Set correct name to tokens lib data reader
2025-10-13 18:41:02 +02:00
Andrey Antukh
3122917872
✨ Add more file-grained validation for tokens lib migration helpers
2025-10-13 18:41:02 +02:00
Andrey Antukh
95df07a364
✨ Add strong file schema validation after file data migration
2025-10-13 18:41:02 +02:00
Andrey Antukh
71ed845307
Merge remote-tracking branch 'origin/staging' into develop
2025-10-13 16:35:53 +02:00
Andrey Antukh
c9761684c1
🐛 Fix regression introduced on duplicate-id on token-sets commit
2025-10-13 16:35:17 +02:00
Andrey Antukh
dd35c82824
Merge remote-tracking branch 'origin/staging' into develop
2025-10-13 15:19:07 +02:00
Andrey Antukh
515b381f66
🐛 Fix random failure of tokens lib test
2025-10-13 15:16:53 +02:00
Andrés Moya
160873c63e
🐛 Remove duplicated token set ids
2025-10-13 15:16:53 +02:00
Andrey Antukh
fc35dc77ce
🐛 Enable migrations on calculate file library summary
2025-10-13 14:52:39 +02:00
Andrey Antukh
b5648e1241
⬆️ Update yarn to 2.10.3 on frontend module
2025-10-13 14:52:39 +02:00
Andrey Antukh
d07e00da21
🐛 Fix incorrect filtering of unread comment threads
...
Do not return threads for deleted files
2025-10-13 14:52:39 +02:00
Xaviju
253605f6cc
🎉 Add text panel to inspect styles tab ( #7413 )
2025-10-13 14:20:55 +02:00
Xaviju
2548bec651
🐛 Fix visual glitch in background for swatch component ( #7468 )
2025-10-13 14:20:14 +02:00
Andrey Antukh
da5da00bd4
📚 Update changelog
2025-10-13 14:08:33 +02:00
Andrey Antukh
72b44240b1
Merge branch 'develop' into staging
2025-10-13 13:30:43 +02:00
Andrey Antukh
b21f79490b
Merge remote-tracking branch 'origin/staging' into develop
2025-10-13 13:22:26 +02:00
Andrey Antukh
db09eacd4c
Merge remote-tracking branch 'origin/main' into staging
2025-10-13 13:22:07 +02:00
Andrey Antukh
731afb0e70
📚 Update changelog
2025-10-13 13:19:18 +02:00
Pablo Alba
1080251d9a
✨ Add missing variant-switch tracking event
2025-10-13 13:01:02 +02:00
Andrey Antukh
ea5bfbd72d
📎 Add token-typography-composite config flag to defaults
2025-10-13 12:54:27 +02:00
David Barragán Merino
b10dcb2d63
🐳 Prevent error if config.js is a bind mounted file
2025-10-13 12:42:23 +02:00
Andrey Antukh
c4cd665594
📎 Enable redis-cache flag on devenv start scripts
2025-10-13 12:32:29 +02:00
Andrey Antukh
1eb6f33bdd
⚡ Enable optional caching of results for file summary RPC methods
2025-10-13 12:32:29 +02:00
Andrey Antukh
62dffd30a4
♻️ Refactor redis internal API
...
The main idea behind this refactor is make the
API less especialized for specific use of out internal
submidules and make it more general and usable
for more general purposes (per example cache)
2025-10-13 12:32:29 +02:00
Andrey Antukh
12a4934c41
✨ Allow pass :load-data? false to get-file
2025-10-13 12:32:29 +02:00
Andrey Antukh
e3bd9148f2
✨ Add ::sm/atom to schemas
2025-10-13 12:32:29 +02:00
Alejandro Alonso
2b7bd8fa5c
🐛 Fix deleted files are accesible
2025-10-13 12:24:05 +02:00
Andrey Antukh
5717708b56
♻️ Refactor file storage
...
Make it more scallable and make it easily extensible
2025-10-13 12:24:05 +02:00
Andrey Antukh
27bed84543
✨ Improve netty io executor shutdown
2025-10-13 12:24:05 +02:00
Andrey Antukh
c6529f9585
🐛 Fix corner case on worker runner
2025-10-13 12:24:05 +02:00
Andrey Antukh
30e139ed10
🔥 Remove binary fills flag ( #7462 )
...
* 🐛 Add missing IEmptyableCollection protocol impl for wasm Shape
* 🔥 Remove frontend-binary-fills flag
* ✨ Fix fill-limit integration tests
---------
Co-authored-by: Belén Albeza <belen@hey.com>
2025-10-13 12:14:25 +02:00
Andrey Antukh
0aadc3b6b3
✨ Add management shared key authentication
2025-10-13 11:49:58 +02:00
Andrey Antukh
21a7ecb3fe
🔥 Remove obsolete code with object wrapping on components
2025-10-13 11:36:22 +02:00
Andrey Antukh
65a2b10875
✨ Make component path mandatory on validations
...
And ensure it already present with a migration
2025-10-13 11:36:22 +02:00
Xavier Julian
9e676a7ab2
🐛 Fix unnecesarily overcomplated key generation
2025-10-13 11:30:47 +02:00
Xavier Julian
3d1933411b
🐛 Fix broken layout when multiple fill/strokes with tokens
2025-10-13 11:30:47 +02:00
VKing9
a44f1bb09c
🌐 Add translations for: Hindi
...
Currently translated at 92.2% (1805 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2025-10-13 11:26:55 +02:00
Henrik Allberg
65e59c8857
🌐 Add translations for: Swedish
...
Currently translated at 81.5% (1595 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-10-13 11:26:55 +02:00
Црнобог
2833854d8d
🌐 Add translations for: Serbian
...
Currently translated at 70.3% (1377 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sr/
2025-10-13 11:26:54 +02:00
Alejandro Alonso
19e367e112
🌐 Add translations for: Yoruba
...
Currently translated at 60.3% (1181 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/yo/
2025-10-13 11:26:54 +02:00
Alejandro Alonso
3f731f57e6
🌐 Add translations for: Hausa
...
Currently translated at 63.7% (1247 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ha/
2025-10-13 11:26:54 +02:00
Stephan Paternotte
b740ee254e
🌐 Add translations for: Dutch
...
Currently translated at 99.6% (1949 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-10-13 11:26:53 +02:00
Sebastiaan Pasma
97d9480c8b
🌐 Add translations for: Dutch
...
Currently translated at 99.6% (1949 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-10-13 11:26:53 +02:00
Edgars Andersons
f1fcc77f74
🌐 Add translations for: Latvian
...
Currently translated at 94.6% (1852 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-10-13 11:26:52 +02:00
Ņikita K
d078c49fe7
🌐 Add translations for: Latvian
...
Currently translated at 94.6% (1852 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-10-13 11:26:52 +02:00
Denys Kisil
9d30a1c1e9
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 93.4% (1827 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-10-13 11:26:52 +02:00
Zvonimir Juranko
3b9f732b16
🌐 Add translations for: Croatian
...
Currently translated at 82.2% (1608 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2025-10-13 11:26:51 +02:00
Dário
0a9c191582
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 80.6% (1578 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-10-13 11:26:51 +02:00
Amerey.eu
cc6175d39c
🌐 Add translations for: Czech
...
Currently translated at 81.9% (1603 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2025-10-13 11:26:50 +02:00
Mikel Larreategi
b424c0f84b
🌐 Add translations for: Basque
...
Currently translated at 59.3% (1161 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/eu/
2025-10-13 11:26:50 +02:00
Radek Sawicki
29495474b1
🌐 Add translations for: Polish
...
Currently translated at 58.0% (1136 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pl/
2025-10-13 11:26:49 +02:00
Nicola Bortoletto
7c0bd4ac9a
🌐 Add translations for: Italian
...
Currently translated at 99.4% (1945 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-10-13 11:26:49 +02:00
william chen
b98f5a9851
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 82.2% (1608 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-10-13 11:26:48 +02:00
Yaron Shahrabani
4d823af46d
🌐 Add translations for: Hebrew
...
Currently translated at 99.2% (1942 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-10-13 11:26:48 +02:00
Linerly
ecec2db29e
🌐 Add translations for: Indonesian
...
Currently translated at 87.2% (1706 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-10-13 11:26:47 +02:00
Alejandro Alonso
55d2d53a22
🌐 Add translations for: Arabic
...
Currently translated at 57.0% (1115 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
2025-10-13 11:26:46 +02:00
Mahmoud A. Rabo
86f7bec171
🌐 Add translations for: Arabic
...
Currently translated at 57.0% (1115 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
2025-10-13 11:26:45 +02:00
AlexTECPlayz
5c6d296e60
🌐 Add translations for: Romanian
...
Currently translated at 65.6% (1284 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
2025-10-13 11:26:45 +02:00
George Lemon
bda6c61a11
🌐 Add translations for: Romanian
...
Currently translated at 65.6% (1284 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
2025-10-13 11:26:44 +02:00
Allan Nordhøy
3aa966e553
🌐 Add translations for: Norwegian Bokmål
...
Currently translated at 8.3% (164 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nb_NO/
2025-10-13 11:26:44 +02:00
Marius
9ce0b9c86e
🌐 Add translations for: German
...
Currently translated at 89.0% (1741 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-10-13 11:26:43 +02:00
Pablo Alba
42ab42fb56
🌐 Add translations for: German
...
Currently translated at 89.0% (1741 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-10-13 11:26:43 +02:00
Hugo Figueira
7b60d386fb
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 64.9% (1271 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-10-13 11:26:42 +02:00
Anonymous
ae60a7260c
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 92.6% (1813 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-10-13 11:26:42 +02:00
Çağlar Yeşilyurt
bfacdc414f
🌐 Add translations for: Turkish
...
Currently translated at 93.7% (1833 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2025-10-13 11:26:42 +02:00
Vint Prox
29628eea0a
🌐 Add translations for: Russian
...
Currently translated at 73.1% (1430 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-10-13 11:26:41 +02:00
The_BadUser
6d7723c36b
🌐 Add translations for: Russian
...
Currently translated at 73.1% (1430 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-10-13 11:26:40 +02:00
Anonymous
710008ee9e
🌐 Add translations for: Greek
...
Currently translated at 26.1% (511 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/el/
2025-10-13 11:26:40 +02:00
Pablo Alba
a15be5c2d0
🌐 Add translations for: French
...
Currently translated at 94.7% (1853 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-10-13 11:26:40 +02:00
Aryiu
45a09928b3
🌐 Add translations for: Catalan
...
Currently translated at 54.8% (1073 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ca/
2025-10-13 11:26:39 +02:00
Hosted Weblate
bae5196d1e
🌐 Merge branch 'origin/develop' into Weblate.
2025-10-13 11:24:12 +02:00
Edgars Andersons
91fe7b2dd6
🌐 Add translations for: Latvian
...
Currently translated at 94.8% (1856 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-10-13 11:23:18 +02:00
Oğuz Ersen
df6448e32e
🌐 Add translations for: Turkish
...
Currently translated at 93.9% (1837 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2025-10-13 11:23:16 +02:00
Luis de Dios
a9a9245ab6
🐛 Fix component number has no singular translation string ( #7469 )
2025-10-13 11:22:25 +02:00
Eva Marco
e18f20666b
🔧 Add scss refactor as element on PR checklist ( #7480 )
2025-10-13 11:21:12 +02:00
Eva Marco
adafe0648c
♻️ Fix component schemas ( #7481 )
2025-10-13 11:20:43 +02:00
Andrey Antukh
1b9deecefc
✨ Make the binfile import process more resilient ( #7464 )
...
on small inconsistencies on file media object references
2025-10-13 11:13:10 +02:00
Nicola Bortoletto
666410602b
🌐 Add translations for: Italian
...
Currently translated at 99.6% (1949 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-10-11 07:07:23 +02:00
Stephan Paternotte
c956600d64
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1953 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-10-08 18:07:31 +00:00
Edgars Andersons
2100c8a115
🌐 Add translations for: Latvian
...
Currently translated at 94.5% (1850 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-10-08 18:07:29 +00:00
Yaron Shahrabani
d4fd246622
🌐 Add translations for: Hebrew
...
Currently translated at 99.4% (1946 of 1956 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-10-08 18:07:25 +00:00
David Barragán Merino
71fd6640af
👷 Automate publication of docker images in a new release
2025-10-08 17:15:10 +02:00
Alonso Torres
40e9a78f67
✨ Add telemetry for events performance measures ( #7457 )
2025-10-08 14:03:09 +02:00
Alejandro Alonso
551a25661f
✨ Improve ancestors modifiers performance
2025-10-08 12:10:18 +02:00
Luis de Dios
544bedf7c2
🎉 Reorder properties for a component ( #7429 )
...
* 🎉 Reorder properties when a component with variants is selected
* 🎉 Reorder properties when a single variant is selected
* ♻️ Refactor SCSS and component structure
* 📚 Update changelog
* 📎 PR changes (styling)
* 📎 PR changes (functionality)
2025-10-08 11:27:01 +02:00
Andrey Antukh
4937580585
🌐 Rehash and validate translation files
2025-10-07 18:38:28 +02:00
VKing9
dba0f11670
🌐 Add translations for: Hindi
...
Currently translated at 92.6% (1810 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2025-10-07 18:38:28 +02:00
Henrik Allberg
776af8ea22
🌐 Add translations for: Swedish
...
Currently translated at 81.7% (1597 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-10-07 18:38:28 +02:00
Црнобог
38e0d0035f
🌐 Add translations for: Serbian
...
Currently translated at 70.6% (1380 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sr/
2025-10-07 18:38:28 +02:00
Anonymous
f0c01d8714
🌐 Add translations for: Yoruba
...
Currently translated at 60.5% (1184 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/yo/
2025-10-07 18:38:28 +02:00
Anonymous
678c4acdbc
🌐 Add translations for: Igbo
...
Currently translated at 26.4% (516 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ig/
2025-10-07 18:38:28 +02:00
Anonymous
9b76048c2f
🌐 Add translations for: Malay
...
Currently translated at 34.6% (678 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ms/
2025-10-07 18:38:28 +02:00
Anonymous
2cf98745d7
🌐 Add translations for: Hausa
...
Currently translated at 63.9% (1250 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ha/
2025-10-07 18:38:28 +02:00
Stephan Paternotte
267acc5b80
🌐 Add translations for: Dutch
...
Currently translated at 97.1% (1898 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-10-07 18:38:28 +02:00
Anonymous
ae38c8e840
🌐 Add translations for: Latvian
...
Currently translated at 94.6% (1850 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-10-07 18:38:27 +02:00
Edgars Andersons
1128303fa1
🌐 Add translations for: Latvian
...
Currently translated at 94.6% (1850 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-10-07 18:38:27 +02:00
Denys Kisil
5d1981047d
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 93.5% (1828 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-10-07 18:38:27 +02:00
al0cam
0dae2a3c24
🌐 Add translations for: Croatian
...
Currently translated at 82.3% (1610 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2025-10-07 18:38:27 +02:00
TheScientistPT
766accde29
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 80.8% (1580 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-10-07 18:38:27 +02:00
Anonymous
c5f8bd5bea
🌐 Add translations for: Czech
...
Currently translated at 82.1% (1605 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2025-10-07 18:38:27 +02:00
Amerey.eu
4edfcba350
🌐 Add translations for: Czech
...
Currently translated at 82.1% (1605 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2025-10-07 18:38:27 +02:00
Nicola Bortoletto
ce20059a4c
🌐 Add translations for: Italian
...
Currently translated at 96.9% (1895 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-10-07 18:38:27 +02:00
william chen
27fa0c0721
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 82.3% (1610 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-10-07 18:38:27 +02:00
Yaron Shahrabani
ee83a07674
🌐 Add translations for: Hebrew
...
Currently translated at 96.7% (1891 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-10-07 18:38:27 +02:00
Linerly
57123569eb
🌐 Add translations for: Indonesian
...
Currently translated at 87.4% (1708 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-10-07 18:38:27 +02:00
Anonymous
d112e83b0d
🌐 Add translations for: German
...
Currently translated at 89.2% (1743 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-10-07 18:38:27 +02:00
Stas Haas
b259ca2cd1
🌐 Add translations for: German
...
Currently translated at 89.2% (1743 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-10-07 18:38:27 +02:00
Rick Benetti
56db7078ae
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 65.1% (1273 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-10-07 18:38:27 +02:00
Anonymous
7a75002cc9
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 92.9% (1817 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-10-07 18:38:27 +02:00
DoubleCat
77ad1f57be
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 92.9% (1817 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-10-07 18:38:27 +02:00
Jun Fang
9f881e49e5
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 92.9% (1817 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-10-07 18:38:27 +02:00
Anonymous
238578f243
🌐 Add translations for: Turkish
...
Currently translated at 73.1% (1429 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
2025-10-07 18:38:27 +02:00
The_BadUser
49d9dd7161
🌐 Add translations for: Russian
...
Currently translated at 73.2% (1432 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-10-07 18:38:27 +02:00
Vin
be28a310f7
🌐 Add translations for: Russian
...
Currently translated at 73.2% (1432 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-10-07 18:38:27 +02:00
Anonymous
460aafbedf
🌐 Add translations for: French
...
Currently translated at 94.8% (1854 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-10-07 18:38:27 +02:00
Corentin Noël
9ba995edd9
🌐 Add translations for: French
...
Currently translated at 94.8% (1854 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-10-07 18:38:27 +02:00
Deleted User
85b15e4896
🌐 Add translations for: Spanish
...
Currently translated at 97.0% (1896 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es/
2025-10-07 18:38:27 +02:00
Anonymous
1420e8a59c
🌐 Add translations for: Spanish
...
Currently translated at 97.0% (1896 of 1954 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es/
2025-10-07 18:38:27 +02:00
Hosted Weblate
3aa647e1f6
🌐 Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
2025-10-07 18:38:27 +02:00
Pablo Alba
11b7b458bf
🐛 Auto-width changes to fixed when switching variants ( #7449 )
...
* 🐛 Auto-width changes to fixed when switching variants
* 📎 Fix typo on changes
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-10-07 18:29:18 +02:00
Andrey Antukh
cfa607f57f
Merge remote-tracking branch 'weblate/develop' into develop
2025-10-07 18:23:36 +02:00
Andrey Antukh
cea0143327
✨ Add extra tenant validation for virtual clock dbg pannel
2025-10-07 18:21:13 +02:00
Andrey Antukh
b8158ffec8
Merge remote-tracking branch 'origin/staging' into develop
2025-10-07 16:03:17 +02:00
Pablo Alba
640894acd8
🐛 Fix Restoring a variant from another file makes it overlap ( #7448 )
2025-10-07 16:01:59 +02:00
Alejandro Alonso
90bfae3ec1
Merge pull request #7456 from penpot/elenatorro-12248-fix-shadows-order
...
🔧 Always return shadows in reverse order
2025-10-07 13:16:49 +02:00
Alejandro Alonso
73ed5f8bc5
Merge pull request #7402 from penpot/niwinz-develop-enhancements-3
...
✨ Add additional http middlewares
2025-10-07 13:00:30 +02:00
Andrey Antukh
2c1a8b59ba
✨ Add client header check middleware
...
As an additional csrf protection for API requests
2025-10-07 12:47:14 +02:00
Andrey Antukh
47d9c6f282
✨ Add sec-fetch metadata middleware support
2025-10-07 12:47:14 +02:00
Andrey Antukh
14d53c224f
🔥 Remove unused auth-data cookie asignation
2025-10-07 12:47:12 +02:00
Elena Torró
a1b8eb7074
Merge pull request #7454 from penpot/elenatorro-12247-fix-line-height-min-value
...
🔧 Allow line height values from 0 to 1
2025-10-07 12:29:16 +02:00
Alejandro Alonso
e0f9bbb23f
Merge pull request #7432 from penpot/niwinz-develop-virtual-clock
...
🎉 Add virtual clock support
2025-10-07 12:27:49 +02:00
Elena Torro
9b16a6bbd1
🔧 Always return shadows in reverse order
2025-10-07 12:26:51 +02:00
Marina López
fede63ac0b
✨ Update Design System template in carousel
2025-10-07 12:14:12 +02:00
Eva Marco
ea1ab7c23b
🐛 Fix modal title on edit token ( #7453 )
...
* 🐛 Fix modal title on edit token
* 🐛 Fix font size on numeric input
* ♻️ Update color token border on hover
* ♻️ Use swatch component on token pill
2025-10-07 12:11:40 +02:00
Andrey Antukh
61d9b57bc7
♻️ Refactor internal tokens API
...
Mainly make it receive the whol cfg/system instead only props. This
makes the api more flexible for a future extending without the need
to change the api again.
2025-10-07 12:08:00 +02:00
Andrey Antukh
bd63598185
🎉 Add virtual clock implementation
2025-10-07 12:08:00 +02:00
Eva Marco
31af6aebbd
🐛 Fix swatch error on text without fills ( #7451 )
2025-10-07 10:08:46 +02:00
Andrey Antukh
cc5f86bc84
🐛 Set correct path if is not provided on sdk addComponent method
2025-10-07 09:57:41 +02:00
Elena Torro
68cd7075c0
🔧 Allow line height values from 0 to 1
2025-10-07 09:28:24 +02:00
Andrey Antukh
11ff64b362
Merge tag '2.10.1-RC3'
2025-10-06 12:12:27 +02:00
Andrey Antukh
57a7b5b1da
Merge remote-tracking branch 'origin/staging' into develop
2025-10-06 12:12:05 +02:00
Andrey Antukh
cf24bdd7a8
Merge remote-tracking branch 'origin/main' into staging
2025-10-06 12:10:44 +02:00
Andrey Antukh
683db071d6
Merge remote-tracking branch 'origin/staging' into develop
2025-10-06 12:09:57 +02:00
Andrey Antukh
d3943b9162
Merge branch 'niwinz-staging-library-changes' into staging
2025-10-06 11:59:17 +02:00
Andrey Antukh
613acd5b29
📎 Update version on library/package.json file
2025-10-06 11:56:23 +02:00
Andrey Antukh
987dea8048
📚 Update changelog
2025-10-06 11:53:50 +02:00
Andrey Antukh
6b0d0a302f
✨ Enable variant attrs on SDK addComponent method
2025-10-06 11:53:50 +02:00
Andrey Antukh
588eb0b4fa
⬆️ Update shadow-cljs dependency on sdk
2025-10-06 11:53:50 +02:00
Andrey Antukh
b30cb0e084
✨ Allow pass variant related attrs on add-component change
2025-10-06 11:53:50 +02:00
Andrey Antukh
9244501c6e
✨ Add variants/v1 feature to default features emited by sdk
2025-10-06 11:53:50 +02:00
Alonso Torres
d5b743c604
🐛 Fix problem with text in plugins ( #7446 )
2025-10-06 11:19:33 +02:00
Andrey Antukh
e38dd21307
⬆️ Update exported dependencies
2025-10-06 10:56:04 +02:00
Andrey Antukh
8c91109c63
📚 Update changelog
2025-10-06 09:38:01 +02:00
Andrey Antukh
c3eabbdb25
📎 Enable the fdata/objects-map feature by default
...
Using config flags
2025-10-06 09:38:01 +02:00
Andrey Antukh
67661674e2
✨ Make deleted fonts fixer to run with more granular stragegy
...
Instead of running it on all the file, only run it to local library
and the current page, reducing considerably the overhead of analyzing
the whole file on each file load.
It stills executes for page each time the page is loaded, and add
some kind of local cache for not doing repeated work each time page
loads is pending to be implemented in other commit.
2025-10-06 09:38:01 +02:00
Andrey Antukh
c70e7f3876
✨ Add logging to frontend repo namespace
2025-10-06 09:38:01 +02:00
Andrey Antukh
0295f0f7c8
✨ Add better workspace file indexing strategy
...
Improve file indexes initialization on workspace.
Instead of initialize indexes for all pages only initialize
indexes for the loaded page.
2025-10-06 09:38:01 +02:00
Andrey Antukh
54bb879cb6
📎 Add several missing imports on repl related namespaces
2025-10-06 09:38:01 +02:00
Andrey Antukh
b72704e54b
✨ Set explicit no-buffering for sse responses
2025-10-06 09:19:48 +02:00
Natacha
362a31dd22
✨ Add typography composite token to changelog ( #7434 )
...
Signed-off-by: Natacha <natachamenjibar@gmail.com>
2025-10-06 09:17:29 +02:00
Yamila Moreno
6c6ec7a620
Merge pull request #7433 from penpot/yms-improve-self-host-documentation
...
📚 Improve self-host documentation
2025-10-03 13:24:37 +02:00
Yamila Moreno
21a7d30c5e
📚 Improve self-host documentation
2025-10-03 13:21:06 +02:00
Andrés Moya
52fef6c318
🐛 Fix sync errors when there is a broken swap slot
2025-10-03 12:51:33 +02:00
Eva Marco
fc8029abf7
🐛 Fix some errors from reviews ( #7421 )
...
* 🐛 Fix errors con colorpicker
* 🐛 Fix modal size
* 🐛 Fix form padding
* 🐛 Fix edit modal title
* 🐛 Fix resolved value message
* 🐛 Fix CI
2025-10-03 11:25:56 +02:00
Eva Marco
44f6c2f83c
🎉 Show tokens on color inputs ( #7377 )
...
* 🎉 Add tokens to color row
* 🎉 Add color-token to stroke input
* 🐛 FIx change token on multiselection with groups
* 🔧 Add config flag
* 🐛 Fix comments
2025-10-03 11:19:01 +02:00
Eva Marco
a4f20564af
🐛 Fix numeric input errors detected on review ( #7427 )
...
* 🐛 Fix review errors
* 📚 Add docs for numeric input component
* 🐛 Sort tokens alphabetically
2025-10-03 10:14:25 +02:00
Eva Marco
93d4b19477
🐛 Fix shadow inputs ( #7426 )
2025-10-03 10:13:27 +02:00
Aitor Moreno
7dd26dee13
Merge pull request #7428 from penpot/elenatorro-fix-shadows-order
...
🐛 Fix shadows order
2025-10-02 17:16:58 +02:00
Elena Torró
4594635009
Merge pull request #7399 from penpot/ladybenko-12164-handle-font-404
...
🐛 Fix internal error when fonts return 404 (wasm)
2025-10-02 16:42:58 +02:00
Elena Torro
7e852cb3ac
🐛 Fix shadows order
2025-10-02 16:40:20 +02:00
Belén Albeza
6e82b0f1ba
🐛 Fix shadow serialization ( #7423 )
2025-10-02 15:17:01 +02:00
Florian Schroedl
472148ff9d
🐛 Fix empty values re-triggering validation
2025-10-02 14:31:55 +02:00
Florian Schroedl
d01df7738a
♻️ Extract composite component wrapper
2025-10-02 14:31:55 +02:00
Xaviju
73222f22d0
🎉 Add stroke panel to inspect styles tab ( #7408 )
2025-10-02 13:58:08 +02:00
Andrey Antukh
b90aba0f95
Merge tag '2.10.0'
2025-10-02 12:37:58 +02:00
Florian Schroedl
17fe012f7e
🐛 Fix form not being saveable when editing composite token and switching tabs
2025-10-02 10:48:14 +02:00
Belén Albeza
60f45d1fd7
🐛 Fix internal error crash when attempting to download a font resource that returns 404
2025-10-02 09:58:38 +02:00
alonso.torres
979b4276ca
🐛 Fix problem with component swapping panel
2025-10-02 09:10:21 +02:00
Elena Torró
a32fe40528
Merge pull request #7409 from penpot/ladybenko-fix-wasm-playwright-ci
...
🔧 Fix Playwright config in CI to include the wasm build
2025-10-02 09:03:12 +02:00
Natacha
b602df549e
✨ Add new shadow icons ( #7416 )
...
* ✨ Adds new shadow icons
Signed-off-by: Natacha <natachamenjibar@gmail.com>
* ✨ Add shadow icons
Signed-off-by: Natacha <natachamenjibar@gmail.com>
* ✨ Adds shadow icons
Signed-off-by: Natacha <natachamenjibar@gmail.com>
* 📎 Fix wrong svg
Signed-off-by: Natacha <natachamenjibar@gmail.com>
* 📎 Fix wrong svg
Signed-off-by: Natacha <natachamenjibar@gmail.com>
* 📎 Fix wrong svg
Signed-off-by: Natacha <natachamenjibar@gmail.com>
---------
Signed-off-by: Natacha <natachamenjibar@gmail.com>
2025-10-01 17:11:19 +02:00
Luis de Dios
7f1ab08ec8
🐛 Fix use a pointer cursor for adding variant from the viewport ( #7410 )
2025-10-01 17:01:07 +02:00
Luis de Dios
1263ea11fa
🐛 Fix order of component menu options in assets tab ( #7388 )
...
* 🐛 Reorder component menu options in assets tab
* ♻️ Use new component syntax
* 📚 Add bugfix to changelog
* ♻️ Code restructuring and SCSS improvements
2025-10-01 17:00:27 +02:00
Yamila Moreno
ce26c52b30
👷 Automate docker images creation
2025-10-01 14:54:00 +02:00
Yamila Moreno
5c8b3ac3d6
👷 Automate docker images creation
2025-10-01 13:41:03 +02:00
Aitor Moreno
bd4d576172
Merge pull request #7412 from penpot/elenatorro-fix-loop-all-ancestors
...
🐛 Break loop when no parent is present
2025-10-01 13:36:16 +02:00
Elena Torro
e10169b3db
🐛 Break loop when no parent is present
2025-10-01 12:43:56 +02:00
Elena Torró
f119a9548d
Merge pull request #7411 from penpot/azazeln28-fix-issue-12185-wrong-text-width-height-layout
...
🐛 Fix wrong text auto width/height layout
2025-10-01 12:40:58 +02:00
Aitor Moreno
c097aef152
🐛 Fix wrong text auto width/height layout
2025-10-01 12:27:38 +02:00
Andrey Antukh
000fa51c73
🐛 Fix zip handling on exporter
2025-10-01 11:56:57 +02:00
Belén Albeza
d815494ffa
🔧 Fix playwright config to do a wasm build
2025-10-01 11:27:13 +02:00
Andrey Antukh
a25ba6b482
📎 Fix incorrect regex for match merge and revert commits
2025-10-01 11:07:21 +02:00
Andrey Antukh
e8434c3370
📎 Update devenv tmux script to start exporter using yarn
2025-10-01 10:59:41 +02:00
Andrey Antukh
7cf4ec2792
♻️ Make the exporter build as esm module
2025-10-01 10:58:03 +02:00
Andrey Antukh
365ce25996
Merge remote-tracking branch 'origin/staging' into develop
2025-10-01 10:50:19 +02:00
Andrey Antukh
01ef55e4f4
Revert " ✨ Add minor improvement to cljs impl logging"
...
This reverts commit 960b76f76036c91f8c8980c4958bee699a69c148.
2025-10-01 10:48:24 +02:00
Andrey Antukh
3b81c1d750
Revert " ♻️ Make the exporter build as esm module"
...
This reverts commit d0f34f06a9ff7fb766748d80d72be814ccdf97c4.
2025-10-01 10:47:47 +02:00
Elena Torró
40b34da788
Merge pull request #7269 from penpot/azazeln28-feat-caret-position
...
🎉 Feat caret position
2025-10-01 09:43:03 +02:00
Aitor Moreno
732c79b7b5
🎉 Add function to retrieve caret position
2025-10-01 09:18:46 +02:00
Andrey Antukh
d0f34f06a9
♻️ Make the exporter build as esm module
2025-10-01 08:10:37 +02:00
Andrey Antukh
23d5bdd20b
🐛 Add missing poppler-tools dependency on devenv
2025-10-01 08:10:37 +02:00
Andrey Antukh
9f2dc06c95
✨ Add missing srepl helper for disable objects-map feat
2025-10-01 08:10:37 +02:00
Andrey Antukh
62563d28d0
📎 Bump library version to 1.0.9
...
Mainly fixes dependencies declaration on package.json file
2025-09-30 21:55:17 +02:00
Andrey Antukh
21e2ee9904
🐛 Fix dependencies on library
2025-09-30 21:53:04 +02:00
brian mwenda
e6c418eb9c
🐛 Improve auto-width to fixed conversion logic in layout contexts
...
Signed-off-by: Brian Mwenda <brian@nathandigital.com>
2025-09-30 21:48:03 +02:00
Luis de Dios
de5ff227d2
🎉 Create variant from the viewport ( #7357 )
...
* 🎉 Create variant from the viewport
* ♻️ Use DS styles and new component syntax
* 📎 PR changes
2025-09-30 18:15:17 +02:00
Florian Schroedl
0f67730198
🐛 Dont forward default-value for mismatching tab-type
2025-09-30 14:27:40 +02:00
Florian Schroedl
3da02e2b6b
🐛 Fixes resolved values being prefilled for existing referenced composite token
2025-09-30 14:27:40 +02:00
Florian Schroedl
ab80021fb1
🐛 Fix performance issue on font-family
2025-09-30 14:27:40 +02:00
Xaviju
f31e9b8ac9
🎉 Add blur panel to inspect styles tab ( #7397 )
2025-09-30 13:08:52 +02:00
Andrey Antukh
7d16515eb7
✨ Add minor enhacements to logging on frontend ( #7401 )
...
* ✨ Add logging consistency enhacements on fonts loading
* ✨ Disable data evens ns logging
* ✨ Simplify flags logging on application initialization
* ✨ Improve features logging
2025-09-30 11:59:41 +02:00
Pablo Alba
cd9ba482e3
🐛 Load dependant libraries, and don't allow unload them
2025-09-30 09:55:21 +02:00
David Barragán Merino
dff1ca23d3
📚 Update changelog
2025-09-29 18:08:28 +02:00
Andrey Antukh
c363d4d937
📎 Bump library version
2025-09-29 13:44:14 +02:00
Andrey Antukh
de25a24a6d
🐛 Fix backend repl start issue with jdk 24
2025-09-29 13:35:48 +02:00
Andrey Antukh
accc9a173f
Merge remote-tracking branch 'origin/staging' into develop
2025-09-29 13:24:31 +02:00
Andrey Antukh
2d364dde5c
✨ Add several minor enhacements to features subsystem
...
Mainly fixes the team non-inheritable features handling and
removes unnecesary/duplicate checks.
2025-09-29 13:23:16 +02:00
Andrey Antukh
c892a9f254
✨ Integrate objects-map usage on backend and frontend
2025-09-29 13:23:16 +02:00
Andrey Antukh
aaae35fb51
🎉 Add multiplatform impl of ObjectsMap
...
The new type get influentiated by the ObjectsMap impl on backend
code but with simplier implementation that no longer restricts keys
to UUID type but preserves the same performance characteristics.
This type encodes and decodes correctly both in fressian (backend)
and transit (backend and frontend).
This is an initial implementation and several memory usage
optimizations are still missing.
2025-09-29 13:23:16 +02:00
Andrey Antukh
960b76f760
✨ Add minor improvement to cljs impl logging
...
Mainly reduce the emmited code, that will contribute to reduce the
bundle size and also adds timestamp to the default output.
2025-09-29 13:23:16 +02:00
Andrey Antukh
d921e7eaa3
📎 Add not-empty generator to schema generator ns
2025-09-29 13:23:16 +02:00
Andrey Antukh
49f06b25fa
📚 Update changelog
2025-09-29 13:23:01 +02:00
Andrey Antukh
5ffb7ae2ec
✨ Add warning on using deprecated storage config
2025-09-29 13:23:01 +02:00
Andrey Antukh
27945ace65
⏪ Revert deprecated storage config cleaning
2025-09-29 13:23:01 +02:00
María Valderrama
e39bf0b439
✨ Invitations management improvements ( #7230 )
...
* ✨ Invitations management improvements
* 📎 Change invite email subject
* 📎 Update icon usage
* ♻️ Fix css file
---------
Co-authored-by: Eva Marco <evamarcod@gmail.com>
2025-09-29 13:18:57 +02:00
Alonso Torres
deee7f7334
Merge pull request #7366 from penpot/niwinz-develop-page-data-type
...
⚡ Add several enhancements for reduce workspace file load time
2025-09-29 12:43:34 +02:00
Xaviju
20d61cbce2
✨ Create ghost variant for select DS component ( #7392 )
2025-09-29 12:24:20 +02:00
Andrés Moya
9ad8d3fd08
🔧 Make small improvements from PR comments
2025-09-29 12:16:42 +02:00
Andrés Moya
4c35571336
🔧 Read and modify token themes by id
2025-09-29 12:16:42 +02:00
Andrés Moya
37679b7ec6
🔧 Organize token changes API
2025-09-29 12:16:42 +02:00
Andrés Moya
194eded930
🔧 Unify path name helper functions
2025-09-29 12:16:42 +02:00
Andrés Moya
4e607d8da2
💄 Clarify and reorder interfaces
2025-09-29 12:16:42 +02:00
Andrés Moya
f5fd978a07
🔧 Retrieve tokens from library and not from set
2025-09-29 12:16:42 +02:00
Andrés Moya
b28be62845
🔧 Fix rebase problems
2025-09-29 12:16:42 +02:00
Andrés Moya
d76a5c615c
🔧 Modify token sets by id instead of name and review usage
2025-09-29 12:16:42 +02:00
Andrés Moya
03e05da41e
💄 Normalize some attributes of changes
2025-09-29 12:16:42 +02:00
Andrés Moya
5f886e141a
💄 Minor changes
2025-09-29 12:16:42 +02:00
Andrés Moya
021b8f81ca
🔧 Read token sets by id instead of name
2025-09-29 12:16:42 +02:00
Andrey Antukh
f32112544e
✨ Make deleted fonts fixer to run with more granular stragegy
...
Instead of running it on all the file, only run it to local library
and the current page, reducing considerably the overhead of analyzing
the whole file on each file load.
It stills executes for page each time the page is loaded, and add
some kind of local cache for not doing repeated work each time page
loads is pending to be implemented in other commit.
2025-09-29 12:07:49 +02:00
Andrey Antukh
27e311277a
✨ Add logging to frontend repo namespace
2025-09-29 12:07:49 +02:00
Andrey Antukh
b9030fcc73
✨ Add better workspace file indexing strategy
...
Improve file indexes initialization on workspace.
Instead of initialize indexes for all pages only initialize
indexes for the loaded page.
2025-09-29 12:07:49 +02:00
Andrey Antukh
e1519f0ee4
✨ Integrate objects-map usage on backend and frontend
2025-09-29 12:07:48 +02:00
Andrey Antukh
7fefe6dbc8
🎉 Add multiplatform impl of ObjectsMap
...
The new type get influentiated by the ObjectsMap impl on backend
code but with simplier implementation that no longer restricts keys
to UUID type but preserves the same performance characteristics.
This type encodes and decodes correctly both in fressian (backend)
and transit (backend and frontend).
This is an initial implementation and several memory usage
optimizations are still missing.
2025-09-29 12:06:56 +02:00
Andrey Antukh
fdf70ae9c1
✨ Fix docstring on common.weak ns function
2025-09-29 12:06:56 +02:00
Andrey Antukh
528315b75c
📎 Add not-empty generator to schema generator ns
2025-09-29 12:06:56 +02:00
Andrey Antukh
42d03a0325
📎 Add several missing imports on repl related namespaces
2025-09-29 12:06:56 +02:00
Andrey Antukh
0346c48b03
✨ Add several minor enhacements to features subsystem
...
Mainly fixes the team non-inheritable features handling and
removes unnecesary/duplicate checks.
2025-09-29 12:06:56 +02:00
Andrey Antukh
1d54fe2e24
✨ Add support for emit messages without waiting response on worker
2025-09-29 12:06:56 +02:00
Andrey Antukh
255f5af2e3
✨ Add several enhacements to buffer namespace
...
The changes are just for completenes.
2025-09-29 12:06:56 +02:00
Andrey Antukh
eea65b12dd
✨ Add minor improvement to cljs impl logging
...
Mainly reduce the emmited code, that will contribute to reduce the
bundle size and also adds timestamp to the default output.
2025-09-29 12:06:56 +02:00
Andrey Antukh
d4b7f231c7
🔧 Add missing config for ⏪ on commit checker
2025-09-29 12:05:09 +02:00
Andrey Antukh
473066cf5c
🔧 Add missing config for ⏪ on commit checker
2025-09-29 12:04:37 +02:00
andrés gonzález
d1607fbe54
💄 Update Help Center images ( #7266 )
2025-09-29 11:54:47 +02:00
Xaviju
5e84bda404
🎉 Add SVG panel to inspect styles tab ( #7373 )
2025-09-29 09:53:15 +02:00
Andrey Antukh
c1058c7fdb
♻️ Add minor refactor for internal concurrency model
...
Replace general usage of virtual threads with platform threads
and use virtual threads for lightweight procs such that websocket
connections. This decision is made mainly because virtual threads
does not appear on thread dumps in an easy way so debugging issues
becomes very difficult.
The threads requirement of penpot for serving http requests
is not very big so having so this decision does not really affects
the resource usage.
2025-09-26 14:35:06 +02:00
Andrey Antukh
9d907071aa
⬆️ Update dependencies ( #7330 )
...
* ⬆️ Update to JDK25 on the devenv
* ⬆️ Update dependencies
* 🔥 Remove unused flag from devenv backend startup scripts
* ✨ Enable shenandoah gc on backend scripts/repl
2025-09-26 13:43:43 +02:00
Elena Torró
c32b94abcf
Merge pull request #7343 from penpot/elenatorro-12118-support-large-svg-files
...
🐛 Fix parsing large paths with multiple subpaths
2025-09-26 13:35:17 +02:00
Elena Torro
9d8ad0ea6e
🐛 Fix parsing large paths with multiple subpaths
2025-09-26 13:04:47 +02:00
Yamila Moreno
2b1e107a44
Merge pull request #7390 from penpot/yms-add-curl-dependency
...
🐳 Add curl to the backend image
2025-09-26 11:40:42 +02:00
Yamila Moreno
2196318cfc
🐳 Add curl to the backend image
2025-09-26 11:23:02 +02:00
Yamila Moreno
b3d1701698
Merge pull request #7355 from penpot/yms-docker-update-nginx-entrypoint
...
🐳 Improve Docker nginx
2025-09-26 10:49:24 +02:00
Yamila Moreno
042bd03beb
🐳 Improve Docker nginx
2025-09-26 10:31:23 +02:00
andrés gonzález
cce1dd86a2
💄 Change variants video source to peertube ( #7387 )
2025-09-26 10:21:41 +02:00
Juan de la Cruz
a39a127f03
🐛 Fix underline text in template card at carrusel
2025-09-26 09:56:05 +02:00
Pablo Alba
bd665f70bf
💄 Add new library modal UI tweaks
2025-09-25 22:56:27 +02:00
Eva Marco
e184a9a8b9
🐛 Fix context menu on spacing tokens ( #7382 )
2025-09-25 17:28:46 +02:00
Elena Torró
9b90236b72
Merge pull request #7385 from penpot/elenatorro-improve-image-load-performance
...
🔧 Improve image parsing performance
2025-09-25 17:20:49 +02:00
Elena Torro
bf6cdf729d
🔧 Improve image parsing performance
2025-09-25 17:17:42 +02:00
Belén Albeza
361bdb4a04
♻️ Decouple serialization from text/layout models" ( #7360 )
...
* ♻️ Move text serialization code to wasm module
* ♻️ Add serializer for TextAlign
* ♻️ Add serializers for TextDirection and TextDecoration
* ♻️ Add serializer for TextTransform
* ♻️ Remove unused font_style from TextLeaf model
* ♻️ Refactor parsing of TextLeaf from bytes
* ♻️ Decouple tight serialization of Paragraph
2025-09-25 16:54:07 +02:00
andrés gonzález
58c6c94cb8
📚 Update boards info at the user guide ( #7383 )
2025-09-25 16:36:35 +02:00
Elena Torró
3827aa6bd4
Merge pull request #7344 from penpot/elenatorro-11542-truncate-long-font-names-on-fonts-menu
...
🔧 Use two lines text ellipsis on custom font names
2025-09-25 15:25:50 +02:00
Xaviju
adf7b0df50
🎉 Add visibility panel to inspect styles tab ( #7362 )
2025-09-25 12:52:43 +02:00
Elena Torro
97b4491a27
🔧 Use two lines text ellipsis on custom font names
2025-09-25 12:49:33 +02:00
andrés gonzález
ecee7ecfc7
📚 Update workspace info at the user guide ( #7376 )
2025-09-25 12:24:59 +02:00
Xavier Julian
015bd9e453
🎉 Inspect styles tab: fill panel
2025-09-25 11:31:15 +02:00
Belén Albeza
49d5987b15
💄 Add deprecated namespace and fix import for remaining scss files ( #7379 )
2025-09-25 11:27:10 +02:00
Belén Albeza
a5e4de97e3
💄 Use deprecated prefix for deprecated scss vars and mixins ( #7375 )
2025-09-25 09:22:25 +02:00
Alonso Torres
378be9473d
🐛 Fix problem with export size ( #7374 )
2025-09-25 08:50:31 +02:00
Juan de la Cruz
412cf61d7d
🐛 Remove translations form inspect tab text properties ( #7369 )
2025-09-25 08:48:41 +02:00
Juan de la Cruz
754a1b6fa2
🐛 Fix loading tips wording ( #7368 )
2025-09-25 08:48:10 +02:00
Eva Marco
a4ada6dc8a
🐛 Add default flags for tokens ( #7367 )
2025-09-25 08:47:04 +02:00
Elenzakaleidos
ec94d08f4a
🎉 Update README.md with Variants ( #7353 )
...
Update the Readme with new text and image that include Variants as feature
Signed-off-by: Elenzakaleidos <elena.scilinguo@kaleidos.net>
2025-09-25 08:46:02 +02:00
Alonso Torres
b6b2d28464
🐛 Fix problem with flow not being deleted ( #7371 )
2025-09-24 18:06:26 +02:00
Elena Torro
32770c685a
🐛 Do not add shadows on hidden children
2025-09-24 14:42:57 +02:00
andrés gonzález
b770145436
💄 Update variants video at the user guide ( #7363 )
2025-09-24 13:41:20 +02:00
Eva Marco
441dc33e38
♻️ Add shortcut to scss import paths ( #7364 )
...
* 🎉 Add config for shortcut imports
* ♻️ Change import paths
2025-09-24 11:18:34 +02:00
Eva Marco
3f87e768a7
♻️ Fix color token reviews ( #7322 )
...
* ♻️ Fix some review changes
* 🐛 Fix more errors
* 🎉 Create token from colorpicker fixed
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-09-24 11:13:52 +02:00
David Barragán Merino
09e9340ba6
💄 Fix a description and remove an unused event
2025-09-24 09:38:42 +02:00
David Barragán Merino
d5ff7b4144
📎 Add DevEnv builder workflow
2025-09-23 23:26:11 +02:00
David Barragán Merino
ef0aee0a09
📎 Automatically publish github release and docker images with final version tags
2025-09-23 23:25:52 +02:00
Andrey Antukh
1e9682376e
Merge remote-tracking branch 'origin/staging' into develop
2025-09-23 12:20:49 +02:00
Andrey Antukh
11b75408fe
🐛 Fix regression on importing binfile-v1 files ( #7359 )
2025-09-23 11:38:33 +02:00
Andrey Antukh
59f7ede4ff
🐛 Add migration for properly decode all position data on text shapes
2025-09-23 11:34:24 +02:00
Pablo Alba
c9b61745a0
🎉 Switch several variant copies at the same time
2025-09-23 11:31:57 +02:00
Andrés Moya
8954b05d76
🐛 Fix error exporting a file with deleted tokens ( #7356 )
2025-09-22 17:41:31 +02:00
Aitor Moreno
974b76d7bd
Merge pull request #7267 from penpot/azazeln28-feat-text-layout
...
🎉 Add internal TextContent layout data
2025-09-22 16:21:06 +02:00
Aitor Moreno
f505fcfa0d
🎉 Add internal TextContent layout data
2025-09-22 16:01:23 +02:00
Belén Albeza
e4d610d503
♻️ Decouple shapes serialization from model (rust) ( #7328 )
...
* ♻️ Move shape type serialization to wasm module
* ♻️ Refactor serialization of constraints and vertical alignment into wasm module
* ♻️ Refactor serialization and model of shape blur
* ♻️ Refactor bool serialization to the wasm module
* ♻️ Split wasm::layout into submodules
* ♻️ Refactor serialization of AlignItems, AlignContent, JustifyItems and JustifyContent
* ♻️ Refactor serialization of WrapType and FlexDirection
* ♻️ Refactor serialization of JustifySelf
* ♻️ Refactor serialization of GridCell
* ♻️ Refactor serialization of AlignSelf
* 🐛 Fix AlignSelf not being serialized
* ♻️ Refactor handling of None variants in Raw* enums
* ♻️ Refactor serialization of grid direction
* ♻️ Refactor serialization of GridTrack and GridTrackType
* ♻️ Refactor serialization of Sizing
* ♻️ Refactor serialization of ShadowStyle
* ♻️ Refactor serialization of StrokeCap and StrokeStyle
* ♻️ Refactor serialization of BlendMode
* ♻️ Refactor serialization of FontStyle
* ♻️ Refactor serialization of GrowType
2025-09-22 13:47:54 +02:00
Andrey Antukh
cb4c155b32
📎 Uncomment previously commented migrations
2025-09-22 11:38:52 +02:00
Andrey Antukh
0b346e02ff
🐛 Fix incorrect options pass on decode-file
2025-09-22 11:30:42 +02:00
Madalena Melo
5c23a678cc
Merge pull request #7342 from penpot/madalenapmelo-kp-patch-1
...
📚 Add reference to the Teams section on the Dashboard section
2025-09-22 11:23:29 +02:00
Andrey Antukh
946f641917
📎 Disable possible problematic migrations
2025-09-22 11:12:43 +02:00
David Barragán Merino
fb3923924b
📎 Change the name of some action workflows
2025-09-22 09:58:26 +02:00
Florian Schroedl
c882e8347a
✨ Add line-height to composite typography token
2025-09-22 09:52:56 +02:00
Pablo Alba
c1fd1a3b42
📚 Add variants doc for SDK ( #7351 )
...
* 📚 Add variants doc for SDK
* 📚 Spelling & style improvements
---------
Co-authored-by: Luis de Dios <luis.dedios@kaleidos.net>
2025-09-21 22:15:27 +02:00
Eva Marco
b1fe32baea
♻️ Remove deprecated @import from scss files ( #7347 )
...
* 🐛 Fix import warnings 1 of 2
* 🐛 Fix import warnings 2 of 2
* 🐛 Fix visual tests and format files
* 🐛 Fix mixed declarations on scss
2025-09-19 11:50:08 +02:00
Andrey Antukh
fb7a7d02da
Merge pull request #7205 from penpot/niwinz-measures-tokens-backup
...
♻️ Replace numeric inputs on measure options
2025-09-19 11:44:17 +02:00
Eva Marco
20dfc2a216
🐛 Fix typo on event name ( #7350 )
2025-09-19 11:40:53 +02:00
Eva Marco
d7d2d36e0a
♻️ Replace measure inputs for numeric input component
2025-09-19 11:28:22 +02:00
Andrey Antukh
07904bcc5d
♻️ Add needed changes to get tokens from sidebar
...
This reverts commit afe149f702148d86d1dea6cb6a537917ce7202aa.
2025-09-19 10:26:29 +02:00
Andrey Antukh
9686075104
🐛 Fix translations
2025-09-18 12:02:45 +02:00
María Valderrama
436e0e847d
🐛 Fix current version on sidebar
2025-09-18 11:56:47 +02:00
Eva Marco
d50b070a64
🎉 Add usefull mixins to DS ( #7340 )
2025-09-18 10:47:55 +02:00
Andrey Antukh
80cb48fd6a
Merge remote-tracking branch 'origin/staging' into develop
2025-09-18 10:44:21 +02:00
Andrey Antukh
e88039e46a
🐛 Fix future linter issues on wasm shape impl
2025-09-17 16:53:02 +02:00
Andrey Antukh
3c45a8d0b4
✨ Allow delete subscriptions on profile deletion request
2025-09-17 16:53:02 +02:00
Aitor Moreno
c9d71f3b2d
🐛 Fix conflicting shortcuts (text alignment) ( #7339 )
2025-09-17 16:52:44 +02:00
Madalena Melo
49c6efbc22
📚 Add reference to the Teams section on the Dashboard section
...
https://tree.taiga.io/project/penpot/task/11806
Signed-off-by: Madalena Melo <madalena.melo@kaleidos.net>
2025-09-17 16:17:24 +02:00
Andrey Antukh
9f37175775
🐛 Fix incorrect path data content initialization on pluings api
2025-09-17 15:19:41 +02:00
andrés gonzález
5ed870cc6e
📚 Update shortcuts docs ( #7341 )
2025-09-17 14:13:00 +02:00
Andrey Antukh
4fb1c7a630
Merge remote-tracking branch 'origin/staging' into develop
2025-09-17 13:46:49 +02:00
Pablo Alba
2a3d7e470d
📚 Update changelog with variants info ( #7335 )
2025-09-17 13:45:59 +02:00
Eva Marco
f654eb2dcd
🐛 Fix font weight input placehoder ( #7338 )
2025-09-17 13:44:11 +02:00
Belén Albeza
c21d705143
🐛 Remove shortcuts for inc/dec line height and letter spacing ( #7337 )
2025-09-17 12:35:39 +02:00
Andrey Antukh
85c1750706
🐛 Fix backend last migration naming ( #7333 )
2025-09-17 10:47:14 +02:00
Luis de Dios
e2151409bf
🐛 Fix wrong number of components in the library modal ( #7332 )
2025-09-17 09:25:23 +02:00
Luis de Dios
4fe6cfc57a
🐛 Fix focus the first property value when creating a variant ( #7329 )
2025-09-16 23:25:18 +02:00
David Barragán Merino
fd37fdde93
📎 Add release action workflow
2025-09-16 18:06:06 +02:00
David Barragán Merino
66b1d5b7bd
Merge remote-tracking branch 'origin/staging' into develop
2025-09-16 16:26:23 +02:00
Andrés Moya
2eed7444b7
🔧 Add migration to automatically fix validation errors
2025-09-16 16:11:58 +02:00
Xavier Julian
2bf7a9dd5f
♻️ Remove unneeded fn parameters
2025-09-16 14:17:14 +02:00
Xavier Julian
7bacd8fbca
♻️ Refactor defmulti fn into case switches
2025-09-16 14:17:14 +02:00
Luis de Dios
ef376fbb7b
✨ Add shortcut for creating variant to the shortcuts panel ( #7319 )
...
* ✨ Add shortcut for creating variant to the shortcuts panel
* ♻️ Update components to new rumext syntax
* 🐛 Fix unique "key" prop error for each child in a list
* ♻️ Remove deprecated icons and CSS cleanup
* 📎 PR changes
2025-09-16 14:06:47 +02:00
Aitor Moreno
b883882a32
🐛 Fix onboarding select keyboard interaction ( #7295 )
2025-09-16 13:59:15 +02:00
Pablo Alba
18d5b84b00
🐛 Fix variants events ( #7320 )
...
* 🐛 Add missing event add-component-to-variant
* 🐛 Fix event apply-tokens, param applied-to-variant
* 🐛 Fix missing case on event "add new variant"
* 🐛 Fix event combine-as-variants
* 🐛 Fix event variant-edit-property-name
* 🐛 On variants events, change trigger for origin
* 🐛 Split combine-as-variants to not have an optional first parameter
2025-09-16 13:09:23 +02:00
Belén Albeza
e5e11b6383
🔧 Autogenerate serialization values for wasm enums ( #7296 )
...
* 🔧 Autogenerate serialization values for wasm enums
* 🔧 Add serializer values to the wasm api
* ✨ Avoid converting to a clojure map the serializer js object
* 🔧 Update watch script for autoserialized enums
* 🐛 Fix missing serializer values
2025-09-16 12:29:14 +02:00
Eva Marco
01e963ae35
🐛 Fix font name hot update ( #7316 )
2025-09-16 12:23:41 +02:00
Eva Marco
90a80c4b63
🐛 Fix Uppercase on add token button ( #7314 )
2025-09-16 12:05:55 +02:00
VKing9
1bd45d3f8a
🌐 Add translations for: Hindi
...
Currently translated at 95.2% (1825 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2025-09-16 12:02:02 +02:00
Andrey Antukh
b56f237780
Merge remote-tracking branch 'origin/staging' into develop
2025-09-16 11:38:58 +02:00
Xavier Julian
4970ae3eb4
💄 Align tokens panel vertically to the top
2025-09-16 11:38:33 +02:00
Aitor Moreno
c62fadac47
🐛 Fix fast move with distance ( #7302 )
...
* 🐛 Fix fast move with distance
* 📎 Remove duplicated shourtcuts
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-09-16 11:36:21 +02:00
Andrés Moya
a264f84e6c
🔧 Deactivate validation temporarily
2025-09-16 11:34:38 +02:00
Elena Torró
2e21f084fc
🐛 Fix boolean operations on rotated shapes ( #7309 )
2025-09-15 14:46:56 +02:00
Xavier Julian
55513b9ae5
🎉 Inspect styles tab: layout element panel
2025-09-15 13:39:00 +02:00
Luis de Dios
9311ee4c87
🐛 Fix show in assets panel option for component of variants ( #7311 )
2025-09-15 13:13:12 +02:00
Eva Marco
07d0062645
🐛 Fix sets shown without color tokens ( #7312 )
2025-09-15 10:38:06 +02:00
Xavier Julian
f4b38af649
✨ Display border-radius as logical properties in inspect tab
2025-09-15 09:46:01 +02:00
Andrey Antukh
6e7bcd1243
Merge remote-tracking branch 'origin/staging' into develop
2025-09-12 16:55:25 +02:00
Andrey Antukh
b8c8579ff5
Merge pull request #7310 from penpot/niwinz-staging-update-jdk
...
⬆️ Update node and jdk (patch)
2025-09-12 16:54:49 +02:00
Andrey Antukh
82295c79d4
⬆️ Update jdk to 24.0.2+12
2025-09-12 16:47:25 +02:00
Andrey Antukh
5174591058
⬆️ Update nodejs to v22.19.0
2025-09-12 16:44:26 +02:00
Andrés Moya
ed3fc5b8b2
🐛 Fix detaching a nested copy inside a main component ( #7304 )
...
* 🐛 Fix detaching a nested copy inside a main component
* 💄 Rename functions for more semantic precission
2025-09-12 16:00:01 +02:00
Pablo Alba
f5f9157786
🐛 Fix paste behavior according to the selected element
2025-09-12 15:17:26 +02:00
Juan de la Cruz
658303fa36
🎉 Add 2.10 release slides ( #7293 )
2025-09-12 15:06:18 +02:00
Andrey Antukh
6cb0cb7f98
Merge remote-tracking branch 'origin/staging' into develop
2025-09-12 14:49:52 +02:00
Andrey Antukh
84013c21fa
Merge pull request #7308 from penpot/niwinz-staging-update-deps
...
⬆️ Update dependencies
2025-09-12 14:47:53 +02:00
Andrey Antukh
f3062ade39
⬆️ Update jakarta.mail dependency
2025-09-12 14:28:14 +02:00
Andrey Antukh
ca19d4deeb
⬆️ Update postgresql jdbc dependency
2025-09-12 14:28:14 +02:00
Andrey Antukh
dfceccca3d
⬆️ Update aws s3 sdk version
...
This transitivelly updates the netty library version
that comes with fixes for several security issues
2025-09-12 14:28:14 +02:00
Luis de Dios
9e2d3b1fa1
🐛 Fix position of annotation for variants ( #7306 )
2025-09-12 14:05:36 +02:00
Florian Schroedl
4dc0f3b4eb
🐛 Fix make-token throwing because of error in name, keep preview value
2025-09-12 13:49:25 +02:00
andrés gonzález
215288b6b4
📚 Update Design Tokens doc ( #7265 )
2025-09-12 11:15:23 +02:00
andrés gonzález
2e2c3e7bac
📚 Add doc for variants ( #7258 )
2025-09-12 11:15:03 +02:00
Xavier Julian
0210b310b7
🎉 Inspect styles tab: layout panel
2025-09-12 10:27:41 +02:00
Stas Haas
c77efc657c
🌐 Add translations for: German
...
Currently translated at 91.7% (1758 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-09-12 10:03:18 +02:00
Eva Marco
ce1e44eda4
♻️ Refactor set titles ( #7301 )
2025-09-12 08:46:05 +02:00
Marina López
48825e1e59
✨ Show current penpot version
2025-09-11 13:18:42 +02:00
Florian Schroedl
61cfe2d142
🐛 Fix font-family being split up when restoring from backup value
2025-09-11 12:33:26 +02:00
Eva Marco
2d68f4dfd3
🐛 Fix icons ( #7299 )
2025-09-11 09:42:11 +02:00
Elena Torró
1e23937aa5
Merge pull request #7291 from penpot/superalex-fix-boolean-and-group-shadows
...
🐛 Fix boolean and group shadows
2025-09-11 09:27:56 +02:00
Eva Marco
aecaf51953
✨ Add color token on colorpicker ( #7197 )
...
* ✨ Add token aplication to colorpicker
* 🐛 Change fn name
* 🐛 Change scss from file
* 🐛 Change color for direct-color
* 🐛 Remove vector from fns
* 🐛 Fix CI
* 🐛 Change color-option name
* 🐛 Fix comments
* 🐛 Remove sets without color tokens
2025-09-11 09:13:43 +02:00
Alejandro Alonso
da05d6b67d
🐛 Fix boolean and group shadows
2025-09-10 15:59:39 +02:00
Alejandro Alonso
99a100ad63
Merge pull request #7264 from penpot/elenatorro-12002-draw-shadows-and-blurs-on-texts-on-surfaces
...
🐛 Fix text shadows and blur and refactor text rendering
2025-09-10 15:50:33 +02:00
Elena Torró
bd3bcb4b18
Merge pull request #7284 from penpot/superalex-fix-blend-mode
...
🐛 Fix updating blend mode for shapes
2025-09-10 15:03:17 +02:00
Elena Torró
534c7864fc
Merge pull request #7285 from penpot/superalex-fix-cornder-radius
...
🐛 Fix corner radius
2025-09-10 14:59:06 +02:00
Elena Torro
4bd2eba573
🐛 Fix text shadows and blur and refactor text rendering
2025-09-10 14:20:24 +02:00
Xavier Julian
563f608255
🐛 Display token themes as a string
2025-09-10 13:55:54 +02:00
Alejandro Alonso
382b5e7e3a
Merge remote-tracking branch 'origin/staging' into develop
2025-09-10 12:33:54 +02:00
Eva Marco
a503f8ae93
♻️ Refactor composite token UI ( #7287 )
...
* ♻️ Refactor composite token UI
* 🐛 Fix comments
2025-09-10 12:16:39 +02:00
Xavier Julian
e1935fb3fb
🎉 Inspect styles tab: geometry panel
2025-09-10 11:01:19 +02:00
Alejandro Alonso
7ac44009d5
Merge pull request #7288 from penpot/luis-12042-context-menu-variant
...
🐛 Fix create a variant using the contextual menu
2025-09-09 16:27:35 +02:00
Luis de Dios
f22eef5bf6
🐛 Fix create a variant using the contextual menu
2025-09-09 15:59:04 +02:00
Florian Schroedl
b3763dec3f
✨ Typography import-export
2025-09-09 13:30:38 +02:00
Alejandro Alonso
7c61049103
Merge pull request #7257 from penpot/azazeln28-fix-issue-11992-cannot-move-elements-up-or-down
...
🐛 Fix moving elements up or down while pressing alt
2025-09-09 11:07:58 +02:00
Alejandro Alonso
fe819c6ec4
Merge pull request #7286 from penpot/azazeln28-fix-text-editor-v1-paste
...
🐛 Fix text editor v1 paste HTML
2025-09-09 11:05:17 +02:00
Aitor Moreno
1a4594a615
🐛 Fix text editor v1 paste HTML
2025-09-09 10:48:15 +02:00
Alejandro Alonso
41751d60d2
🐛 Fix corner radius
2025-09-09 10:24:56 +02:00
Yamila Moreno
8bd0edca46
Merge pull request #7282 from penpot/yms-update-ci
...
📎 Update CI
2025-09-09 09:30:18 +02:00
David Barragán Merino
d2bff2853f
Merge pull request #7283 from penpot/bameda-upgrade-docker-images-dependencies
...
🐳 Update the version of node and nginx-unprivileged
2025-09-09 09:29:36 +02:00
Alejandro Alonso
e2f22b86c7
🐛 Fix updating blend mode for shapes
2025-09-09 09:19:09 +02:00
Aitor Moreno
ff96f7be85
🐛 Fix moving elements up or down while pressing alt
2025-09-09 09:19:00 +02:00
Alejandro Alonso
108b5ab225
🐛 Fix missing filter-icon
2025-09-09 09:05:42 +02:00
Alejandro Alonso
a403af7ebd
🐛 Fix plugin installation link
2025-09-09 08:47:09 +02:00
Alejandro Alonso
43a238a896
Merge remote-tracking branch 'origin/staging' into develop
2025-09-09 08:40:35 +02:00
Alejandro Alonso
e3c9588c1c
Merge pull request #7279 from penpot/palba-variants-events2
...
🎉 Add "advanced" events to variants
2025-09-09 07:03:22 +02:00
Alejandro Alonso
25b63e5675
Merge pull request #7280 from penpot/palba-fix-variants-duplicate
...
🐛 Fix bad selection after variant duplicate
2025-09-09 06:49:34 +02:00
David Barragán Merino
6c59d633cd
🐳 Update the version of node and nginx-unprivileged
2025-09-08 18:36:31 +02:00
Yamila Moreno
daa408e291
📎 Update CI
2025-09-08 16:51:05 +02:00
Andrés Moya
bb0a891638
📚 Update changelog
2025-09-08 16:49:27 +02:00
Florian Schrödl
8aed47dad3
✨ Allow references to other typography tokens ( #7251 )
2025-09-08 16:45:18 +02:00
Pablo Alba
c5bd183f73
🐛 Fix bad selection after variant duplicate
2025-09-08 16:33:38 +02:00
Pablo Alba
06441063f2
✨ Add "advanced" events to variants
2025-09-08 15:33:14 +02:00
Elena Torró
0e23c9f6ab
Merge pull request #7278 from penpot/superalex-fix-fill-stroke-opacity-shouldnt-affect-shadows
...
🐛 Fix fills and strokes opacity shouldn't affect shadows
2025-09-08 14:08:20 +02:00
Alejandro Alonso
8fff9afee6
🐛 Fix fills and strokes opacity shouldn't affect shadows
2025-09-08 13:04:52 +02:00
Alejandro Alonso
9f11a2cb32
🐛 Fix context menu shape ids ( #7277 )
...
This reverts commit 1929ee36edb7c7e5f8d326c971b9c047667bd218.
2025-09-08 11:59:54 +02:00
Xavier Julian
ff55318c04
🎉 Inspect styles tab: variants panel
2025-09-08 11:59:33 +02:00
Elena Torró
41b7957eff
Merge pull request #7274 from penpot/superalex-refactor-drop-shadows
...
🐛 Fixing nested shadows
2025-09-08 11:38:19 +02:00
Alejandro Alonso
053b2c6248
Merge pull request #7253 from penpot/marina-payments-incorrect-date-plan
...
🐛 Fix incorrect date displayed for support plan
2025-09-08 11:22:48 +02:00
Alejandro Alonso
7e52aadb98
🐛 Fixing nested shadows
2025-09-08 11:20:03 +02:00
Marina López
fad058ee59
🐛 Fix incorrect date displayed for support plan
2025-09-08 11:06:57 +02:00
Alejandro Alonso
69f41c300f
Merge pull request #7199 from penpot/elenatorro-11844-fix-font-long-names
...
🐛 Fix custom font-long names overflow
2025-09-08 10:48:54 +02:00
Elena Torro
18c5e0b9a8
🐛 Fix font long name overflow
2025-09-08 10:31:35 +02:00
Alejandro Alonso
568c2fd9d7
Merge pull request #7271 from penpot/eva-bugfixing-release
...
🐛 Fix several bugs
2025-09-08 10:23:05 +02:00
Luis de Dios
794eb78aca
♻️ Refactor icon namespaces ( #7262 )
...
* ♻️ Rename old icons as deprecated
* ♻️ Take icons from the namespace for the icon component
* ♻️ Take icons from the namespace for the icon-button component
2025-09-08 10:02:33 +02:00
Florian Schrödl
e761bcac85
🐛 Fix text-transform not unapplyng text-case token ( #7272 )
2025-09-08 09:34:58 +02:00
Eva Marco
1929ee36ed
🐛 Fix ungroup option missing
2025-09-08 09:18:43 +02:00
Nicola Bortoletto
26f123f466
🌐 Add translations for: Italian
...
Currently translated at 99.7% (1912 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-09-06 09:02:02 +02:00
DoubleCat
d9f186524d
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 95.6% (1834 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-09-06 09:02:00 +02:00
Eva Marco
84cccd1b79
🐛 Fix alignment row on single shape selection
2025-09-05 13:54:46 +02:00
Eva Marco
e66d44ca81
🐛 Fix wrong icon on path layer
2025-09-05 13:54:19 +02:00
Eva Marco
2f3b464715
🎉 Add base font size flag ( #7270 )
2025-09-05 13:36:32 +02:00
Pablo Alba
286e477ad5
🐛 Change variants nesting error texts
2025-09-05 12:34:16 +02:00
Andrés Moya
6e6749f42e
🔧 Add unit tests to apply layout tokens
2025-09-05 11:11:48 +02:00
Andrés Moya
7b6aa0c12a
🐛 Unapply layout item tokens when moving out of a layout
2025-09-05 11:11:48 +02:00
Nicola Bortoletto
5f33ce9ef6
🌐 Add translations for: Italian
...
Currently translated at 98.2% (1883 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-09-04 19:01:57 +02:00
Pablo Alba
409f95ac17
✨ Add basic variants events ( #7249 )
...
* ✨ Add basic variants events
* ✨ MR changes
2025-09-04 17:00:09 +02:00
Florian Schroedl
25950be077
🐛 Fix when font-weight is a computed int (math resolver)
2025-09-04 13:06:57 +02:00
Florian Schroedl
5230d54551
🐛 Fix when font-weight is a computed int (math resolver)
2025-09-04 12:23:43 +02:00
Alejandro Alonso
a79be05261
🐛 Fix selection and devtools problem ( #7259 )
2025-09-04 09:29:38 +02:00
Alejandro Alonso
9eda1d0d78
Merge pull request #7256 from penpot/ladybenko-8371-fix-iconsistent-naming
...
🐛 Fix inconsistent naming for Flatten
2025-09-04 07:34:10 +02:00
Belén Albeza
f6c4f800c4
📚 Update changelog
2025-09-04 07:13:30 +02:00
Belén Albeza
f363d6a801
✨ Add integration test for Flatten menu option
2025-09-04 07:13:16 +02:00
Belén Albeza
e88ce0d52f
🐛 Unify flatten naming
2025-09-04 07:13:16 +02:00
Alejandro Alonso
fe5fe7a933
Merge pull request #7252 from penpot/mavalroot-typos
...
🐛 Fix typos
2025-09-04 07:05:37 +02:00
Belén Albeza
9c77296858
🔧 Make the watch script to compile the debug css when not in production env ( #7250 )
2025-09-03 13:45:11 +02:00
Xavier Julian
34da6b64df
🎉 Inspect styles tab tokens panel
2025-09-03 13:01:38 +02:00
María Valderrama
699cc147b5
🐛 Fix typos
2025-09-03 11:20:12 +02:00
Corentin Noël
4becd35e52
🌐 Add translations for: French
...
Currently translated at 97.6% (1871 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-09-03 09:02:01 +00:00
Luis de Dios
b1d792a757
🐛 Fix icons do not appear in swap panel and annotations ( #7240 )
...
* 🐛 Fix icons do not appear in swap panel and annotations
* 📎 PR changes
2025-09-03 10:57:47 +02:00
Florian Schroedl
18e6842e35
♻️ Revert trigger interactive via actionize and propagation
2025-09-03 10:10:34 +02:00
Florian Schroedl
c4481be39f
♻️ Revert trigger interactive via actionize and propagation
2025-09-03 09:42:40 +02:00
Andrés Moya
0df420d353
🐛 Fix setting shape size to zero
2025-09-03 08:57:26 +02:00
Elena Torró
f60b6a4869
Merge pull request #7247 from penpot/ladybenko-11983-textlayout-module
...
♻️ Refactor into new textlayout module
2025-09-02 17:17:12 +02:00
Belén Albeza
3e02dc550f
♻️ Create type alias for ParagraphBuilderGroup
2025-09-02 15:32:10 +02:00
Belén Albeza
1cf0de395c
♻️ Rename get_children to children (Paragraph)
2025-09-02 15:30:54 +02:00
Belén Albeza
d40b68c004
♻️ Refactor and rename ParagraphBuilder instantiating from TextContent
2025-09-02 15:22:05 +02:00
Belén Albeza
50b9e8c6e6
♻️ Rename TextContent::get_width to TextContent::width
2025-09-02 15:07:13 +02:00
Belén Albeza
d25f9cd4bd
♻️ Move auto_width and auto_height to their own textlayout module
2025-09-02 15:03:46 +02:00
Pablo Alba
dac2d31b35
🐛 Don't allow a variant switch when that will provoke a components loop
2025-09-02 15:03:38 +02:00
Florian Schroedl
bedb98ad9f
✨ Add context menu for typography
2025-09-02 13:19:45 +02:00
Elena Torró
5f37601122
🐛 Fix different fonts on texts shadows ( #7214 )
...
* 🐛 Fix different fonts on texts shadows
* 🔧 Refactor text rendering and move text-decoration logic outside
* 🔧 Use transparency correctly
2025-09-02 12:56:07 +02:00
Pablo Alba
1d3a1a094a
🐛 Missing component copy options on the context menu
2025-09-02 12:49:53 +02:00
Andrés Moya
9652996f07
🐛 Add validation for text shapes with wrong register of overrides
2025-09-02 12:49:41 +02:00
Pablo Alba
796aaed11e
🐛 Fix prop creation on variants move layer
2025-09-02 10:01:30 +02:00
Alejandro Alonso
1da69cfa38
📎 Add next release entries to the changelog
2025-09-01 11:10:09 +02:00
Luis de Dios
2a2735cd67
💄 Adjust design details of some components ( #7225 )
2025-09-01 11:02:36 +02:00
Nicola Bortoletto
b0712b6dc5
🌐 Add translations for: Italian
...
Currently translated at 96.1% (1844 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-09-01 11:02:03 +02:00
Yaron Shahrabani
cc31ee50df
🌐 Add translations for: Hebrew
...
Currently translated at 99.5% (1908 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-09-01 11:02:01 +02:00
Elena Torró
0552b6e713
Merge pull request #7189 from penpot/azazeln28-feat-text-playground-fonts
...
🎉 Add multiple fonts to text editor WASM playground
2025-09-01 10:54:40 +02:00
Alejandro Alonso
30e655b1da
Merge pull request #7236 from penpot/eva-fix-padding-sidebar
...
🐛 Fix wrong spacing
2025-09-01 10:35:21 +02:00
Alejandro Alonso
0aeecc6268
Merge pull request #7234 from penpot/palba-variants-activate-for-everyone
...
🎉 Activate variants for everyone
2025-09-01 10:27:44 +02:00
Eva Marco
5cec006a76
🐛 Fix wrong spacing
2025-09-01 10:15:52 +02:00
Pablo Alba
307e06372b
🎉 Activate variants for everyone
2025-09-01 09:58:14 +02:00
Xaviju
9f24e76c27
🌐 Convert translation single word to label ( #7220 )
2025-09-01 08:44:06 +02:00
Xavier Julian
7954eaf529
🎉 Inspect styles tab attributes container box
2025-08-31 14:58:11 +02:00
Stephan Paternotte
63456d2b75
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1915 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-08-31 06:05:48 +00:00
Stephan Paternotte
6a4a22c77a
🌐 Add translations for: Dutch
...
Currently translated at 99.8% (1915 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-08-29 17:01:57 +02:00
Edgars Andersons
32ad35aa19
🌐 Add translations for: Latvian
...
Currently translated at 97.3% (1867 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-08-29 17:01:56 +02:00
Yaron Shahrabani
e1522f1e8a
🌐 Add translations for: Hebrew
...
Currently translated at 99.1% (1900 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-08-29 17:01:54 +02:00
Corentin Noël
05093a32f3
🌐 Add translations for: French
...
Currently translated at 97.4% (1868 of 1917 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-08-29 17:01:53 +02:00
Eva Marco
fe406b577e
📚 Add comment to not translated string
2025-08-29 14:26:52 +02:00
Eva Marco
76c03af024
♻️ Fix how files are used on scss files ( #7208 )
2025-08-29 13:55:50 +02:00
Andrey Antukh
fe5cdcbdc7
🐛 Do not render assets sidebar context menu if it is not open ( #7222 )
...
This commit is a workaround to an issue that happens when you performing
multiple selection of several shapes (including components) and an
exception is raised of max depth of updates. The issue is still not
solved, we justo do not render the context menu when user performs
the selection on the workspace.
That issue/exception happens only we have context-menu* component
rendered independently of its visibility and dev-tools open
2025-08-29 13:53:55 +02:00
Florian Schroedl
2479a06f9a
🐛 Fix token create not disabled when creating token without value
2025-08-29 13:41:38 +02:00
Florian Schroedl
fc5e4a821b
♻️ Use interactive update functions only on user actions
2025-08-29 13:38:41 +02:00
Florian Schroedl
3cdbc27de9
✨ Unapply font-weight token when changing font-family
2025-08-29 13:38:41 +02:00
Florian Schroedl
a8ed1371d4
✨ Find closest variant when updating font family
2025-08-29 13:38:41 +02:00
Andrey Antukh
e7bac41c37
Merge pull request #7202 from penpot/niwinz-develop-sidebar-refactor-2
...
♻️ Refactor right sidebar state management
2025-08-29 12:10:51 +02:00
Andrey Antukh
dede2a8f8e
💄 Fix JS files formatting issues
2025-08-29 11:25:58 +02:00
Andrey Antukh
e94abad3eb
⚡ Add efficiency refactor for layer-menu*
2025-08-29 11:25:58 +02:00
Andrey Antukh
f8bc6e12a9
⚡ Improve efficiency of border radius menu
2025-08-29 11:25:58 +02:00
Andrey Antukh
a2c3208af9
🐛 Fix regression on not updating measures ui on moving frames
2025-08-29 11:25:58 +02:00
Andrey Antukh
a303df9c34
♻️ Refactor right sidebar state management
...
Also removing duplicated refs and improve efficiency of
several other refs used on sidebar.
2025-08-29 11:25:58 +02:00
Kelp
bda24f3829
📎 Update Changelog to add font weight token ( #7216 )
...
Add font weight to changes.md
Signed-off-by: Kelp <5446186+NatachaMenjibar@users.noreply.github.com>
2025-08-29 11:04:36 +02:00
Elena Torró
94fd3119e8
Merge pull request #7175 from penpot/superalex-fix-clipping
...
🐛 Fix clipping
2025-08-29 11:03:07 +02:00
María Valderrama
c8091b42a7
🐛 Fix navigation arrows in Libraries & Templates carousel ( #7217 )
2025-08-29 10:51:00 +02:00
Xaviju
41a859b444
🌐 Recover lost variant translation ( #7215 )
2025-08-29 09:50:33 +02:00
Aitor Moreno
1cf20f7604
Merge pull request #7203 from penpot/elenatorro-fix-text-decoration-leaf-position
...
🐛 Fix line height on texts and improve text decoration rendering
2025-08-28 16:21:40 +02:00
Andrey Antukh
629541bc9d
🐛 Fix incorrect recursion on looking boolean parent ( #7212 )
2025-08-28 16:13:14 +02:00
Alejandro Alonso
44245d1b5f
🐛 Fix position-data validator ( #7194 )
2025-08-28 15:46:23 +02:00
Luis de Dios
a8692c72c6
✨ Show create variant shortcut also for stand-alone components ( #7195 )
2025-08-28 15:45:53 +02:00
Elena Torró
7b7da59ca9
Merge pull request #7200 from penpot/ladybenko-11552-fix-font-styles
...
🐛 Fix new inline text styles not being applied correctly
2025-08-28 15:34:54 +02:00
Elena Torro
b78e3159d1
📚 Add wasm playground internal docs
2025-08-28 15:10:56 +02:00
Luis de Dios
2106028350
🐛 Fix color of variant property names in the design tab ( #7204 )
2025-08-28 12:51:04 +02:00
Andrey Antukh
c2e7f9dc42
⬆️ Update base deps ( #7207 )
2025-08-28 12:50:39 +02:00
Andrey Antukh
8568098c5e
🌐 Validate and rehash translation files
2025-08-28 12:49:35 +02:00
VKing9
c8bc1ef1d2
🌐 Add translations for: Hindi
...
Currently translated at 94.8% (1816 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
2025-08-28 12:46:50 +02:00
Stephan Paternotte
59bd434d05
🌐 Add translations for: Dutch
...
Currently translated at 97.5% (1869 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-08-28 12:46:50 +02:00
Edgars Andersons
3cf1e53340
🌐 Add translations for: Latvian
...
Currently translated at 96.0% (1839 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-08-28 12:46:50 +02:00
Denys Kisil
24f0956630
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 95.8% (1835 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-08-28 12:46:49 +02:00
Nicola Bortoletto
91991d5b32
🌐 Add translations for: Italian
...
Currently translated at 95.3% (1826 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-08-28 12:46:49 +02:00
Yaron Shahrabani
447b6ed1ab
🌐 Add translations for: Hebrew
...
Currently translated at 97.3% (1864 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-08-28 12:46:49 +02:00
Stas Haas
336486fecd
🌐 Add translations for: German
...
Currently translated at 89.2% (1710 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-08-28 12:46:48 +02:00
Jun Fang
bbd417c119
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 91.8% (1758 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-08-28 12:46:48 +02:00
Ingrid Pigueron
e3ffd45a18
🌐 Add translations for: French
...
Currently translated at 96.4% (1847 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-08-28 12:46:48 +02:00
Unreal Vision
52a4a46ebd
🌐 Add translations for: French
...
Currently translated at 96.4% (1847 of 1915 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-08-28 12:46:48 +02:00
Elena Torro
025423a75e
🐛 Fix line height on texts and improve text decoration rendering
2025-08-28 12:40:23 +02:00
Hosted Weblate
a6f17e35dd
🌐 Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
2025-08-28 12:37:27 +02:00
Andrey Antukh
9a8cac3cac
Merge remote-tracking branch 'weblate/develop' into develop
2025-08-28 12:36:51 +02:00
Aitor Moreno
884b857d17
🐛 Fix paste RTF crashes text editor ( #7196 )
2025-08-28 11:53:39 +02:00
Florian Schroedl
a20bbeff79
🔧 Add ff for typography composite token
2025-08-28 10:42:58 +02:00
Eva Marco
2a5f1f870b
🐛 Fix padding of input field component ( #7198 )
2025-08-28 10:30:33 +02:00
Luis de Dios
cf5303a39c
♻️ Title bar refactor ( #7201 )
2025-08-28 09:51:53 +02:00
Andrey Antukh
bf1e26c4e6
Merge pull request #7182 from penpot/niwinz-measures-menu-changes
...
♻️ Add efficiency refactor for sidebar
2025-08-28 08:40:44 +02:00
Andrey Antukh
4713d943d1
♻️ Add efficiency refactor for workspace sidebars
...
The main changes are for right sidebar but left sidebar is also
slightly affected beacuse of the move where the active tokes are
resolved.
2025-08-27 17:56:35 +02:00
Eva Marco
df083cb315
🐛 Fix corner case on tooltip positioning
2025-08-27 17:56:35 +02:00
Eva Marco
6401b25964
💄 Format tab-switcher stories jsx file
2025-08-27 17:56:35 +02:00
Andrey Antukh
65f4adc68e
⚡ Add minor efficiency enhancements to numeric-input*
2025-08-27 17:56:35 +02:00
Andrey Antukh
dfab472522
💄 Add minor cosmetic change to shape layout type helper
2025-08-27 17:56:35 +02:00
Belén Albeza
9759adf747
🐛 Fix new inline text styles not being applied correctly
2025-08-27 16:52:57 +02:00
Andrey Antukh
9ae1a08573
🐛 Make the app.common.time/inst nil safe
2025-08-27 14:17:11 +02:00
Ingrid Pigueron
ddab2cab14
🌐 Add translations for: French
...
Currently translated at 98.1% (1867 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-08-27 14:15:14 +02:00
Andrey Antukh
cf1a8fff65
Merge remote-tracking branch 'origin/develop' into develop
2025-08-27 13:19:53 +02:00
Andrey Antukh
45be4769d7
Merge remote-tracking branch 'origin/staging' into develop
2025-08-27 13:19:06 +02:00
María Valderrama
a68c41709a
🐛 Fix misleading affordance in saved versions ( #7192 )
2025-08-27 13:01:54 +02:00
Xaviju
4290bce718
🎉 Inspect tab layout switcher and computed feature ( #7166 )
2025-08-27 13:01:01 +02:00
Pablo Alba
3dd237002b
🐛 Fix combine as variants from assets tab selects wrong components ( #7190 )
2025-08-27 13:00:28 +02:00
Andrey Antukh
e0fb112bfb
📎 Update changelog
2025-08-27 12:52:24 +02:00
Andrey Antukh
2629537fd3
Merge branch 'subscriptions-enhancements' into staging
2025-08-27 12:51:34 +02:00
Marina López
cb7711f637
🐛 Fix integration tests
2025-08-27 12:30:48 +02:00
Andrey Antukh
a114e9adb0
✨ Add logging for management update-customer method
2025-08-27 12:02:39 +02:00
Andrey Antukh
5fed5fa158
✨ Add transactions support on management api
2025-08-27 12:00:03 +02:00
Andrey Antukh
6c8873c7f5
🐛 Ensure for-update locking is used on updating profile props
2025-08-27 11:59:35 +02:00
Andrey Antukh
37b0c4adc0
🐛 Add support fror ::db/for-update on sql ns
2025-08-27 11:58:42 +02:00
Florian Schroedl
9106617436
🎉 Add composite typography token
2025-08-27 11:35:56 +02:00
Yamila Moreno
68a95cf0d0
📎 Fix CI inputs
2025-08-27 11:21:34 +02:00
Yamila Moreno
1438632dde
📎 Fix CI inputs
2025-08-27 11:19:42 +02:00
Florian Schroedl
112fa46896
🐛 Fix case-sensitivity and multi word italic in font weight parsing
2025-08-27 11:15:21 +02:00
Yamila Moreno
6da5bbf33a
📎 Fix CI inputs
2025-08-27 11:14:56 +02:00
Yamila Moreno
95faf340c4
📎 Fix CI inputs
2025-08-27 11:13:13 +02:00
Marina López
723ea508df
🐛 Fix missing link for enterprise trial
2025-08-27 10:56:17 +02:00
Yamila Moreno
cbe538261c
📎 Fix CI inputs
2025-08-27 10:42:13 +02:00
Yamila Moreno
1925e6782f
📎 Fix CI inputs
2025-08-27 10:33:17 +02:00
Yamila Moreno
bcd950c141
📎 Fix CI inputs
2025-08-27 10:11:56 +02:00
Aitor Moreno
b215689566
🎉 Add multiple fonts to text editor WASM playground
2025-08-27 09:57:55 +02:00
Pablo Alba
dfe0f64c7c
✨ Add variants advanced retrieve tests ( #7183 )
2025-08-26 16:40:27 +02:00
Andrey Antukh
9de3910526
✨ Add missing impl for Associative on LoadableWeakValueMap ( #7188 )
2025-08-26 16:39:48 +02:00
Luis de Dios
59eb75d8c3
💄 Style improvements in the component list & grid ( #7185 )
2025-08-26 16:35:09 +02:00
Florian Schroedl
6670b76ccc
✨ Show warning when applying token with non-matching font variant
2025-08-26 16:12:07 +02:00
Florian Schroedl
09b9383a0b
✨ Choose closest font weight for token weight when no matching weight is found
2025-08-26 16:12:07 +02:00
Eva Marco
31e37f352d
🐛 Fix token option schema ( #7186 )
...
* 🐛 Fix token option schema
* 🐛 Fix numeric-input schema
2025-08-26 14:06:59 +02:00
Yamila Moreno
c5958e4d61
📎 Add storybook to CI bundle
2025-08-26 10:45:08 +02:00
Luis de Dios
f1e7149e88
✨ Add shortcuts for creating variants and properties ( #7181 )
...
* ✨ Add shortcuts for creating variants and properties
* 📎 PR changes
2025-08-26 09:32:41 +02:00
Pablo Alba
d80ef17623
🐛 Fix cut pasting a variant into its own parent ( #7179 )
2025-08-26 09:25:52 +02:00
Andrey Antukh
ffe469ce71
Merge pull request #7159 from penpot/niwinz-develop-migrations-fixes
...
♻️ Add a better approach for load libraries on file validation and migrations
2025-08-26 09:25:23 +02:00
Andrey Antukh
c35bb6e09a
🎉 Add loadable weak map impl for libraries loading on validation and migration
2025-08-26 09:03:25 +02:00
Alejandro Alonso
8d404d97a1
🐛 Fix clipping
2025-08-26 08:52:42 +02:00
Andrey Antukh
fa2b0bd67c
✨ Don't migrate libraries on accessing them on file data migrations
...
We don't migrate the libraries for avoid cascade migration; it is not ideal
but it reduces the total of the required memory needed for process a single
file migration that requires libraries to be loaded.
2025-08-26 08:15:45 +02:00
Andrey Antukh
9563d1b1f6
Merge pull request #6635 from penpot/eva-add-numeric-input
...
✨ Add numeric input component
2025-08-25 19:42:47 +02:00
Eva Marco
33fc578f96
🎉 Add numeric-input component to DS
...
A new numeric-input impl compatible with tokens
2025-08-25 18:52:39 +02:00
Andrey Antukh
79786dde16
🎉 Add helpers for work with weak references and weak data structs
2025-08-25 18:52:39 +02:00
Marina López
926b2c9cfb
🐛 Fix doble click to submit subscription
2025-08-25 15:42:47 +02:00
Andrés Moya
c1b2aa7628
🐛 Add handler to correctly encode cljs dates to json
2025-08-25 13:52:38 +02:00
Andrey Antukh
991b26b73f
🐛 Fix undo transaction handling on creating a variant from group of components
2025-08-25 11:48:46 +02:00
Andrey Antukh
254a7461b2
✨ Simplify commit-undo-transaction impl
2025-08-25 11:48:46 +02:00
Andrey Antukh
1384ed8aba
⚡ Remove duplicated execution of check-open-transactions
2025-08-25 11:48:46 +02:00
Andrey Antukh
c9393c0cfb
⚡ Remove repeated/duplucated lookups on start-undo-transaction
2025-08-25 11:48:46 +02:00
Pablo Alba
6eeb55fb88
🐛 Fix after variant switch children layouts aren't updated ( #7177 )
2025-08-25 11:35:33 +02:00
Andrey Antukh
c759afc10d
🔥 Remove unnecessary and broken unique-editors field
...
From the get-teams rpc method response
2025-08-25 11:33:34 +02:00
Marina López
090cb63568
🐛 Fix condition for members warning
2025-08-25 11:07:19 +02:00
Andrey Antukh
f223831766
✨ Refresh subscription info when member role is updated
2025-08-25 10:53:48 +02:00
Marina López
854f286364
♻️ Fix subscriptions inconsistencies
2025-08-25 10:53:48 +02:00
Andrey Antukh
2846b80cf7
✨ Add rpc methods for obtain editors
2025-08-25 10:53:12 +02:00
Andrey Antukh
ad0ef82ffc
🎉 Add management http api
2025-08-25 10:53:12 +02:00
Elena Torró
3bb547fc45
🐛 Parse rx and ry SVG values correctly ( #7176 )
2025-08-25 10:44:11 +02:00
Pablo Alba
c3b326d95e
🐛 Fix duplicating a page with variants should duplicate them ( #7172 )
...
* 🐛 Fix duplicating a page with variants should duplicate them
* ✨ MR changes
2025-08-25 10:41:03 +02:00
Luis de Dios
8c1a97dac5
✨ Make some improvements to the swap panel ( #7174 )
...
* 💄 Visual improvements in swap panel
* ♻️ Refactor search-bar component to use DS icons
* 📎 PR changes
2025-08-25 10:40:20 +02:00
Alejandro Alonso
4053e8c8db
Merge pull request #7173 from penpot/elenatorro-11735-fix-text-auto-width
...
🐛 Fix paragraph layout width on autowidth
2025-08-22 15:16:40 +02:00
Xaviju
ee86a3943d
✨ Update code to use design system icon ( #7145 )
2025-08-22 14:27:11 +02:00
Elena Torro
46b3e174ed
🐛 Fix paragraph layout width on autowidth
2025-08-22 13:55:24 +02:00
Alejandro Alonso
c0c2c9489c
Merge pull request #7170 from penpot/elenatorro-fix-text-tests
...
🔧 Update and fix text tests
2025-08-22 13:34:00 +02:00
Elena Torró
c05c179d67
Merge pull request #7167 from penpot/azazeln28-feat-text-editor-wasm-playground
...
🎉 Add Text Editor WASM Playground
2025-08-22 12:47:41 +02:00
Aitor Moreno
596193d34d
🎉 Add missing styles on text leaves
2025-08-22 12:22:51 +02:00
Aitor Moreno
15eee0d8d8
🎉 Add Text Editor WASM Playground
2025-08-22 12:22:51 +02:00
Elena Torro
0b7444e8ff
🐛 Use SrcIn only when there is only one inner stroke, otherwise use erode filter
2025-08-22 09:54:15 +02:00
Elena Torro
96a91dc710
🔧 Add missing emoji ranges
2025-08-22 09:54:03 +02:00
Elena Torro
503d431d8e
🔧 Fix and update text use cases
2025-08-22 09:53:50 +02:00
Alejandro Alonso
ed5875f29a
Merge pull request #7154 from penpot/niwinz-staging-bug-1
...
🐛 Fix incorrect show request-access dialog on not-found on viewer
2025-08-22 09:19:47 +02:00
Yamila Moreno
b12d44150b
📎 Fix and improve ci
2025-08-21 17:42:37 +02:00
Andrey Antukh
66f5eb57b9
🐛 Fix incorrect fills coerce to binary type when flag is disabled ( #7169 )
2025-08-21 15:11:14 +02:00
Pablo Alba
7023880e67
🐛 On a variants switch, keep the value of the rotation and its transformations ( #7165 )
2025-08-21 13:55:16 +02:00
Andrey Antukh
0e4cf23a93
🐛 Fix incorrect type coerce operations ( #7168 )
...
A regression introduced in previous commits that causes
a browser tab totally killed by memory usage.
2025-08-21 13:52:47 +02:00
Elena Torró
3f93b0d44b
Merge pull request #7098 from penpot/superalex-fix-big-blur-2
...
🐛 Fix big blur rendering for wasm render
2025-08-21 09:23:26 +02:00
Elena Torró
4a6c3d6ad3
Merge pull request #7152 from penpot/superalex-update-skia-binaries
...
🎉 Update skia binares to 0.87.0
2025-08-21 09:10:37 +02:00
Alejandro Alonso
478439f055
🐛 Fix big blur rendering for wasm render
2025-08-21 08:47:25 +02:00
Alejandro Alonso
9ef2454210
🎉 Update skia binares to 0.87.0
2025-08-21 07:38:46 +02:00
Andrey Antukh
a702fee3cd
Merge pull request #7143 from penpot/luis-11856-adjust-component-title
...
✨ Adjust the appearance of the variant-related elements in the design tab
2025-08-20 17:41:50 +02:00
Pablo Alba
cac639d267
🐛 Fix deleting a variant from assets panel ( #7147 )
2025-08-20 17:38:11 +02:00
Elena Torró
0daf548773
Merge pull request #7146 from penpot/superlaex-fix-open-path-calculation
...
🐛 Fix open path calculation
2025-08-20 16:38:17 +02:00
Alejandro Alonso
9249a5d4ea
Merge pull request #7155 from penpot/elenatorro-use-erode-image-filter-for-inner-strokes-with-opacity
...
🐛 Fix inner strokes with opacity using erode instead of multiple blending modes
2025-08-20 15:55:50 +02:00
Andrey Antukh
4c83feaa31
Merge remote-tracking branch 'origin/staging' into develop
2025-08-20 13:56:58 +02:00
Luis de Dios
4d8ad19eea
💄 Improve the alignment, spaces and sizes of the variant elements
2025-08-20 13:51:04 +02:00
Luis de Dios
e7e7d576b2
♻️ Adapt title-bar component
2025-08-20 13:36:10 +02:00
Luis de Dios
7f2af1c355
✨ Adjust component title
2025-08-20 13:36:10 +02:00
Andrey Antukh
ad38a21053
🐛 Fix incorrect show request-access dialog on not-found on viewer
...
When a user is not-authenticated
2025-08-20 13:35:20 +02:00
Elena Torro
9bb92277e4
🐛 Fix inner strokes with opacity using erode instead of multiple blending modes
2025-08-20 13:32:20 +02:00
Alejandro Alonso
643621a389
Merge pull request #7119 from penpot/niwinz-develop-type-hints
...
⚡ Add several performance enhancements
2025-08-20 12:58:43 +02:00
Alejandro Alonso
ef8d2e7418
Merge pull request #7082 from penpot/niwinz-staging-changes-fix
...
♻️ Refactor schema references and openapi.json output
2025-08-20 12:55:16 +02:00
Andrey Antukh
adffac4eec
Merge remote-tracking branch 'origin/main' into staging
2025-08-20 12:49:31 +02:00
Andrey Antukh
575342b3bb
♻️ Use direct schemas instead of references
...
Only a very common use, basic types schemas should be used as
reference (with namespaced keywords)
2025-08-20 12:33:07 +02:00
Alejandro Alonso
b6ecb4368e
Merge pull request #7044 from penpot/niwinz-develop-refactor-versions-sidebar
...
♻️ Refactor versions sidebar
2025-08-20 12:00:28 +02:00
Pablo Alba
081df7fc03
🐛 Fix combine variants move items
2025-08-20 11:07:51 +02:00
Yamila Moreno
358343b4df
📎 Add build tag workflow and minor changes
2025-08-20 10:51:05 +02:00
Andrey Antukh
d7c19325cc
✨ Add better type references naming on openapi output
2025-08-20 10:47:56 +02:00
Andrey Antukh
b472a8ab19
✨ Add general improvement to openapi and js-like doc output
2025-08-20 09:41:01 +02:00
Andrey Antukh
2b83d0d0e9
✨ Add generative test case for openapi json serialization
...
This will prevent possible regression on introducing schemas without
generators or schema with generators that can't be serialized to json.
2025-08-20 09:38:57 +02:00
Andrey Antukh
911ac263fa
🐛 Use ::sm/any instead of any for get-file-fragment rpc method schema
...
The usage of `any?` predicate as-is uses the standard any generator that
causes to generate java.lang.Character instances created that are not
properly serialiable to JSON. The `::sm/any` schema delimits the
generator to a commonly known serializable types on json.
2025-08-20 09:38:55 +02:00
Andrey Antukh
545c78eb74
🐛 Add missing generators
2025-08-20 09:38:13 +02:00
Andrey Antukh
124b098c92
🔥 Remove already deprecated change spec
2025-08-20 09:38:13 +02:00
Andrey Antukh
43ed430475
📎 Update .gitignore file
2025-08-20 09:38:13 +02:00
Andrey Antukh
edd3b1512e
🐛 Add missing attrs to add-component change schema
2025-08-20 09:38:13 +02:00
Andrey Antukh
d9623c3c88
🐛 Add proper schema for decoding :obj on add-obj change
2025-08-20 09:38:13 +02:00
Andrey Antukh
f052e31ff0
🐛 Fix incorrect handling of assign operation on changes protocol
2025-08-20 09:38:13 +02:00
Yamila Moreno
73dfe12ec9
📚 Update k8s documentation
2025-08-20 09:04:25 +02:00
Alejandro Alonso
0c3d73745e
🐛 Fix open path calculation
2025-08-20 09:00:04 +02:00
Aitor Moreno
a6ecc4fb3c
Merge pull request #7106 from penpot/niwinz-develop-modifiers-enhacements
...
⚡ Several enhancements on how shape data is written on memory
2025-08-19 17:05:25 +02:00
Denys Kisil
625d9ab188
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 97.9% (1863 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-08-19 11:03:09 +00:00
Jun Fang
e6cc15e19b
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 93.1% (1771 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-08-19 11:03:07 +00:00
王世阳
0af2cd6413
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 93.1% (1771 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-08-19 11:03:05 +00:00
IsCycleBai
443e0b0206
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 93.1% (1771 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-08-19 11:03:04 +00:00
Jun Fang
a4fa5e9304
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 93.1% (1771 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-08-19 11:03:02 +00:00
IsCycleBai
d94c311a1e
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 93.1% (1771 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-08-19 11:03:01 +00:00
Pablo Alba
c0c8390a7d
🐛 Fix restoring component inside flex
2025-08-19 12:15:30 +02:00
Andrey Antukh
f4be117219
🔥 Remove app.common.time/duration usage on frontend ( #7139 )
...
Is broken and not necessary; duration class is no longer
available on frontend code.
2025-08-19 10:36:34 +02:00
Andrey Antukh
7eb590e9fd
♻️ Refactor versions sidebar
2025-08-18 21:57:47 +02:00
Andrey Antukh
6588913141
♻️ Remove several level of unnecesary allocation on writing text
2025-08-18 21:54:36 +02:00
Andrey Antukh
5c4a60aee7
✨ Make mem write helpers receive offset as first arg
2025-08-18 21:54:36 +02:00
Andrey Antukh
af02e12685
🎉 Add missing write-u32 helper to mem ns
2025-08-18 21:54:36 +02:00
Andrey Antukh
675864ce0b
✨ Remove incorrect usage of dm/get-prop
2025-08-18 21:54:36 +02:00
Andrey Antukh
c55f3182d8
💄 Rename text-dimensions to get-text-dimensions
2025-08-18 21:49:00 +02:00
Andrey Antukh
0d6eac7656
💄 Add mainly cosmetic changes to set-shape-shadows
...
Mainly replace a loop with run! that used reduce as impl.
After measuring there are no real difference between using
the more complex loop and more simplier run!; in parity of
performance we prefer simplier approach.
2025-08-18 21:49:00 +02:00
Andrey Antukh
7acfd199aa
💄 Add mainly cosmetic changes to set-layout-child
2025-08-18 21:49:00 +02:00
Andrey Antukh
33d6f543a1
⚡ Remove several not necessary allocations from set-grid-layout-cells
2025-08-18 21:49:00 +02:00
Luis de Dios
4237ef572e
🐛 Fix use ellipsis when property names are too long ( #7135 )
2025-08-18 21:36:56 +02:00
Pablo Alba
6babea8b12
🐛 Fix alert for bad formula not showing in copies of variants ( #7126 )
...
* 🐛 Fix alert for bad formula not showing in copies of variants
* ✨ MR changes
2025-08-18 21:36:29 +02:00
Pablo Alba
6b7f91c671
🐛 Fix weird resizing on combine variants with constraints scale ( #7134 )
2025-08-18 21:35:04 +02:00
Pablo Alba
b3b183c151
🐛 Fix duplicate a variant when all have bad formulae crashes
2025-08-18 17:09:20 +02:00
Yamila Moreno
59f2ee87e6
📎 Improve github actions
2025-08-18 15:28:15 +02:00
Pablo Alba
6af8940a46
🐛 On variant create do not set sizing
2025-08-18 15:14:36 +02:00
Xavier Julian
e1a1110f06
📎 Update changelog with new typography tokens
2025-08-18 13:50:14 +02:00
Pablo Alba
1dcf1e0b0f
🐛 Fix :show-content wasn't on components sync-attrs
2025-08-18 13:17:09 +02:00
Yamila Moreno
4c3e345c9c
📎 Fix github actions
2025-08-18 13:05:45 +02:00
Andrey Antukh
a3b9a9f07b
⚡ Remove reflection calls from buffer macros
2025-08-18 13:03:10 +02:00
Andrey Antukh
17ec360720
⚡ Add several missing type hints for avoid reflection and autoboxing
2025-08-18 13:03:10 +02:00
Andrey Antukh
89b67d59d5
⚡ Fix autoboxing on path type impl
2025-08-18 13:03:10 +02:00
Andrey Antukh
77be00014e
⚡ Remove reflection on geom rect code
2025-08-18 13:03:10 +02:00
Andrey Antukh
e336f287b6
⚡ Remove reflection on geom matrix code
2025-08-18 13:03:10 +02:00
Andrey Antukh
50aa6ff306
⚡ Remove reflection calls on binfile v3 code
2025-08-18 13:03:10 +02:00
Alejandro Alonso
56f162f219
Merge pull request #7133 from penpot/superalex-fix-create-variant-doesnt-work-2
...
🐛 Create variant doesn't work
2025-08-18 13:02:33 +02:00
Pablo Alba
f7a0c4139a
🐛 Fix you can add a rect into a variant container ( #7137 )
2025-08-18 13:02:27 +02:00
Alejandro Alonso
7c39e321c4
Merge pull request #7136 from penpot/niwinz-develop-fix-inconsistencies-on-text-shortcuts
...
🐛 Fix several inconsistencies and duplicated shortcuts
2025-08-18 12:57:18 +02:00
Andrey Antukh
ce6a863599
🐛 Fix several inconsistencies and duplicated shortcuts
2025-08-18 12:31:09 +02:00
Alejandro Alonso
832690e71e
🐛 Create variant doesn't work
2025-08-18 11:58:24 +02:00
Pablo Alba
7526cb0d71
🐛 Fix on variants rotation override is not preserving properly ( #7120 )
2025-08-18 11:57:58 +02:00
andrés gonzález
3292109ab0
🐛 Fix typos in modal about variant connections ( #7122 )
2025-08-18 11:47:23 +02:00
Elena Torró
be376d2030
Merge pull request #7124 from penpot/ladybenko-11799-fix-remove-layout
...
🐛 Fix removing layout (wasm)
2025-08-18 09:52:22 +02:00
Alejandro Alonso
4d455b5e9f
Merge pull request #7125 from penpot/elenatorro-11842-fix-groups-rendering-on-drag
...
🐛 Fix Group extrect calculation
2025-08-18 09:36:58 +02:00
Edgars Andersons
50ce28e378
🌐 Add translations for: Latvian
...
Currently translated at 98.4% (1872 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-08-15 21:02:02 +02:00
Yaron Shahrabani
1eee8e2ce8
🌐 Add translations for: Hebrew
...
Currently translated at 99.7% (1897 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-08-15 21:02:00 +02:00
Elena Torro
5e6ce9172f
🔧 Return always a shader on merge_fills for consistency
2025-08-14 16:08:03 +02:00
Elena Torró
03adbc2ae8
🔧 Update multiple emoji test and increase resulting image ( #7113 )
2025-08-14 15:47:55 +02:00
Belén Albeza
e63a3f76f7
🐛 Fix open/close path detection in wasm ( #7110 )
...
* 🐛 Fix open/close path detection in wasm
* 💄 Remove leftover code
2025-08-14 15:45:09 +02:00
Elena Torro
6d42d456fb
🐛 Fix Group extrect calculation
2025-08-14 15:39:45 +02:00
Belén Albeza
c818b6f88f
🐛 Fix layout and constraints not being cleared
2025-08-14 15:38:23 +02:00
Belén Albeza
3f3c7905b4
♻️ Refactor wasm layout functions to their own submodule
2025-08-14 14:17:49 +02:00
Elena Torró
e8dd13beb2
Merge pull request #7118 from penpot/superalex-fix-extrect-invalidation-for-texts
...
🐛 Fix extrect invalidation for texts
2025-08-14 13:43:42 +02:00
Elena Torró
fc6b64aa68
Merge pull request #7121 from penpot/superalex-fix-set-corners
...
🐛 Fix set corners
2025-08-14 13:34:43 +02:00
Alejandro Alonso
5e0a2f66e3
🐛 Fix set corners
2025-08-14 11:50:40 +02:00
Pablo Alba
108d4fabba
🐛 Fix menu entry not showing on assets tab ( #7115 )
...
* 🐛 Fix menu entry not showing on assets tab
* ✨ MR changes
2025-08-14 10:39:47 +02:00
Pablo Alba
2e277a39ca
🐛 Fix flick on design tab after variant switch ( #7116 )
2025-08-14 08:14:06 +02:00
Pablo Alba
814ec43714
🐛 Fix variants nesting loops ( #7112 )
...
* 🐛 Fix variants nesting loops
* ✨ MR changes
2025-08-14 08:08:31 +02:00
Andrey Antukh
54bb9ea755
Merge remote-tracking branch 'origin/staging' into develop
2025-08-14 08:06:15 +02:00
Pablo Alba
374e921672
🐛 Fix variants change property name multiple selection
2025-08-13 17:29:03 +02:00
Alejandro Alonso
64e5ea93a0
🐛 Fix extrect invalidation for texts
2025-08-13 14:32:23 +02:00
Pablo Alba
2562d70880
🐛 Fix crash dragging external component into a variant without props ( #7111 )
2025-08-13 14:29:56 +02:00
Alejandro Alonso
d99ef29152
Merge pull request #7029 from penpot/elenatorro-11691-fix-default-text-fill
...
🔧 Fix text default color and inner stroke opacity
2025-08-13 12:52:14 +02:00
Edgars Andersons
d5a2cd9cd2
🌐 Add translations for: Latvian
...
Currently translated at 97.8% (1862 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-08-13 12:02:14 +02:00
Elena Torro
82d2889e96
🔧 Improve text strokes blending
2025-08-13 11:50:09 +02:00
Eva Marco
ff2e845f2c
🐛 Fix double click on set name input ( #7096 )
2025-08-13 09:23:53 +02:00
Florian Schrödl
ccd6ae5ade
🐛 Don't allow letter-spacing value with % ( #7100 )
2025-08-13 08:31:43 +02:00
Yaron Shahrabani
36bafc0d40
📎 Fix typo on translations
2025-08-12 17:58:10 +02:00
Pablo Alba
f7746b8f94
✨ Add create variants in bulk interactions from assets tab ( #7102 )
...
* ✨ Add create variants in bulk interactions from assets tab
* ✨ MR changes
2025-08-12 17:56:47 +02:00
Pablo Alba
537c5ca7b8
🐛 Fix missing selection after swap ( #7104 )
2025-08-12 17:56:03 +02:00
Pablo Alba
4901a80684
🐛 Fix flex layout everrides are not mantained on variant switch ( #7105 )
2025-08-12 17:55:29 +02:00
Pablo Alba
03b5d44a7c
Merge pull request #7101 from penpot/palba-variants-bulk-root
...
🐛 Fix bad name on variants bulk when the parent is root
2025-08-12 17:04:13 +02:00
Andrey Antukh
8e51aa8df4
🐛 Fix regression on set-shape-children introduced in prev merge
2025-08-12 16:03:34 +02:00
Andrey Antukh
029a9674ca
Merge pull request #7103 from penpot/niwinz-develop-modifiers-enhacements
...
♻️ Sanitize heap write and read operations
2025-08-12 13:11:02 +02:00
Alejandro Alonso
68cee1b1f1
Merge pull request #7076 from penpot/ladybenko-11755-fix-color-picker
...
🐛 Fix color picker not working with the new renderer
2025-08-12 11:57:21 +02:00
Aitor Moreno
3f74e230b2
Merge pull request #7092 from penpot/superalex-fix-artifacts-while-panning
...
🐛 Fix artifacts while panning in wasm render
2025-08-12 11:52:18 +02:00
Elena Torró
6bf1919f8d
Merge pull request #7094 from penpot/superalex-fix-ctrl-b-for-editor-v2
...
🐛 Fix ctrl+b for editor v2
2025-08-12 11:36:24 +02:00
Andrey Antukh
e69d61eaf4
✨ Add facilities for work with dataview with common alases
2025-08-12 11:27:13 +02:00
Alejandro Alonso
2f83f22753
🐛 Fix artifacts while panning in wasm render
2025-08-12 11:23:13 +02:00
Andrey Antukh
f9d757bb85
✨ Move several mem write helpers to mem.heap32 ns
...
For simplify usage and make it clear the required addressing
is used for that functions
2025-08-12 10:53:02 +02:00
Andrey Antukh
6b6e80f4b8
🐛 Fix regression introduced on the set-grid-layout-cells fn
...
Incorrect data is used for calcultate the size
2025-08-12 10:33:50 +02:00
Andrey Antukh
f32b92a5b0
✨ Assign defaults on serializers instead on api
...
For make the operations more efficient
2025-08-12 10:33:08 +02:00
Andrey Antukh
761a0a7009
✨ Improve memory write operations on set-grid-layout-rows
2025-08-12 10:32:35 +02:00
Andrey Antukh
129d3e61fa
🎉 Add missing wrap method on buffer abstraction
2025-08-12 10:30:02 +02:00
Stephan Paternotte
aa94671002
🌐 Add translations for: Dutch
...
Currently translated at 100.0% (1902 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-08-12 10:02:02 +02:00
Nicola Bortoletto
52cf136f84
🌐 Add translations for: Italian
...
Currently translated at 96.7% (1841 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-08-12 10:02:01 +02:00
Yaron Shahrabani
808427795c
🌐 Add translations for: Hebrew
...
Currently translated at 99.6% (1895 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-08-12 10:01:59 +02:00
Andrey Antukh
3f71734cb4
⚡ Remove unnecessary anon fn allocation on set-grid-layout-data
...
And remove incorrect use of dm/get prop for non statically known
attributes of shape
2025-08-12 09:59:18 +02:00
Andrey Antukh
9f14edb0d7
⚡ Remove unnecessary anonymouns fn allocation from set-flex-layout
...
And also removes usage of dm/get-prop for props that are known to be
not static
2025-08-12 09:59:18 +02:00
Andrey Antukh
7fa7a806a8
⚡ Remove unnecesary allocation of corners on wasm api set-shape
2025-08-12 09:59:18 +02:00
Andrey Antukh
d364f4db62
♻️ Sanitize heap write and read operations
...
Mainly improves the offset management making it less
error prone, encapsulating the write operation and offeset
management into write-* operations with proper asserts
for the expected heap type.
2025-08-12 09:59:18 +02:00
Andrey Antukh
f2c431d029
Merge pull request #7041 from penpot/alotor-wasm-bools
...
✨ Add wasm boolean calculations
2025-08-12 08:07:18 +02:00
Belén Albeza
6a667c30d6
🐛 Fix color picking sometimes not picking color and/or getting stuck in a react infinite update loop
2025-08-11 17:02:12 +02:00
Alejandro Alonso
de637fcf4e
🐛 Fix ctrl+b for editor v2
2025-08-11 14:56:04 +02:00
Aitor Moreno
132069472c
Merge pull request #7067 from penpot/superalex-fix-frames-extrect-calculation
...
🐛 Fix frames extrect calculation
2025-08-11 13:57:29 +02:00
Elena Torro
172c6ad4b8
🔧 Set fill paint as transparent when there are no fills
2025-08-11 13:52:49 +02:00
Andrey Antukh
73a72ec1c7
💄 Add naming and docstring consistency fixes to wasm api
2025-08-11 12:49:01 +02:00
Andrey Antukh
c39a8d84ac
💄 Abstract call to mem/free on wasm api ns
2025-08-11 10:30:14 +02:00
Andrey Antukh
027e5c64cc
✨ Reduce compexity on set-shape-children wasm api method
2025-08-11 10:30:14 +02:00
Andrey Antukh
ba42c9b85e
✨ Add improved interop between wasm bool and common code
2025-08-11 10:30:14 +02:00
alonso.torres
cd1be43384
✨ Add support for boolean shapes
2025-08-11 10:30:14 +02:00
Andrey Antukh
6176027263
✨ Import translatiosn from weblate
...
commit 17905edb9d24c9ae60921d94d1367a6e91df2b51
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Mon Aug 11 09:17:44 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 96.1% (1829 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b57270851a843c64af8698ea7f8300cab1be75cf
Author: Henrik Allberg <henrik@thexorb.com>
Date: Mon Aug 11 09:19:56 2025 +0200
🌐 Add translations for: Swedish
Currently translated at 84.4% (1607 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
commit 3aa31a7a52ba54126d3d14f6f24ea493f17ef99e
Author: Црнобог <68vuletic@gmail.com>
Date: Mon Aug 11 09:19:49 2025 +0200
🌐 Add translations for: Serbian
Currently translated at 73.0% (1389 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sr/
commit c451f75888be5d27aac35c716375cf722ccb805a
Author: Alejandro Alonso <alejandro.alonso@kaleidos.net>
Date: Mon Aug 11 09:20:32 2025 +0200
🌐 Add translations for: Yoruba
Currently translated at 62.7% (1193 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/yo/
commit 64d084cfef057cdd635874aad961ad1f42cc16ab
Author: Alejandro Alonso <alejandro.alonso@kaleidos.net>
Date: Mon Aug 11 09:17:58 2025 +0200
🌐 Add translations for: Igbo
Currently translated at 27.2% (518 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ig/
commit afee2e44bb22dfd28d55704cb1c387bf33b271ec
Author: Revenant <mohdmuizz22@yahoo.com>
Date: Mon Aug 11 09:18:44 2025 +0200
🌐 Add translations for: Malay
Currently translated at 35.7% (680 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ms/
commit 27a43f53a486f9794e3d739793ca03cf11888240
Author: Alejandro Alonso <alejandro.alonso@kaleidos.net>
Date: Mon Aug 11 09:17:27 2025 +0200
🌐 Add translations for: Hausa
Currently translated at 66.1% (1259 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ha/
commit 76d634a8da529ca27ff4f50d044ef8077b995b42
Author: Stephan Paternotte <stephan@paternottes.net>
Date: Mon Aug 11 09:19:06 2025 +0200
🌐 Add translations for: Dutch
Currently translated at 96.2% (1830 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
commit eacdded92d1c8be56117e8d5ca0cf99db0d6b506
Author: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv>
Date: Mon Aug 11 09:18:35 2025 +0200
🌐 Add translations for: Latvian
Currently translated at 96.2% (1830 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
commit 162163d566ef2ff89c3f96e0dbddfc24ea89bbe0
Author: Ņikita K <nikita.kozlovs@gmail.com>
Date: Mon Aug 11 09:18:31 2025 +0200
🌐 Add translations for: Latvian
Currently translated at 96.2% (1830 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
commit 01275a3458f485aeef190bf6588e0e45e8fad334
Author: Suhwan Kim <jgk9282@gmail.com>
Date: Mon Aug 11 09:18:19 2025 +0200
🌐 Add translations for: Korean
Currently translated at 11.4% (218 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ko/
commit 03ba18cda687c3738bdcb6f49fd179eb449b50a3
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Aug 11 09:20:29 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 96.2% (1830 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit ec77d8ada6f02abd03676febc1b2974c91bc907c
Author: al0cam <benjaminsikac@gmail.com>
Date: Mon Aug 11 09:17:46 2025 +0200
🌐 Add translations for: Croatian
Currently translated at 85.2% (1621 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
commit fce74589887b1439e73324fea8e145273a1a9236
Author: Zvonimir Juranko <zjuranko@gmail.com>
Date: Mon Aug 11 09:17:46 2025 +0200
🌐 Add translations for: Croatian
Currently translated at 85.2% (1621 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
commit e16c2c3118755810d07738671cbd2f7c6452e328
Author: TheScientistPT <joao.ed.reis.gomes@gmail.com>
Date: Mon Aug 11 09:19:29 2025 +0200
🌐 Add translations for: Portuguese (Portugal)
Currently translated at 83.5% (1589 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
commit 7a394c7d4e3d2d43c93218f2e191919a1c23c864
Author: Dário <dariogomes@gmail.com>
Date: Mon Aug 11 09:19:29 2025 +0200
🌐 Add translations for: Portuguese (Portugal)
Currently translated at 83.5% (1589 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
commit 32c157b0c377fbcefeb83c1f1559d32ed935367f
Author: Amerey.eu <info@amerey.eu>
Date: Mon Aug 11 09:15:59 2025 +0200
🌐 Add translations for: Czech
Currently translated at 84.9% (1615 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
commit 3abf6a572727a8a93d6e0fac5f037c9383f213b0
Author: Mikel Larreategi <mlarreategi@codesyntax.com>
Date: Mon Aug 11 09:16:45 2025 +0200
🌐 Add translations for: Basque
Currently translated at 61.4% (1169 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/eu/
commit b9165b23d30672f41324dc0135e6d519c0b704d1
Author: Radek Sawicki <radek@sqrc.pl>
Date: Mon Aug 11 09:19:09 2025 +0200
🌐 Add translations for: Polish
Currently translated at 59.9% (1141 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pl/
commit b02c4cc7df984212eee183f813c7f5f16cd4c9eb
Author: Nicola Bortoletto <nicola.bortoletto@live.com>
Date: Mon Aug 11 09:18:08 2025 +0200
🌐 Add translations for: Italian
Currently translated at 96.2% (1830 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
commit 4eae1c68c2c17d438282a3d5f246609c97bf0064
Author: Valentina Chapellu <valentina.chapellu@gmail.com>
Date: Mon Aug 11 09:18:04 2025 +0200
🌐 Add translations for: Italian
Currently translated at 96.2% (1830 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
commit 225484e99e58fdf32dd888f70bb95f3070b16dc2
Author: Ahmad HosseinBor <123hozeifeh@gmail.com>
Date: Mon Aug 11 09:16:52 2025 +0200
🌐 Add translations for: Persian
Currently translated at 41.0% (780 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fa/
commit 56ad686a1bf5634d52929790a315263fa77f2999
Author: william chen <william.fromtw@gmail.com>
Date: Mon Aug 11 09:20:46 2025 +0200
🌐 Add translations for: Chinese (Traditional Han script)
Currently translated at 85.1% (1620 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
commit 8d7c4c97556f7e5f001183535df09a1c796cdec1
Author: im424 <424@live.hk>
Date: Mon Aug 11 09:20:46 2025 +0200
🌐 Add translations for: Chinese (Traditional Han script)
Currently translated at 85.1% (1620 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
commit 00eea4f7f6fb6a02cd4256a5269d76d5ee678c3f
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Mon Aug 11 09:17:37 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 96.2% (1830 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit 23bed6b374ceee65a2c257ea3c32b9a8726a619d
Author: Linerly <linerly@proton.me>
Date: Mon Aug 11 09:17:52 2025 +0200
🌐 Add translations for: Indonesian
Currently translated at 90.3% (1719 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
commit ab3fb9f1b6b0596f564a1e4ba580a55b2ee5a556
Author: Mahmoud A. Rabo <Mahmoud@s3geeks.com>
Date: Mon Aug 11 09:15:34 2025 +0200
🌐 Add translations for: Arabic
Currently translated at 58.8% (1120 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ar/
commit e1dd8905c6290e7f634de0e0e5228ac38cdbce4d
Author: AlexTECPlayz <alextec70@outlook.com>
Date: Mon Aug 11 09:19:36 2025 +0200
🌐 Add translations for: Romanian
Currently translated at 68.1% (1296 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
commit fb3401c258f195d23a0f33461cd596eaf10b8751
Author: George Lemon <george@getvasco.com>
Date: Mon Aug 11 09:19:35 2025 +0200
🌐 Add translations for: Romanian
Currently translated at 68.1% (1296 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
commit b8e351851472436c70ecf51a59f87dfbc038c2cf
Author: Allan Nordhøy <epost@anotheragency.no>
Date: Mon Aug 11 09:18:56 2025 +0200
🌐 Add translations for: Norwegian Bokmål
Currently translated at 8.7% (166 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nb_NO/
commit 322b67dabc5332d11e004d1ddbd1109c612a8460
Author: Stas Haas <stas@girafic.de>
Date: Mon Aug 11 09:16:14 2025 +0200
🌐 Add translations for: German
Currently translated at 90.1% (1714 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit c46e2d73039f3dcb6c7840060a7086829287ff80
Author: Pablo Alba <pablo.alba@kaleidos.net>
Date: Mon Aug 11 09:16:12 2025 +0200
🌐 Add translations for: German
Currently translated at 90.1% (1714 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit fbc774fe28c2e051c5f7926135955ad39146eff4
Author: Eranot <renato.konflanz@unochapeco.edu.br>
Date: Mon Aug 11 09:19:23 2025 +0200
🌐 Add translations for: Portuguese (Brazil)
Currently translated at 67.0% (1276 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
commit a8f110374dc910462a7e83010b93f01c5ef5c514
Author: 王世阳 <wangshiyangchina@gmail.com>
Date: Mon Aug 11 09:20:38 2025 +0200
🌐 Add translations for: Chinese (Simplified Han script)
Currently translated at 72.0% (1370 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
commit 9a31a6239be28d43157132bfa9d6d7d2543b26ec
Author: Anonymous <noreply@weblate.org>
Date: Mon Aug 11 09:20:38 2025 +0200
🌐 Add translations for: Chinese (Simplified Han script)
Currently translated at 72.0% (1370 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
commit 024ff5c9ed52bca1112828512c60ee3049d956c0
Author: Merih Güz <iletisim@merihguz.com>
Date: Mon Aug 11 09:20:17 2025 +0200
🌐 Add translations for: Turkish
Currently translated at 75.6% (1438 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
commit 5de31af3af03876f5af4bdba91c17b4889386fe9
Author: Çağlar Yeşilyurt <grch@mm.st>
Date: Mon Aug 11 09:20:17 2025 +0200
🌐 Add translations for: Turkish
Currently translated at 75.6% (1438 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/tr/
commit 92ad28a35d98930a895bf9c070aeecce3056a643
Author: The_BadUser <vanjavs41@gmail.com>
Date: Mon Aug 11 09:19:43 2025 +0200
🌐 Add translations for: Russian
Currently translated at 75.8% (1442 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
commit ed9522d50281d56df8ccf7257f028e1ff317b4bc
Author: Vin <k3kelm4vw@mozmail.com>
Date: Mon Aug 11 09:19:43 2025 +0200
🌐 Add translations for: Russian
Currently translated at 75.8% (1442 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
commit 52b2837ef77449020f18d5fb4a3c8af539fe477e
Author: Anonymous <noreply@weblate.org>
Date: Mon Aug 11 09:16:19 2025 +0200
🌐 Add translations for: Greek
Currently translated at 27.0% (515 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/el/
commit 15656760a1546bc877149797fd322f489cd9030a
Author: Ingrid Pigueron <ingridp.uxr@gmail.com>
Date: Mon Aug 11 09:17:17 2025 +0200
🌐 Add translations for: French
Currently translated at 96.1% (1829 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit d6952275de5e9a83bfe4d2238147c80bcfa1e35b
Author: Unreal Vision <unrealvisionyt@gmail.com>
Date: Mon Aug 11 09:17:14 2025 +0200
🌐 Add translations for: French
Currently translated at 96.1% (1829 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 828f535facc0a9d3c586fed027b23443b0698ee2
Author: Louis Chance <contact@louischance.com>
Date: Mon Aug 11 09:17:13 2025 +0200
🌐 Add translations for: French
Currently translated at 96.1% (1829 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 0656f7836a630f409d9fc575e132f250eec7f5a3
Author: Pablo Alba <pablo.alba@kaleidos.net>
Date: Mon Aug 11 09:17:13 2025 +0200
🌐 Add translations for: French
Currently translated at 96.1% (1829 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 0497701d1ca4134549c5b8bd4419466f87111fcd
Author: Anonymous <noreply@weblate.org>
Date: Mon Aug 11 09:16:31 2025 +0200
🌐 Add translations for: Spanish
Currently translated at 97.2% (1850 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es/
commit 22c77ac2bf5fa9f5945bd680b97fafe5779b7324
Author: Andrey Antukh <niwi@niwi.nz>
Date: Mon Aug 11 09:16:25 2025 +0200
🌐 Add translations for: Spanish
Currently translated at 97.2% (1850 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es/
commit cdd3b23d7ccb1cf00fa3b66788df69449f012de7
Author: Aryiu <aryiu@users.noreply.hosted.weblate.org>
Date: Mon Aug 11 09:15:52 2025 +0200
🌐 Add translations for: Catalan
Currently translated at 56.6% (1078 of 1902 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ca/
commit 41ab7871188c93469c9e94ade3c495a7380450e1
Author: Hosted Weblate <hosted@weblate.org>
Date: Mon Aug 11 09:15:14 2025 +0200
🌐 Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
commit 4f46b6b42a9660cdceaf231e9e20615b4e64c8fe
Merge: 58bd7c6bd4 2239711f15
Author: Hosted Weblate <hosted@weblate.org>
Date: Mon Aug 11 09:15:10 2025 +0200
🌐 Merge branch 'origin/develop' into Weblate.
commit 2239711f15f62c29cb7eb1981874ae81019d4b3e
Author: Stas Haas <stas@girafic.de>
Date: Tue Jul 29 07:59:24 2025 +0200
🌐 Add translations for: German
Currently translated at 92.6% (1721 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit 836068ca8cbc3e72a96bfa4be1d239ad2d516d32
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 08:41:57 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 1c2958825198a6194bf99db5cc50a3a386df98f6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:58:53 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit c0f884b12350225c897e0f0843e09a02ea1c6639
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:56:18 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4692c0019c9d09a1019b6605d748d8f3144edf68
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:51:22 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6f74a30b90e39d1cb998dd7a37931d1a55a1bbfb
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:44:43 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e657464742dc9f151313d4450025fd3ac57a6732
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:39:28 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a41e8ed7865083123703710fbdacaa5ee9e506fa
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:34:59 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4d27f8cb303b27f9ddba30d2a2fbc2163c920694
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:27:34 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b5369fa2380beaa190265df4847c81af713bf348
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:03:29 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4d639b62f29e469abce6f463208079e73f70b146
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:02:50 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ddb5fe44ee8e12f6592b4cbf3f0c9f5a1be3f695
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 06:49:11 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e702b556e2ae798e22cc966f6eff421cbc6fda81
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 06:42:32 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f74f8f96e5af79900df3508ee5551d8f85e63558
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 06:40:51 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f7db30ac4d1855b646e0ece454a2153aaaaeb309
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 06:33:44 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 07fd2353f670b981601f5d51aca3f013483af9a6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:29:04 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a8b578cbaa69c6bd1c8319b43a96799267eae98d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:25:49 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 12a9927f7b5b257d2909be6c73af72a58ddfb8b6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:24:52 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2314eab73fa7fcb7b479c16dfb0551a188a7c46e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:23:25 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 88b721c600ff72a2e8bdc4c301f0745a3174fbd5
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:17:17 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 14b4124e4cdf4ced296d234b4dbd76afa5a6166c
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:12:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ccaa8da28c65d0256027f2fbf3e556797ef901fb
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 08:16:45 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e517e2f0152383549a46ac72b4ebc94752dbdbf3
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 08:12:19 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit cb359962bc2aff200c501d8466db1097e93d074e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 08:03:00 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 71205252a4f4aadeed2cf0b6da41722a6d2e38a8
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:51:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit fe56a9fdd177c4ca624b9dbb88bfa30dc31a92f4
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:48:33 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 3f2d9bf68f466c21557e045fcce7aab76441d9da
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:22:29 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e41af1831d5f749e341ce163f520ce2dff5fc7de
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:21:22 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit bb8c9129c9c3cff69ce59b7bfe86560bba977e09
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:20:40 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit efd5849fc1e6e76fdf91b21b0a69be2b7e89cbcf
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:18:52 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 0b2403b8bd2682e4a2cfdfe879b34c83ed5a6913
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:13:43 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 8412b71915047cf0d436279b89f93bc0c77f1c20
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:03:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit fe49d3ccd5697ef830bb71086557f8a249c3ed6e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:02:20 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 48f39509b7a93e501115c3d4cc5d8bb76361b197
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:00:51 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 634df69814a209dc830ffebe471be4e821b849fa
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 06:57:19 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f2ddf8266af3f4d56351883f5ad845327834fe8b
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 06:50:16 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 27d24e6438d34ecfea68b87d0322d51b05cfdb68
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:49:01 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit bc0afe1b8053bb0258b7b18905714d3cc070c55f
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:40:07 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4f6e0bd6778e8105d248f298319b9771c99347a1
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:36:54 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit faae4f0c18ee77bd2330936448823f3caa7df881
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:35:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 5e43671edccc5786f46afba4b1e5c32de39d05a6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:29:10 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6aec58217b608f125e327d9b7048fa163984b8b3
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:24:10 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a20b28bfe96618e507259b6294f6791bc30e1ed3
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:22:34 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 59ee55aa262c7248b9f85f2fdd5b217132b71975
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:21:42 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 3825a6a464c6015f383e90be9155c81da8a1f2c1
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:17:33 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 7fe83a8f347a65e101ec1e01ef30d8791057718f
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 07:39:05 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 7eab18e15ec35f4e7a4eb33fbec17c8fd61c5a65
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 07:28:07 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 66a42acd37df0eecfa409fd460b279565b7c7292
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 07:23:43 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 9eb17f7172141e366eb338b128bf2229deeb1246
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 07:23:08 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2626d45eb96da5e47a5b90c5ba4aa13362b8eea2
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Mon Jul 7 11:56:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f3719edaa121a9c880cf5f670ed18bb6f1806378
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Mon Jul 7 11:43:06 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 67001aafa71aa9dba8c5e1e927c9ce305e14070e
Author: Stephan Paternotte <stephan@paternottes.net>
Date: Mon Jul 7 07:02:49 2025 +0200
🌐 Add translations for: Dutch
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
commit 4d4f5265c00c384a9ba7bb4bf49461279ca536fd
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 12:37:46 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f3cc8ae33cbb6941434cf71d7d4b4e037aa0a594
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 12:19:25 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2d3c0e4a342e1a051d0bf07a580b99a53c12078a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 12:09:45 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4e394b39599e4854ff53374f2ea900d3ea0d49f7
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 09:27:07 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ebef981a652cba41d988e4f93f685c640ecd5efe
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 09:24:00 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6ca42826654fec0fec38631252547323a2226b93
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 09:23:29 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 5bd8c711b63e967ef2657106e8f2e1498a2596e0
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 09:18:58 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6356069174f83939690751f965b641709a7a708e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 08:22:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a3107d059ec8cf8762cca2e258e09595651c7e4c
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 08:09:28 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit c0f2f43b0669a38c05c1bae783359d70bb53957d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 08:01:49 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit d725f53e9ea0c22302485fccc3289e8546124570
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 07:54:46 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6a50a0db429792a41861281f41b1bafd2bebd64d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 07:53:55 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ee382c0d777c65240fdea46222e8249ae131c538
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 11:12:22 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 181d3083e1e03b7b640545479c666a629c3cdacb
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 11:10:31 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e898179de59525f259d5ccfae59f4f2fca309f3d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 11:05:22 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b16596c7b9c3814478c0149e172329a3aa074dd1
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 10:47:59 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ae70f146dc1b187d53bcba575e4c365b9077d42a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:40:00 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4be87babf5605533eed83cee114cf9171c7985cb
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:39:23 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 1f4261a6e5686224cfedfebf385572d565b573c7
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:27:26 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 50db4f8bc8fbac02ef880add7e5e2330ab06dab0
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:17:03 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit d2897327a2aeef26cfc4da4ca63291af7504921e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:13:15 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 5c7f7e4179ab2e510a6fcabb86f66bd1b2827bd6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:09:13 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b1d5bbcd0db8a96967cc067bb29f147b2174eb8a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:06:52 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2cea4705c972032fc7be9b4fbc047a5422846b13
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:03:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 44d01ba7054306027f006fcfca9afad18e1f08ac
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:59:32 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 50a2f98ac6573d47237578dd1bce6d848cc83c78
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:58:33 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit cef20ab80a59ca5da6a14be2c6b3b6fc57ea4aab
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:58:15 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 214f9c2bb1e75fe99fe7407e77eb273d437782cd
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:54:59 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4f9f7a38f811b1948fb9a34fc57f4e9d0ddf1c1b
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:46:36 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit be7e929ae70344d6f4349eae569a3012bdfe2e2a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:12:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4db59803d86f78a35538b089f122291a2577716d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:06:20 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 14aad9500e7c901573effbb5fdff2a8a0bcca036
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:05:29 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 85014b458caa951d798e45000b02f25b9fdad271
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:02:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 002a623606025367f33870c8074e2ea486315b5d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:01:16 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b72efd33dfeadefcb9f63e68e59cb16fb6366483
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:57:48 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ab75e51c330561eb132eef8354908fcbd8b3ec09
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:57:18 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2bae66951b930e872c06443b78c36c225c564438
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:45:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 1151123aeabfcad65410bd44d6e04685d21ba5ed
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:40:17 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 97a4f34e599d4f1ac6da3029cab3d993ee3ab4da
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:35:28 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a2e1ec123bce716ea0bcc2542809398ec3f65cb1
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:30:19 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 9e72ab6771857ec0814cd0fa22dac6bf1470901a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:28:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 87849347286683544dba68e9a1cbdc9fc06b7ff3
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:22:13 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 1e359566b91bf23270a34ed398b058a635a7de7b
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:35:56 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit 312ee3f7036615fce7f88b880accce71605470dc
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:31:42 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit 7ca4e07d12e419e11b2d0079acb8133beac1315a
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:29:26 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit 3e1db432d2fef95542ea9d0d5e4c164ab2190e11
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:22:29 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit f6121a315de283a8a0b2e163aeaff48851a42a25
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:19:07 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit e1720aae76015fba1754575dc743a3021040e04a
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:15:08 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit a399deae487af3db9127adc89aa39bd813296ecf
Author: Corentin Noël <tintou@noel.tf>
Date: Fri Jun 27 14:26:07 2025 +0200
🌐 Add translations for: French
Currently translated at 99.8% (1855 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 1c81b4c9b3bac3bc210b16ba9691cc5e2917c896
Author: Ingrid Pigueron <ingridp.uxr@gmail.com>
Date: Thu Jun 26 11:31:04 2025 +0200
🌐 Add translations for: French
Currently translated at 99.8% (1854 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 0c756f50747fd9a0031e398d6bba4903d402519a
Author: Stas Haas <stas@girafic.de>
Date: Sun Jun 22 11:35:49 2025 +0200
🌐 Add translations for: German
Currently translated at 92.6% (1720 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit eaa9d3e2bccf4f2fb9aa9f23fee530c7efe5e720
Author: al0cam <benjaminsikac@gmail.com>
Date: Thu Jun 19 14:48:06 2025 +0200
🌐 Add translations for: Croatian
Currently translated at 87.4% (1624 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
commit 8fc4f74bf8e8e754f780a155c2eb8f6d9c51f3b4
Author: Stas Haas <stas@girafic.de>
Date: Tue Jun 17 09:06:30 2025 +0200
🌐 Add translations for: German
Currently translated at 91.9% (1708 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit 4d396ef7f7b1be2ec5f57d671717ae1dbb9419ab
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 16 21:34:47 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit 28dcfb52785fecca69a4bf22ac7222b330d29f9f
Author: al0cam <benjaminsikac@gmail.com>
Date: Mon Jun 16 07:54:05 2025 +0200
🌐 Add translations for: Croatian
Currently translated at 87.2% (1620 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
commit 680c9a1a0ebe3b323cf1bc7d3f92d7e0bda53c7a
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Mon Jun 16 18:51:01 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit 6e3f6ed276b74df94a64af294ea4ca80ac1c43f6
Author: Ingrid Pigueron <ingridp.uxr@gmail.com>
Date: Sat Jun 14 12:53:48 2025 +0200
🌐 Add translations for: French
Currently translated at 99.8% (1854 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit feabe2414490e29db3fbabf20a00d890df9907d8
Author: Nicola Bortoletto <nicola.bortoletto@live.com>
Date: Fri Jun 13 08:26:35 2025 +0200
🌐 Add translations for: Italian
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
commit a3b49ee9510b53ae5b010bfbcfb5022a79f6fe1b
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Thu Jun 12 08:17:05 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 97.0% (1803 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit c775173ec6f5d22964e9b79cc2a80e3cbd08fccb
Author: Stas Haas <stas@girafic.de>
Date: Thu Jun 12 10:56:20 2025 +0200
🌐 Add translations for: German
Currently translated at 90.7% (1686 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit 249051c087fd679f7d5a5c604a65c1eb6fb377d0
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Wed Jun 11 11:24:21 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 96.9% (1800 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit d33693bf9f8aa419b7688deed03a26926d7b5338
Author: Stas Haas <stas@girafic.de>
Date: Tue Jun 10 15:05:19 2025 +0200
🌐 Add translations for: German
Currently translated at 90.4% (1680 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit c3d4852c7f61ac398aa505eb0f1b3e0a5e6a6f49
Author: Unreal Vision <unrealvisionyt@gmail.com>
Date: Tue Jun 10 14:59:59 2025 +0200
🌐 Add translations for: French
Currently translated at 99.7% (1853 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 16e6fadb8dd1c2285c64fde7079d6b33c8a7f6a6
Author: Rudra Harsh <harshrudra020@gmail.com>
Date: Mon Jun 9 15:46:43 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 1.2% (23 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 7653bc6060bc0f6ad0664549cc46a15d7e72ccd7
Author: Stephan Paternotte <stephan@paternottes.net>
Date: Tue Jun 10 05:46:17 2025 +0200
🌐 Add translations for: Dutch
Currently translated at 99.7% (1853 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
commit 0f65e960b1de543b9133e6742a732e46967d1f83
Author: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv>
Date: Tue Jun 10 11:51:03 2025 +0200
🌐 Add translations for: Latvian
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
commit 05f12ae1bf59986cdc8f5e98ac14c33d6c0e79e2
Author: Nicola Bortoletto <nicola.bortoletto@live.com>
Date: Mon Jun 9 23:14:58 2025 +0200
🌐 Add translations for: Italian
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
commit 2e16f175f57b757a5de4f387caf58331ec5dc822
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Mon Jun 9 19:01:14 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 96.6% (1794 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit a202b8b663c3a32af7e21f662907d8365fb587c5
Author: Stas Haas <stas@girafic.de>
Date: Tue Jun 10 14:57:32 2025 +0200
🌐 Add translations for: German
Currently translated at 90.0% (1672 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit ffe9682df9a5a65dc1f582844e566cf3eff32a08
Author: Unreal Vision <unrealvisionyt@gmail.com>
Date: Tue Jun 10 14:56:54 2025 +0200
🌐 Add translations for: French
Currently translated at 98.7% (1833 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit f8f4abe8007491f5392bfb1ab5cbfba618e22700
Author: Ingrid Pigueron <ingridp.uxr@gmail.com>
Date: Mon Jun 9 19:44:09 2025 +0200
🌐 Add translations for: French
Currently translated at 98.7% (1833 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit bb6fee5a9ba86eb823c22fae22a49afdcc36c659
Author: Rudra Harsh <harshrudra020@gmail.com>
Date: Mon Jun 9 15:21:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 0.5% (11 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 55b4c5c07827d4b6eda2ffcc71caca81e6f36534
Author: Madalena Melo <madalena.melo@kaleidos.net>
Date: Mon Jun 9 11:52:50 2025 +0200
🌐 Added translation for: Hindi
2025-08-11 09:21:55 +02:00
Andrey Antukh
58bd7c6bd4
✨ Import translations from weblate
...
commit 2239711f15f62c29cb7eb1981874ae81019d4b3e
Author: Stas Haas <stas@girafic.de>
Date: Tue Jul 29 07:59:24 2025 +0200
🌐 Add translations for: German
Currently translated at 92.6% (1721 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit 836068ca8cbc3e72a96bfa4be1d239ad2d516d32
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 08:41:57 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 1c2958825198a6194bf99db5cc50a3a386df98f6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:58:53 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit c0f884b12350225c897e0f0843e09a02ea1c6639
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:56:18 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4692c0019c9d09a1019b6605d748d8f3144edf68
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:51:22 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6f74a30b90e39d1cb998dd7a37931d1a55a1bbfb
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:44:43 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e657464742dc9f151313d4450025fd3ac57a6732
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:39:28 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a41e8ed7865083123703710fbdacaa5ee9e506fa
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:34:59 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4d27f8cb303b27f9ddba30d2a2fbc2163c920694
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:27:34 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b5369fa2380beaa190265df4847c81af713bf348
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:03:29 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4d639b62f29e469abce6f463208079e73f70b146
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 07:02:50 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ddb5fe44ee8e12f6592b4cbf3f0c9f5a1be3f695
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 06:49:11 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e702b556e2ae798e22cc966f6eff421cbc6fda81
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 06:42:32 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f74f8f96e5af79900df3508ee5551d8f85e63558
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 06:40:51 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f7db30ac4d1855b646e0ece454a2153aaaaeb309
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 10 06:33:44 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 100.0% (1857 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 07fd2353f670b981601f5d51aca3f013483af9a6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:29:04 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a8b578cbaa69c6bd1c8319b43a96799267eae98d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:25:49 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 12a9927f7b5b257d2909be6c73af72a58ddfb8b6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:24:52 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2314eab73fa7fcb7b479c16dfb0551a188a7c46e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:23:25 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 88b721c600ff72a2e8bdc4c301f0745a3174fbd5
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:17:17 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 14b4124e4cdf4ced296d234b4dbd76afa5a6166c
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 09:12:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ccaa8da28c65d0256027f2fbf3e556797ef901fb
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 08:16:45 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e517e2f0152383549a46ac72b4ebc94752dbdbf3
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 08:12:19 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit cb359962bc2aff200c501d8466db1097e93d074e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 08:03:00 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 71205252a4f4aadeed2cf0b6da41722a6d2e38a8
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:51:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit fe56a9fdd177c4ca624b9dbb88bfa30dc31a92f4
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:48:33 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 3f2d9bf68f466c21557e045fcce7aab76441d9da
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:22:29 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e41af1831d5f749e341ce163f520ce2dff5fc7de
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:21:22 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit bb8c9129c9c3cff69ce59b7bfe86560bba977e09
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:20:40 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit efd5849fc1e6e76fdf91b21b0a69be2b7e89cbcf
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:18:52 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 0b2403b8bd2682e4a2cfdfe879b34c83ed5a6913
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:13:43 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 8412b71915047cf0d436279b89f93bc0c77f1c20
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:03:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit fe49d3ccd5697ef830bb71086557f8a249c3ed6e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:02:20 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 48f39509b7a93e501115c3d4cc5d8bb76361b197
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 07:00:51 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 634df69814a209dc830ffebe471be4e821b849fa
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 06:57:19 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f2ddf8266af3f4d56351883f5ad845327834fe8b
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Wed Jul 9 06:50:16 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 27d24e6438d34ecfea68b87d0322d51b05cfdb68
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:49:01 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit bc0afe1b8053bb0258b7b18905714d3cc070c55f
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:40:07 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4f6e0bd6778e8105d248f298319b9771c99347a1
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:36:54 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit faae4f0c18ee77bd2330936448823f3caa7df881
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:35:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 5e43671edccc5786f46afba4b1e5c32de39d05a6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:29:10 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6aec58217b608f125e327d9b7048fa163984b8b3
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:24:10 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a20b28bfe96618e507259b6294f6791bc30e1ed3
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:22:34 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 59ee55aa262c7248b9f85f2fdd5b217132b71975
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:21:42 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 3825a6a464c6015f383e90be9155c81da8a1f2c1
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 09:17:33 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 82.7% (1536 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 7fe83a8f347a65e101ec1e01ef30d8791057718f
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 07:39:05 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 7eab18e15ec35f4e7a4eb33fbec17c8fd61c5a65
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 07:28:07 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 66a42acd37df0eecfa409fd460b279565b7c7292
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 07:23:43 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 9eb17f7172141e366eb338b128bf2229deeb1246
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Tue Jul 8 07:23:08 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2626d45eb96da5e47a5b90c5ba4aa13362b8eea2
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Mon Jul 7 11:56:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f3719edaa121a9c880cf5f670ed18bb6f1806378
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Mon Jul 7 11:43:06 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 52.2% (970 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 67001aafa71aa9dba8c5e1e927c9ce305e14070e
Author: Stephan Paternotte <stephan@paternottes.net>
Date: Mon Jul 7 07:02:49 2025 +0200
🌐 Add translations for: Dutch
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
commit 4d4f5265c00c384a9ba7bb4bf49461279ca536fd
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 12:37:46 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit f3cc8ae33cbb6941434cf71d7d4b4e037aa0a594
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 12:19:25 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2d3c0e4a342e1a051d0bf07a580b99a53c12078a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 12:09:45 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4e394b39599e4854ff53374f2ea900d3ea0d49f7
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 09:27:07 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ebef981a652cba41d988e4f93f685c640ecd5efe
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 09:24:00 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6ca42826654fec0fec38631252547323a2226b93
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 09:23:29 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 5bd8c711b63e967ef2657106e8f2e1498a2596e0
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 09:18:58 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6356069174f83939690751f965b641709a7a708e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 08:22:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a3107d059ec8cf8762cca2e258e09595651c7e4c
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 08:09:28 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 40.3% (750 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit c0f2f43b0669a38c05c1bae783359d70bb53957d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 08:01:49 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit d725f53e9ea0c22302485fccc3289e8546124570
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 07:54:46 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 6a50a0db429792a41861281f41b1bafd2bebd64d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Fri Jul 4 07:53:55 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ee382c0d777c65240fdea46222e8249ae131c538
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 11:12:22 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 181d3083e1e03b7b640545479c666a629c3cdacb
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 11:10:31 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit e898179de59525f259d5ccfae59f4f2fca309f3d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 11:05:22 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b16596c7b9c3814478c0149e172329a3aa074dd1
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 10:47:59 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ae70f146dc1b187d53bcba575e4c365b9077d42a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:40:00 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4be87babf5605533eed83cee114cf9171c7985cb
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:39:23 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 1f4261a6e5686224cfedfebf385572d565b573c7
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:27:26 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 50db4f8bc8fbac02ef880add7e5e2330ab06dab0
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:17:03 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit d2897327a2aeef26cfc4da4ca63291af7504921e
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:13:15 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 5c7f7e4179ab2e510a6fcabb86f66bd1b2827bd6
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:09:13 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b1d5bbcd0db8a96967cc067bb29f147b2174eb8a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:06:52 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2cea4705c972032fc7be9b4fbc047a5422846b13
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 09:03:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 44d01ba7054306027f006fcfca9afad18e1f08ac
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:59:32 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 50a2f98ac6573d47237578dd1bce6d848cc83c78
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:58:33 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit cef20ab80a59ca5da6a14be2c6b3b6fc57ea4aab
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:58:15 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 214f9c2bb1e75fe99fe7407e77eb273d437782cd
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:54:59 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4f9f7a38f811b1948fb9a34fc57f4e9d0ddf1c1b
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:46:36 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit be7e929ae70344d6f4349eae569a3012bdfe2e2a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:12:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 4db59803d86f78a35538b089f122291a2577716d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:06:20 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 14aad9500e7c901573effbb5fdff2a8a0bcca036
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:05:29 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 85014b458caa951d798e45000b02f25b9fdad271
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:02:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 002a623606025367f33870c8074e2ea486315b5d
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 08:01:16 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit b72efd33dfeadefcb9f63e68e59cb16fb6366483
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:57:48 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit ab75e51c330561eb132eef8354908fcbd8b3ec09
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:57:18 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 2bae66951b930e872c06443b78c36c225c564438
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:45:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 1151123aeabfcad65410bd44d6e04685d21ba5ed
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:40:17 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 97a4f34e599d4f1ac6da3029cab3d993ee3ab4da
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:35:28 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit a2e1ec123bce716ea0bcc2542809398ec3f65cb1
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:30:19 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 9e72ab6771857ec0814cd0fa22dac6bf1470901a
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:28:38 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 87849347286683544dba68e9a1cbdc9fc06b7ff3
Author: VKing9 <vaibhavrathod2282@gmail.com>
Date: Thu Jul 3 07:22:13 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 27.3% (508 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 1e359566b91bf23270a34ed398b058a635a7de7b
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:35:56 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit 312ee3f7036615fce7f88b880accce71605470dc
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:31:42 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit 7ca4e07d12e419e11b2d0079acb8133beac1315a
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:29:26 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit 3e1db432d2fef95542ea9d0d5e4c164ab2190e11
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:22:29 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit f6121a315de283a8a0b2e163aeaff48851a42a25
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:19:07 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit e1720aae76015fba1754575dc743a3021040e04a
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 30 14:15:08 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit a399deae487af3db9127adc89aa39bd813296ecf
Author: Corentin Noël <tintou@noel.tf>
Date: Fri Jun 27 14:26:07 2025 +0200
🌐 Add translations for: French
Currently translated at 99.8% (1855 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 1c81b4c9b3bac3bc210b16ba9691cc5e2917c896
Author: Ingrid Pigueron <ingridp.uxr@gmail.com>
Date: Thu Jun 26 11:31:04 2025 +0200
🌐 Add translations for: French
Currently translated at 99.8% (1854 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 0c756f50747fd9a0031e398d6bba4903d402519a
Author: Stas Haas <stas@girafic.de>
Date: Sun Jun 22 11:35:49 2025 +0200
🌐 Add translations for: German
Currently translated at 92.6% (1720 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit eaa9d3e2bccf4f2fb9aa9f23fee530c7efe5e720
Author: al0cam <benjaminsikac@gmail.com>
Date: Thu Jun 19 14:48:06 2025 +0200
🌐 Add translations for: Croatian
Currently translated at 87.4% (1624 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
commit 8fc4f74bf8e8e754f780a155c2eb8f6d9c51f3b4
Author: Stas Haas <stas@girafic.de>
Date: Tue Jun 17 09:06:30 2025 +0200
🌐 Add translations for: German
Currently translated at 91.9% (1708 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit 4d396ef7f7b1be2ec5f57d671717ae1dbb9419ab
Author: Denys Kisil <ossenjoyer@proton.me>
Date: Mon Jun 16 21:34:47 2025 +0200
🌐 Add translations for: Ukrainian (ukr_UA)
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
commit 28dcfb52785fecca69a4bf22ac7222b330d29f9f
Author: al0cam <benjaminsikac@gmail.com>
Date: Mon Jun 16 07:54:05 2025 +0200
🌐 Add translations for: Croatian
Currently translated at 87.2% (1620 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
commit 680c9a1a0ebe3b323cf1bc7d3f92d7e0bda53c7a
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Mon Jun 16 18:51:01 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit 6e3f6ed276b74df94a64af294ea4ca80ac1c43f6
Author: Ingrid Pigueron <ingridp.uxr@gmail.com>
Date: Sat Jun 14 12:53:48 2025 +0200
🌐 Add translations for: French
Currently translated at 99.8% (1854 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit feabe2414490e29db3fbabf20a00d890df9907d8
Author: Nicola Bortoletto <nicola.bortoletto@live.com>
Date: Fri Jun 13 08:26:35 2025 +0200
🌐 Add translations for: Italian
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
commit a3b49ee9510b53ae5b010bfbcfb5022a79f6fe1b
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Thu Jun 12 08:17:05 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 97.0% (1803 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit c775173ec6f5d22964e9b79cc2a80e3cbd08fccb
Author: Stas Haas <stas@girafic.de>
Date: Thu Jun 12 10:56:20 2025 +0200
🌐 Add translations for: German
Currently translated at 90.7% (1686 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit 249051c087fd679f7d5a5c604a65c1eb6fb377d0
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Wed Jun 11 11:24:21 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 96.9% (1800 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit d33693bf9f8aa419b7688deed03a26926d7b5338
Author: Stas Haas <stas@girafic.de>
Date: Tue Jun 10 15:05:19 2025 +0200
🌐 Add translations for: German
Currently translated at 90.4% (1680 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit c3d4852c7f61ac398aa505eb0f1b3e0a5e6a6f49
Author: Unreal Vision <unrealvisionyt@gmail.com>
Date: Tue Jun 10 14:59:59 2025 +0200
🌐 Add translations for: French
Currently translated at 99.7% (1853 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit 16e6fadb8dd1c2285c64fde7079d6b33c8a7f6a6
Author: Rudra Harsh <harshrudra020@gmail.com>
Date: Mon Jun 9 15:46:43 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 1.2% (23 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 7653bc6060bc0f6ad0664549cc46a15d7e72ccd7
Author: Stephan Paternotte <stephan@paternottes.net>
Date: Tue Jun 10 05:46:17 2025 +0200
🌐 Add translations for: Dutch
Currently translated at 99.7% (1853 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
commit 0f65e960b1de543b9133e6742a732e46967d1f83
Author: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv>
Date: Tue Jun 10 11:51:03 2025 +0200
🌐 Add translations for: Latvian
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
commit 05f12ae1bf59986cdc8f5e98ac14c33d6c0e79e2
Author: Nicola Bortoletto <nicola.bortoletto@live.com>
Date: Mon Jun 9 23:14:58 2025 +0200
🌐 Add translations for: Italian
Currently translated at 99.9% (1856 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
commit 2e16f175f57b757a5de4f387caf58331ec5dc822
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Mon Jun 9 19:01:14 2025 +0200
🌐 Add translations for: Hebrew
Currently translated at 96.6% (1794 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
commit a202b8b663c3a32af7e21f662907d8365fb587c5
Author: Stas Haas <stas@girafic.de>
Date: Tue Jun 10 14:57:32 2025 +0200
🌐 Add translations for: German
Currently translated at 90.0% (1672 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
commit ffe9682df9a5a65dc1f582844e566cf3eff32a08
Author: Unreal Vision <unrealvisionyt@gmail.com>
Date: Tue Jun 10 14:56:54 2025 +0200
🌐 Add translations for: French
Currently translated at 98.7% (1833 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit f8f4abe8007491f5392bfb1ab5cbfba618e22700
Author: Ingrid Pigueron <ingridp.uxr@gmail.com>
Date: Mon Jun 9 19:44:09 2025 +0200
🌐 Add translations for: French
Currently translated at 98.7% (1833 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
commit bb6fee5a9ba86eb823c22fae22a49afdcc36c659
Author: Rudra Harsh <harshrudra020@gmail.com>
Date: Mon Jun 9 15:21:41 2025 +0200
🌐 Add translations for: Hindi
Currently translated at 0.5% (11 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hi/
commit 55b4c5c07827d4b6eda2ffcc71caca81e6f36534
Author: Madalena Melo <madalena.melo@kaleidos.net>
Date: Mon Jun 9 11:52:50 2025 +0200
🌐 Added translation for: Hindi
2025-08-11 09:14:05 +02:00
Andrey Antukh
f02667e031
Merge remote-tracking branch 'origin/staging' into develop
2025-08-11 09:12:03 +02:00
Alejandro Alonso
8e0a6e4123
🐛 Fix auto height is fixed in the HTML inspect tab for text elements ( #7078 )
2025-08-11 09:07:43 +02:00
Marina López
0131cd6f8b
✨ Display the total price of the subscription and the cap amount ( #7088 )
2025-08-11 09:07:24 +02:00
Alejandro Alonso
99b40cecf2
Revert " 🐛 Fix big blur rendering for wasm render"
...
This reverts commit c7a4c67d8390b84bae113382bb1fc9c7435f2dce.
2025-08-09 08:44:52 +02:00
Alejandro Alonso
c7a4c67d83
🐛 Fix big blur rendering for wasm render
2025-08-09 08:42:55 +02:00
Florian Schrödl
c29a8cb0c4
✨ Implement font-weight token ( #7089 )
2025-08-08 11:11:18 +02:00
Andrey Antukh
288a7b21d6
Merge tag '2.9.0-RC8'
2025-08-08 09:47:42 +02:00
andrés gonzález
32bd08533d
💄 Remove slide about overrides in the release notes ( #7086 )
2025-08-08 09:46:40 +02:00
Yamila Moreno
c1aae12327
📎 Improve gh actions
2025-08-07 18:08:25 +02:00
Yamila Moreno
23a6f4b7c1
📎 Improve gh actions
2025-08-07 18:07:47 +02:00
Yamila Moreno
a9f4fe84fa
📎 Improve gh actions
2025-08-07 17:51:20 +02:00
Andrey Antukh
133e6e1e68
Merge tag '2.9.0-RC7'
2025-08-07 16:30:30 +02:00
Andrey Antukh
f7832585dc
✨ Add tests for snapshot locking ( #7085 )
2025-08-07 16:27:43 +02:00
Eva Marco
e34bfb50a8
🐛 Fix font variant names for source sans pro font ( #7087 )
2025-08-07 16:25:15 +02:00
Andrey Antukh
6abd045273
🐛 Add missing generator for token-set file change operation ( #7080 )
...
* 🐛 Add missing generator for token-set file change operation
* 🐛 Use ::sm/any instead of :any for on get-file-data-for-thumbnail rpc method
Mainly because :any will use a very generic generator that can generate
instances of Character that are not directly serializable to JSON
2025-08-07 12:36:14 +02:00
Florian Schrödl
0a106c2604
🐛 Fix import of borderWidth ( #7084 )
2025-08-07 12:16:18 +02:00
Andrey Antukh
8f5f88743b
✨ Normalize font variant naming for google fonts ( #7083 )
2025-08-07 11:14:40 +02:00
Florian Schrödl
9562d2f1f0
✨ Allow font-families with surrounding quotation marks ( #7081 )
2025-08-07 11:13:04 +02:00
Andrey Antukh
ea482f16c8
💄 Add minor cosmetic changes to dashboard sidebar components ( #7052 )
...
* 💄 Change component decl style of sidebar-team-switch
* 💄 Change component decl style of sidebar-search
* 💄 Add general cosmetic changes to sidebar components
2025-08-07 10:57:46 +02:00
Alejandro Alonso
50634e1a4c
🐛 Fix selection lost when using keyboard
2025-08-07 09:28:17 +02:00
Andrey Antukh
56de96d25b
Merge remote-tracking branch 'origin/staging' into develop
2025-08-07 08:04:40 +02:00
Luis de Dios
5d1c20c47c
🐛 Fix focus new added property ( #7065 )
2025-08-07 07:47:17 +02:00
Marina López
778a608854
🐛 Fix tooltip for icon plans from team dropdown ( #7075 )
2025-08-07 07:43:49 +02:00
andrés gonzález
7de8e10721
🐛 Fix changelog link ( #7070 )
2025-08-07 07:43:11 +02:00
andrés gonzález
80f41c4a69
🐛 Fix issue where Alt + arrow keys shortcut interferes with letter-spacing ( #7071 )
2025-08-07 07:42:33 +02:00
Luis de Dios
a3557a81e4
🐛 Fix add space between the name and the index of new properties ( #7068 )
2025-08-07 07:41:33 +02:00
Luis de Dios
0a02e526ee
✨ Treat empty names as a malformed formula ( #7073 )
2025-08-07 07:41:07 +02:00
Luis de Dios
db9349e764
💄 Style improvements in the swap panel ( #7077 )
2025-08-07 07:40:38 +02:00
Belén Albeza
60903f349f
🐛 Fix color picker not working with the new renderer
2025-08-06 18:00:48 +02:00
Florian Schrödl
b91e955486
✨ Text decoration fixes ( #7066 )
...
* ✨ Show text more options when apply text decoration token
* 🐛 Fix placeholder
2025-08-06 16:23:38 +02:00
Marina López
a76a9fae41
🐛 Fix an unused translation ( #7074 )
2025-08-06 13:28:02 +02:00
Andrey Antukh
f7cfbdd229
🐛 Comment the problematic migration
2025-08-05 22:05:52 +02:00
Andrey Antukh
e28d2842f6
🐛 Revert the revert of orientation detection on media
...
This reverts commit 515cbf7befb3d5af188ba86549fe4da57f3b1cee.
2025-08-05 22:03:09 +02:00
Andrey Antukh
ccc3ca0948
✨ Disable virtual threads on http server
2025-08-05 20:34:47 +02:00
Andrey Antukh
515cbf7bef
🐛 Revert orientation detection on media
2025-08-05 19:30:01 +02:00
Andrey Antukh
c320cbc47b
🐛 Revert to semaphore based climit impl
2025-08-05 19:17:35 +02:00
Yamila Moreno
6166f45a7f
Merge pull request #7069 from penpot/yms-update-k8s-documentation
...
📚 Update k8s documentation
2025-08-05 15:44:59 +02:00
Yamila Moreno
c103eb86db
📚 Update k8s documentation
2025-08-05 13:55:39 +02:00
Alejandro Alonso
61d93d69b1
Merge pull request #7048 from penpot/elenatorro-11704-fix-symbols-font
...
✨ Include symbols support
2025-08-05 13:40:16 +02:00
Belén Albeza
d5abf34538
🐛 Fix text style change not being applied ( #7036 )
...
* 🐛 Fix text styles not being applied to current cursor
* 🔧 Add text file for bug 11552
* 📚 Update changelog
2025-08-05 13:35:54 +02:00
Alejandro Alonso
7efc297cd9
Merge pull request #7053 from penpot/ladybenko-11678-compact-keep-ratio-flag
...
✨ Compact fill serialization (opacity + flags)
2025-08-05 13:29:49 +02:00
Alejandro Alonso
98522a390e
🐛 Fix frames extrect calculation
2025-08-05 13:25:25 +02:00
Andrey Antukh
46969585ed
✨ Disable native buffers usage on xnio
...
A temporal change for investigate native memory leak
2025-08-04 22:13:08 +02:00
Andrey Antukh
47882c5419
✨ Add missing parameter on climit instance creation
2025-08-04 19:53:56 +02:00
andrés gonzález
019d5e083a
💄 Change copys at the 2.9 release slides ( #7063 )
2025-08-04 19:53:50 +02:00
Belén Albeza
6fc949844d
✨ Use 1 byte to store opacity in gradient fills
2025-08-04 14:13:40 +02:00
Andrey Antukh
97e8c9250a
Merge remote-tracking branch 'origin/staging' into develop
2025-08-04 14:10:57 +02:00
Andrey Antukh
85f6cf32ae
🐛 Several bugfixes ( #7062 )
...
* 🐛 Fix incorrect status validation on subscription internal api
* 🐛 Make the shortcuts overwritting optional
2025-08-04 13:54:29 +02:00
Marina López
ded8e39e73
🐛 Fix hidden button in subscribe modal when there is a large number of teams ( #7061 )
2025-08-04 13:16:58 +02:00
Florian Schrödl
551313d3de
✨ Text case fixes ( #7058 )
...
* ✨ Add placeholder
* ✨ Remove status icon
2025-08-04 12:13:57 +02:00
Andrey Antukh
e730200873
🐛 Fix pinned project ordering on dashboard sidebar ( #7060 )
2025-08-04 12:07:19 +02:00
Andrey Antukh
433e61bc4e
Merge remote-tracking branch 'origin/staging' into develop
2025-08-04 11:52:24 +02:00
Andrei Fëdorov
818b03d8f2
✨ Add text decoration token ( #7049 )
2025-08-04 10:47:09 +02:00
Belén Albeza
ae3aef8dcc
✨ Use existing space for storing image fill flags
2025-08-04 10:42:56 +02:00
Luis de Dios
1b30325640
🐛 Fix adjust focus in select component ( #7024 )
2025-08-04 10:21:17 +02:00
Yamila Moreno
44d626d578
📎 Fix typo in documentation
2025-08-01 16:32:42 +02:00
Francis Santiago
4501d13961
📚 Clarify OpenShift requirements ( #6937 )
...
* 📚 Clarify OpenShift requirements
* 📚 Remove the click for expanding
2025-08-01 16:26:04 +02:00
Elena Torró
c8f5ec4698
♻️ Refactor dropdown-menu and make dropdown visibility exclusive ( #6956 )
...
* 🐛 Fix having multiple dropdown menus opened on dashboard page
* ♻️ Refactor dropdown-menu
Make it follow new standards and make it external api more usable,
not depending on manually provided list of ids.
This also implements the autoclosing of "other" active/open
dropdown-menu (or other similar components).
* 📎 Add PR feedback changes
* 🐛 Fix incorrect event handling on project-menu
* 🐛 Fix unexpected exception
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-08-01 16:14:15 +02:00
Pablo Alba
07b15819d4
🎉 Add the ability to create variants from a selection ( #7045 )
...
* 🎉 Add the ability to create variants from a selection
* 📎 Add PR feedback changes
* 💄 Add minor cosmetic changes
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-08-01 15:39:46 +02:00
Elena Torró
f519c6ef46
✨ Center team settings properly ( #7021 )
2025-08-01 15:17:32 +02:00
Juan de la Cruz
baa1cfb2f8
🎉 Add 2.9 release slides ( #7019 )
2025-08-01 14:59:11 +02:00
Eva Marco
905699d15a
✨ Add info to apply-token events ( #7050 )
2025-08-01 14:00:30 +02:00
Eva Marco
fe53869308
🐛 Fix small details on number token application ( #7051 )
2025-08-01 13:52:09 +02:00
Elena Torro
c69ee35e18
✨ Include symbols support
2025-08-01 13:41:12 +02:00
Luis de Dios
8d5ee92f16
🐛 Fix show 'add new property' from menu when a variant is selected ( #7042 )
2025-08-01 13:21:19 +02:00
Andrey Antukh
e55d184d2b
Merge remote-tracking branch 'origin/staging' into develop
2025-08-01 13:13:56 +02:00
Andrey Antukh
50076bac83
Merge remote-tracking branch 'origin/main' into staging
2025-08-01 13:10:52 +02:00
Eva Marco
e976714964
🐛 Fix error on inspect tab with texts ( #7032 )
2025-08-01 13:03:43 +02:00
Brandon Currell
44bc4b7fa4
🐳 Add missing package in the exporter Docker image ( #7026 )
...
penpot-exporter requires poppler-utils for exporting to a PDF, but it is missing.
Added the package to the Dockerfile in the RUN section where dependencies are
being installed.
Signed-off-by: Brandon Currell <brandon+git@currell.pw>
2025-08-01 13:00:51 +02:00
Brandon Currell
ce0d6ffda2
🐳 Add missing package in the exporter Docker image ( #7026 )
...
penpot-exporter requires poppler-utils for exporting to a PDF, but it is missing.
Added the package to the Dockerfile in the RUN section where dependencies are
being installed.
Signed-off-by: Brandon Currell <brandon+git@currell.pw>
2025-08-01 12:59:39 +02:00
Yamila Moreno
5c14f486d7
🐳 Update Imagemagick version
2025-08-01 12:49:11 +02:00
Andrey Antukh
0cbd980b68
🎉 Add imagemagick docker image build scripts ( #6925 )
...
* 🎉 Add imagemagick docker image build scripts
* 📎 Add PR feedback changes
2025-08-01 12:48:47 +02:00
Andrey Antukh
bc2308f2ce
Merge pull request #7011 from penpot/lmcrean-lmcrean-milestones-version-lock
...
🎉 Add the ability to lock/unlock of file versions
2025-08-01 12:40:07 +02:00
Laurie Crean
0b47a366ab
✨ Implement version locking functionality for file snapshots
...
Signed-off-by: Laurie Crean <lmcrean@gmail.com>
2025-08-01 11:41:30 +02:00
Andrey Antukh
1892fa6782
Merge pull request #7043 from penpot/niwinz-develop-refactor-time-helpers
...
♻️ Refactor time related namespaces
2025-08-01 11:35:07 +02:00
Andrey Antukh
6f35b7db24
✨ Add reader tag support for tokens related types
2025-08-01 11:20:01 +02:00
Andrey Antukh
4d9e070bcd
✨ Add reader tag support for types path data
2025-08-01 11:20:01 +02:00
Andrey Antukh
61fe8e8d8e
✨ Add reader tag support for geom matrix
2025-08-01 11:20:01 +02:00
Andrey Antukh
0934095e96
✨ Add reader tag support for geom point
2025-08-01 11:20:01 +02:00
Andrey Antukh
eba2ff7d8d
✨ Add impl for Inst protocol for FileTime class
2025-08-01 11:20:01 +02:00
Andrey Antukh
283eb0419c
♻️ Refactor time related namespaces
...
Mainly removes the custom app.util.time namespace
from frontend and backend and normalize all to use
the app.common.time namespace
2025-08-01 11:20:01 +02:00
Elena Torro
9a0c36c442
🐛 Fix default color when neither fill nor background color is set
2025-07-31 16:17:13 +02:00
luisδμ
ff1d26294a
🐛 Fix create properties with a default value instead of an empty one ( #7033 )
2025-07-31 15:01:51 +02:00
Eva Marco
63bfbbb3c6
🐛 Fix typography token context menu ( #7038 )
2025-07-31 15:00:14 +02:00
Eva Marco
95dda2b1af
🐛 Fix stroke width token application ( #7039 )
2025-07-31 14:59:48 +02:00
Elena Torró
76d725559e
✨ Set default new text fill color depending on background color ( #6998 )
2025-07-31 12:31:54 +02:00
luisδμ
d7ec8ccbc0
🐛 Fix property name cannot be empty ( #7030 )
2025-07-31 12:27:10 +02:00
Juanfran
6def5e285b
🐛 Apply design review fixes for variant connection help ( #11186 ) ( #7016 )
2025-07-31 12:26:04 +02:00
Andrey Antukh
5170872961
Merge pull request #7031 from penpot/eva-fix-export-button-width
...
🐛 Fix export button width on inspect tab
2025-07-31 12:25:03 +02:00
Andrey Antukh
b46e9ee065
Merge remote-tracking branch 'origin/staging' into develop
2025-07-31 12:22:14 +02:00
Andrey Antukh
871ca68e1e
📎 Allow revert commits on github commit checker
2025-07-31 12:14:29 +02:00
Andrey Antukh
0ab896fc76
Revert " ✨ Highlight first font in font selector search, apply on Enter/click"
...
This reverts commit e62567d09e0132c39e5cfb4042df001773d13b08.
2025-07-31 12:14:29 +02:00
Andrey Antukh
6a4b548457
Revert " 🐛 Fix font selector highlight inconsistency ( #6990 )"
...
This reverts commit 708a40bff1d468459d40801ba27c7ca2b7207bcc.
2025-07-31 12:14:29 +02:00
Elena Torró
0457ca4fe5
✨ Use 'desvincular' instead of 'desacoplar' ( #7020 )
2025-07-31 11:50:46 +02:00
Elena Torro
083be7df88
🐛 Fix focus editor check
2025-07-31 10:05:37 +02:00
Eva Marco
695a399941
🐛 Fix export button width on inspect tab
2025-07-31 09:30:46 +02:00
luisδμ
200b69fae2
📚 Improve documentation for combobox and select in the storybook ( #7006 )
2025-07-31 09:05:54 +02:00
Eva Marco
a32463fada
🐛 Fix tooltip position after several shows and hides ( #7022 )
2025-07-31 09:00:05 +02:00
luisδμ
3b04cd37ff
🐛 Fix empty values should not have dimmed text ( #7015 )
2025-07-30 18:06:39 +02:00
Eva Marco
5d44c88988
🐛 Fix token pill not showing position application on dimension token type ( #7018 )
2025-07-30 14:24:10 +02:00
luisδμ
4d688b1d55
🐛 Fix title for button when trying to remove last variant property ( #7017 )
2025-07-30 13:28:42 +02:00
Andrey Antukh
e43b6fb0b7
Merge pull request #6992 from penpot/niwinz-artboard-defaults
...
✨ Add defaults for artboard drawing
2025-07-30 13:27:54 +02:00
Andrey Antukh
7895f03447
💄 Add minor cosmetic changes
2025-07-30 13:11:28 +02:00
Marina López
1f42b2f72d
✨ Show preset name when an option is selected
2025-07-30 13:11:28 +02:00
Andrey Antukh
f4adfe56be
✨ Add defaults for artboard drawing
2025-07-30 13:11:28 +02:00
Alejandro Alonso
33a679fbc0
Merge pull request #6940 from penpot/niwinz-develop-inplace-import
...
🎉 Add support for in-place binfile import
2025-07-30 12:42:37 +02:00
Pablo Alba
9db67cc5e8
🐛 Fix bad swap slot after two swaps ( #6962 )
...
* 🐛 Fix bad swap slot after two swaps
* ✨ MR changes
2025-07-30 12:35:27 +02:00
luisδμ
9834f0596b
🐛 Fix move empty variant values to the end when component is selected ( #7009 )
...
* 🐛 Move empty variant values to the end when component is selected
* 📎 PR changes
2025-07-30 12:29:51 +02:00
Andrey Antukh
ce87d797d1
Merge pull request #7014 from penpot/niwinz-staging-regression-3
...
🐛 Fix several issues related to font/text related tokens
2025-07-30 12:25:28 +02:00
Andrey Antukh
37cec8891f
🎉 Add inplace binfile import support
2025-07-30 12:23:40 +02:00
Andrey Antukh
fd62141c04
✨ Disable pointer-map feature (temporary)
...
Because the upcoming refactor changes several aspects
of that feature and it not make sense to continue have
this active for now, until refactor is merged.
2025-07-30 12:06:41 +02:00
Andrey Antukh
4bdba6894d
✨ Add get-with-sql helper to db module
2025-07-30 12:06:41 +02:00
Andrey Antukh
6c7fef29a8
✨ Improve file data type constructor
2025-07-30 12:06:41 +02:00
Andrey Antukh
a77edc5aa2
✨ Add better uri constructor function
2025-07-30 12:06:41 +02:00
Andrey Antukh
7fde1436e1
🐛 Add missing styles to the empty node on editor-v1
2025-07-30 11:45:39 +02:00
Andrey Antukh
e1c5a32fcb
💄 Fix indentation style on generate-unapply-tokens
2025-07-30 11:45:19 +02:00
Andrey Antukh
b262e6a46f
🐛 Fix incorrect condition on checking text shape attrs
2025-07-30 11:44:07 +02:00
Yamila Moreno
31f37a20e3
Merge pull request #7013 from penpot/yms-simplify-gh-actions
...
✨ Simplify gh-actions workflows
2025-07-30 11:42:39 +02:00
alonso.torres
06b4ae5c96
🐛 Fix problem with layout update touching geometry
2025-07-30 11:27:15 +02:00
Alejandro Alonso
a3e24785d3
Merge pull request #7003 from penpot/alotor-fix-transform
...
🐛 Fix wasm transform issues
2025-07-30 11:10:54 +02:00
Yamila Moreno
78102210a5
✨ Simplify gh-actions workflows
2025-07-30 10:45:01 +02:00
Pablo Alba
7553d68100
🐛 Fix corner case of chained switch and libraries ( #7008 )
2025-07-30 08:44:27 +02:00
Andrey Antukh
2e726b62c3
📎 Update changelog
2025-07-29 20:07:05 +02:00
Andrey Antukh
02acd81c2c
🐛 Add missing profile prop to access style component ( #7007 )
...
* 💄 Fix request-access component style
* 🐛 Add missing profile prop to access style component
2025-07-29 16:04:15 +02:00
Andrey Antukh
44daa1cf65
Merge remote-tracking branch 'origin/staging' into develop
2025-07-29 15:22:14 +02:00
Andrey Antukh
bae2de75ff
Merge branch 'main' into staging
2025-07-29 15:21:58 +02:00
Andrey Antukh
b68c426cd1
🐛 Fix exception on fills menu when binary-fills flag is active
...
And multiple shapes are selected.
2025-07-29 15:10:32 +02:00
Andrey Antukh
5161ef15bf
🐛 Fix regression on show access request dialog ( #7005 )
2025-07-29 14:58:02 +02:00
Andrey Antukh
bdbaa6d597
Merge remote-tracking branch 'origin/staging' into develop
2025-07-29 14:34:35 +02:00
Eva Marco
36d3d94ec9
🐛 Fix X & Y position do not sincronize with tokens ( #7004 )
2025-07-29 14:32:06 +02:00
Andrey Antukh
0e675a725d
📎 Fix linter issues on frontend
...
Caused by the merge from staging to develop
2025-07-29 14:15:01 +02:00
Andrey Antukh
17447d7610
✨ Remove restriction of duplicate bindings on mousetrap
2025-07-29 14:14:19 +02:00
Andrey Antukh
2a3046ba2e
📎 Fix linter issue on common
2025-07-29 14:10:49 +02:00
Andrey Antukh
54d76123d0
Merge remote-tracking branch 'origin/staging' into develop
2025-07-29 14:06:53 +02:00
Andrey Antukh
6ffbf08826
Merge pull request #6969 from penpot/andy-show-keyboard-distance
...
✨ Show distance between layers while moving them with the keyboard
2025-07-29 13:32:53 +02:00
andrés gonzález
708a40bff1
🐛 Fix font selector highlight inconsistency ( #6990 )
...
* 🐛 Fix font selector highlight inconsistency
* ⚡ Add minor performance enhancements
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-07-29 13:12:54 +02:00
Andrey Antukh
d84ee8bb65
⚡ Optimize mousetrap binding setup
2025-07-29 13:12:28 +02:00
Elena Torró
a16f40cb73
✨ Set page objects once on wasm render( #6994 )
2025-07-29 13:00:40 +02:00
Andrey Antukh
02cff2740f
✨ Remove restriction of duplicate bindings on mousetrap
2025-07-29 12:51:39 +02:00
Andres Gonzalez
6049d97ed9
✨ Display continously the distances between layers
...
When a user moves a layer with the keyboard.
2025-07-29 12:51:04 +02:00
Andrey Antukh
3f657a0c04
Merge pull request #6997 from penpot/alotor-fix-wasm-bugs
...
🐛 Fix wasm problems
2025-07-29 12:42:26 +02:00
Marina López
efaf6573bd
📎 Update monetization texts ( #7002 )
2025-07-29 12:42:11 +02:00
alonso.torres
4b020dcc1a
🐛 Fix problem when changing size with user input
2025-07-29 12:16:08 +02:00
alonso.torres
223a468bbf
🐛 Fix problem when moving layout with measure input
2025-07-29 12:15:53 +02:00
alonso.torres
ddd0e447f6
🐛 Fix problem when creating shapes after new page
2025-07-29 12:15:27 +02:00
alonso.torres
0c0c81e9a5
🐛 Fix problem with shape to path not working
2025-07-29 12:15:27 +02:00
Yamila Moreno
001bcbce59
Merge pull request #6995 from penpot/yms-update-imagemagick-version
...
🐳 Update Imagemagick version
2025-07-29 10:58:32 +02:00
Yamila Moreno
c195c07a3f
🐳 Update Imagemagick version
2025-07-29 10:37:11 +02:00
Alejandro Alonso
f5298f51e7
🐛 Fix the context menu always closes after any action ( #6944 )
2025-07-29 09:50:55 +02:00
Alejandro Alonso
46c440fef2
🐛 Fix remove color button in the gradient editor ( #6993 )
2025-07-28 17:48:05 +02:00
Aitor Moreno
e6ac2c1159
Merge pull request #6880 from penpot/elenatorro-fix-editor-crash-on-deleting-entire-selection-firefox
...
🐛 Handle empty paragraph on entire selected text deletion
2025-07-28 17:39:25 +02:00
Florian Schrödl
4c605b8151
✨ Implement text case token ( #6978 )
2025-07-28 17:36:06 +02:00
Elena Torro
2913899aa5
🐛 Fix auto-format on font
2025-07-28 17:31:36 +02:00
Elena Torro
ecd3245612
🐛 Fix request render after pending calls have finished on set-objects
2025-07-28 17:31:36 +02:00
Xaviju
dadeda4476
🐛 Display stroke properties in inspect tab ( #6955 )
2025-07-28 16:17:54 +02:00
Elena Torró
d129557f77
Merge pull request #6988 from penpot/superalex-fix-render-wasm-visible-0-width-strokes
...
🐛 Fix visible 0 width strokes in wasm render
2025-07-28 14:36:07 +02:00
Alejandro Alonso
e77f8b572a
Merge pull request #6953 from penpot/superalex-fix-component-changes-not-propagated
...
🐛 Fix component changes not propagated
2025-07-28 12:53:37 +02:00
Alejandro Alonso
ade5eecf80
🐛 Fix component changes not propagated
2025-07-28 12:38:09 +02:00
Elena Torró
ff7e34e308
Merge pull request #6984 from penpot/superalex-fix-switching-theme-form-wasm-render
...
🐛 Fix switching theme for wasm render
2025-07-28 11:30:41 +02:00
Yamila Moreno
88055294a2
✨ Reuse github workflows ( #6989 )
2025-07-28 09:03:47 +02:00
Alejandro Alonso
e473f45048
🐛 Fix visible 0 width strokes in wasm render
2025-07-28 08:46:47 +02:00
Alejandro Alonso
bcee670ac6
🐛 Fix switching theme for wasm render
2025-07-28 07:44:56 +02:00
andrés gonzález
97fc7702b8
📚 Improve and clarify 'Hide and lock layers' section ( #6975 )
2025-07-25 14:53:32 +02:00
andrés gonzález
54fcd58531
📚 Add doc for resizing text ( #6974 )
...
* 📚 Add doc for resizing text
* 📚 Update docs for text resizing
Co-authored-by: Madalena Melo <madalena.melo@kaleidos.net>
Signed-off-by: andrés gonzález <andres.gonzalez79@gmail.com>
---------
Signed-off-by: andrés gonzález <andres.gonzalez79@gmail.com>
Co-authored-by: Madalena Melo <madalena.melo@kaleidos.net>
2025-07-25 13:20:52 +02:00
andrés gonzález
b7a8747f00
📚 Add doc for tokens zip file import option ( #6973 )
2025-07-25 13:20:39 +02:00
Elena Torró
b93e96a18d
Merge pull request #6958 from penpot/superalex-fix-texts-bigger-than-selrects-in-multiple-tiles
...
🐛 Fix rendering texts bigger than their selrects in mutiple tiles
2025-07-25 13:14:29 +02:00
Alejandro Alonso
b70f6af2df
🐛 Fix rendering texts bigger than their selrects in mutiple tiles
2025-07-25 12:56:57 +02:00
Andrey Antukh
d00de7d5a4
Merge pull request #6960 from penpot/xaviju-remove-image-shape-type-fix
...
🐛 Remove image type from inspect tab panels
2025-07-25 12:49:57 +02:00
andrés gonzález
5ae4dde222
📚 Add font size token doc ( #6972 )
2025-07-25 12:30:56 +02:00
Elena Torro
0e20bb6271
🐛 Fix text width calculation
2025-07-25 12:27:26 +02:00
Xaviju
2fbd4b07e0
🐛 Remove image type from inspect tab panels
2025-07-25 12:08:01 +02:00
Elena Torró
bd15ef4618
Merge pull request #6854 from penpot/ladybenko-11522-fix-missing-font
...
🐛 Fix missing font when pasting text
2025-07-25 11:55:56 +02:00
Belén Albeza
af5b942e05
🐛 Fix copy/paste not working on follow up pastes
2025-07-25 09:53:48 +02:00
Belén Albeza
098fd9fb0f
🐛 Fix not picking up font style / variant in new renderer
2025-07-25 09:48:20 +02:00
Belén Albeza
a242962113
🐛 Fix missing font when pasting text (editor v1)
2025-07-25 09:48:20 +02:00
Elena Torro
2b95e6b7a9
🐛 Fix update canvas background color
2025-07-25 09:19:59 +02:00
Florian Schroedl
58a843ea23
✨ Remove token when applying tyopgraphic asset style
2025-07-24 17:51:53 +02:00
Florian Schroedl
4189d01844
✨ Remove token when applying tyopgraphic asset style
2025-07-24 17:14:04 +02:00
Andrés Moya
57330f53e2
🔧 Use id instead of name for tokens crud
2025-07-24 15:21:18 +02:00
Florian Schroedl
f6b97af148
🐛 Fix spacing menu not available in dimensions token
2025-07-24 15:20:10 +02:00
Florian Schroedl
1c79e726af
🐛 Fix spacing menu not available in dimensions token
2025-07-24 15:16:01 +02:00
Alejandro Alonso
76b7287bf1
Merge pull request #6864 from penpot/niwinz-staging-snapshot-migrations
...
✨ Add migrations handling on file snapshots
2025-07-24 11:41:17 +02:00
Andrey Antukh
019bc2f183
✨ Add migrations handling on file snapshots
2025-07-24 11:40:54 +02:00
Florian Schroedl
8c96a617be
✨ Add test for spacing token application rules
2025-07-24 11:01:49 +02:00
Florian Schroedl
1f15e9b81e
✨ Fix spacing token for frame children
2025-07-24 11:01:49 +02:00
Alejandro Alonso
f7627e515a
Merge pull request #6876 from penpot/niwinz-develop-minor-changes-logical-deletion
...
✨ Change default status filtering for logical deletion
2025-07-24 10:58:49 +02:00
Andrey Antukh
d08c94d5a6
✨ Change default status filtering for logical deletion
2025-07-24 10:43:45 +02:00
Florian Schroedl
cccea3dc71
✨ Add test for spacing token application rules
2025-07-24 10:42:08 +02:00
Florian Schroedl
c82c39caf3
✨ Fix spacing token for frame children
2025-07-24 10:42:08 +02:00
Xaviju
01896501c1
🐛 Remove image type from inspect tab panels ( #6959 )
2025-07-24 09:37:38 +02:00
Andrey Antukh
33cf75e933
Merge remote-tracking branch 'origin/staging' into develop
2025-07-24 09:00:29 +02:00
Andrey Antukh
3f9a1525ca
Merge pull request #6954 from penpot/alotor-fix-gradient-stroke
...
🐛 Fix opacity on stroke gradients
2025-07-24 08:59:02 +02:00
alonso.torres
52c1e227d5
🐛 Fix change from gradient to solid color
2025-07-24 08:58:48 +02:00
alonso.torres
955538b12a
🐛 Fix opacity on stroke gradients
2025-07-24 08:58:46 +02:00
Alonso Torres
dfc8a1da4a
✨ Fix problem with booleans selection ( #6950 )
2025-07-24 08:57:02 +02:00
Alonso Torres
8254af27cb
🐛 Fix problem when changing between flex/grid layout ( #6949 )
2025-07-24 08:54:07 +02:00
Pablo Alba
b477ca0508
🐛 Fix design review bugs on variants advanced retrieve ( #6948 )
2025-07-24 08:53:26 +02:00
Elena Torró
f76391ecbb
🐛 Enable switch to system theme on options menu ( #6946 )
2025-07-24 08:43:03 +02:00
Andrés Moya
c49e9fbf18
🐛 Fix last migration of token sets ( #6957 )
2025-07-24 08:42:16 +02:00
Marina López
122701ee7b
🐛 Fix modal submit button for unpaid or canceled subscriptions ( #6947 )
2025-07-24 08:41:39 +02:00
Andrés Moya
351362bb50
🐛 Fix migration from tokens lib version 1.2
2025-07-23 15:28:53 +02:00
Andrey Antukh
9a6989d2ca
📎 Fix linter issues introduced on merging staging into develop
2025-07-23 12:27:04 +02:00
Andrey Antukh
8aebe1a41e
Merge remote-tracking branch 'origin/staging' into develop
2025-07-23 12:26:09 +02:00
Andrey Antukh
1acf78d57c
Merge branch 'main' into staging
2025-07-23 12:09:37 +02:00
Andrey Antukh
523373dfa2
📎 Update .gitignore file
2025-07-23 12:09:15 +02:00
Andrés Moya
f55e7d8165
🐛 Keep shape level groups for token sync later
2025-07-23 12:04:31 +02:00
Andrés Moya
9fdc6be465
🐛 Fix bad touched attributes when applying tokens to text shapes
2025-07-23 12:04:31 +02:00
Alejandro Alonso
9390c1e7be
🐛 Fix "Copy as SVG" generates different code from the Inspect panel ( #6945 )
2025-07-23 11:46:58 +02:00
Florian Schroedl (aider)
d788a4d252
✨ Implement new token-type :font-families
2025-07-23 11:26:28 +02:00
Eva Marco
b20b272eae
📚 Update changelog
2025-07-23 09:53:49 +02:00
Aitor Moreno
2cddc6fb5b
Merge pull request #6583 from penpot/niwinz-fills-binary-type
...
🎉 Fills as binary type
2025-07-23 09:26:26 +02:00
Alejandro Alonso
d46b519524
🐛 Fix remove color button in the gradient editor ( #6942 )
2025-07-23 09:04:54 +02:00
Andrey Antukh
4effd375a9
✨ Add several improvements to admin pannel
2025-07-23 08:33:33 +02:00
Andrey Antukh
4e753dc474
💄 Use resolved schemas instead of references
...
For several schemas on common types
2025-07-23 08:33:28 +02:00
Andrey Antukh
fbf63b98c3
✨ Reuse file data checkers on file validate ns
2025-07-23 08:33:23 +02:00
Marina López
3df557b370
♻️ Remove the workaround for updating the subscription after subscribing ( #6938 )
2025-07-23 08:10:20 +02:00
Aitor Moreno
cdb600b081
✨ Remove unused code
2025-07-23 08:03:23 +02:00
Aitor Moreno
ffb688696b
🎉 Add keep-aspect-ratio integration
2025-07-23 08:03:23 +02:00
Andrey Antukh
8bb210e7b6
🎉 Add binary fills integration
2025-07-23 08:03:23 +02:00
Andrey Antukh
9ee488009f
♻️ Add substantial refactor on how types are organized
...
This mainly affects types related to colors, fills and texts, moving library
based operations from color namespace.
2025-07-23 08:03:23 +02:00
Andrey Antukh
96d9b102b6
⚡ Add type hints on config ns
2025-07-23 07:32:11 +02:00
Andrey Antukh
16fba49937
✨ Expose flags for common submodule
2025-07-23 07:32:11 +02:00
Andrey Antukh
af99bd620c
✨ Use binary fills to write data to wasm memory
2025-07-23 07:32:11 +02:00
Andrey Antukh
8a58b9d459
✨ Use new write-bool helper on fills metadata
2025-07-23 07:32:11 +02:00
Andrey Antukh
e3c62075b8
✨ Write keep-aspect-ration on fill binary format
2025-07-23 07:32:11 +02:00
Andrey Antukh
22a70eb5b2
🎉 Add write-bool helper to buffer ns helpers
2025-07-23 07:32:11 +02:00
Andrey Antukh
4e2998a366
♻️ Rename fill to fills namespace
2025-07-23 07:32:11 +02:00
Andrey Antukh
158f759cde
✨ Add binary fills initialization on workspace fetch
2025-07-23 07:32:11 +02:00
Aitor Moreno
3e3be95420
Merge pull request #6927 from penpot/elenatorro-test-fix-text-shadows
...
🐛 Fix text shadows apply text opacity
2025-07-23 06:59:28 +02:00
Elena Torró
b5808701ec
Merge pull request #6873 from penpot/niwinz-develop-enhancements-1
...
✨ Add improvements for backend admin/debug page
2025-07-22 15:14:08 +02:00
Xaviju
35f3125fff
🐛 Fix null when copying shadow color on inspect tab ( #6923 )
...
Co-authored-by: Xavier Julian <xaviju@proton.me>
2025-07-22 14:49:36 +02:00
Elena Torro
5427d207cd
🐛 Fix text shadows apply text opacity
2025-07-22 14:34:10 +02:00
Xaviju
ee23d72d13
🐛 Fix null when copying shadow color on inspect tab ( #6923 )
...
Co-authored-by: Xavier Julian <xaviju@proton.me>
2025-07-22 14:06:06 +02:00
Francis Santiago
f22aa606ce
📚 Clarify OpenShift requirements ( #6937 )
...
* 📚 Clarify OpenShift requirements
* 📚 Remove the click for expanding
2025-07-22 14:05:02 +02:00
Andrey Antukh
d914314c1c
Merge remote-tracking branch 'origin/staging' into develop
2025-07-22 13:04:57 +02:00
Pablo Alba
4aa9f1f62b
🐛 On component swap do not show secondary variants ( #6928 )
2025-07-22 12:33:37 +02:00
David Barragán Merino
9d288486d7
🐛 Subscription current period dates could be null ( #6931 )
...
`current-period-start` and `current-period-end` can be null if the invoice has not yet been created in stripe. This happens after the subscription is created, before the webhook is sent.
2025-07-22 12:32:42 +02:00
Pablo Alba
ea5521485a
♻️ Remove redundant flag on text overrides ( #6933 )
2025-07-22 12:32:24 +02:00
Marina López
f768ffbdad
🐛 Fix wrong behaviour for unpaid or canceled subscriptions ( #6932 )
2025-07-22 12:31:45 +02:00
Andrey Antukh
4f0d3660de
🎉 Add imagemagick docker image build scripts ( #6925 )
...
* 🎉 Add imagemagick docker image build scripts
* 📎 Add PR feedback changes
2025-07-22 11:51:13 +02:00
Andrey Antukh
fa72bb4adf
✨ Add several improvements to admin pannel
2025-07-22 10:06:29 +02:00
Andrey Antukh
ea0044f69a
💄 Use resolved schemas instead of references
...
For several schemas on common types
2025-07-22 10:06:29 +02:00
Andrey Antukh
7e493376a4
✨ Reuse file data checkers on file validate ns
2025-07-22 10:06:29 +02:00
Andrey Antukh
8c5afe5ab3
📎 Add next release entries to the changelog
2025-07-21 21:20:46 +02:00
Andrey Antukh
7ccb742ef3
Merge remote-tracking branch 'origin/develop' into staging
2025-07-21 21:15:54 +02:00
Andrey Antukh
7bc29c22ed
Merge remote-tracking branch 'origin/develop' into staging
2025-07-21 21:07:24 +02:00
Andrey Antukh
1d550eaa18
Merge remote-tracking branch 'origin/staging' into develop
2025-07-21 21:03:19 +02:00
Andrey Antukh
b71ec4bfe0
✨ Simplify docker build script ( #6924 )
2025-07-21 20:45:03 +02:00
Andrey Antukh
827bbf6a7f
Merge pull request #6926 from penpot/juanfran-close-libraries-modal-on-esc
...
🐛 Fix ESC key not closing Add/Manage Libraries modal
2025-07-21 15:48:40 +02:00
Juanfran
2db0cc0cbf
🐛 Fix ESC key not closing Add/Manage Libraries modal
2025-07-21 15:23:54 +02:00
Andrey Antukh
42ef01b339
Merge pull request #6871 from penpot/niwinz-develop-login-enhancements
...
✨ Allow login dialog on settings
2025-07-21 15:19:06 +02:00
Aitor Moreno
fdaef2be69
Merge pull request #6891 from penpot/elenatorro-test-style-decoration-blending
...
🔧 Add text decoration styles
2025-07-21 15:18:18 +02:00
Pablo Alba
ae3213f5d4
🐛 Fix text override corner case
2025-07-21 12:40:03 +02:00
Andrey Antukh
6dfd05fdd1
Merge remote-tracking branch 'origin/staging' into develop
2025-07-21 12:05:24 +02:00
Andrey Antukh
51107c3fc9
🐛 Fix incorrect event name on event constructor
2025-07-21 11:58:48 +02:00
Andrey Antukh
b6863efb3a
Merge pull request #6874 from penpot/xaviju-11355-tokens-import-details-layout
...
✨ Improve legibility on import token notification details
2025-07-21 11:54:08 +02:00
Andrey Antukh
799bceb8b7
🐛 Check if profile is logged-in on subscriptions internal redirects
2025-07-21 11:40:31 +02:00
Andrey Antukh
9e573128c1
🐛 Fix incorrect event name on event constructor
2025-07-21 11:40:31 +02:00
Andrey Antukh
1f05511add
✨ Allow login dialog on settings
2025-07-21 11:40:30 +02:00
Elena Torro
eeee52a738
🐛 Ensure line height is properly handled on line breaks
2025-07-21 11:37:56 +02:00
Xavier Julian
7f53860296
📎 Add warning on feature flag temporary fix for font-size tokens
2025-07-21 11:23:27 +02:00
Andrey Antukh
16d0077393
Merge pull request #6920 from penpot/mdbenito-feature/wheel-scrolling-for-templates
...
✨ Enable wheel scrolling over templates-section in the dashboard
2025-07-21 11:22:47 +02:00
Andrey Antukh
622fed2f0d
💄 Add minor formating enhancements to dashboard templates ui code
2025-07-21 10:39:50 +02:00
Andrey Antukh
d22ade3289
✨ Remove duplicated code
2025-07-21 10:38:18 +02:00
Miguel de Benito Delgado
7febf330ac
✨ Enable wheel scrolling over templates-section in the dashboard
2025-07-21 10:34:50 +02:00
Andrey Antukh
75a50ac1ac
Merge pull request #6912 from penpot/andy-highlight-font-selector
...
✨ Highlight first font in font selector search, apply on Enter/click
2025-07-21 10:33:53 +02:00
Andres Gonzalez
e62567d09e
✨ Highlight first font in font selector search, apply on Enter/click
...
[Taiga #11579 ](https://tree.taiga.io/project/penpot/issue/11579 )
✨ Highlight first font in font selector search, apply on Enter/click
2025-07-21 10:13:36 +02:00
Andrey Antukh
8d80eebeb1
Merge pull request #6906 from penpot/andy-enhance-text-auto-resize
...
✨ Switch auto-width to auto-height on horizontal resize on text shapes
2025-07-21 10:11:35 +02:00
Andres Gonzalez
ee9a42238d
✨ Switch auto-width to auto-height on horizontal resize on text shapes
2025-07-21 09:56:45 +02:00
Andrey Antukh
758c76d661
Merge pull request #6905 from penpot/andy-enhance-text-resize-behavior
...
✨ Allow double-click on text bounding box to set auto-width/auto-height
2025-07-21 09:55:18 +02:00
Andrey Antukh
1dec46cbfa
Merge pull request #6903 from penpot/superalex-fix-page-duplication
...
🐛 Fix error on validating file referential integrity when duplicating a page
2025-07-21 09:46:12 +02:00
Andrey Antukh
ae25d704c1
📎 Add missing use-fn hook
2025-07-21 09:32:44 +02:00
Andres Gonzalez
e05f8c0329
✨ Improve text layer resize behavior
...
Text layers now only switch to fixed grow-type on vertical resize, not on horizontal resize, for a more intuitive UX. See #4602 .
2025-07-21 09:27:42 +02:00
Alejandro Alonso
ce62e11626
🐛 Fix error on validating file referential integrity when duplicating a page
2025-07-21 09:26:23 +02:00
Andrey Antukh
9f04c2fc1d
Merge pull request #6901 from penpot/superalex-hide-bb-when-editing-effects
...
✨ Hide bounding box while editing visual effects
2025-07-21 09:23:18 +02:00
Andrey Antukh
05a405a82d
Merge pull request #6893 from penpot/xaviju-11144-copy-color-attr
...
✨ Keep color data when copying from info tab into CSS
2025-07-21 09:22:57 +02:00
Andrey Antukh
3c8c21c378
Merge pull request #6899 from abedef/patch-1
...
📚 Fix broken link in self-hosting docs
2025-07-21 09:19:39 +02:00
Xavier Julian
2dbeb884a5
✨ Keep color data when copying from info tab into CSS
2025-07-21 09:07:20 +02:00
Andrey Antukh
931d72b41f
Merge pull request #6887 from dfelinto/fix-trackpad-swipe
...
🐛 Fix touchpad swipe back/forward #4246
2025-07-21 08:58:32 +02:00
Alejandro Alonso
2e3cdd872c
Revert " ✨ Highlight first found font in font list when searching [Taiga #3204 ]"
...
This reverts commit 55a13c3139c682db296b800c17edf3f71c95a754.
2025-07-17 13:01:24 +02:00
Andres Gonzalez
55a13c3139
✨ Highlight first found font in font list when searching [Taiga #3204 ]
...
This enhancement highlights the first found font in the font list when searching, and allows pressing Enter to select it, for a more intuitive font selection experience.
See [Taiga #3204 ](https://tree.taiga.io/project/penpot/issue/3204 ).
2025-07-17 12:09:50 +02:00
Andrey Antukh
f63d1c87e3
Merge pull request #6904 from penpot/andy-fix-email-change-message
...
✨ Update email change confirmation message for clarity
2025-07-17 11:31:21 +02:00
Alejandro Alonso
abbfd44534
✨ Hide bounding box while editing visual effects
2025-07-17 09:33:10 +02:00
Andres Gonzalez
f772724f9a
✨ Update email change confirmation message for clarity
2025-07-16 10:22:53 +02:00
Andrey Antukh
f3abd0f190
Merge pull request #6902 from penpot/andy-clarify-invite-member-message
...
✨ Clarify invite member message for existing team members
2025-07-15 15:48:45 +02:00
Andres Gonzalez
5d4042c861
✨ Clarify invite member message for existing team members
...
Update the English message shown when inviting team members whose emails are already part of the team, as suggested in issue #6785 .
2025-07-15 14:05:20 +02:00
Dalai Felinto
1fbcec98fb
🐛 Fix touchpad swipe back/forward #4246
...
This prevents the browser to take over the trackbad swipe gesture both
for the dashboard and the workspace.
At an early attempt I did get the code to work only for the workspace,
but it is too unreliable and I could every now and then get it to misbehave.
I believe it is better to be safe and always prevent the browser from
going back/forth, regardless of workspace/dashboard.
Signed-off-by: Dalai Felinto <dalai@blender.org>
2025-07-15 00:24:20 +02:00
Alejandro Alonso
abef9f3cf7
Merge pull request #6889 from penpot/niwinz-staging-bugfix
...
🐛 Fix unexpected exception on processing old texts
2025-07-14 07:08:31 +02:00
Abed Fayyad
6f1958f9f2
📚 Fix broken link in self-hosting docs
...
Replaced broken Markdown link to the unofficial self-hosting section.
Signed-off-by: Abed Fayyad <yo@abedef.ca>
2025-07-13 09:16:13 -04:00
Andrey Antukh
6b2ce86d5f
Merge pull request #6896 from penpot/juanfran-issue-show-main-component-focus
...
🐛 Fix initialize-page namespace when showing main component
2025-07-11 18:31:37 +02:00
Pablo Alba
0cfd70da2e
🐛 Fix corner cases on variants text overrides
2025-07-11 15:28:55 +02:00
Xavier Julian
4167faf39d
📎 Add blend-mode in code editor feature to CHANGELOG
2025-07-11 15:14:29 +02:00
Pablo Alba
90e6e8c5eb
🐛 Fix double undo on text partial overrides
2025-07-11 15:05:30 +02:00
Andrey Antukh
e2c5a1378e
Merge pull request #6724 from penpot/elenatorro-improve-create-profile-command
...
🔧 Add option to skip tutorial/walkthrough when creating a profile from the script
2025-07-11 14:15:49 +02:00
Xavier Julian
81f99458e5
📎 Add new font-size token type to CHANGELOG
2025-07-11 14:09:39 +02:00
Elena Torro
b40b1fa2e4
🔧 Refactor ParagraphBuilder and fix auto height
2025-07-11 13:29:22 +02:00
Juanfran
bb1ec109d8
🐛 Fix initialize-page namespace when showing main component
2025-07-11 13:09:20 +02:00
Florian Schroedl
9c5a13c4ac
✨ Enable font-size token
2025-07-11 10:37:17 +02:00
Elena Torro
4c21468850
🔧 Add text decoration styles
2025-07-10 14:26:41 +02:00
Xavier Julian
02ae934e25
📎 Add import tokens from zip file to CHANGELOG
2025-07-10 13:40:42 +02:00
Andrey Antukh
95cfb26b38
Merge pull request #6882 from penpot/xaviju-11283-info-tab-visibility-attrs-review
...
♻️ Fix tab info not updating and suggested code refactor
2025-07-10 11:56:38 +02:00
Andrey Antukh
935c22d124
Merge pull request #6885 from penpot/marina-change-text-capitalize
...
🐛 Fix title button from Title case to Capitalize
2025-07-10 11:55:50 +02:00
Marina López
ba6a02d1d9
🐛 Add fixes from subscription design review ( #6870 )
...
* 🐛 Fixes from subscription design review
* 🐛 Fix to consider professional plan the unpaid and canceled status
* 📎 Fixes PR feedback
2025-07-10 11:55:16 +02:00
Xavier Julian
0b681effe7
♻️ Fix tab info not updating and suggested code refactor
2025-07-10 11:38:53 +02:00
Marina López
6826db8498
🐛 Fix title button from Title case to Capitalize
2025-07-10 11:29:48 +02:00
Andrey Antukh
66c5841d48
Merge pull request #6886 from penpot/alotor-fix-create-layout
...
🐛 Fix problem when creating a layout from an existing layout
2025-07-10 11:28:19 +02:00
Xavier Julian
af10705b4c
♻️ Review import message text
2025-07-10 10:18:59 +02:00
Andrey Antukh
40c300fa1a
🐛 Fix unexpected exception on processing old texts
2025-07-10 09:22:00 +02:00
Pablo Alba
41146ef71d
🐛 Fix text overrides when there are structure changes
2025-07-09 21:58:01 +02:00
Pablo Alba
abb6aee57d
🐛 On texts overrides, keep also vertical-align property
2025-07-09 21:58:01 +02:00
alonso.torres
aa01d3b707
🐛 Fix problem when creating a layout from an existing layout
2025-07-09 15:44:15 +02:00
alonso.torres
a003687256
🐛 Fix problem with grid assignments
2025-07-09 14:55:14 +02:00
Elena Torro
e2b55d814b
🐛 Fix select all deletion error on Firefox
2025-07-09 14:50:35 +02:00
Andrey Antukh
51a6d61be6
Merge pull request #6865 from penpot/xaviju-11283-info-tab-visibility-attrs
...
✨ Add visibility group and attributes to info tab
2025-07-09 12:18:10 +02:00
Xavier Julian
0daa8be0b5
✨ Add visibility group and attributes to info tab
2025-07-09 11:19:30 +02:00
Andrey Antukh
00599f76d0
Merge pull request #6875 from penpot/ladybenko-fix-devenv-mac-ubuntu
...
🔧 Fix building and running devenv (Mac / Linux)
2025-07-09 08:28:49 +02:00
Belén Albeza
cb8aae4d5f
🔧 Drop the -R in chown (dockerfile mac)
2025-07-08 15:45:34 +02:00
Belén Albeza
927228fc8f
🔧 Remove COPY of apt.sources (linux issue)
2025-07-08 15:44:42 +02:00
Xavier Julian
77a47e4b2b
✨ Improve legibility on import token notification details
2025-07-08 15:09:50 +02:00
Andrés Moya
88bb9bfe52
🐛 Detach styles from assets when applying tokens
2025-07-08 13:15:45 +02:00
Andrey Antukh
e554b9fcb7
Merge remote-tracking branch 'origin/staging' into develop
2025-07-08 11:04:29 +02:00
Aitor Moreno
4548310235
Merge pull request #6867 from penpot/azazeln28-fix-missing-solid-color
...
🐛 Fix missing required SolidColor
2025-07-08 09:11:12 +02:00
Aitor Moreno
ea9261b0b2
🐛 Fix missing required SolidColor
2025-07-08 08:45:03 +02:00
Aitor Moreno
6ffcd58368
Merge pull request #6846 from penpot/alotor-wasm-refactor-mut-2
...
♻️ Refactor wasm shapes state management
2025-07-08 08:31:15 +02:00
alonso.torres
69135ef8c7
♻️ Refactor wasm shapes state management
2025-07-08 08:30:40 +02:00
Aitor Moreno
747427daa4
Merge pull request #6841 from penpot/superalex-fix-frame-clipping
...
🐛 Fix frame clipping
2025-07-08 08:26:48 +02:00
Alejandro Alonso
5b704faf79
Merge pull request #6862 from penpot/niwinz-develop-minor-fixes
...
✨ Add several improvements
2025-07-07 15:40:20 +02:00
Andrey Antukh
d24eab7241
📎 Update changelog
2025-07-07 15:07:07 +02:00
Andrey Antukh
c8fef97598
✨ Add missing field on get-teams rpc method
2025-07-07 13:36:00 +02:00
Andrey Antukh
44e3e4a641
🔥 Remove image shape inspect pannel
...
Image shapes are long ago deprecated not used
on penpot
2025-07-07 13:36:00 +02:00
Andrey Antukh
f3616c68a0
✨ Improve decode empty string for path content
2025-07-07 13:36:00 +02:00
Andrey Antukh
9ea3f81bc4
🐛 Clean invalid library colors
2025-07-07 13:35:59 +02:00
Pablo Alba
cfec023585
♻️ Rename flag :component-swap to :allow-altering-copies
2025-07-07 12:07:36 +02:00
Pablo Alba
469d47eaf3
🐛 Fix variants combobox and select to new options format
2025-07-07 11:46:50 +02:00
Alejandro Alonso
51bb6583d2
🐛 Fix frame clipping
2025-07-07 11:09:29 +02:00
Pablo Alba
a44c70ef69
✨ Keep the swapped childs if the copies when doing a variant switch
2025-07-07 10:50:49 +02:00
Andrés Moya
4fddf34a73
🐛 Fix error when there exists a tokens lib with no sets
2025-07-07 10:02:49 +02:00
Xavier Julian
8f840daa91
✨ Improve token import error copy
2025-07-07 09:59:57 +02:00
Juanfran
0a7d6d98e1
✨ Integrate plugin runtime as npm library ( #6852 )
2025-07-07 09:46:07 +02:00
Álvaro Tejero-Cantero
bcb69b6227
🐛 Restore viewport and selection when exiting focus mode ( #6827 )
...
* 📚 Provide guidance on how to exit focus mode
* 🐛 Restore viewport & selection post focus mode
* 📎 Update changelog
2025-07-07 09:44:06 +02:00
Andrey Antukh
92d708d52c
Merge remote-tracking branch 'origin/staging' into develop
2025-07-07 09:37:55 +02:00
Alonso Torres
accd5226d7
🐛 Fix sidebar width in localhost ( #6732 )
2025-07-07 09:28:52 +02:00
Andrey Antukh
16a1fd14e5
🐛 Fix media translation on text nodes on paste ( #6845 )
...
Fix incorrect media translation on paste text with fill images
2025-07-07 09:03:35 +02:00
Aitor Moreno
824bb19c7e
Merge pull request #6848 from penpot/niwinz-staging-library-referer
...
✨ Add referer field to binfile v3
2025-07-07 09:02:13 +02:00
Aitor Moreno
d0f3e0f0b0
Merge pull request #6853 from penpot/niwinz-staging-path-bool-fixes
...
🐛 Fix exception on a corner case of creating bool shape
2025-07-07 09:00:57 +02:00
Andrey Antukh
43ba2b05e8
📎 Change current config values for error report explain
2025-07-04 14:51:08 +02:00
Andrey Antukh
d5ccb704b2
🐛 Fix unexpected exception on creating bool shapes
2025-07-04 14:42:09 +02:00
Andrey Antukh
0374e4f3eb
Merge remote-tracking branch 'origin/staging' into develop
2025-07-04 12:02:12 +02:00
David Barragán Merino
6d21fcc9de
🔧 Fix condition for automatic events ( #6849 )
2025-07-04 11:57:57 +02:00
Andrey Antukh
77741b49a7
✨ Add tracking for referer on the import-binfile
2025-07-04 11:02:36 +02:00
Andrey Antukh
a7e0cfc609
🎉 Bump 1.0.7 release of the penpot library
...
Includes the ability to pass referer
2025-07-04 11:02:36 +02:00
Andrey Antukh
50a6355537
🎉 Add options for creating library build context
...
With the ability to pass referer.
2025-07-04 11:02:36 +02:00
Alejandro Alonso
264aef277d
Merge pull request #6847 from penpot/niwinz-staging-error-reports-2
...
✨ Add minor improvements to error report on calc bool content
2025-07-04 10:53:02 +02:00
Andrey Antukh
78d0e6d059
✨ Add minor improvements to error report on calc bool content
2025-07-04 10:13:24 +02:00
Alonso Torres
6d41d36b3a
🐛 Fix problem when double click on hidden shapes ( #6833 )
2025-07-04 09:01:20 +02:00
David Barragán Merino
bb97df373e
🔧 Add Github Action to build and upload artifact ( #6840 )
...
Co-authored-by: Francis Santiago <francis.santiago@kaleidos.net>
2025-07-04 08:41:46 +02:00
David Barragán Merino
528c819323
🔧 Add Github Action to build and upload artifact ( #6840 )
...
Co-authored-by: Francis Santiago <francis.santiago@kaleidos.net>
2025-07-04 08:25:23 +02:00
Florian Schrödl
21746144b7
✨ Add letter spacing token ( #6814 )
...
* 🐛 Fix merge schema not working with key generation
* ✨ Add letter-spacing token
* ♻️ Remove comments
* ♻️ Inline line-height for now
2025-07-03 16:00:58 +02:00
Andrey Antukh
3165761bac
Merge remote-tracking branch 'origin/staging' into develop
2025-07-03 15:32:30 +02:00
Andrés Moya
c09f72c3d5
🐛 Sanitize wrong ids in token themes ( #6843 )
2025-07-03 15:31:45 +02:00
Alejandro Alonso
a41af032cd
Merge pull request #6844 from penpot/niwinz-staging-enhancements
...
✨ Improve error reporting
2025-07-03 15:31:20 +02:00
Andrey Antukh
86ee4f55c5
📚 Update docstring
2025-07-03 14:54:00 +02:00
Andrey Antukh
63cd3ae025
✨ Add better error handling for bool creation
2025-07-03 14:54:00 +02:00
Andrey Antukh
cafb7abb53
🎉 Add better syntax facility for ex/try! macro
2025-07-03 14:54:00 +02:00
Andrey Antukh
e5b6c4a9e0
✨ Add minor improvement to error reporter logger
2025-07-03 14:54:00 +02:00
Andrey Antukh
1d5bad5523
💄 Report file-id on file changes exception
2025-07-03 14:54:00 +02:00
Andrey Antukh
96d6868b45
🐛 Add missing fields on get-team-shared-files query
2025-07-03 14:54:00 +02:00
Andrey Antukh
b739d8bd0c
💄 Change default depth on params for error reports
2025-07-03 14:54:00 +02:00
Alejandro Alonso
dd803dc1de
Merge pull request #6839 from penpot/niwinz-staging-fix-broken-path
...
🐛 Add migration for fix undecoded path content
2025-07-03 13:43:59 +02:00
Florian Schrödl
7dd61968b5
✨ Implement object type specific tokens ( #6816 )
...
* ✨ Allow token applying for supported shape types only
* 🐛 Remove x/y attribute keys from spacing token
* ✨ Shape specific context-menu
* ✨ Only apply tokens to supported shapes when doing multi selection apply
* ✨ Handle groups not supported by tokens yet
* 🐛 Fix outdated tests
* ♻️ Commentary
* ✨ Add helper functions for attribute applicability checks
* ♻️ Groups don't have own attributes
* ♻️ Remove unused function
* ♻️ Move attribute logic to common.types.token
2025-07-03 12:22:04 +02:00
Juanfran
669d6d9ae2
Merge pull request #6837 from penpot/juanfran-us-11186-rules-help
...
✨ Add in-app help to guide users about variant rules
2025-07-03 11:30:16 +02:00
Andrey Antukh
b627c10737
🔥 Remove duplicated check-fn
2025-07-03 10:50:09 +02:00
María Valderrama
95f4a9bd29
✨ Add missing start-plugin event ( #6809 )
...
* ✨ Add missing start-plugin event
* 📎 Correct event origin
2025-07-03 10:29:43 +02:00
Miguel de Benito Delgado
b931547300
🐳 Add "postgres" network alias to default docker network in devenv ( #6823 )
2025-07-03 10:28:53 +02:00
Andrey Antukh
a2b8f19ff3
🐛 Add migration for fix undecoded path content
2025-07-03 08:40:23 +02:00
Belén Albeza
30274c4f5c
🔧 Restore arm64 build of devenv ( #6826 )
2025-07-03 08:28:07 +02:00
Andrés Moya
0a71134652
🔧 Sanitize and check tokens when deserializing from db ( #6838 )
2025-07-02 17:01:10 +02:00
Juanfran
72b1919e29
✨ Add in-app help to guide users about variant rules
2025-07-02 14:46:36 +02:00
Andrey Antukh
898182e3d5
✨ Add minor events props normalization ( #6836 )
2025-07-02 14:41:48 +02:00
Xavier Julian
be43365909
🐛 Fix broken import file type drodown options
2025-07-02 14:35:01 +02:00
Andrey Antukh
41994703a9
♻️ Refactor tab-switcher* component ( #6815 )
...
* 💄 Add minor style adjustments to workspace sidebar
* 💄 Add style enhacement to sitemap component
* ♻️ Refactor tab-switcher* component
2025-07-02 14:08:47 +02:00
Marina López
3d45080e3c
🐛 Fixes from subscription design review ( #6812 )
2025-07-02 10:49:16 +02:00
Miguel de Benito Delgado
28c055e3f9
📚 Fix and extend backend repl doc ( #6819 )
2025-07-02 10:38:35 +02:00
Prithvi Tharun
4f993bf4ae
💄 Replace 'Verify new email' label with 'Confirm new email' ( #6831 )
...
Improves clarity by using more accurate and familiar terminology.
Signed-off-by: Prithvi Tharun <ptrithu8@gmail.com>
2025-07-02 10:32:09 +02:00
Alejandro Alonso
3cb0e1b6ee
🐛 Fix exif rotation detection when auto-rotation isn't supported ( #6818 )
2025-07-02 10:31:05 +02:00
Miguel de Benito Delgado
e03c822b51
🐛 Fix internal error on missing theme setting in profile ( #6822 )
2025-07-02 10:17:22 +02:00
Andrey Antukh
1432b211a6
Merge remote-tracking branch 'origin/staging' into develop
2025-07-02 10:13:30 +02:00
Miguel de Benito Delgado
3e45e4fb25
🐛 Fix internal error on missing theme setting in profile ( #6822 )
2025-07-02 09:57:56 +02:00
Eva Marco
a3aabf3b7d
🐛 Fix tooltip position after click ( #6830 )
2025-07-02 09:56:14 +02:00
Andrés Moya
953287ea33
🐛 Avoid crash in combobox with empty options
2025-07-02 08:57:25 +02:00
Elena Torró
493831f110
Merge pull request #6821 from penpot/alotor-refactor-mutability
...
♻️ Refactor mutability modifiers in wasm
2025-07-01 13:52:39 +02:00
alonso.torres
3d374e8e97
♻️ Refactor mutability modifiers in wasm
2025-07-01 12:47:31 +02:00
Andrés Moya
f0f01af55c
🔧 Make TokenSet an abstract data type
2025-06-30 16:59:00 +02:00
Xavier Julian
6de9de9e38
✨ Add new metric for token update and provide token type
2025-06-30 13:21:49 +02:00
Kelp
b893a62e40
✨ Add new typography icon to the DS ( #6808 )
...
Signed-off-by: Kelp <5446186+NatachaMenjibar@users.noreply.github.com>
2025-06-30 11:06:54 +02:00
alonso.torres
8dcb376b18
✨ Add drop grid cells in wasm
2025-06-30 10:28:59 +02:00
alonso.torres
52a4fc6030
🐛 Fix drop index on flex layout wasm
2025-06-30 10:28:59 +02:00
Andrey Antukh
403d92838a
♻️ Add minor refactor to options dropdown options handling and validation ( #6739 )
...
* ♻️ Refactor options-dropdown* and related components
* 🐛 Fix props error
* 🐛 Fix test
* 📎 Update rumext
---------
Co-authored-by: Eva Marco <evamarcod@gmail.com>
2025-06-29 11:52:29 +02:00
Xavier Julian
6bd3253e5e
♻️ Restructure UI files for tokens editor
2025-06-27 13:23:42 +02:00
Pablo Alba
20b5b7f6e4
🐛 Fix variant switch in another page ( #6802 )
2025-06-27 12:23:54 +02:00
Andrés Moya
5c4fd97541
🐛 Allow importing file without any token but with themes or sets ( #6796 )
2025-06-27 11:32:14 +02:00
Pablo Alba
804146ae9a
🐛 Fix text partial change doesn't show up on another page ( #6799 )
2025-06-27 10:21:21 +02:00
Juanfran
24e78e6a10
🐛 Display error message on register form ( #6797 )
2025-06-27 10:01:54 +02:00
Pablo Alba
daca26e54f
🐛 On variants override use the component name instead of the copy name
2025-06-26 17:37:21 +02:00
Aitor Moreno
29016cef49
Merge pull request #6794 from penpot/alotor-wasm-fix-grid-fr
...
🐛 Fix problem with fr allocation
2025-06-26 14:39:42 +02:00
alonso.torres
fb07788e8f
🐛 Fix problem with fr allocation
2025-06-26 13:17:26 +02:00
Alejandro Alonso
3010abbf64
Merge pull request #6793 from penpot/alotor-fix-plugins-system-theme
...
🐛 Fix problem with plugins on system theme
2025-06-26 12:30:51 +02:00
alonso.torres
e6a7eed7a9
🐛 Fix problem with plugins on system theme
2025-06-26 12:15:06 +02:00
Andrey Antukh
c75a617d26
Merge remote-tracking branch 'origin/staging' into develop
2025-06-26 11:19:29 +02:00
Andrey Antukh
f2c4a1eb1f
Merge pull request #6674 from penpot/niwinz-develop-enhacements-3
...
⚡ Refactor fills-menu and related components
2025-06-26 11:09:30 +02:00
Marina López
62371fded0
🐛 Fix libraries position in dashboard sidebar ( #6791 )
2025-06-26 11:08:18 +02:00
Alejandro Alonso
daf3b5caa8
🐛 Fix slow color picker ( #6780 )
2025-06-26 11:07:35 +02:00
Andrey Antukh
e72d31a082
🔥 Remove unused and commented code
2025-06-26 10:50:38 +02:00
Andrey Antukh
6b4a85cd15
🐛 Fix issue on changing from gradient to solid color on colorpicker
2025-06-26 10:50:38 +02:00
Andrey Antukh
027a7a457d
✨ Add minor style improvements for reorder-handler component
2025-06-26 10:50:38 +02:00
Andrey Antukh
20d2d22f39
⚡ Add performance oriented refactor to fill-menu component
2025-06-26 10:50:36 +02:00
Andrey Antukh
34d65ed1c8
Merge pull request #6775 from penpot/superalex-fix-entering-long-project-name
...
🐛 Fix entering long project name
2025-06-26 10:48:54 +02:00
Andrey Antukh
a191fe63a1
Merge remote-tracking branch 'origin/staging' into develop
2025-06-26 09:18:23 +02:00
luisδμ
2de0c90fc7
🐛 Remove empty properties starting with the last one ( #6757 )
...
* 🐛 Remove empty properties starting with the last one
* ✨ MR changes
---------
Co-authored-by: Pablo Alba <pablo.alba@kaleidos.net>
2025-06-26 09:16:59 +02:00
Alejandro Alonso
27c624ae0f
Merge pull request #6787 from penpot/niwinz-staging-hotfix-4
...
🐛 Several fixes
2025-06-26 09:13:49 +02:00
Andrey Antukh
3831b3034e
🐛 Fix boolean shape migration that causes issues on import
2025-06-26 08:55:09 +02:00
Luis de Dios
7cd0e28c3b
✨ Allow variants with no properties
2025-06-26 08:42:34 +02:00
Andrey Antukh
00390a1349
🐛 Add correct is-text-node? predicate to text processing methods
2025-06-26 08:32:11 +02:00
Andrey Antukh
17bfed137c
📎 Add better defaults for text processing on old migrations
2025-06-26 08:32:11 +02:00
Andrey Antukh
77ef26b207
📎 Add srepl script for validate file schema
2025-06-26 08:32:11 +02:00
Andrey Antukh
26239a15f2
📎 Add missing changes on lost-colors fix script
2025-06-25 20:13:35 +02:00
Andrey Antukh
25ef1800d0
Merge remote-tracking branch 'origin/staging' into develop
2025-06-25 19:30:57 +02:00
Andrey Antukh
207974fe6c
✨ Add minor improvement to color cleaning migration
2025-06-25 19:26:43 +02:00
Andrey Antukh
b52e2fa681
🐛 Add missing version field on get-team-shared-files internal query
2025-06-25 19:24:18 +02:00
Andrey Antukh
bf719b587f
✨ Add better shadow cleaning migration
2025-06-25 19:17:58 +02:00
Alejandro Alonso
61109c91e3
Merge pull request #6784 from penpot/niwinz-staging-hotfix-3
...
🐛 Fix incorrect library color cleaning mechanism
2025-06-25 16:21:58 +02:00
Andrey Antukh
4915a97c2c
📎 Add script for restoring lost colors
2025-06-25 16:10:35 +02:00
Andrey Antukh
903aba5642
🐛 Fix incorrect library color cleaning mechanism
2025-06-25 14:36:33 +02:00
Andrey Antukh
9760911fce
Merge remote-tracking branch 'origin/staging' into develop
2025-06-25 14:24:26 +02:00
Alejandro Alonso
82583f5079
🐛 Fix entering long project name
2025-06-25 14:21:52 +02:00
Alejandro Alonso
4561392791
🐛 Fix shortcut error pressing G+W from the View Mode ( #6772 )
2025-06-25 14:14:44 +02:00
Marina López
f81a973a4d
🐛 Fix text decoration line through value in inspect tab ( #6778 )
2025-06-25 14:11:58 +02:00
Alejandro Alonso
ca99671d3c
📚 Update CHANGES with support for exif rotated images ( #6782 )
2025-06-25 14:10:13 +02:00
Alejandro Alonso
8e8b2acddd
Merge pull request #6781 from penpot/niwinz-staging-hotfix-2
...
🐛 Hot fixes
2025-06-25 13:53:58 +02:00
Marina López
1f42f032fc
🐛 Add fixes for subscription design review ( #6751 )
...
* 🐛 Fix from subscription design review
* 📎 Fixes PR feedback
2025-06-25 13:41:45 +02:00
Andrey Antukh
93cbd99932
🐛 Clear invalid keys from color libraries
2025-06-25 13:38:35 +02:00
Andrey Antukh
15c91a5de5
✨ Make the bool-content normalize migration idempotent
2025-06-25 13:26:32 +02:00
Andrey Antukh
7f2e819789
🐛 Fix migration persistence ordering issue
...
When migrations are applied to old files
2025-06-25 13:26:25 +02:00
Alejandro Alonso
4947bf480b
Merge pull request #6779 from penpot/niwinz-staging-hotfix-2
...
🐛 Fix regression on changing color type on fills
2025-06-25 12:27:34 +02:00
Marina López
67ca8ccb22
🐛 Fix copy font-size doesn't copy the unit ( #6776 )
2025-06-25 12:14:33 +02:00
Alejandro Alonso
c51ae35fc5
Merge pull request #6777 from penpot/niwinz-staging-hotfix-1
...
🐛 Remove qualified keyword keys from colors
2025-06-25 12:13:53 +02:00
Andrey Antukh
81564dbfa9
🐛 Fix regression on changing color type on fills
2025-06-25 12:12:04 +02:00
Andrey Antukh
56472a95de
🐛 Add missing file migration to get-team-shared-files rpc method
2025-06-25 11:56:11 +02:00
Andrey Antukh
9e5bc3675c
🐛 Remove cider nrepl handler from default nrepl server
2025-06-25 11:41:24 +02:00
Xavier Julian
ce59070fd1
♻️ Restructure UI files for token sets
2025-06-25 11:27:13 +02:00
Andrey Antukh
787c066357
🐛 Remove qualified keyword keys from colors
2025-06-25 11:23:39 +02:00
Marina López
82bedda604
✨ Add tokens library to dashboard carousel ( #6769 )
2025-06-25 10:22:19 +02:00
Marina López
e258030bc0
💄 Change 'save color' button ( #6774 )
2025-06-25 10:21:22 +02:00
Alejandro Alonso
8f00292f8f
🎉 Support for exim rotated images ( #6767 )
2025-06-25 10:20:37 +02:00
Alejandro Alonso
1b67be2f36
Merge pull request #6773 from penpot/niwinz-staging-paste-regression
...
🐛 Fix minor regression on paste shapes with fill-image
2025-06-25 10:02:36 +02:00
Andrey Antukh
1a8a9df2b7
🐛 Fix minor regression on paste shapes with fill-image
2025-06-25 09:40:17 +02:00
Alejandro Alonso
e1ce7ec787
Merge pull request #6752 from penpot/niwinz-staging-path-editor-fixes
...
🐛 Fix incorrect path tool handling on shapes not coerced to path
2025-06-25 07:25:13 +02:00
Andrey Antukh
546b7d5f60
🐛 Fix incorrect path tool handling on shapes not coerced to path
2025-06-24 19:09:38 +02:00
Florian Schroedl
fe91201431
✨ Keep warning for unsupported token types when FF is disabled
2025-06-24 15:41:24 +02:00
Florian Schroedl
00c7411f92
🐛 Fix dtcg token type name
2025-06-24 15:41:24 +02:00
Xavier Julian
e585cbd673
♻️ Restructure UI files for import/export and common files
2025-06-24 13:58:54 +02:00
Alejandro Alonso
bdc10ac173
Merge pull request #6754 from penpot/azazeln28-issue-11401-fix-wrong-aspect-ratio
...
🐛 Fix image aspect ratio rendering on oriented images
2025-06-24 13:23:35 +02:00
Elena Torró
9f5cb61a19
Merge pull request #6766 from penpot/elenatorro-fix-text-auto-height
...
🐛 Fix text auto height
2025-06-24 13:18:28 +02:00
Alejandro Alonso
fb6121bf92
Merge pull request #6765 from penpot/alotor-update-plugins-runtime
...
⬆️ Update plugins runtime
2025-06-24 13:14:53 +02:00
Alejandro Alonso
e442d8adad
✨ Add tests for exif rotated images
2025-06-24 13:08:18 +02:00
Elena Torro
925af4e1e9
🐛 Fix text auto height
2025-06-24 12:36:12 +02:00
alonso.torres
a45886c86c
✨ Small cosmetic change
2025-06-24 10:26:37 +02:00
alonso.torres
36b6f6323a
♻️ Refactor modifiers methods
2025-06-24 10:26:37 +02:00
alonso.torres
afec3b9bc1
🐛 Fix problem with margin in flex layout
2025-06-24 10:26:37 +02:00
alonso.torres
ac6a814026
🐛 Fix problem with flex layout in wasm
2025-06-24 10:26:37 +02:00
Alejandro Alonso
89fb802362
Merge pull request #6764 from penpot/alotor-fix-problem-lines
...
🐛 Fix wasm problem with horizontal/vertical lines
2025-06-24 09:43:11 +02:00
alonso.torres
8cdcfb70e2
⬆️ Update plugins runtime
2025-06-24 09:25:12 +02:00
alonso.torres
b0d858df2b
🐛 Fix wasm problem with horizontal/vertical lines
2025-06-24 09:24:00 +02:00
Aitor Moreno
f54497194a
Merge pull request #6762 from penpot/elenatorro-10901-add-text-vertical-alignment
...
🔧 Add vertical alignment for text shapes
2025-06-23 17:05:47 +02:00
Elena Torro
134fb1ab4c
🔧 Add vertical alignment for text shapes
2025-06-23 16:45:25 +02:00
andrés gonzález
8c2dc1f22d
📚 Add DT import/export options to the docs ( #6753 )
2025-06-23 15:37:57 +02:00
Aitor Moreno
833546d754
🐛 Fix wrong aspect ratio on oriented image
2025-06-23 15:30:01 +02:00
Elena Torró
0010d61ae2
Merge pull request #6758 from penpot/elenatorro-text-rendering-fixes-and-tests
...
🔧 Add tests to cover text styles
2025-06-23 14:06:19 +02:00
Elena Torro
747f72be47
🔧 Add tests to cover text styles
2025-06-23 13:43:09 +02:00
Alejandro Alonso
1882efe3f7
🐛 Fix paths rendered initially ony in tile 0 0
2025-06-23 12:23:49 +02:00
Florian Schrödl
580bb46a05
✨ Implement font-size token type ( #6708 )
...
* ✨ Implement font-size token type
* ✨ Hide typography tokens behind FF
* 💄 Update icon
* 🔧 Add font-size to unapply check
* ♻️ Generalize status-icon logic and remove icon for font-size
2025-06-23 12:12:40 +02:00
Alejandro Alonso
9ea0875e65
Merge pull request #6742 from penpot/ladybenko-fix-wasm-debug-text-hi-dpr
...
✨ Fix size of 'wasm renderer' debug text on dpr > 1
2025-06-23 11:47:20 +02:00
Alejandro Alonso
43b19ba33e
Merge pull request #6738 from penpot/ladybenko-11247-enable-dpr-when-render-wasm
...
🔧 Enable render-wasm-dpr by default
2025-06-23 11:46:24 +02:00
Andrey Fedorov
130cd52f79
✨ Notify user if imported file or directory doesn't contain token files
2025-06-23 11:44:00 +02:00
Aitor Moreno
21fd56076c
Merge pull request #6756 from penpot/superalex-fix-empty-fills
...
🐛 Fix empty fills
2025-06-23 11:31:34 +02:00
Alejandro Alonso
c97314ddb5
🐛 Fix empty fills
2025-06-23 11:14:58 +02:00
Andrey Antukh
34bbce5089
Merge remote-tracking branch 'origin/staging' into develop
2025-06-23 10:06:05 +02:00
ºelhombretecla
9a0538e5e3
✨ Add visual indicator for new comments in the workspace ( #6728 )
...
* 🎉 Add comment notification to workspace
* 💄 Add info to changelog
* ✨ Add minor efficiency improvements
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-06-23 09:51:41 +02:00
ºelhombretecla
1b041d949c
💄 Add new content for 2.8 release slides ( #6729 )
...
* 💄 Add new content for 2.8 release slides
* 📎 Fix linter issues
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-06-23 09:43:55 +02:00
Belén Albeza
56d96aaf07
🔧 Enable render-wasm-dpr by default
2025-06-20 12:48:49 +02:00
Eva Marco
1a8f36562b
🐛 Fix export button width on design tab ( #6744 )
2025-06-20 12:04:49 +02:00
luisδμ
70f3988046
✨ Show warning when selecting a copy of conflicted variant ( #6743 )
2025-06-20 11:52:07 +02:00
Andrey Antukh
ec021d944d
Merge remote-tracking branch 'origin/staging' into develop
2025-06-20 11:37:50 +02:00
Alejandro Alonso
3d0c3013e5
Merge pull request #6746 from penpot/niwinz-staging-path-editor-fixes
...
✨ Add missing fixes to the path edition mode
2025-06-20 11:31:17 +02:00
Elena Torró
f1a6b46165
Merge pull request #6745 from penpot/superalex-bug-fix-text-image-strokes
...
🐛 Fix image fill strokes are not rendered correctly for texts
2025-06-20 11:14:24 +02:00
Andrey Antukh
3274a74611
✨ Add missing fixes to the path edition mode
2025-06-20 11:06:48 +02:00
Belén Albeza
2412402a23
✨ Fix size of 'wasm renderer' debug text on dpr > 1
2025-06-20 10:55:33 +02:00
Alejandro Alonso
5375029497
🐛 Fix image fill strokes are not rendered correctly for texts
2025-06-20 10:52:26 +02:00
Alejandro Alonso
3a0ac577f8
Merge pull request #6720 from penpot/niwinz-staging-path-editor-fixes
...
✨ Fix path edition/drawing state on workspace
2025-06-20 10:34:19 +02:00
Andrés Moya
cf78e68787
🐛 Fix token unapply for text shapes
2025-06-20 10:15:49 +02:00
Aitor Moreno
8bfc314b17
Merge pull request #6700 from penpot/superalex-fix-async-content-rendering
...
🐛 Fix asynchronous content rendering
2025-06-20 10:11:28 +02:00
Elena Torró
38112e287a
Merge pull request #6734 from penpot/ladybenko-11392-no-ui-in-tests
...
🔧 Make visual regression tests to hide the UI when taking a screenshot (render-wasm tests only)
2025-06-20 09:05:30 +02:00
Alejandro Alonso
43ba30c694
Merge pull request #6741 from penpot/niwinz-staging-join-nodes
...
🔥 Remove incorrect assert on path segment helper
2025-06-20 08:22:27 +02:00
Andrey Antukh
520ea0e094
🔥 Remove incorrect assert on path segment helper
2025-06-20 08:01:59 +02:00
Alejandro Alonso
5c7a4ce5b7
🐛 Fix fill images for text
2025-06-20 07:45:28 +02:00
Andrey Antukh
0c260c626b
✨ Make the path creation flow consistent
2025-06-20 07:41:06 +02:00
Andrey Antukh
db4721f692
✨ Forward path edition state from vieweport to editor
2025-06-20 07:41:06 +02:00
Andrey Antukh
f8d63f5d9d
🐛 Fix incorrect path drawing/edition state management
2025-06-20 07:41:06 +02:00
Andrey Antukh
7e909dfbe8
Merge remote-tracking branch 'origin/staging' into develop
2025-06-19 15:35:19 +02:00
Alonso Torres
7f7f0893d0
🐛 Fix sidebar width in localhost ( #6732 )
2025-06-19 15:31:27 +02:00
Andrey Antukh
0f46efc117
Merge pull request #6733 from penpot/eva-bugfixing
...
🐛 Fix some bugs
2025-06-19 15:29:34 +02:00
María Valderrama
22fbc3fa5f
💄 Improve dashboard's sidebar ( #6736 )
2025-06-19 15:28:32 +02:00
Alejandro Alonso
d71fa659d5
🐛 Fix asynchronous content rendering
2025-06-19 14:03:40 +02:00
Alejandro Alonso
d0425cabda
Merge pull request #6721 from penpot/ladybenko-11276-fix-modifiers-dpr
...
🐛 Fix panning and scroll when dpr > 1 (render wasm)
2025-06-19 14:01:47 +02:00
Eva Marco
909838c8c4
🐛 Fix snap nodes shortcut
2025-06-19 14:01:15 +02:00
Eva Marco
86e36061fb
🐛 Fix multiple values on text
2025-06-19 13:41:35 +02:00
Belén Albeza
9852d24b83
🔧 Make visual regression tests to hide the UI when taking a screenshot (render-wasm tests only)
2025-06-19 13:37:52 +02:00
Alejandro Alonso
2239482049
Merge pull request #6717 from penpot/alotor-grid-editor
...
✨ Support grid editor with wasm modifiers
2025-06-19 13:32:27 +02:00
Xavier Julian
4ea4a1e130
♻️ Restructure UI files for token settings
2025-06-19 13:10:09 +02:00
alonso.torres
11467e26a2
🐛 Fix problem with flex wrap in wasm
2025-06-19 13:03:25 +02:00
alonso.torres
b997d5a320
🐛 Fix problem with grid layout wasm
2025-06-19 13:03:25 +02:00
alonso.torres
5b4cd9f4f1
🐛 Fix problem when moving masks, bools, groups with wasm
2025-06-19 13:03:25 +02:00
alonso.torres
58e5748b4f
🐛 Fix wasm layout problems
2025-06-19 13:03:25 +02:00
alonso.torres
b2647f30c2
✨ Support grid editor with wasm modifiers
2025-06-19 13:03:25 +02:00
Eva Marco
fbdabcd913
🐛 Fix button width
2025-06-19 12:51:53 +02:00
luisδμ
72f2a409f9
✨ Show warning when duplicated variant prop name and value ( #6639 )
...
* ✨ Show warning when duplicated variant prop name and value
* 📎 PR changes
2025-06-19 12:34:28 +02:00
Alejandro Alonso
191ea3d02a
Merge pull request #6637 from penpot/mavalroot-missing-events
...
✨ Add missing user experience events
2025-06-19 12:11:07 +02:00
Xavier Julian
62a6f2c2f1
♻️ Restructure UI files for theme creation modal
2025-06-19 11:59:25 +02:00
Andrey Antukh
b747ccc382
🎉 Add shortcut helper for creating events
2025-06-19 11:38:08 +02:00
Andrey Antukh
892c9ab12c
✨ Add minor code consistency fixes
2025-06-19 11:38:08 +02:00
Eva Marco
b595d5abf8
🐛 Fix radio buttons gap
2025-06-19 11:23:32 +02:00
María Valderrama
cb46d643ac
✨ Add missing user experience events
2025-06-19 11:22:58 +02:00
Xavier Julian
105e0ba75f
♻️ Create themes folder and themes root file
2025-06-19 10:53:31 +02:00
Belén Albeza
4a9f6ea04e
🐛 Fix panning and scroll when dpr > 1 (render wasm)
2025-06-19 10:42:19 +02:00
Andrey Antukh
03a82c18cb
Merge pull request #6726 from penpot/eva-fix-comment-icon
...
🐛 Fix comment icon fill
2025-06-19 09:43:02 +02:00
Andrey Antukh
a559547f97
Merge pull request #6727 from penpot/bameda-fix-typo
...
🐛 Fix a typo
2025-06-19 09:42:35 +02:00
David Barragán Merino
b91d703060
🐛 Fix a typo
2025-06-19 09:34:53 +02:00
luisδμ
e7e39a5521
✨ Avoid duplicated property names adding a number ( #6681 )
...
* ✨ Avoid repeated property names appending a number
* 📎 PR changes
* 🐛 Adjust rules for incrementing numbers in prop names
2025-06-19 09:11:41 +02:00
Belén Albeza
70a29c43ec
🔧 Fix race condition in colorpicket gradient tests ( #6722 )
2025-06-19 08:57:38 +02:00
Eva Marco
7bde3d0ec1
🐛 Fix comment icon fill
2025-06-19 08:51:29 +02:00
Andrey Antukh
386c729507
Merge remote-tracking branch 'origin/staging' into develop
2025-06-19 08:49:11 +02:00
Alejandro Alonso
219dca3ab8
Merge pull request #6723 from penpot/elenatorro-11385-fix-text-gradients
...
🐛 Fix text fill gradients and add visual regression test for text…
2025-06-19 07:03:19 +02:00
Elena Torro
5c120b601c
🐛 Fix text fill gradients and add visual regression test for text styles
2025-06-18 18:02:28 +02:00
Andrey Antukh
54643b79f6
🐛 Fix exception on changing hex color on colorpicker gradient editor ( #6718 )
2025-06-18 17:59:14 +02:00
Elena Torro
cf8006ce9c
🔧 Add option to skip tutorial/walkthrough when creating profiles for dev purposes
2025-06-18 17:00:46 +02:00
Kelp
71afccbeb5
✨ Adds new font-size icon to the DS
...
Signed-off-by: Kelp <5446186+NatachaMenjibar@users.noreply.github.com>
2025-06-18 15:55:13 +02:00
Andrey Antukh
f0b82864dd
Merge pull request #6719 from penpot/andy-changelog-update
...
📚 Update changelog
2025-06-18 15:04:28 +02:00
Andres Gonzalez
29244776f0
📚 Update changelog
2025-06-18 14:11:35 +02:00
Andrey Antukh
bbb9713f97
Merge remote-tracking branch 'origin/staging' into develop
2025-06-18 14:09:49 +02:00
Andrey Antukh
40c33c7dcc
Merge pull request #6715 from penpot/alotor-bug-fix-workaround
...
🐛 Fix problem fetching images
2025-06-18 14:09:29 +02:00
Andrey Antukh
063c6e7771
Merge remote-tracking branch 'origin/staging' into develop
2025-06-18 13:34:47 +02:00
alonso.torres
1a6fcb5daf
🐛 Fix problem fetching images
2025-06-18 13:26:15 +02:00
Andrey Antukh
34febfc833
📎 Update indirect dependencies
2025-06-18 13:20:45 +02:00
Andrey Antukh
2c0abea254
📎 Add missing deps for build wasm tests
2025-06-18 12:45:25 +02:00
Andrey Antukh
4524782282
📎 Adapt backend test to devenv changes
2025-06-18 12:35:58 +02:00
Andrey Antukh
b8b56d5aa4
Merge remote-tracking branch 'origin/staging' into develop
2025-06-18 10:54:17 +02:00
Alejandro Alonso
2a5b087aa4
Merge pull request #6714 from penpot/niwinz-staging-fix-path-edition
...
🐛 Fix unexpected exception on selectiong node on non path shape
2025-06-18 10:45:36 +02:00
Andrey Antukh
402508a710
Merge remote-tracking branch 'origin/staging' into develop
2025-06-18 10:41:30 +02:00
Alejandro Alonso
1f034654a0
Merge pull request #6705 from penpot/niwinz-staging-docker-improvements
...
✨ Major improvement and update to docker images and devenv
2025-06-18 10:39:51 +02:00
Andrey Antukh
88ed08916e
Merge remote-tracking branch 'origin/staging' into develop
2025-06-18 10:39:23 +02:00
Andrey Antukh
a9a0970001
Merge pull request #6679 from penpot/niwinz-develop-enhacements-4
...
✨ Add editors count to get-owned-teams rpc method response
2025-06-18 10:38:48 +02:00
Andrey Antukh
1576016999
Merge pull request #6711 from penpot/elenatorro-11212-fix-right-sidebar-overflow
...
🐛 Fix right-sidebar width overflow
2025-06-18 10:38:18 +02:00
Andrey Antukh
5ea515cc9f
Merge pull request #6713 from mdbenito/doc/undo-ns
...
📚 Document app.main.data.workspace.undo
2025-06-18 10:37:42 +02:00
Andrey Antukh
e3cce104e1
🐛 Fix unexpected exception on selectiong node on non path shape
2025-06-18 10:12:24 +02:00
Alejandro Alonso
a24631ac66
Merge pull request #6710 from penpot/niwinz-staging-path-make-curve-point
...
🐛 Fix incorrect behavior of `make-curve-point` fn
2025-06-18 10:06:28 +02:00
Miguel de Benito Delgado
c0df527b3d
📚 Document app.main.data.workspace.undo
2025-06-18 09:52:15 +02:00
Andrey Antukh
fd81ea6a84
🔥 Remove commented code
2025-06-18 09:46:15 +02:00
Andrey Antukh
a3c7151157
⬆️ Update indirect exporter module dependencies
2025-06-18 09:46:15 +02:00
Andrey Antukh
2d4fc3e05f
♻️ Refactor devenv build mechanism
...
This introduces multistage build process for devenv making
different dependencies build depend on its own (per example, when
jvm version is changed, only the jvm stage is rebuild)
This commit also introduces imagemagick 7.x custom build
in the same way as we have on public docker images, so on
devenv we use the same version.
2025-06-18 09:46:15 +02:00
Andrey Antukh
b01dea20d6
✨ Add imagemagick custom build to backend docker image
...
This allows us be in control of the imagemagick version and not
depend on the version available on the distro repository, which
right now only ships the legacy 6.x version
2025-06-18 09:46:15 +02:00
Andrey Antukh
3f40a830fd
✨ Revisit exporter docker image dependencies
...
And remove cache for not include unnecessary files on
the docker image.
2025-06-18 09:46:15 +02:00
Andrey Antukh
50e9816526
✨ Use custom jre for backend image
...
Mainly for reduce the size of the image and not include
not necessary modules. It also starts using multistage
dockerfiles for fetch and setup jdk and node and then
only copy the required files.
2025-06-18 09:46:15 +02:00
Andrey Antukh
4c0165da62
⬆️ Update node dependency on devenv
2025-06-18 09:46:15 +02:00
Andrey Antukh
42d36bae0a
✨ Update several node based dependencies
2025-06-18 09:46:15 +02:00
Andrey Antukh
6dd0f4f164
🔥 Remove unused jvm options from backend start-dev script
2025-06-18 09:46:15 +02:00
Elena Torro
f7c4bd77be
🐛 Fix right-sidebar width overflow
2025-06-18 09:10:01 +02:00
Alejandro Alonso
5d72954611
Merge pull request #6707 from penpot/niwinz-staging-fix-path-join-nodes
...
🐛 Fix incorrect type handling on path join nodes operation
2025-06-18 07:37:58 +02:00
Alejandro Alonso
9930f54558
Merge pull request #6706 from penpot/niwinz-staging-opacity-fix
...
🐛 Fix incorrect handling of opacity change on gradient stop
2025-06-18 07:32:34 +02:00
Alejandro Alonso
667c9ddbb9
Merge pull request #6698 from penpot/niwinz-staging-fix-exporter
...
🐛 Fix incorrect params handling on exporter
2025-06-18 07:29:36 +02:00
Alejandro Alonso
4f09005586
Merge pull request #6694 from penpot/niwinz-staging-fix-profile-lang
...
🐛 Fix bad initial state on profile settings
2025-06-18 07:26:42 +02:00
Alejandro Alonso
cbc98a761f
Merge pull request #6693 from penpot/niwinz-staging-register-regression
...
🐛 Fix regression on singup flow
2025-06-18 07:23:37 +02:00
Andrey Antukh
c3b306201d
🐛 Fix incorrect behavior of make-curve-point fn
2025-06-17 23:18:34 +02:00
Andrey Antukh
a772b442c8
🐛 Fix incorrect type handling on path join nodes operation
2025-06-17 17:34:37 +02:00
Alejandro Alonso
6a46110f80
Merge pull request #6672 from penpot/superalex-fix-focus-mode-wasm
...
🐛 Fix focus mode for wasm render
2025-06-17 16:55:47 +02:00
Alejandro Alonso
1c7aea4b84
🐛 Fix focus mode for wasm render
2025-06-17 16:42:45 +02:00
Andrey Antukh
90116c207f
Merge remote-tracking branch 'origin/staging' into develop
2025-06-17 16:23:35 +02:00
Pablo Alba
46fe3a6239
📚 Add comments on convoluted variants code ( #6704 )
2025-06-17 16:17:56 +02:00
Andrey Antukh
332bbc71c3
🐛 Fix incorrect handling of opacity change on gradient stop
2025-06-17 16:14:10 +02:00
Andrey Antukh
c5b0206bf0
🐛 Add workaround for webkit issue on fileReader ( #6697 )
...
On reading blob as data uri
2025-06-17 15:25:58 +02:00
Elena Torró
01311225c7
Merge pull request #6695 from penpot/superalex-fix-allocate-0-bytes-path-attrs
...
🐛 Fix wasm render path issues
2025-06-17 14:44:15 +02:00
Elena Torró
717f3e1b32
Merge pull request #6703 from penpot/elenatorro-update-render-wasm-docs
...
📚 Add schemas and links to render-wasm README
2025-06-17 14:24:47 +02:00
Elena Torro
9a44bd0967
📚 Add schemas and links to render-wasm README
2025-06-17 14:06:46 +02:00
Belén Albeza
b92e108205
✨ Are more visual regression tests for wasm ( #6702 )
2025-06-17 12:39:38 +02:00
Alejandro Alonso
8c6a80829f
Merge pull request #6671 from penpot/azazeln28-refactor-minor-perf-issues
...
♻️ Refactor some minor perf issues
2025-06-17 11:30:43 +02:00
Elena Torró
039a544990
Merge pull request #6675 from penpot/alotor-grid-helpers
...
✨ Add grid helpers to wasm
2025-06-17 11:14:18 +02:00
Alejandro Alonso
60dbf02896
Merge pull request #6701 from penpot/elenatorro-fix-custom-font-load
...
🐛 Fix storing custom fonts
2025-06-17 10:06:02 +02:00
Elena Torro
d248dd09bc
🐛 Fix storing custom fonts
2025-06-17 09:38:17 +02:00
Alejandro Alonso
81d2b9a82e
🐛 Fix group fills propagation when fill is none
2025-06-17 09:17:54 +02:00
Alejandro Alonso
1bb6f2754c
🐛 Fix allocate 0 bytes for path attrs
2025-06-17 08:43:00 +02:00
Andrey Antukh
22ca1ab5f9
🐛 Fix incorrect params handling on exporter
...
that caused unexpected exception on multiple exports
2025-06-16 16:58:03 +02:00
Andrey Antukh
df84396fea
Merge remote-tracking branch 'origin/staging' into develop
2025-06-16 16:51:14 +02:00
Andrey Antukh
acf0d02c5d
Merge pull request #6696 from penpot/eva-add-export-metrics
...
🎉 Add token export event tag
2025-06-16 16:50:49 +02:00
Eva Marco
5ccf34fdae
🐛 Fix reposition on tooltip
2025-06-16 16:34:53 +02:00
Eva Marco
41c8bba1df
♻️ Remove anonym fn
2025-06-16 16:23:53 +02:00
Eva Marco
325a78a967
🎉 Add token export event tag
2025-06-16 16:20:14 +02:00
mirakernel
409ff31c30
🐛 Avoid crash on empty string in interaction prototype ( #6687 )
...
Fixes #6469
Using `uuid/parse` caused a crash when "Relative to" field was set to "auto",
producing an empty string. This change uses `uuid/parse*` instead, which safely
returns nil for invalid or empty inputs, preventing the crash.
Signed-off-by: Dmitriy Mikheev <mirakernel.disroot.org>
Co-authored-by: kira <kira@kira.kira>
2025-06-16 15:19:45 +02:00
mirakernel
a56822ad99
🐛 Avoid crash on empty string in interaction prototype ( #6687 )
...
Fixes #6469
Using `uuid/parse` caused a crash when "Relative to" field was set to "auto",
producing an empty string. This change uses `uuid/parse*` instead, which safely
returns nil for invalid or empty inputs, preventing the crash.
Signed-off-by: Dmitriy Mikheev <mirakernel.disroot.org>
Co-authored-by: kira <kira@kira.kira>
2025-06-16 15:18:59 +02:00
Andrey Antukh
8cb42a63e5
🐛 Fix bad initial state on profile settings
2025-06-16 15:05:29 +02:00
Andrey Antukh
2af1feafb6
Merge pull request #6667 from penpot/niwinz-develop-enhacements-2
...
✨ Add internal changes to tooltip* ds component
2025-06-16 15:03:42 +02:00
Eva Marco
691a67b595
🐛 Fix tooltip height on safari
2025-06-16 14:45:12 +02:00
Andrey Antukh
f7e94accc3
✨ Add internal performance oriented changes to tooltip*
2025-06-16 14:45:12 +02:00
Andrey Antukh
fc655224af
⚡ Add memorization to icon-button* ds component
2025-06-16 14:45:12 +02:00
Andrey Antukh
8b0ead6832
🐛 Fix regression on singup flow
...
Move all params handling to prepare-register, just for consistency
2025-06-16 14:31:30 +02:00
Alejandro Alonso
10ae4dd3f7
Merge pull request #6689 from penpot/niwinz-staging-add-sr-lang
...
✨ Add several fixes & enhancements
2025-06-16 13:43:24 +02:00
Andrey Antukh
34d6e86e42
🐛 Fix incorrect theem selection on export progress bar color
2025-06-16 13:42:43 +02:00
Andrey Antukh
481d1ec53a
✨ Normalize layout schemas
2025-06-16 13:42:43 +02:00
Andrey Antukh
c6f4ee1974
⬆️ Update cuerdas dependency
...
Fixes a corner case with camel->kebab casing
2025-06-16 13:42:41 +02:00
Andrey Antukh
f20032199a
🎉 Add Serbian lang
2025-06-16 13:42:22 +02:00
Elena Torró
4869373a43
🔧 Add methods to render text as path ( #6624 )
...
* 🔧 Refactor text strokes drawing
* 🔧 Add text to path methods for future usage
* 📚 Add text as paths internal documentation
2025-06-16 13:37:29 +02:00
María Valderrama
d0aac65c76
🐛 Fix misalignments at create account ( #6692 )
2025-06-16 13:26:33 +02:00
Pablo Alba
2d36a1f3e0
🐛 Fix when retrieving a variant from several with same props, it get the last one
2025-06-16 12:23:40 +02:00
Alejandro Alonso
38941d4811
Merge pull request #6676 from penpot/elenatorro-fix-load-pending-single-attr
...
🐛 Fix parsing pending callback on setting single shape attr
2025-06-16 11:50:57 +02:00
María Valderrama
f21e546bc1
✨ Add import error event ( #6690 )
2025-06-16 10:39:56 +02:00
alonso.torres
0be8a6e0e6
✨ Add grid helpers to wasm
2025-06-16 09:55:35 +02:00
Marina López
3624a14141
✨ Subscription tests ( #6669 )
...
* ✨ Subscription tests
* ✨ Subscription tests
2025-06-16 09:31:50 +02:00
Peter Kahoun
141431bb9e
✨ Update cs.po - inflection fixes ( #6677 )
...
Signed-off-by: Peter Kahoun <kahi.cz@gmail.com>
2025-06-16 09:29:47 +02:00
Alonso Torres
874a658369
✨ Adds generateFontFaces method to the plugins api ( #6682 )
...
* ✨ Adds generateFontFaces method to the plugins api
* ⬆️ Update plugin runtime
2025-06-16 09:28:04 +02:00
Alonso Torres
c254ebd7c3
🐛 Fix problem with import modal style ( #6683 )
2025-06-16 09:26:35 +02:00
Elena Torro
f58ee2c89f
🔧 Add visual regression tests for font load
2025-06-11 13:22:23 +02:00
Pablo Alba
925b6c02d6
🎉 Separate the content of the text of the rest of properties on variants
2025-06-11 11:22:43 +02:00
Pablo Alba
9761cba337
♻️ Restore separate the content of the text of the rest of properties on components updates
...
This reverts commit b2aaa5f0df9630a2cff20bef1491a4d0f8e599a2.
2025-06-11 11:21:54 +02:00
Florian Schrödl
267a3af1e5
💄 Fixes export dialog styling issues ( #6673 )
...
* 🐛 Fix text overflow in file list
* 💄 Set monospace font for code-block component
* 💄 Reduce padding
2025-06-11 10:43:02 +02:00
Andrey Antukh
71f5806e23
✨ Add editors count to get-owned-teams rpc method response
2025-06-11 08:40:58 +02:00
Elena Torro
330bee7839
🐛 Fix parsing pending callback on setting single shape attr
2025-06-10 21:34:41 +02:00
Andrey Fedorov
d44e4e5275
✨ Add zip file format import for tokens
2025-06-10 17:32:06 +02:00
Aitor Moreno
369e134bed
♻️ Refactor some minor perf issues
2025-06-10 16:00:10 +02:00
Andrey Antukh
b8ee7cad26
Merge pull request #6663 from penpot/alotor-plugins-bugfixes
...
✨ Plugins fixes and enhancements
2025-06-10 15:30:32 +02:00
alonso.torres
26efc9f0c8
📚 Add documentation for new plugin permission
2025-06-10 15:09:22 +02:00
alonso.torres
1d593e1287
⬆️ Updates plugins runtime
2025-06-10 15:09:22 +02:00
alonso.torres
b34c161fc3
✨ Adds local store proxy in plugins
2025-06-10 15:09:22 +02:00
alonso.torres
ed0c84a069
✨ Exposes board clipContent and showInViewMode properties in plugins
2025-06-10 15:06:31 +02:00
alonso.torres
29466b47fe
✨ Adds skipChildren to export parameters
2025-06-10 15:06:30 +02:00
Elena Torró
f02dd9f8dc
Merge pull request #6651 from penpot/superalex-path-fixes
...
🐛 Path fixes
2025-06-10 12:11:25 +02:00
David Barragán Merino
b385f055e0
🐳 Migrate from Redis to Valkey ( #6666 )
2025-06-10 10:08:10 +02:00
Alejandro Alonso
e91550cd9d
Merge pull request #6646 from penpot/ladybenko-10904-playwright-wasm
...
🔧 Set up visual regression tests for wasm renderer
2025-06-10 09:24:59 +02:00
Alejandro Alonso
5faa619bc4
Merge pull request #6664 from penpot/niwinz-hotfix-1
...
🐛 Add better fix for path transformation
2025-06-10 08:51:51 +02:00
Alejandro Alonso
ed76b1b1ee
🎉 Support for webp images ( #6665 )
2025-06-10 08:40:30 +02:00
Belén Albeza
afdbb5cf2f
📚 Add documentation specific for wasm visual regression tests
2025-06-09 17:46:18 +02:00
Belén Albeza
971b92a75b
🔧 Make mockAsset to accept an array of asset ids too
2025-06-09 17:46:18 +02:00
Belén Albeza
479406b884
🔧 Add initial snapshots
2025-06-09 17:46:18 +02:00
Belén Albeza
1a10b7ebfd
🔧 Wait for first render using a custom event (visual regression tests)
2025-06-09 17:46:18 +02:00
Belén Albeza
59a4b51d2c
🔧 Set up playwright project for render wasm
2025-06-09 17:01:29 +02:00
Andrey Antukh
74430aad21
📎 Add missing emsd loading to devenv bashrc
2025-06-09 15:57:31 +02:00
Alejandro Alonso
78d6166bac
🐛 Fix caps for rounded paths
2025-06-09 14:40:54 +02:00
Alejandro Alonso
8db910baee
🐛 Fix rendering vertical and horizontal paths
2025-06-09 13:04:18 +02:00
Alejandro Alonso
a9702f104d
🐛 Fix shapes without fills contained in a group with fills
2025-06-09 13:04:18 +02:00
Andrey Antukh
01dda6dd6b
🐛 Add better fix for path transformation
2025-06-09 12:46:53 +02:00
Andrey Antukh
b2bc481672
Merge remote-tracking branch 'origin/develop' into staging
2025-06-09 12:21:09 +02:00
Andrey Antukh
8c337f508b
Merge remote-tracking branch 'origin/staging' into develop
2025-06-09 12:20:55 +02:00
Andrey Antukh
f9f45dc612
🐛 Fix path rotation issue ( #6662 )
2025-06-09 12:14:09 +02:00
Anonymous
93542854c1
🌐 Add translations for: Swedish
...
Currently translated at 86.6% (1610 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-06-09 11:13:39 +02:00
Anonymous
858f94c6d2
🌐 Add translations for: Dutch
...
Currently translated at 96.5% (1793 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-06-09 11:13:38 +02:00
Anonymous
f932d663b0
🌐 Add translations for: Latvian
...
Currently translated at 96.5% (1793 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-06-09 11:13:38 +02:00
Anonymous
63631e60cd
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 96.5% (1793 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-06-09 11:13:38 +02:00
Anonymous
6018cd67c5
🌐 Add translations for: Croatian
...
Currently translated at 87.1% (1619 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2025-06-09 11:13:37 +02:00
Anonymous
4856d0e957
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 85.7% (1592 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-06-09 11:13:37 +02:00
Anonymous
995ca4d7d9
🌐 Add translations for: Czech
...
Currently translated at 87.1% (1618 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2025-06-09 11:13:37 +02:00
Anonymous
d5d254a7f3
🌐 Add translations for: Italian
...
Currently translated at 96.5% (1793 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-06-09 11:13:36 +02:00
Anonymous
69f45dc811
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 87.3% (1623 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-06-09 11:13:35 +02:00
Anonymous
7534ad283c
🌐 Add translations for: Hebrew
...
Currently translated at 96.5% (1793 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-06-09 11:13:34 +02:00
Anonymous
3d6695171d
🌐 Add translations for: Indonesian
...
Currently translated at 92.7% (1722 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-06-09 11:13:34 +02:00
Anonymous
8fa28ce176
🌐 Add translations for: German
...
Currently translated at 89.9% (1670 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-06-09 11:13:34 +02:00
Anonymous
f03a0de665
🌐 Add translations for: French
...
Currently translated at 95.7% (1778 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-06-09 11:13:34 +02:00
Anonymous
555af2fa52
🌐 Add translations for: English
...
Currently translated at 99.7% (1852 of 1857 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/en/
2025-06-09 11:13:33 +02:00
Andrey Antukh
0683b20b25
🌐 Rehash and validate translation files
2025-06-09 11:01:08 +02:00
Hosted Weblate
163ae639ff
🌐 Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
2025-06-09 10:57:51 +02:00
Andrey Antukh
354ba91aa6
Merge remote-tracking branch 'weblate/develop' into develop
2025-06-09 10:57:13 +02:00
Andrey Antukh
38d9a9d2d5
📎 Update changelog
2025-06-09 10:29:18 +02:00
Yamila Moreno
beb3d16693
📎 Fix minor typo ( #6661 )
2025-06-09 10:25:16 +02:00
Andrey Antukh
5770c0cb02
Merge pull request #6625 from penpot/niwinz-develop-enhacements-1
...
✨ Several enhacements
2025-06-09 10:24:44 +02:00
Eva Marco
46ce9500fc
🐛 Fix absolute position tooltip message ( #6660 )
2025-06-09 09:52:35 +02:00
Alejandro Alonso
d008ea9edd
Merge pull request #6652 from penpot/elenatorro-fix-load-fonts
...
🐛 Fix fonts initialization
2025-06-09 09:31:00 +02:00
Eva Marco
eba8d02c18
📚 Update changelog
2025-06-06 15:48:39 +02:00
Florian Schrödl
bb9daf7c03
✨ Add export tokens modal with multi-file export ( #6649 )
2025-06-06 15:37:10 +02:00
Andrey Antukh
f1232fc461
🐛 Fix issues with old profile theme data
2025-06-06 15:25:49 +02:00
Andrey Antukh
9584e1b02d
📎 Add missing playwright chromium install to devenv
2025-06-06 15:10:52 +02:00
Edgars Andersons
96ccac5085
🌐 Add translations for: Latvian
...
Currently translated at 99.9% (1807 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-06-06 13:03:07 +00:00
Ingrid Pigueron
2540d58096
🌐 Add translations for: French
...
Currently translated at 98.7% (1786 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-06-06 13:03:05 +00:00
Andrey Antukh
de2695682d
✨ Allow encode mailto and self target link in markdown
...
On translation files
2025-06-06 14:03:52 +02:00
Andrey Antukh
e464d8cf9c
📎 Add library tests to circle-ci config
2025-06-06 14:03:52 +02:00
Andrey Antukh
a8433bcef3
🐛 Fix incorrect decoding of library color
2025-06-06 14:03:52 +02:00
Andrey Antukh
644dd9ff44
🎉 Add support for progress reporting to library export method
2025-06-06 14:03:52 +02:00
Andrey Antukh
27d2724153
🐛 Fix incorrect shape filtering on bool creation on library
2025-06-06 14:03:52 +02:00
Andrey Antukh
c647d122d8
⬆️ Update frontend dependencies
2025-06-06 14:03:52 +02:00
Andrey Antukh
e4a65f3a04
⬆️ Update backend dependencies
2025-06-06 14:03:52 +02:00
Andrey Antukh
389f1d6502
⬆️ Update common dependencies
2025-06-06 14:03:52 +02:00
Andrey Antukh
b91a670198
✨ Replace redis with valkey on devenv compose file
2025-06-06 14:03:52 +02:00
Andrey Antukh
5650629b73
✨ Add minimal wait to run-devenv when no compose is started
2025-06-06 14:01:10 +02:00
Andrey Antukh
a4310b4213
🔥 Remove usage of dm/assert on data.profile ns file
2025-06-06 14:01:10 +02:00
Elena Torro
a8d4b293dc
🐛 Fix loading same resources multiple times
2025-06-06 12:26:35 +02:00
Alejandro Alonso
fec7d5cff2
🐛 Fix detach stroke ( #6655 )
2025-06-06 12:24:18 +02:00
Alejandro Alonso
5e254ff3f6
Merge pull request #6643 from penpot/azazeln28-refactor-performance-improvements
...
♻️ Minor performance improvements
2025-06-06 11:38:53 +02:00
Elena Torro
8c20159fb0
🐛 Cache emoji font correctly
2025-06-06 11:28:50 +02:00
Elena Torro
79e1c29306
🐛 Fix emoji detection and load
2025-06-06 11:28:50 +02:00
Aitor Moreno
fcd3e5c34c
♻️ Refactor surface iteration
2025-06-06 10:21:31 +02:00
Eva Marco
8b9f15f414
🐛 Fix select color tooltip error ( #6648 )
2025-06-05 21:15:00 +02:00
Pablo Alba
b2aaa5f0df
♻️ Remove separate the content of the text of the rest of properties on components updates
2025-06-05 16:43:23 +02:00
Aitor Moreno
8922e7454f
♻️ Refactor some allocations
2025-06-05 15:37:03 +02:00
Alejandro Alonso
4f7d97a31e
Merge pull request #6641 from penpot/ladybenko-fix-fills-wasm
...
🐛 Fix set-shape-fills serialization (wasm renderer)
2025-06-05 14:24:27 +02:00
Stas Haas
e32af5e71e
🌐 Add translations for: German
...
Currently translated at 92.4% (1672 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-06-05 14:09:36 +02:00
Ingrid Pigueron
6cb5b812da
🌐 Add translations for: French
...
Currently translated at 98.0% (1772 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-06-05 14:09:36 +02:00
Belén Albeza
ca24e23775
🐛 Fix set-shape-fills serialization (wasm renderer)
2025-06-05 14:04:41 +02:00
Alejandro Alonso
28ed62fb2c
Merge pull request #6640 from penpot/niwinz-develop-hotfix-1
...
🐛 Remove fills from paragraph-set nodes on text shapes
2025-06-05 14:03:18 +02:00
Andrey Antukh
9c4b60e95f
🐛 Fix incorrect opacity assignation on changing fill from solid to gradient
2025-06-05 13:34:13 +02:00
Andrey Antukh
6719902647
✨ Add color checks and test of event creation for fills
2025-06-05 13:34:13 +02:00
Andrey Antukh
cf8307af8f
📎 Update changelog
2025-06-05 13:29:51 +02:00
Andrey Antukh
8c54cb764f
🐛 Remove fills from paragraph-set nodes on text shapes
2025-06-05 13:11:39 +02:00
Eva Marco
4a9fef12eb
🐛 Fix url params on invitation link ( #6638 )
2025-06-05 12:28:53 +02:00
Alejandro Alonso
ea4e69f381
Merge pull request #6633 from penpot/niwinz-develop-hotfix-1
...
🐛 Fix library color detach operation
2025-06-05 11:04:57 +02:00
Anderson Paulo
5fed12d807
🌐 Add translations for: Portuguese
...
Currently translated at 5.1% (93 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt/
2025-06-05 11:01:50 +02:00
Edgars Andersons
a2f41a7a40
🌐 Add translations for: Latvian
...
Currently translated at 99.3% (1797 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-06-05 11:01:47 +02:00
Stas Haas
f4fd9fa13d
🌐 Add translations for: German
...
Currently translated at 92.3% (1669 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-06-05 11:01:47 +02:00
Andrés Moya
8a0aa20789
🔧 Renames, privacy adjustments and other small enhancements
2025-06-05 10:58:23 +02:00
Andrés Moya
1b3a200010
🔧 Reorder code for more legibility
2025-06-05 10:58:23 +02:00
Andrés Moya
70263ba901
🔥 Remove unused code
2025-06-05 10:58:23 +02:00
Andrés Moya
5c8f6dd498
🔧 Add internal id to all token entities
2025-06-05 10:58:23 +02:00
Eva Marco
a2abaea637
♻️ Update button-icon with tooltip component ( #6539 )
...
* 🐛 Add tooltip to base icon button
* 🎉 Update id prop
* 🐛 Fix test
2025-06-05 10:18:56 +02:00
Alejandro Alonso
55997a3d4a
Merge pull request #6634 from penpot/ladybenko-fit-set-shape-fills
...
🐛 Fix wasm crash in set_shape_fills (wasm) when fill list is empty
2025-06-05 10:07:34 +02:00
Belén Albeza
a30ab17605
🐛 Fix wasm crash in set_shape_fills (wasm) when fill list is empty
2025-06-05 09:52:51 +02:00
Eva Marco
ab0219876e
✨ Add numeric token type ( #6575 )
...
* ✨ Add numeric type token
* 🐛 Fix comments
2025-06-05 09:33:54 +02:00
Andrey Antukh
19961f440a
🐛 Fix library color detach operation
2025-06-05 09:33:06 +02:00
Alejandro Alonso
db84eb365b
🐛 Fix strokes migration ( #6632 )
2025-06-05 08:42:57 +02:00
Marina López
b7f97dbeea
🐛 Subscription review fixes ( #6628 )
2025-06-04 21:01:48 +02:00
Elenzakaleidos
4cbaef1451
💄 New video in the README.md ( #6629 )
...
I added a new video in the readme page cause the previous one had the wrong name
Signed-off-by: Elenzakaleidos <elena.scilinguo@kaleidos.net>
2025-06-04 21:00:49 +02:00
andrés gonzález
e1adbdfd9f
📚 Update changelog ( #6616 )
2025-06-04 15:12:33 +02:00
Alejandro Alonso
687e1e7b0b
Merge pull request #6569 from penpot/niwinz-fills-cleanup
...
♻️ Clean and sanitize color types
2025-06-04 14:26:12 +02:00
Alejandro Alonso
055ee27be0
🐛 Add migrations to fix colors
2025-06-04 14:01:48 +02:00
Andrés Moya
47af278f5e
🐛 Remove unneeded check
2025-06-04 13:11:16 +02:00
Andrey Antukh
29ad99d685
🐛 Fix incorrect declaration of tokens lib schema decoder
2025-06-04 13:03:51 +02:00
Andrey Antukh
3a8b312f6d
🐛 Fix calculate hash on empty path data instance
2025-06-04 13:03:51 +02:00
Andrey Antukh
8f55269522
🐛 Remove unknown types from stroke style schema
2025-06-04 13:03:51 +02:00
Andrey Antukh
f86ce38f04
🎉 Add Fills binary data type
2025-06-04 13:03:51 +02:00
Andrey Antukh
b97a3f9783
✨ Add tests for common buffers namespace to the cljs test runner
2025-06-04 12:46:49 +02:00
Andrey Antukh
91807151ba
✨ Add stricter validation for gradient stop offset
...
It should be from a number from 0 to 1 inclusive
2025-06-04 12:46:49 +02:00
Andrey Antukh
5c225a51ce
✨ Add the ability to retrieve a set of keys from map schemas
2025-06-04 12:46:49 +02:00
Andrey Antukh
3d61924162
♻️ Change internal naming for PathData cljs impl
...
For make it more consistent with CLJ impl and move
the equals helper to buffers for make it reusable by
other binary types.
2025-06-04 12:46:49 +02:00
Andrey Antukh
580013bc3f
⬆️ Update shadow-cljs to 3.1.5
2025-06-04 12:46:49 +02:00
Andrey Antukh
9ec5467e2a
🐛 Fix incorrect neested data structure validation on components
...
This commit upgrades rumext where the issue is fixed. It also
adapts the swatch component for correct data passing.
2025-06-04 12:46:49 +02:00
Andrey Antukh
b113736321
📎 Disable shadow-cljs reload on storybook build
2025-06-04 12:46:49 +02:00
Andrey Antukh
22db773b2e
🔥 Remove unused code from worker import ns
2025-06-04 12:46:49 +02:00
Andrey Antukh
91636ffc41
🐛 Adapt inspect code to color type changes
...
Still contains broken code because it was already broken
2025-06-04 12:46:49 +02:00
Andrey Antukh
7160334cb9
♻️ Add stricter validation for colors, fills and strokes
2025-06-04 12:46:49 +02:00
Andrey Antukh
d08d2f49ac
✨ Add better defaults for several number schema generators
2025-06-04 12:46:49 +02:00
Andrey Antukh
8f774a3611
✨ Simplify media mime types structs
2025-06-04 12:46:49 +02:00
Andrey Antukh
d9d2cc7b4e
✨ Split byte buffer helpers from types path impl
2025-06-04 12:46:49 +02:00
Andrey Antukh
2e0fd6ec1b
Merge pull request #6626 from penpot/niwinz-develop-fixes-4
...
🐛 Several bugfixes
2025-06-04 12:39:39 +02:00
Andrey Antukh
d2d39aad30
✨ Make theme toggle skip "system" theme
2025-06-04 12:24:01 +02:00
Andrey Antukh
d6e0001ac4
🐛 Fix encoding and decoding issue with tokens lib type
2025-06-04 12:12:31 +02:00
Elena Torró
793c01a0a1
Merge pull request #6611 from penpot/elenatorro-add-new-render-texts-docs
...
📚 Add texts documentation
2025-06-04 10:11:31 +02:00
Elena Torró
bbac5d050e
Merge pull request #6623 from penpot/ladybenko-11106-send-all-fills
...
✨ Send all fills of a shape in a single wasm call
2025-06-04 09:18:39 +02:00
Alejandro Alonso
5a7d9e3f18
Merge pull request #6609 from penpot/elenatorro-11213-fix-language-font-fallback
...
🎉 Implement font fallback to support multiple languages
2025-06-03 17:19:39 +02:00
Edgars Andersons
1a921c2750
🌐 Add translations for: Latvian
...
Currently translated at 99.1% (1792 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-06-03 14:04:12 +00:00
Yaron Shahrabani
39f145b8b1
🌐 Add translations for: Hebrew
...
Currently translated at 99.9% (1807 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-06-03 14:04:10 +00:00
Stas Haas
6611769dc9
🌐 Add translations for: German
...
Currently translated at 92.2% (1667 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-06-03 14:04:08 +00:00
Eva Marco
b3d230ba16
📚 Add copyright to docs files ( #6618 )
2025-06-03 15:49:24 +02:00
Eva Marco
ddae0026fe
🎉 Add metrics to new multi file import ( #6610 )
2025-06-03 15:48:22 +02:00
Belén Albeza
9fc3f4858a
✨ Send all fills of a shape in a single wasm call
2025-06-03 15:37:36 +02:00
andrés gonzález
1120c7c7fb
🐛 Fix copy in error message ( #6615 )
2025-06-03 12:28:49 +02:00
Andrey Antukh
e9bd44b819
Merge remote-tracking branch 'origin/staging' into develop
2025-06-03 10:44:11 +02:00
Andrey Antukh
2244bf6aa7
Merge remote-tracking branch 'origin/main' into staging
2025-06-03 10:43:39 +02:00
Andrey Antukh
f4ef4a705c
Merge tag '2.7.2-RC1'
2025-06-03 10:43:14 +02:00
Elena Torro
c40de5fb87
🎉 Implement font fallback to support multiple languages
2025-06-03 08:21:59 +02:00
Elena Torro
9733c41ae4
🐛 Fix blend mode on merge fills
2025-06-03 08:21:59 +02:00
Alejandro Alonso
fe8d9fdd76
Merge pull request #6614 from penpot/niwinz-staging-backport-1
...
✨ Make the hash optional on binfile-v3
2025-06-03 08:13:42 +02:00
Alejandro Alonso
401fa823a0
Merge pull request #6612 from penpot/niwinz-develop-devenv
...
🐛 Fix build issues on devenv
2025-06-03 07:49:34 +02:00
Andrey Antukh
3da3281a56
🐛 Fix library compatibility issue on media encoding with penpot 2.7 ( #6613 )
2025-06-02 23:25:39 +02:00
Andrey Antukh
3131eec271
✨ Make the hash optional on binfile-v3
...
Backport the change from develop
2025-06-02 23:24:35 +02:00
Andrey Antukh
1909189ce0
✨ Use different approach for setup cargo home
2025-06-02 22:29:39 +02:00
Andrey Antukh
0ec0917b6d
✨ Add isolated-shell to manage.sh
...
Instead of attaching to an existing devenv, starts a new one.
2025-06-02 19:13:20 +02:00
Andrey Antukh
0e4c535edc
📎 Print current path on frontend scripts build script
2025-06-02 19:11:55 +02:00
Andrey Antukh
46f330fef3
✨ Move several logic from init to entrypoint on devenv
...
For make commands consistent independently if they are executed
inside devenv or from manage.sh
2025-06-02 19:10:48 +02:00
Andrey Antukh
f067c86b02
🔥 Remove unnecesary env vars from bashrc (devenv)
2025-06-02 19:10:20 +02:00
Andrey Antukh
2b6a91819b
✨ Reduce verbosity of frontend build script
2025-06-02 18:05:11 +02:00
Andrey Antukh
1f652fe364
✨ Remove arm64 build of devenv
...
Looks unused right now
2025-06-02 17:44:22 +02:00
Elena Torro
4c10aeefe6
📚 Add texts documentation
2025-06-02 16:36:25 +02:00
Andrey Antukh
e70da78a77
Merge remote-tracking branch 'origin/staging' into develop
2025-06-02 12:55:22 +02:00
Andrey Antukh
27ab910a64
📚 Update changelog
2025-06-02 12:36:47 +02:00
Alejandro Alonso
c1fa6be7c4
Merge pull request #6591 from penpot/azazeln28-refactor-render-iteration
...
♻️ Refactor render iteration
2025-06-02 12:33:19 +02:00
Andrey Antukh
2398c1fc2b
Merge pull request #6604 from penpot/alotor-fix-sandbox-runtime
...
🐛 Add sandbox runtime
2025-06-02 12:30:51 +02:00
Alejandro Alonso
13859f90b9
Merge pull request #6601 from penpot/alotor-fix-move-guides
...
✨ Move guides and comments for wasm modifiers
2025-06-02 12:28:01 +02:00
Yamila Moreno
e2724d180b
Merge pull request #6497 from penpot/yms-update-coc
...
📚 Update Code of conduct
2025-06-02 12:20:57 +02:00
Andrey Antukh
c6bccafd98
Merge pull request #6607 from penpot/andy-update-changelog
...
📚 Update changelog
2025-06-02 12:17:53 +02:00
Andrey Antukh
1357ab34eb
📚 Move library rework changes to its own changelog
2025-06-02 12:16:27 +02:00
Andres Gonzalez
6e9ee3d310
📚 Update changelog
2025-06-02 12:10:32 +02:00
Yamila Moreno
5816695246
📚 Update Code of Conduct
2025-06-02 12:09:20 +02:00
Yamila Moreno
0d9160506b
📚 Add direct link to the CoC
2025-06-02 12:09:20 +02:00
Yamila Moreno
c3c6628bf1
📚 Minor improvement in README / Getting started
2025-06-02 12:09:20 +02:00
Alejandro Alonso
8642ffba46
🐛 Fix frontend build ( #6608 )
2025-06-02 12:03:08 +02:00
Andrey Antukh
25372c3edf
✨ Persist ruler layout flag to local storage
2025-06-02 11:43:13 +02:00
Andrey Antukh
e13d1743da
Merge pull request #6598 from penpot/superalex-deprecate-old-image-type
...
♻️ Migrations for deprecated types and attributes
2025-06-02 11:29:44 +02:00
luisδμ
02d1a1f0b1
✨ Delete variant property when it has no value anywhere after editing a formula ( #6586 )
2025-06-02 09:50:27 +02:00
Alejandro Alonso
08aeb93710
Merge pull request #6606 from penpot/niwinz-develop-fixes-2
...
✨ Fix several issues on penpot library
2025-06-02 07:04:22 +02:00
Alejandro Alonso
04f0f77cd8
Merge pull request #6605 from penpot/niwinz-develop-fixes-1
...
🐛 Fix default theme setup
2025-06-02 07:02:59 +02:00
Andrey Antukh
15adf1bd06
📎 Set penpot library version to 1.0.2
2025-06-01 11:29:31 +02:00
Andrey Antukh
1080ffc6b8
✨ Add correct library version on the metadata
2025-06-01 11:28:42 +02:00
Andrey Antukh
1450672341
✨ Remove obsolete props from bool style attrs
2025-06-01 11:20:26 +02:00
Andrey Antukh
483e88d6a3
✨ Add more descriptive names for playground samples
2025-06-01 11:20:26 +02:00
Andrey Antukh
9fee16f4a9
🐛 Fix compatibility issue with penpot 2.7
2025-06-01 11:20:26 +02:00
Andrey Antukh
89a09346a5
🐛 Fix incorrect boolean shapes generation on builder
2025-06-01 11:06:00 +02:00
Andrey Antukh
77fa235965
🐛 Fix incorrect boolean shape generation on file builder
2025-06-01 10:25:11 +02:00
Andrey Antukh
03e4ca12be
♻️ Move update-bool from common geom to types path
2025-06-01 10:24:09 +02:00
Andrey Antukh
229c9b8385
📎 Add minor changes to circleci cache management
2025-06-01 09:34:05 +02:00
Andrey Antukh
a4fab5c5bd
🐛 Fix default theme setup
...
broken on previous commits
2025-06-01 09:30:57 +02:00
Andrey Antukh
d8913ab18b
✨ Add minor changes to devenv for avoid repeated deps download ( #6600 )
...
* ✨ Add minor changes to devenv for avoid repeated dependency download
* ✨ Add minor changes to devenv for integrate payments service
* ✨ Remove playwright deps install from circleci config
* ✨ Move cargo_home to userspace on devenv start
* ✨ Improve cache management on CI
* ✨ Improve cargo installation
* ✨ Add missing playwright install cmd on CI
* ✨ Install cargo-watch on devenv
---------
Co-authored-by: David Barragán Merino <david.barragan@kaleidos.net>
2025-06-01 09:16:28 +02:00
Edgars Andersons
7ef2f4e67e
🌐 Add translations for: Latvian
...
Currently translated at 98.8% (1787 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-05-31 12:03:08 +02:00
Alejandro Alonso
1d065e68f4
🎉 Allow force render mode from get param ( #6594 )
2025-05-30 20:05:58 +02:00
Miguel de Benito Delgado
c9ceceb7e9
🔥 Remove old code for theme support ( #6597 )
2025-05-30 16:54:23 +02:00
luisδμ
ad26efaa5d
✨ Limit the length of property names and values to 60 chars ( #6587 )
2025-05-30 16:15:18 +02:00
alonso.torres
a3e17047a4
🐛 Add sandbox runtime
2025-05-30 15:40:36 +02:00
Alejandro Alonso
0552ef55cf
Merge pull request #6603 from penpot/alotor-fix-duplicate-shapes
...
🐛 Fix problem in wasm when duplicate objects
2025-05-30 14:08:01 +02:00
Belén Albeza
d4c6063378
✨ Avoid intercepting get-file-fragment in the playwright test
2025-05-30 13:53:00 +02:00
Belén Albeza
f23e460b2a
✨ Fix broken tokens test
2025-05-30 13:53:00 +02:00
Belén Albeza
35b29bb203
🐛 Fix font size input not displaying 'mixed' when needed
2025-05-30 13:53:00 +02:00
Alejandro Alonso
cd02905d1f
♻️ Migrate old fill text attributes
2025-05-30 13:51:05 +02:00
Alejandro Alonso
87d917bc2e
♻️ Deprecate old image type
2025-05-30 13:51:05 +02:00
alonso.torres
e8d1ea24d1
🐛 Fix problem in wasm when duplicate objects
2025-05-30 13:49:56 +02:00
Andrey Antukh
ad842872fb
🐛 Fix unexpected exception on get-team internal method
...
Because of invalid SQL
2025-05-30 13:49:05 +02:00
Alejandro Alonso
90744c182e
Merge pull request #6602 from penpot/elenatorro-11214-use-text-decoration-from-leaf
...
🐛 Fix reading text-decoration and text-transform from leaf, and fallback to paragraph values
2025-05-30 13:33:58 +02:00
Alejandro Alonso
78aaf28532
Merge pull request #6498 from penpot/niwinz-develop-update-fonts
...
⬆️ Update google fonts
2025-05-30 13:28:08 +02:00
Elena Torro
4e2f905a26
🐛 Fix reading text-decoration and text-transform from leaf, and fallback to paragraph values
2025-05-30 13:22:39 +02:00
Andrey Antukh
d2cd99ed44
⬆️ Update google fonts
2025-05-30 13:08:57 +02:00
Alejandro Alonso
885231e9a1
Merge pull request #6512 from penpot/niwinz-develop-custom-deletion-rules
...
♻️ Normalize logical deletion delay handling
2025-05-30 12:53:37 +02:00
Pablo Alba
baabfe2de8
🎉 Split text and its properties on components updates
2025-05-30 12:36:10 +02:00
alonso.torres
facb0227a0
✨ Move guides and comments for wasm modifiers
2025-05-30 12:15:21 +02:00
Elena Torró
f6fe41af96
🔧 Add texts playground ( #6599 )
2025-05-30 12:10:34 +02:00
Edgars Andersons
f225fce9a1
🌐 Add translations for: Latvian
...
Currently translated at 98.4% (1780 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-05-30 11:01:47 +02:00
Yaron Shahrabani
3570d29575
🌐 Add translations for: Hebrew
...
Currently translated at 97.1% (1756 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-05-30 11:01:45 +02:00
Andrey Antukh
f8489a521f
Merge pull request #6590 from penpot/niwinz-develop-library-fixes
...
✨ Add minor enhancements to penpot library
2025-05-30 10:35:41 +02:00
Andrey Antukh
cc76a42088
Merge pull request #6561 from mdbenito/feature/5030-use-system-theme
...
✨ Use system theme
2025-05-30 10:34:46 +02:00
Andrey Antukh
50cc70201d
Merge pull request #6578 from penpot/ladybenko-11105-cap-fills
...
🎉 Disable adding fills in UI when limit has been reached
2025-05-30 10:11:05 +02:00
Belén Albeza
e88b3bae5a
🔥 Remove gulp ( #6592 )
2025-05-30 10:03:22 +02:00
Aitor Moreno
2b2939b4b7
♻️ Remove unnecesary sort operation
2025-05-30 09:56:58 +02:00
Miguel de Benito Delgado
6b25720155
🌐 Add missing translation
2025-05-29 20:11:11 +00:00
Miguel de Benito Delgado
96d099b71e
✨ Mock .matchMedia in global/window
2025-05-29 20:11:11 +00:00
Miguel de Benito Delgado
fab9e842e8
✨ Support following system color scheme
2025-05-29 22:10:00 +02:00
Miguel de Benito Delgado
ee022e225c
🚧 UI to support switching to system theme
2025-05-29 22:10:00 +02:00
Andrey Antukh
1b3fcb0432
📎 Update circleci workflow
2025-05-29 13:50:39 +02:00
Andrey Antukh
37f88067b9
🔥 Remove library method addComponentInstance
2025-05-29 13:07:44 +02:00
Alejandro Alonso
2650eccd09
🐛 Fix set path attrs ( #6589 )
2025-05-29 12:27:08 +02:00
Andrey Antukh
969b171510
📎 Prepare for release 1.0.1 of the penpot library
2025-05-29 12:15:17 +02:00
Andrey Antukh
4b22a0ebfb
🐛 Make the library generate output compatible with penpot 2.7.x
2025-05-29 12:08:50 +02:00
Andrey Antukh
eafea7aec9
Merge pull request #6588 from penpot/niwinz-develop-fix-boolean
...
🐛 Fix incorrect bool shape creation
2025-05-29 11:38:47 +02:00
Belén Albeza
ce23fee292
✨ Limit the amount of fills shown in the UI
2025-05-29 11:26:18 +02:00
Alejandro Alonso
f3d734357a
Merge pull request #6409 from penpot/azazeln28-feat-compare-wasm
...
🎉 Add comparison tool to WASM playground
2025-05-29 11:20:54 +02:00
Andrey Antukh
d31f64796f
🐛 Fix incorrect bool shape creation issue
2025-05-29 11:16:12 +02:00
Andrey Antukh
3a27a5a542
✨ Add minor naming change on process selected fn
2025-05-29 11:15:46 +02:00
Andrey Antukh
2a04f78337
✨ Add common transducers section to common data ns
2025-05-29 11:14:53 +02:00
Aitor Moreno
aeee05c90d
🎉 Add comparison tool to WASM playground
2025-05-29 10:46:38 +02:00
Yamila Moreno
6fc63f14a0
✨ Add configuration for air gapped installations ( #6567 )
2025-05-29 10:34:47 +02:00
Belén Albeza
f33c1fb530
✨ Update binary fills flag name and add it to supported flags
2025-05-29 10:32:49 +02:00
Andrey Antukh
75170bb043
Merge pull request #6537 from penpot/niwinz-library-publish
...
✨ Add minor enhancements to penpot-library for publish it on npm
2025-05-29 09:49:51 +02:00
Belén Albeza
c0a98288d0
🔧 Gate cap with config flag
2025-05-29 09:45:31 +02:00
Belén Albeza
7d5739b663
✨ Add playwright test for disabling adding fills
2025-05-29 09:45:31 +02:00
Elena Torró
fe60016124
Merge pull request #6573 from penpot/elenatorro-11021-text-fixes
...
🔧 Fix text parsing and transformation
2025-05-29 09:33:05 +02:00
Alejandro Alonso
5c58a04fc2
🐛 Fix inner strokes black background effect
2025-05-29 09:05:30 +02:00
Alejandro Alonso
04a1f8475d
Merge pull request #6585 from penpot/alotor-scale-content
...
✨ Add scale content to render wasm
2025-05-29 07:32:47 +02:00
Belén Albeza
3c05f09fd1
🔧 Fix unnecessary playwright dependency in root dir ( #6577 )
2025-05-28 17:09:05 +02:00
María Valderrama
5eaea63ca8
🐛 Fix palette is over sidebar ( #6581 )
2025-05-28 17:08:23 +02:00
alonso.torres
bcfa9a82ea
✨ Add scale content to render wasm
2025-05-28 16:40:57 +02:00
Denys Kisil
d9649eaedd
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 99.7% (1803 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-05-28 16:01:45 +02:00
Belén Albeza
170d35dde2
✨ Disable new fills in UI when the cap is reached
2025-05-28 14:01:26 +02:00
andrés gonzález
2943f80db5
📚 Change help links at the Help Center ( #6582 )
2025-05-28 13:22:42 +02:00
luisδμ
46b0e4f0e7
✨ Manage empty property values in the combobox in design tab ( #6574 )
...
* ✨ Manage empty property values in the combobox in design tab
* 📎 PR changes
2025-05-28 12:41:04 +02:00
Marina López
878952f7b5
✨ Add subscription events ( #6563 )
...
* ✨ Add subscription events
* 📎 Fixes PR feedback
* 📎 Fixes PR feedback
2025-05-28 10:50:36 +02:00
Marina López
f84ffc3562
✨ Add history version days for subscriptions ( #6571 )
2025-05-28 10:49:53 +02:00
Aitor Moreno
e9edebbbb5
📚 Add tile rendering documentation ( #6568 )
2025-05-28 09:41:07 +02:00
Xavier Julian
14afd58eac
🐛 Display color swatch only on color type tokens
2025-05-28 09:29:26 +02:00
Belén Albeza
827d39a406
💄 Remove ununsed prop on fill-menu component
2025-05-27 15:30:16 +02:00
Belén Albeza
e4a1c373bb
✨ Only take N amount of fills
2025-05-27 15:30:11 +02:00
Pablo Alba
be13704934
🐛 Fix access to libs on migration during an import ( #6572 )
2025-05-27 14:54:17 +02:00
Elena Torro
88e77e3218
🔧 Fix text parsing and transformation
2025-05-27 14:04:27 +02:00
Pablo Alba
443cabe94e
✨ Add the ability to access libraries from file migrations
2025-05-27 13:12:34 +02:00
Alejandro Alonso
c7c8e91183
🐛 Fix keep aspect ratio support
2025-05-27 12:20:40 +02:00
Alejandro Alonso
327db5a1a3
🐛 Fix render of paths with empty selrects
2025-05-27 12:20:05 +02:00
Edgars Andersons
bcb74822d2
🌐 Add translations for: Latvian
...
Currently translated at 97.9% (1771 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-05-27 09:01:55 +00:00
Yaron Shahrabani
790d422100
🌐 Add translations for: Hebrew
...
Currently translated at 96.4% (1743 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-05-27 09:01:54 +00:00
laurentiucotet
419a949816
🌐 Add translations for: Romanian
...
Currently translated at 71.7% (1298 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ro/
2025-05-27 09:01:53 +00:00
Ingrid Pigueron
1ad6ee6e38
🌐 Add translations for: French
...
Currently translated at 97.4% (1761 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-05-27 09:01:51 +00:00
Andrey Antukh
da10425800
📚 Add readme for library directory
2025-05-27 10:55:49 +02:00
Andrey Antukh
3e4c80fa27
✨ Prepare library to be published on npm
2025-05-27 10:55:49 +02:00
Marina López
179a5654e7
🐛 Fix get current user for plugins api
2025-05-27 10:50:01 +02:00
Marina López
bc38bd6a9c
🐛 Fix team name dropdown menu from dashboard ( #6562 )
2025-05-27 10:05:19 +02:00
Alejandro Alonso
1c5d182a90
Merge pull request #6559 from penpot/alotor-perf-fixes
...
🐛 Fix some problems with modifiers
2025-05-27 09:46:37 +02:00
alonso.torres
a85a42d367
🐛 Fix some problems with modifiers
2025-05-27 09:33:33 +02:00
Alejandro Alonso
1a705cee24
Merge pull request #6555 from penpot/niwinz-develop-fix-path-bug-1
...
🐛 Fix path node type change operation
2025-05-27 09:04:11 +02:00
Eva Marco
a771ca91ab
🐛 Add token units flag to common/flags file ( #6557 )
2025-05-26 13:53:56 +02:00
Andrey Antukh
4326e2c5a4
Merge remote-tracking branch 'origin/staging' into develop
2025-05-26 13:25:05 +02:00
Andrés Moya
050ffa235c
⬆️ Update cuerdas library ( #6556 )
2025-05-26 13:22:30 +02:00
Eva Marco
3dfccdaf9b
♻️ Put token settings under config flag ( #6551 )
2025-05-26 12:57:32 +02:00
Marina López
e5bc369e56
✨ Visual indicators subscription for teams and project settings ( #6546 )
...
* ✨ Visual indicators subscription for teams and project settings
* 📎 Fixes PR feedback
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-05-26 12:56:40 +02:00
Andrey Antukh
fdd6502671
📚 Update changelog
2025-05-26 12:41:34 +02:00
Andrey Antukh
e698fd7d35
🐛 Fix path node type change operation
2025-05-26 12:13:52 +02:00
Andrés Moya
5e8929e504
🔧 Refactor token json file import/export
2025-05-26 12:02:26 +02:00
Alejandro Alonso
3ee3ee2059
Merge pull request #6553 from penpot/alotor-bug-fix-grid-editor-problem
...
🐛 Fix problem with grid editing
2025-05-26 11:40:24 +02:00
alonso.torres
9eacde567d
🐛 Fix problem with grid editing
2025-05-26 11:20:09 +02:00
Alejandro Alonso
ac0b74e11a
Merge pull request #6549 from penpot/niwinz-staging-hotfix-1
...
🐛 Fix incorrect relink operation for stroke image
2025-05-26 09:50:52 +02:00
Stephan Paternotte
24d4871b23
🌐 Add translations for: Dutch
...
Currently translated at 99.9% (1807 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-05-25 04:01:45 +00:00
Andrey Antukh
9638fd274f
Merge pull request #6547 from penpot/eva-remove-deprecated-props
...
♻️ Update docs and remove deprecated props
2025-05-24 11:18:53 +02:00
Andrey Antukh
b5d96d312a
🐛 Fix incorrect relink operation for stroke image
2025-05-24 09:16:10 +02:00
Edgars Andersons
f88420efb5
🌐 Add translations for: Latvian
...
Currently translated at 96.7% (1750 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-05-23 20:01:44 +02:00
Nicola Bortoletto
c301d95f20
🌐 Add translations for: Italian
...
Currently translated at 99.7% (1804 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-05-23 20:01:44 +02:00
Eva Marco
7c072abe28
📚 Update docs without props obj
2025-05-23 12:57:24 +02:00
Eva Marco
603e41bbfd
♻️ Remove mf/props obj from DS components
2025-05-23 12:57:02 +02:00
Pablo Alba
b561ad033c
🐛 Fix restore component when its original parent with layout is deleted
2025-05-23 12:11:35 +02:00
luisδμ
7373056037
✨ Improve formula validating and parsing ( #6527 )
2025-05-23 12:08:50 +02:00
luisδμ
a9173f672d
🐛 Sanitize inputs for variant property names and values ( #6532 )
2025-05-23 12:08:39 +02:00
luisδμ
44829ff1ae
✨ Use different copies for different variant selection cases ( #6544 )
...
* ✨ Use different copies for different variant selection cases
* 📎 PR changes
2025-05-23 12:08:24 +02:00
Andrey Antukh
927ee9e55e
✨ Add get-owned-teams rpc method
2025-05-23 11:20:35 +02:00
Xavier Julian
066b252522
✨ Add composition and slots documentation to storybook
2025-05-23 10:12:20 +02:00
luisδμ
556a68a78f
✨ Select all variants with errors ( #6533 )
2025-05-23 09:21:57 +02:00
Belén Albeza
f9bbf2d524
✨ Improve paths deserialization (wasm) ( #6501 )
...
* ♻️ Refactor path wasm code to its own wasm submodule
* ♻️ Use unified enum for RawSegmentData and transmute to deserialize
* ♻️ Move set_shape_path_attrs to wasm::paths module
* 💄 Unify repr declarations
2025-05-23 08:48:55 +02:00
alonso.torres
eaaca5629e
🐛 Fix problem with sidebar layout
2025-05-22 18:35:08 +02:00
Andrey Antukh
0df2a12814
Merge remote-tracking branch 'origin/staging' into develop
2025-05-22 13:34:46 +02:00
Andrey Antukh
df27db1996
Merge pull request #6531 from mdbenito/fix/choppy-closest-point
...
✨ Fix choppy behaviour of new node on path
2025-05-22 13:24:04 +02:00
Miguel de Benito Delgado
7fc0d15418
🐛 Fix cursor overlap query ( #6530 )
...
* 🐛 Fix cursor overlap query. Closes #4472
* 📎 Update CHANGES.md
---------
Signed-off-by: Miguel de Benito Delgado <m.debenito.d@gmail.com>
2025-05-22 13:22:52 +02:00
Eva Marco
99fb905070
🐛 Fix at icon ( #6540 )
2025-05-22 13:15:09 +02:00
Stephan Paternotte
e74cf1836f
🌐 Add translations for: Dutch
...
Currently translated at 99.9% (1807 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-05-22 13:06:02 +02:00
Edgars Andersons
dfdc1ac35b
🌐 Add translations for: Latvian
...
Currently translated at 96.4% (1743 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-05-22 13:06:01 +02:00
Yaron Shahrabani
97a5a93694
🌐 Add translations for: Hebrew
...
Currently translated at 96.2% (1740 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-05-22 13:06:00 +02:00
Ingrid Pigueron
dd0b8f8f6e
🌐 Add translations for: French
...
Currently translated at 97.3% (1760 of 1808 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-05-22 13:05:58 +02:00
Alejandro Alonso
413fc6de16
Merge pull request #6536 from penpot/niwinz-update-promesa
...
⬆️ Update dependencies
2025-05-22 12:49:00 +02:00
Aitor Moreno
d54a7d0401
Merge pull request #6526 from penpot/superalex-improve-zoom-performance-and-behaviour
...
🐛 Fix zoom performance and behaviour
2025-05-22 12:15:38 +02:00
Alejandro Alonso
ed53793d9d
🐛 Fix render shapes in multiple tiles with high dprs ( #6538 )
2025-05-22 12:10:51 +02:00
María Valderrama
faa68784af
💄 Add styles for external widgets on workspace ( #6509 )
...
* 💄 Add styles for Inkeep Chat at workspace
* 📎 Styles review
2025-05-22 11:56:45 +02:00
Aitor Moreno
58b1cf6b0c
Merge pull request #6491 from penpot/alotor-perf-pixel-precision
...
✨ Pixel precision for new renderer
2025-05-22 11:37:11 +02:00
Andrey Antukh
f9c9e865b5
🐛 Remove unexpected modified-at on binfile-v3 import
2025-05-22 10:53:23 +02:00
Andrey Antukh
ebe321d9d3
⬆️ Update dependencies on exporter
2025-05-22 10:53:23 +02:00
Andrey Antukh
0683fbd17c
⬆️ Update backend dependencies
2025-05-22 10:53:23 +02:00
Andrey Antukh
09a7ef3e45
⬆️ Upgrade frontend dependendencies
2025-05-22 10:53:23 +02:00
Andrey Antukh
172b70d8a7
⬆️ Upgrade promesa library to latest version
...
That fixes a workaround introduced in previous commits
2025-05-22 10:53:23 +02:00
Alejandro Alonso
3597e5bb54
🐛 Fix zoom performance and behaviour
2025-05-22 10:29:43 +02:00
Eva Marco
949b6d1205
🎉 Add missing translation ( #6534 )
2025-05-22 10:24:41 +02:00
Eva Marco
c0af77faf7
📚 Add css rules to the UI guide ( #6521 )
...
* 📚 Add css rules to UI guide
* 🐛 Solve comments on PR
* 🐛 Add missing class
* 🐛 Improve css modules improvement
* 🐛 Fix width
* 🐛 Fix note
2025-05-22 10:06:03 +02:00
Miguel de Benito Delgado
8f7a674000
🔥 Remove unused fn types.path.segment.path-closest-point
2025-05-21 21:32:18 +02:00
Miguel de Benito Delgado
e4f2dfaa11
✨ Make precision closest point computation depend on zoom
2025-05-21 21:29:40 +02:00
Andrey Antukh
ec29c4f5fe
Merge pull request #6528 from penpot/ladybenko-11076-fix-xywh-inputs
...
🐛 Fix misalignment in measure section (design tab)
2025-05-21 21:05:38 +02:00
Elena Torró
c21f5221bb
Merge pull request #6453 from penpot/elenatorro-10900-add-text-fills
...
🎉 Add text fills
2025-05-21 18:46:04 +02:00
Elena Torro
42ef2f929a
🎉 Add text fills
2025-05-21 18:32:50 +02:00
Belén Albeza
2b21401368
🐛 Fix clip buttons size
2025-05-21 17:08:56 +02:00
Belén Albeza
a5c8063b2c
🐛 Fix presets menu alignment
2025-05-21 17:01:23 +02:00
Belén Albeza
2ad2af2aea
🐛 Fix measures inputs' alignment
2025-05-21 16:58:49 +02:00
Eva Marco
c2ce7c6cf6
🐛 Remove unnecesary icon ( #6524 )
2025-05-21 15:44:25 +02:00
María Valderrama
47490db4be
💄 Add styles for external widgets on workspace ( #6509 )
...
* 💄 Add styles for Inkeep Chat at workspace
* 📎 Styles review
2025-05-21 14:17:48 +02:00
andrés gonzález
a2ac2bc6c6
✨ Change copy as SVG menu order ( #6523 )
2025-05-21 13:12:33 +02:00
Elena Torró
e80ca7e332
Merge pull request #6439 from penpot/elenatorro-11035-fix-overflow-x-scroll-on-sidebar
...
🐛 Fix default scroll visibility on layers sidebar
2025-05-21 11:51:32 +02:00
Elena Torro
e4644ff506
🔧 Use scroll only on layers and refactor layer element name
2025-05-21 11:36:24 +02:00
Andrey Antukh
662b926b4b
🌐 Rehash all translations
2025-05-21 11:20:36 +02:00
Miguel de Benito Delgado
6319ed78f9
🌐 Add missing translation strings for error messages ( #6519 )
...
* 🌐 Add i18n strings for some error messages
* 🌐 Add fr, de, es translations for some error messages
2025-05-21 11:17:53 +02:00
Eva Marco
3abc8774f6
♻️ Change translation string from workspace.token to workspace.tokens ( #6508 )
...
* ♻️ Change string translation for tokens
* ♻️ Apply find-and-replace on translation files
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-05-21 11:17:05 +02:00
Anonymous
af1c90c252
🌐 Add translations for: Swedish
...
Currently translated at 89.4% (1612 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-05-21 10:44:23 +02:00
Anonymous
8019ae7840
🌐 Add translations for: Dutch
...
Currently translated at 95.7% (1726 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-05-21 10:44:22 +02:00
Anonymous
6bd615ff8b
🌐 Add translations for: Latvian
...
Currently translated at 95.7% (1726 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-05-21 10:44:22 +02:00
Anonymous
c4a793d306
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 95.7% (1726 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-05-21 10:44:22 +02:00
Anonymous
631b3ac062
🌐 Add translations for: Croatian
...
Currently translated at 89.9% (1621 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2025-05-21 10:44:22 +02:00
Anonymous
48995850fa
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 88.4% (1594 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-05-21 10:44:21 +02:00
Anonymous
a5c7a2c97b
🌐 Add translations for: Czech
...
Currently translated at 89.8% (1620 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2025-05-21 10:44:20 +02:00
Anonymous
3a8285bc69
🌐 Add translations for: Italian
...
Currently translated at 95.6% (1724 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-05-21 10:44:20 +02:00
Anonymous
02e3cc089e
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 90.1% (1625 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-05-21 10:44:20 +02:00
Anonymous
17e19afcbd
🌐 Add translations for: Hebrew
...
Currently translated at 95.7% (1726 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-05-21 10:44:19 +02:00
Anonymous
a2b52a6408
🌐 Add translations for: Indonesian
...
Currently translated at 95.7% (1726 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-05-21 10:44:19 +02:00
Anonymous
8cc4b69291
🌐 Add translations for: German
...
Currently translated at 92.1% (1661 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-05-21 10:44:19 +02:00
Anonymous
045ddf5829
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 70.9% (1279 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-05-21 10:44:18 +02:00
Anonymous
1d0335aba6
🌐 Add translations for: French
...
Currently translated at 95.7% (1727 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-05-21 10:44:18 +02:00
Anonymous
5412d72236
🌐 Add translations for: Spanish
...
Currently translated at 98.8% (1782 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/es/
2025-05-21 10:44:17 +02:00
Anonymous
896ee43212
🌐 Add translations for: English
...
Currently translated at 99.8% (1800 of 1803 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/en/
2025-05-21 10:44:17 +02:00
alonso.torres
5d42b9793b
🐛 Fix some problems with layouts
2025-05-21 10:42:03 +02:00
alonso.torres
6cd2c712ab
✨ Pixel precision for new renderer
2025-05-21 10:42:03 +02:00
Elena Torro
a575410a29
🐛 Fix default scroll visibility on layers sidebar
2025-05-21 10:38:27 +02:00
Hosted Weblate
6b5703c1fe
🌐 Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
2025-05-21 10:38:18 +02:00
Andrey Antukh
22c3d4d807
Merge remote-tracking branch 'weblate/develop' into develop
2025-05-21 10:37:42 +02:00
luisδμ
b0701f6bb4
✨ Control malformed variant formulas ( #6473 )
...
* ✨ Control malformed variant strings
* 📎 PR changes
* 📎 PR changes
2025-05-21 10:18:11 +02:00
Alejandro Alonso
0748ef7267
Merge pull request #6518 from penpot/niwinz-staging-tokenslib-json-encoding
...
🐛 Add json encoding for tokenslib type
2025-05-21 10:17:37 +02:00
Pablo Alba
9bad9b8e91
🐛 Fix restore component when its original parent is deleted ( #6517 )
2025-05-21 10:05:22 +02:00
Andrey Antukh
9ca4fa752c
🐛 Add json encoding for tokenslib type
2025-05-21 09:59:28 +02:00
Andrey Antukh
b6563f620b
📎 Allow merge commits on commit linter
2025-05-21 09:34:05 +02:00
Andrey Antukh
a63fa2944d
Merge remote-tracking branch 'origin/staging' into develop
2025-05-21 09:23:15 +02:00
Miguel de Benito Delgado
fd89c9d82c
⚡ Avoid double id lookup when calling lookup-page-objects ( #6513 )
2025-05-20 22:31:40 +02:00
Andrey Antukh
a706907b26
♻️ Normalize logical deletion to future dates
...
Instead of managing the ...
2025-05-20 22:25:57 +02:00
Andrey Antukh
a3b4fc9545
🔥 Remove unused function from workspace.media ns
2025-05-20 22:25:57 +02:00
Miguel de Benito Delgado
71bb2556f9
♻️ Move page setup out of the data.workspace ns ( #6502 )
...
* ♻️ Split history workspace.cljs to workspace/pages.cljs - rename file to target-name
* ♻️ Split history workspace.cljs to workspace/pages.cljs - rename source-file to git-split-temp
* ♻️ Split history workspace.cljs to workspace/pages.cljs - restore name of source-file
* ♻️ Cleanup after adding new ns, add exports
* ♻️ Move set-plugin-data to main.data.plugins
* 🐛 Possible bugfix, cherry-picked from commit 8f7c63d6e2c (conflict during refactor)
---------
Co-authored-by: Eva Marco <eva.marco@kaleidos.net>
2025-05-20 22:11:05 +02:00
Miguel de Benito Delgado
f36aa30525
✨ Add copy-as-svg to contextual menu ( #6510 )
...
* ✨ Add "copy as svg" to contextual menu
* 🌐 Add a few translations of the new string
* 📚 Document commit message format for translations
* 📎 Log SVG import errors to the console
* 📎 Update CHANGES.md (two PRs)
---------
Signed-off-by: Miguel de Benito Delgado <m.debenito.d@gmail.com>
2025-05-20 22:06:36 +02:00
Eva Marco
8f7c63d6e2
✨ Add base font fallback ( #6468 )
...
* ✨ Add base font fallback
* ♻️ Add asserts to change-builder
* 🐛 Change fn name
2025-05-20 17:27:04 +02:00
Andrey Antukh
965b22718f
📚 Update changelog
2025-05-20 15:46:56 +02:00
Miguel de Benito Delgado
48a3d38d82
✨ Add the Shift+ctrl+drag to deselect ( #6494 )
...
* ✨ Allow shape deselection using Ctrl+Shift+Drag
* ✨ Allow point deselection using Ctrl+Shift+Drag
* ✨ Properly remember previous selection during addition/removal of shapes
* ⚡ Preload point selection in path handle-area-selection
Also: prefer dm/get-in over get-in
* ✨ Highlight path nodes in selection rectangle incrementally
2025-05-20 15:23:05 +02:00
Florian Schroedl
31f642ed25
♻️ Use rx streams for style dictionary interface
2025-05-20 14:55:07 +02:00
andrés gonzález
9f414b6ecd
📚 Update changelog ( #6511 )
2025-05-20 14:14:17 +02:00
Alejandro Alonso
334d7833d5
Merge pull request #6490 from penpot/azazeln28-refactor-iteration-performance
...
♻️ Refactor tile iteration
2025-05-20 13:56:37 +02:00
Alejandro Alonso
ff9c8f5929
Merge pull request #6483 from penpot/niwinz-staging-bugfixes-error-report
...
🐛 Several bugfixes
2025-05-20 13:54:54 +02:00
Xavier Julian
f7311cbb6b
♻️ Ensure tokens feature integrates design system
2025-05-20 13:52:38 +02:00
Alejandro Alonso
e4c563f917
Merge pull request #6479 from penpot/niwinz-develop-json-encoding-fix
...
🐛 Fix exception on rendering openapi.json
2025-05-20 13:46:16 +02:00
Andrey Antukh
2d3ad5a88f
📎 Update changelog
2025-05-20 13:30:04 +02:00
Andrey Antukh
1334d733cd
🐛 Fix openapi json generation for :re schemas
2025-05-20 13:29:44 +02:00
Andrey Antukh
004a9f17d3
✨ Add minor js-like type schema formatting improvements
2025-05-20 13:29:44 +02:00
Andrey Antukh
c87fa4f723
✨ Make the rpc doc generation lazy
2025-05-20 13:29:44 +02:00
Andrey Antukh
9378a5786f
✨ Replace json library used for generate openapi json
2025-05-20 13:29:44 +02:00
Andrey Antukh
3224ba26f1
♻️ Replace :any schema with own ::sm/any
...
That a more specific, json friendly generator
2025-05-20 13:29:44 +02:00
Andrey Antukh
d33a5e6df1
✨ Backport from develop partial improvements to sm/register! helper
2025-05-20 13:29:44 +02:00
Alejandro Alonso
0d60e3d997
Merge pull request #6486 from penpot/niwinz-library-export
...
✨ Add .penpot export support for penpot library
2025-05-20 13:27:11 +02:00
Andrey Antukh
645c4a57db
✨ Add playground file with example of how to create a component
...
This also fixes several internal issues related to component
creaton.
2025-05-20 13:06:07 +02:00
Andrey Antukh
778de6adaf
✨ Add minimal testing structure
2025-05-20 13:06:07 +02:00
Andrey Antukh
29d23577d2
🎉 Add .penpot (binfile-v3) support for library
2025-05-20 13:06:07 +02:00
Andrey Antukh
1fea1e8f5b
🔥 Remove unused svg parsing code from common
2025-05-20 13:06:07 +02:00
Andrey Antukh
c8a211742a
🔥 Remove already broken and unused internal components-v2 migration code
2025-05-20 13:06:06 +02:00
Andrey Antukh
2da8747485
♻️ Move library to its own directory
2025-05-20 13:05:52 +02:00
Andrey Antukh
6803c78e80
✨ Change naming and schema registation on tokens lib
2025-05-20 13:05:52 +02:00
Andrey Antukh
d8daea72de
⬆️ Update promesa library
2025-05-20 13:05:52 +02:00
Andrey Antukh
36b162b4fa
♻️ Replace jszip usage with zip.js library
2025-05-20 13:05:52 +02:00
Andrey Antukh
4c487834f0
✨ Add the ability to deref internal state on library file instance
2025-05-20 13:05:52 +02:00
Andrey Antukh
dc7e53881a
🔥 Remove legacy-zip exportation support
2025-05-20 13:05:52 +02:00
Alejandro Alonso
1a01c9ee4a
Merge pull request #6500 from penpot/niwinz-develop-svg-fixes
...
🐛 Fix svg path parsing on uploading svg image
2025-05-20 12:58:48 +02:00
Yamila Moreno
b6be416c7b
📎 Add wasm envvar to manage script
2025-05-20 12:15:14 +02:00
Florian Schroedl
4a27e8d1dd
🐛 Prevent unkown tokens hint always showing
2025-05-20 10:53:04 +02:00
Aitor Moreno
1bc97f9ad0
Merge pull request #6505 from penpot/supearlex-fix-avoid-unncesary-clone-for-new-render
...
🐛 Avoid unnecesary clone call
2025-05-20 10:07:23 +02:00
Aitor Moreno
aaa57cb17f
🐛 Fix inline styles in code tab ( #6428 )
2025-05-20 10:05:35 +02:00
Alejandro Alonso
b2d6342422
🐛 Avoid unnecesary clone call
2025-05-20 09:45:19 +02:00
Andrés Moya
ba1e16b55b
🐛 Fix token directory import
2025-05-20 09:42:38 +02:00
Aitor Moreno
ef95e3ecb0
♻️ Refactor tile iteration
2025-05-19 16:24:52 +02:00
Eva Marco
55d21761fc
✨ Add multi file import on tokens ( #6444 )
...
* ✨ Implement token multi-file import
* ♻️ Refactor import modal UI
* 🐛 Fix comments
---------
Co-authored-by: Florian Schroedl <flo.schroedl@gmail.com>
2025-05-19 16:12:46 +02:00
Andrey Antukh
0b4a367e9e
🐛 Fix svg path parsing on uploading svg image
2025-05-19 15:35:58 +02:00
Andrey Antukh
8f2ca15ec0
Merge pull request #6495 from mdbenito/refactor/frontend-app-main-data-workspace-clipboard
...
♻️ Factor clipboard code out of frontend/src/app/main/data/workspace.cljs
2025-05-19 15:20:52 +02:00
Aitor Moreno
21041eb925
Merge pull request #6496 from penpot/superalex-fix-path-performance
...
🐛 Fix paths performance in new render
2025-05-19 13:57:20 +02:00
Pablo Alba
53cfc29a1f
Merge pull request #6425 from penpot/palba-variants-overrides-same-name
...
✨ Manage layers with the same name on variants overrides
2025-05-19 13:51:16 +02:00
Alejandro Alonso
96d44e0631
🐛 Fix paths performance in new render
2025-05-19 12:22:42 +02:00
Belén Albeza
8afd217a80
🔧 Enable back clippy rules ( #6492 )
...
* 🔧 Fix lint script (rust)
* 🔧 Temporarily add clippy rules to ignore so lint script passes
* 💄 Fix clippy rule crate_in_macro_def
* 💄 Fix clippy rule redundant-static-lifetimes
* 💄 Fix clippy rule unnecessary_cast
* 💄 Fix clippy rule nonminimal_bool
* 💄 Fix clippy rule redundant_pattern_matching
* 💄 Fix clippy rule assign_op_pattern
* 💄 Fix clippy rule needless_lifetimes
* 💄 Fix clippy rule for_kv_map
* 💄 Fix clippy rule ptr_arg
* 💄 Fix clippy rule match_like_matches_macro
* 💄 Fix clippy rule macro_metavars_in_unsafe
* 💄 Fix clippy rule map_clone
* 💄 Fix clippy rule wrong_self_convention
* 💄 Fix clippy rule vec_box
* 💄 Fix clippy rule useless_format
* 💄 Fix clippy rule unwrap_or_default
* 💄 Fix clippy rule unused_unit
* 💄 Fix clippy rule unnecessary_to_owned
* 💄 Fix clippy rule too_many_arguments
* 💄 Fix clippy rule slow_vector_initialization
* 💄 Fix clippy rule single_match
* 💄 Fix clippy rule redundant_field_names
* 💄 Fix clippy rule rendudant_closure
* 💄 Fix clippy rule needless_return
* 💄 Fix clippy rule needless_range_loop
* 💄 Fix clippy rule needless_borrows_for_generic_args
* 💄 Fix clippy rule needless-borrow
* 💄 Fix clippy rule missing_transmute_annotations
* 💄 Fix clippy rule map_entry
* 💄 Fix clippy rule manual_map
* 💄 Fix clippy rule len_zero
* 💄 Fix clippy rule from_over_into
* 💄 Fix clippy rule field_reassign_with_default
* 💄 Fix clippy rule enum_variant_names
* 💄 Fix clippy rule derivable_impls
* 💄 Fix clippy rule clone_on_copy
* 💄 Fix clippy rule box_collection
* 🔧 Make lint script also check test config target
* 🔧 Remove cargo-watch as a lib dependency
* 💄 Fix clippy rule for join_bounds
* 🔧 Fix lint script return code
---------
Co-authored-by: alonso.torres <alonso.torres@kaleidos.net>
2025-05-19 11:14:55 +02:00
Miguel de Benito Delgado
330e49db56
♻️ Cleanup after adding new ns, add exports
2025-05-18 18:49:59 +02:00
Miguel de Benito Delgado
aa39170d47
♻️ Split history workspace.cljs to workspace/clipboard.cljs - restore name of source-file
2025-05-18 18:49:07 +02:00
Miguel de Benito Delgado
8fa7a69094
♻️ Split history workspace.cljs to workspace/clipboard.cljs - resolve conflict and keep both files
2025-05-18 18:49:07 +02:00
Miguel de Benito Delgado
33d989feb2
♻️ Split history workspace.cljs to workspace/clipboard.cljs - rename source-file to git-split-temp
2025-05-18 18:49:07 +02:00
Miguel de Benito Delgado
e309a57223
♻️ Split history workspace.cljs to workspace/clipboard.cljs - rename file to target-name
2025-05-18 18:49:07 +02:00
Andrey Antukh
0b289153cb
✨ Add the ability to disable wasm on build script
2025-05-18 17:30:41 +02:00
Andrey Antukh
cf274099c4
✨ Improve events/sse internal API
...
For make code cleaner and more evident for a quick view
2025-05-18 17:30:41 +02:00
Andrey Antukh
6524e75770
💄 Fix check-fn naming on types.container
2025-05-18 17:30:41 +02:00
Andrey Antukh
9b80f7c9b3
💄 Don't return unnecesary object from db query
...
the return value is already ignored
2025-05-18 17:30:41 +02:00
Andrey Antukh
bf76f328c8
✨ Remove duplicate error logging on sse response
2025-05-18 17:30:41 +02:00
Xavier Julian
051c2a7e99
🐛 Fix sloppy behaviour on tokens value inputs
2025-05-16 15:42:25 +02:00
Xavier Julian
887fa6b77b
✨ Add slots feature to DS input component
2025-05-16 15:42:25 +02:00
Andrey Fedorov
d9f98008f4
✨ Add unknown token type reporting
2025-05-16 15:09:36 +02:00
Alejandro Alonso
0cb6e0dee2
🐛 Fix new render zoom ( #6488 )
...
* 🐛 Fix new render zoom
* 🐛 Use scale instead of just zoom in get_tiles_for_viewbox
---------
Co-authored-by: Belén Albeza <belen@hey.com>
2025-05-16 10:49:03 +02:00
Andrey Antukh
ad87e9842d
Merge pull request #6429 from penpot/yms-update-ubuntu-in-docker-images
...
🐳 Update docker images and dependencies
2025-05-16 10:38:56 +02:00
Miguel de Benito Delgado
e22a55334e
💄 Rename some namespace aliases for consistency ( #6485 )
2025-05-15 17:43:02 +02:00
Elena Torró
f5e81debbc
Merge pull request #6478 from penpot/ladybenko-11030-fix-dpr-fills
...
🐛 Fix fills & strokes when dpr > 1
2025-05-15 16:04:30 +02:00
andrés gonzález
ddfd55261d
:Books: Update design tokens doc ( #6487 )
2025-05-15 14:44:51 +02:00
Belén Albeza
300e24b403
🐛 Fix drawing shapes when dpr > 1
2025-05-15 11:01:14 +02:00
Andrey Antukh
a00e7c1061
Merge remote-tracking branch 'origin/staging' into develop
2025-05-15 09:52:31 +02:00
Alonso Torres
ba25ce3098
🐛 Fix share button being displayed with no permissions ( #6476 )
...
* 🐛 Fix share button being displayed with no permissions
* ✨ Simplify impl by accessing perms from teams directly
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-05-15 09:49:29 +02:00
Miguel de Benito Delgado
968ea56197
♻️ Reorganize index management on worker code ( #6477 )
...
* ♻️ Factor index management out of app.worker.impl
* 💄 Fix silly spacing
* 💄 Lint
2025-05-15 09:46:49 +02:00
Miguel de Benito Delgado
2635873b9a
📚 Update CONTRIBUTING.md with formatting and linting ( #6480 )
2025-05-15 09:41:33 +02:00
Alejandro Alonso
f5f1316f0b
Merge pull request #6474 from penpot/superalex-develop-paste-html-fix
...
🐛 Fix exception on paste invalid html
2025-05-14 16:16:53 +02:00
Andrey Antukh
79a164be6d
🐛 Fix exception on paste invalid html
2025-05-14 16:07:01 +02:00
alonso.torres
ecb85778bc
🐛 Fix problem with path edition of shapes
2025-05-14 14:45:29 +02:00
Elena Torró
676c4d2dfe
Merge pull request #6472 from penpot/alotor-perf-selrect-modifiers
...
✨ Set selrect for new render modifiers
2025-05-14 14:19:38 +02:00
Andrés Moya
5b8d1c1ca6
Merge branch 'hiru-update-tech-guide'
2025-05-14 13:23:38 +02:00
Andrés Moya
24e2948407
📚 Update code samples
2025-05-14 13:22:49 +02:00
Andrés Moya
c569c71306
📚 Update Tech Guide about abstraction levels
2025-05-14 13:22:38 +02:00
Andrés Moya
2cdc241e68
Merge branch 'hiru-update-tech-guide' into staging
2025-05-14 12:00:03 +02:00
Andrés Moya
057bf9bf25
📚 Update code samples
2025-05-14 11:38:55 +02:00
Andrés Moya
2ddcd0ce15
📚 Update Tech Guide about abstraction levels
2025-05-14 11:37:28 +02:00
alonso.torres
fef08dfa18
✨ Set selrect for new render modifiers
2025-05-14 11:21:43 +02:00
Andrey Antukh
831422feaf
⬆️ Update several npm dependencies on frontend module
2025-05-14 10:39:34 +02:00
Andrey Antukh
d01e3085f4
⬆️ Update yarn to 4.9.1
2025-05-14 10:39:34 +02:00
Andrey Antukh
d9ca82dc15
⬆️ Update dependencies
2025-05-14 10:39:34 +02:00
Yamila Moreno
1e7127d98a
🐳 Update frontend image to nginx:1.28.0
2025-05-14 10:39:34 +02:00
Yamila Moreno
002ae8b91a
🐳 Update docker images to ubuntu 24.04
2025-05-14 10:39:34 +02:00
Aitor Moreno
6831acb71d
Merge pull request #6465 from penpot/superalex-fix-render-wasm-maks
...
🐛 Fix new render masks
2025-05-14 10:33:52 +02:00
Alejandro Alonso
1f44d53f6b
🐛 Fix new render masks
2025-05-13 15:41:41 +02:00
Alonso Torres
ca2891d441
🐛 Fix problem syncing library colors and typographies ( #6467 )
2025-05-13 13:28:16 +02:00
Belén Albeza
91fbe8f8ef
🎉 Cap stop amount in UI for wasm ( #6438 )
...
* 🎉 Cap in the colorpicker the amount of stops a gradient can have
* 🎉 Cap the stops amount in gradient handlers
* 🎉 Disable add stop in gradient handlers (viewport + colorpicker)
* ✨ Add integration test for gradient limits
* 💄 Address PR suggestion
2025-05-13 10:37:05 +02:00
Miguel de Benito Delgado
69cc4fb4c2
📚 Add missing command to open a repl on frontend process ( #6458 )
...
* 📚 Add missing command to open a repl on frontend process
* 📚 Add further information on starting a REPL on the frontend process
2025-05-13 08:10:52 +02:00
Elenzakaleidos
37abb7b237
💄 Update video in readme page ( #6461 )
...
Signed-off-by: Elenzakaleidos <elena.scilinguo@kaleidos.net>
2025-05-13 08:10:19 +02:00
Ramiro Andres Sanchez Balo
5fc2208c16
📚 Improve metadata descriptions ( #6457 )
2025-05-13 08:09:59 +02:00
Alejandro Alonso
c2b67d7c67
Merge pull request #6459 from penpot/superalex-fix-wasm-playground-fills-size
...
🐛 Fix wasm playground fills size
2025-05-13 06:23:48 +02:00
Pablo Alba
294ce7bb1b
🐛 Fix variants override for nested components ( #6421 )
2025-05-12 15:50:06 +02:00
Andrey Antukh
a558bfdb2f
Merge remote-tracking branch 'origin/staging' into develop
2025-05-12 15:16:19 +02:00
Andrey Antukh
86bcd1b681
🐛 Fix issue on shortcuts restore operation ( #6462 )
...
* 🐛 Fix issue on shortcuts restore operation
Happens when the order of shortcuts pop events is inconsistent with
push events. Using less strictly order policy for pop operations
allows relax this and make it eventually consistent.
* 💄 Add cosmetic changes on shortcuts hooks on colorpicker and wport
* 📎 Update changelog
* 📎 Add PR feedback changes
2025-05-12 15:08:14 +02:00
Elena Torró
33c260c35b
Merge pull request #6456 from penpot/alotor-perf-text-grow-2
...
✨ Reflow flex on grow text height
2025-05-12 14:16:29 +02:00
Andrey Antukh
94312bb35c
Merge remote-tracking branch 'origin/staging' into develop
2025-05-12 13:44:24 +02:00
Andrey Antukh
70b1989f10
Merge tag '2.7.0-RC2'
2025-05-12 13:11:40 +02:00
Alejandro Alonso
eb76d16b3b
🐛 Fix wasm playground fills size
2025-05-12 12:05:10 +02:00
Xavier Julian
c0eaa75232
💄 Fix errors UI on input token for value
2025-05-12 12:03:23 +02:00
Alejandro Alonso
dbb9971482
Merge pull request #6351 from penpot/niwinz-develop-improve-cleaner
...
✨ Add cleaner to file-gc
2025-05-12 11:52:01 +02:00
Alejandro Alonso
0828994840
Merge pull request #6419 from penpot/niwinz-refactor-library
...
♻️ Refactor penpot library
2025-05-12 11:47:00 +02:00
ºelhombretecla
e6b5618bd3
🎉 Add 2.7 release slides ( #6440 )
2025-05-12 11:38:00 +02:00
Aitor Moreno
9c24d3a521
Merge pull request #6370 from penpot/superalex-improve-zoom-in-zoom-out-performance-2
...
🎉 Improve zoom in/out performance
2025-05-12 11:22:57 +02:00
Alejandro Alonso
480e0887e3
🎉 Improve zoom in/out performance
2025-05-12 11:10:21 +02:00
Alejandro Alonso
e0e381bdfc
Merge pull request #6451 from penpot/niwinz-develop-features-binfile-v1
...
🐛 Apply migrations in correct order for binfile-v1
2025-05-12 11:08:10 +02:00
Alejandro Alonso
5199b306aa
Merge pull request #6446 from penpot/niwinz-staging-bugfixes-2
...
🐛 Properly propagate export errors from worker to main thread
2025-05-12 10:47:46 +02:00
Alejandro Alonso
8febfaa21e
Merge pull request #6447 from penpot/niwinz-staging-bugfixes
...
✨ Ensure read-only mode on non-workspace access to file
2025-05-12 10:43:02 +02:00
Aitor Moreno
69062f03ee
Merge pull request #6449 from penpot/superalex-add-shapes-buffer
...
🎉 Add shapes buffer to improve memory allocation
2025-05-12 10:23:34 +02:00
alonso.torres
eb04fa19e1
✨ Reflow flex on grow text height
2025-05-12 09:48:57 +02:00
Alejandro Alonso
03b4fe3558
🎉 Add shapes buffer to improve memory allocation
2025-05-09 15:00:02 +02:00
Andrey Antukh
b349d08155
🐛 Apply migrations in correct order for binfile-v1
...
The patch was already existed but only applied to binfile-v3,
with this commit, the fix is properly applied to all binfile
formats and for duplicate file operation.
2025-05-09 13:38:13 +02:00
Elena Torró
15e9d92094
Merge pull request #6445 from penpot/elenatorro-11044-fix-parsing-text-spaces
...
🐛 Fix parsing text spaces
2025-05-09 12:31:17 +02:00
andrés gonzález
5e675dbf0b
📚 Update changelog for 2.7 ( #6448 )
2025-05-09 12:20:39 +02:00
Elena Torro
a5660819de
🐛 Fix stroke paragraphs
2025-05-09 11:54:51 +02:00
luisδμ
d277fefc87
✨ Improve combobox component ( #6424 )
2025-05-09 11:33:57 +02:00
Elena Torro
1383010826
🔧 Remove log
2025-05-09 11:23:06 +02:00
Elena Torro
59982c9056
🐛 Fix parsing text spaces
2025-05-09 11:23:00 +02:00
Alejandro Alonso
afcff84e38
Merge pull request #6443 from penpot/niwinz-develop-feaures-bugfix
...
🐛 Fix incorrect features asignation after file migration
2025-05-09 11:17:27 +02:00
Andrey Antukh
fc5d9659d6
🐛 Properly propagate export errors from worker to main thread
2025-05-09 11:15:04 +02:00
Andrey Antukh
8fa7fa8c4b
🐛 Fix incorrect features asignation after file migration
2025-05-09 10:53:16 +02:00
Elena Torró
23bde76192
Merge pull request #6437 from penpot/elenatorro-add-fill-text-strokes
...
🎉 Add text stroke fills
2025-05-09 10:41:12 +02:00
BDVGitHub
ca7a80fb83
📚 Update framework version
...
Fix Svelte version number
2025-05-09 08:46:33 +02:00
BDVGitHub
cf0d9a433d
📚 Chore: Update create-a-plugin.md
...
Add Svelte and change version to the updated version of in the examples on https://github.com/penpot/plugin-examples
2025-05-09 08:46:33 +02:00
Andrey Antukh
bc20598b3d
✨ Don't persist file on several read operations
...
after applying migrations
2025-05-08 19:15:28 +02:00
Andrey Antukh
9de8ebb52c
✨ Add read-only option for files/get-file
2025-05-08 19:12:50 +02:00
alonso.torres
568af52ebc
✨ Text grow width/height
2025-05-08 17:59:18 +02:00
Elena Torro
eddabc0d68
🎉 Add text stroke fills
2025-05-08 15:49:58 +02:00
Pablo Alba
6b300d516b
🐛 Fix restore totally deleted variant should add props as name
2025-05-08 15:01:29 +02:00
Andrey Antukh
e271caa32b
Merge remote-tracking branch 'origin/staging' into develop
2025-05-08 13:41:11 +02:00
Alonso Torres
9be569c54c
🐛 Fix problem when duplicating grid layout ( #6426 )
2025-05-08 13:39:47 +02:00
Alonso Torres
7e6a621484
🐛 Restore component fix order inside flex ( #6432 )
2025-05-08 13:37:59 +02:00
Eva Marco
66b47f9444
🐛 Fix resize bar background ( #6435 )
2025-05-08 13:37:00 +02:00
Andrey Antukh
694a2084e2
✨ Add file cleaner to file-gc process
2025-05-08 13:35:25 +02:00
Andrey Antukh
fef19a3c80
✨ Add legacy flex dir cleaner
2025-05-08 13:35:25 +02:00
Andrey Antukh
3da8b945ca
📎 Don't send unnecesary features to worker
2025-05-08 13:35:24 +02:00
Andrey Antukh
8f27b82edd
✨ Extend cleaner to fix invalid root shapes
2025-05-08 13:34:48 +02:00
Andrés Moya
8b529d308c
Merge pull request #6338 from penpot/hiru-rework-abstraction-levels
...
📚 Update Tech Guide about abstraction levels
2025-05-08 13:32:23 +02:00
Alejandro Alonso
71aa8e5a86
Merge pull request #6434 from penpot/niwinz-staging-webhook-audit
...
✨ Add webhook trigger to the audit events
2025-05-08 13:00:04 +02:00
Andrey Antukh
ab01f0b274
Merge remote-tracking branch 'origin/staging' into develop
2025-05-08 12:22:50 +02:00
Andrey Antukh
e203536506
✨ Add webhook trigger to audit events
2025-05-08 11:56:06 +02:00
Eva Marco
b71b9edee7
🐛 Tooltip positioning tunning ( #6418 )
2025-05-08 11:09:58 +02:00
Elena Torró
bd514c0594
🔧 Fix linting warnings and errors ( #6431 )
2025-05-08 11:07:36 +02:00
Xavier Julian
36e1ad287c
💄 Fix design review for input component
2025-05-08 10:55:07 +02:00
Florian Schrödl
92f5b5f92b
✨ Allow importing token files with reference errors ( #6374 )
...
* ✨ Allow importing token files with reference errors
* ✨ Add test for missing references
2025-05-08 10:11:02 +02:00
Andrey Antukh
0b7b6e2c23
♻️ Refactor penpot library
2025-05-08 09:51:25 +02:00
Elena Torró
46709fb02e
Merge pull request #6379 from penpot/ladybenko-10753-fills-serialization
...
🎉 Serialize as bytes all fill kinds
2025-05-07 18:03:42 +02:00
Elena Torró
61eb2f4a19
🎉 Add text solid strokes ( #6384 )
...
* 🎉 Add text strokes
* 🔧 Minor refactor
2025-05-07 17:28:36 +02:00
Belén Albeza
3fe16bd8f9
🐛 Fix history panel shortcut ( #6420 )
...
* ✨ Remove duplicate ID in file menu
* 🐛 Fix shortcut for Show Version History
* ✨ Add regression test
2025-05-07 16:49:54 +02:00
Alejandro Alonso
a9725a1aac
Merge pull request #6422 from penpot/superalex-add-even-to-power-up-link-from-workspace-menu
...
🐛 Add event to power up link from workspace menu
2025-05-07 15:13:31 +02:00
Belén Albeza
8f9298fac8
♻️ Remove redundant calls to add_shape_fill
2025-05-07 14:55:54 +02:00
Alejandro Alonso
c3e76817cd
🐛 Add event to power up link from workspace menu
2025-05-07 13:45:57 +02:00
Andrey Antukh
8bdec66927
✨ Remove the ILazySchema internal abstraction from schema ns
2025-05-07 12:17:24 +02:00
Andrey Antukh
66ee9edaf8
✨ Add minor enhacements and naming fixes on schemas
2025-05-07 12:17:24 +02:00
Andrey Antukh
ffd7bc883d
⬆️ Update shadow-cljs to 3.0.3 on common and frontend
2025-05-07 12:17:23 +02:00
Andrey Antukh
1bcfa4b8dc
🎉 Add facility to define custom js class
2025-05-07 12:17:23 +02:00
Andrey Antukh
99e325acaf
🔥 Remove support from legacy-zip format
2025-05-07 12:14:52 +02:00
Andrey Antukh
8badd1f2eb
💄 Add cosmetic improvements to common scripts/repl
...
Make it consistent with backend scripts/repl
2025-05-07 12:14:51 +02:00
alonso.torres
44bf276c49
🐛 Remove print
2025-05-07 12:13:47 +02:00
Eva Marco
0f3a4db71e
♻️ Refactor modal/hide! function calls ( #6415 )
2025-05-07 09:53:07 +02:00
Pablo Alba
751bed4117
✨ Manage overrides on variants switch
2025-05-07 09:29:41 +02:00
Alejandro Alonso
ea095a98ba
Merge pull request #6367 from penpot/azazeln28-refactor-flush-and-submit
...
♻️ Flush and submit
2025-05-07 07:03:22 +02:00
Eva Marco
348a9c82bf
Merge pull request #6413 from penpot/eva-fix-tooltip-display-prop
...
🐛 Fix tooltip display on hide
2025-05-06 19:36:29 +02:00
Eva Marco
e2918f4148
🎉 Create tooltip DS component ( #6340 )
...
* ✨ Add new tooltip DS component
* 🎉 Add delay
* 🎉 Update docs and stories
* 🎉 Add configurable delay
* ♻️ Fix comments
* ♻️ Fix comments
2025-05-06 17:15:22 +02:00
Aitor Moreno
c45187eedd
Merge pull request #6381 from penpot/alotor-perf-modifiers-refactor
...
✨ Apply modifiers changes into data
2025-05-06 15:52:57 +02:00
Elena Torró
eeea5f2cc8
Merge pull request #6411 from penpot/alotor-perf-fix-text-editor-v2-error
...
🐛 Fix problem with editor v2
2025-05-06 15:03:15 +02:00
alonso.torres
05b6aeef3e
🐛 Fix problem with editor v2
2025-05-06 14:50:10 +02:00
Belén Albeza
6323031b40
📚 Add serialization docs for fills
2025-05-06 14:41:40 +02:00
Andrey Antukh
6ccb6cafaa
Merge pull request #6263 from penpot/niwinz-develop-path-data-optimizations-1
...
⚡ Performance optimizations to path related functions
2025-05-06 13:53:56 +02:00
Andrey Antukh
be26985ca5
✨ Make the fdata/path-data feature no-team-inheritable
...
And also add helpers for revert it to plain format
2025-05-06 13:39:17 +02:00
Andrey Antukh
2aa2525d0e
✨ Add db conn dynamic binding for srepl helpers
2025-05-06 13:39:17 +02:00
Andrey Antukh
7cb2f307d8
✨ Move path-editor from selection handlers
2025-05-06 13:39:17 +02:00
Andrey Antukh
f1a557c372
✨ Add minor performance enhacements to viewport top-bar
2025-05-06 13:39:17 +02:00
Andrey Antukh
202337b135
💄 Add cosmetic improvements for start-editing-selected event fn
2025-05-06 13:39:16 +02:00
Andrey Antukh
4e3abcbd45
🐛 Prevent NPE on get-points
2025-05-06 13:39:16 +02:00
Andrey Antukh
122e5a4b57
🐛 Fix path content json decoding mechanism
2025-05-06 13:39:16 +02:00
Andrey Antukh
1981946480
🐛 Fix incorrect path content handling on converting from shape
2025-05-06 13:39:16 +02:00
Andrey Antukh
7d327d23a2
✨ Make consistent use of .toString with path content
2025-05-06 13:39:16 +02:00
Andrey Antukh
500c27859b
🐛 Fix geom/point zero? predicate to work correctly with mixed numeric types
...
Using numeric indpendent equality check: `==`
2025-05-06 13:39:16 +02:00
Andrey Antukh
c6f68e6ed1
♻️ Use LITTLE_ENDIAN instead of BIG_ENDIAND for path encoding
2025-05-06 13:39:15 +02:00
Andrey Antukh
b48faf8fe0
✨ Simplify impl with sharing more code
...
and use macros for abstract platform differences
2025-05-06 13:39:15 +02:00
Andrey Antukh
fa24ced3a3
🐛 Don't render path editor on editing grid on frame
2025-05-06 13:39:15 +02:00
Andrey Antukh
b9ea2425b9
🔥 Remove legacy path formating code
2025-05-06 13:39:15 +02:00
Andrey Antukh
1abaff9c52
✨ Add minor improvements to curve drawing internal impl
2025-05-06 13:39:15 +02:00
Andrey Antukh
6f2ccabaa2
✨ Coerce PathData float values to double
...
For avoid equality issues on JVM
2025-05-06 13:39:14 +02:00
Andrey Antukh
1c77126fe6
⚡ Implement get-handlers in term of internal reduce
...
That has an average performance improvement of 64% over
original impl and reduction of generation of object garbage
2025-05-06 13:39:14 +02:00
Andrey Antukh
7196be2a23
🎉 Add support for internal reduce on PathData type
2025-05-06 13:39:14 +02:00
Andrey Antukh
d509b840dc
🔥 Remove unused get-commands fn
2025-05-06 13:39:14 +02:00
Andrey Antukh
61c23877c1
✨ Rename handler->point to get-handler-point
2025-05-06 13:39:14 +02:00
Andrey Antukh
0e61398d67
⚡ Optimize handler->point path segment helper fn
...
More or les x2 speed improvement and reduced the generation
of objects garbage.
2025-05-06 13:39:13 +02:00
Andrey Antukh
f12656463d
✨ Add a helper for perform internal lookup on path content
2025-05-06 13:39:13 +02:00
Andrey Antukh
ba9fc37226
🔥 Remove unused fn content->points
...
Replaced by get-points
2025-05-06 13:39:13 +02:00
Andrey Antukh
60f754f172
✨ Add minor improvements to get-segments-with-points
...
And rename it from `get-segments`
2025-05-06 13:39:13 +02:00
Andrey Antukh
3a22545158
✨ Replace cmd name usage with segment name
...
For fix naming inconsistency
2025-05-06 13:39:13 +02:00
Andrey Antukh
1d0020f6e6
✨ Replace duplicate fn get-point with segment->point
2025-05-06 13:39:13 +02:00
Andrey Antukh
f3c3f3e2d8
🔥 Remove legacy-parser1
...
Unused
2025-05-06 13:39:12 +02:00
Andrey Antukh
9ba0ae5532
✨ Replace command->point with segment->point helper
2025-05-06 13:39:12 +02:00
Andrey Antukh
db73c2eea0
✨ Fix segment param naming on path type helpers
2025-05-06 13:39:12 +02:00
Andrey Antukh
753823c0b3
✨ Reorganize path toString impl
2025-05-06 13:39:12 +02:00
Andrey Antukh
44e8eacb8d
✨ Add the ability to provide initial value on path -walk
2025-05-06 13:39:12 +02:00
Andrey Antukh
33bcbd89f1
⚡ Optimize calculate-extremities path helper
...
Heavily used on path edition
2025-05-06 13:39:11 +02:00
Andrey Antukh
b0cbe3cec8
⚡ Replace content->points with faster get-points
2025-05-06 13:39:11 +02:00
Andrey Antukh
3ca76c9ef7
♻️ Refactor path-editor component
2025-05-06 13:39:11 +02:00
Andrey Antukh
93199e1a70
♻️ Refactor path editor component: path-snap
2025-05-06 13:39:11 +02:00
Andrey Antukh
93a601a1e7
♻️ Refactor path editor component: path-preview
2025-05-06 13:39:11 +02:00
Andrey Antukh
3d864c4ff1
♻️ Refactor path editor components: path-handler and path-point
2025-05-06 13:39:11 +02:00
Andrey Antukh
da2f519805
⚡ Add get-points helper, a faster alternative to content->points
2025-05-06 13:39:10 +02:00
Andrey Antukh
230e330eb2
⚡ Add cache and faster way to iterate over PathData
2025-05-06 13:39:10 +02:00
Andrey Antukh
4f6dffabb4
♻️ Use new call convention for path drawing components
2025-05-06 13:39:10 +02:00
Andrey Antukh
09c3490cae
✨ Add naming improvement to bool content update fn
2025-05-06 13:39:10 +02:00
Andrey Antukh
1fc0203c38
🎉 Add full integration with path data type feature
2025-05-06 13:39:10 +02:00
Andrey Antukh
f545d7b3ea
♻️ Refactor bool shape creation and modification events
2025-05-06 13:39:09 +02:00
Andrey Antukh
b242eb5b32
🔥 Remove unused components-v2 binding on fdata creation
2025-05-06 13:39:09 +02:00
Andrey Antukh
be9e3fa355
✨ Add better error reporting for test check tests
2025-05-06 13:39:09 +02:00
Andrey Antukh
fac93e4ff8
✨ Add serialization support for PathData
...
For transit and fressian
2025-05-06 13:39:09 +02:00
Belén Albeza
8609db2182
♻️ Remove unused deserialization code
2025-05-06 13:00:25 +02:00
Belén Albeza
ec73bd640c
✨ Use mem::transmute to deserialize raw fill data
2025-05-06 12:38:30 +02:00
Belén Albeza
cba65972dd
✨ Use same wasm function to add all types of fills
2025-05-06 12:33:14 +02:00
luisδμ
e62231cfed
♻️ Rename, move and refactor the input-with-values component ( #6387 )
...
* 💄 Adapt behaviour when hovering
* ♻️ Rename, refactor and move component
* 📎 PR changes
2025-05-06 11:19:18 +02:00
Aitor Moreno
3249fb43c3
Merge pull request #6378 from penpot/elenatorro-10914-fix-children-render-order
...
🐛 Render children in the correct order
2025-05-06 09:59:59 +02:00
Pablo Alba
ee0ba15f9e
♻️ Refactor update attrs
...
* Extract token update from update-attrs
* Split update-attrs in smaller functions for legibility and reusability
2025-05-05 18:14:04 +02:00
Belén Albeza
784aecd1a1
🎉 Add a DTO that handles all fill types
2025-05-05 16:55:00 +02:00
Belén Albeza
173d6c23b0
✨ Serialize image fills in binary
2025-05-05 15:51:21 +02:00
Aitor Moreno
abc1241402
♻️ Refactor flush and submit
2025-05-05 15:10:20 +02:00
Belén Albeza
f30441626e
♻️ Refactor fills DTOs into separate submodules
2025-05-05 12:33:40 +02:00
Belén Albeza
5ae125db94
✨ Serialize stroke solid fills as bytes (wasm)
2025-05-05 12:33:40 +02:00
Belén Albeza
093fa18839
✨ Serialize solid fills as bytes (wasm)
2025-05-05 12:33:40 +02:00
Belén Albeza
81f18ad7f4
♻️ Normalize opacity in fills to u8
2025-05-05 12:33:40 +02:00
Belén Albeza
875e019d4f
♻️ Refactor raw gradient data into wasm module
2025-05-05 12:33:40 +02:00
Belén Albeza
8e18a0880e
♻️ Use a single byte to store gradient stop count (wasm)
2025-05-05 12:33:39 +02:00
alonso.torres
36b78e5e21
🐛 Fix restore component restore layout
2025-05-05 11:50:08 +02:00
María Valderrama
86a498fc29
✨ Optimize profile setup flow for better user experience ( #6223 )
...
* ✨ Optimize profile setup flow for better user experience
* 📎 Remove extra onboarding step
* 📎 Code review
* 📎 Update changelog
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-05-05 10:42:08 +02:00
Alejandro Alonso
aae81b8a04
🎉 Add wasm playground environment
2025-05-05 09:45:59 +02:00
Xaviju
486f036a11
♻️ Redesign form input tokens ( #6294 )
...
* ♻️ Redesign form input tokens
* ♻️ Redesign form input tokens
---------
Co-authored-by: Xavier Julian <xaviju@proton.me>
2025-05-05 09:05:14 +02:00
Alonso Torres
a2c9d307df
🐛 Fix problem in viewer with the back button ( #6385 )
2025-05-05 08:54:05 +02:00
Andrés Moya
e52fd90963
💄 Add copyright header to all tokens source files ( #6389 )
2025-05-01 10:06:17 +02:00
Elena Torro
f8602810eb
🐛 Fix font id serialization
2025-04-30 11:48:07 +02:00
Pablo Alba
219ddfabaf
✨ Restore a deleted variant
2025-04-30 11:40:00 +02:00
alonso.torres
d8b3b216e9
🐛 Fix import modal style problem
2025-04-30 10:48:48 +02:00
alonso.torres
88e5209856
✨ Apply modifiers changes into data
2025-04-30 09:34:13 +02:00
Andrey Antukh
c2b13a6d5d
📚 Update changelog
2025-04-29 14:46:15 +02:00
Elena Torro
9eefe13e8b
🐛 Render children in the correct order
2025-04-29 13:39:57 +02:00
Elena Torró
7eab6a2f1d
Merge pull request #6372 from penpot/elenatorro-10892-load-emoji-font-lazily
...
✨ Load emoji font dynamically when initializing
2025-04-29 13:18:09 +02:00
Elena Torro
2306df5fb7
✨ Load emoji font dynamically when initializing
2025-04-29 13:07:06 +02:00
Andrey Antukh
56ecacee21
Merge remote-tracking branch 'origin/staging' into develop
2025-04-29 11:30:16 +02:00
Andrey Antukh
a60b3d4b08
Merge pull request #6375 from penpot/hiru-move-tokens-staging
...
🔧 Reorganize tokens data functions
2025-04-29 10:43:13 +02:00
Andrés Moya
b14798b405
🔧 Make private function
2025-04-29 10:28:00 +02:00
Andrés Moya
8382a88efe
🔧 Move errors and warnings to workspace.data
2025-04-29 10:27:56 +02:00
Andrés Moya
53057c4bf2
🔧 Move token update to workspace.data and rename to propagation
2025-04-29 10:27:50 +02:00
Andrés Moya
3e0f38e8c3
🔧 Move token helpers to common.files
2025-04-29 10:27:46 +02:00
Andrés Moya
a5bbe765b9
🔧 Move style-dictionary and tinycolor to main.data
2025-04-29 10:27:42 +02:00
Andrés Moya
4455adc813
🔧 Move token lib edit to workspace.data and remove unused code
2025-04-29 10:27:38 +02:00
Andrés Moya
abca763aa5
🔧 Move token application to workspace.data
2025-04-29 10:27:20 +02:00
Andrés Moya
5c74349de0
🔧 Make private function
2025-04-29 10:11:40 +02:00
Andrés Moya
4a7b72dae1
🔧 Move errors and warnings to workspace.data
2025-04-29 10:11:40 +02:00
Andrés Moya
23e17d7f30
🔧 Move token update to workspace.data and rename to propagation
2025-04-29 10:11:40 +02:00
Andrés Moya
37cf829188
🔧 Move token helpers to common.files
2025-04-29 10:11:40 +02:00
Andrés Moya
f213ffabe1
🔧 Move style-dictionary and tinycolor to main.data
2025-04-29 10:11:40 +02:00
Andrés Moya
a1921bb767
🔧 Move token lib edit to workspace.data and remove unused code
2025-04-29 10:11:40 +02:00
Andrés Moya
213c04bc8a
🔧 Move token application to workspace.data
2025-04-29 10:11:40 +02:00
Pablo Alba
916eb530a0
✨ Close swap panel after doing a swap
2025-04-28 11:23:42 +02:00
Andrey Antukh
1f0644ea91
Merge pull request #6314 from penpot/niwinz-subscriptions-internal-api
...
✨ Add prepl api for subscriptions
2025-04-28 10:34:29 +02:00
Andrey Antukh
b20147255a
✨ Add better approach for returning subscription on teams response
2025-04-28 10:23:02 +02:00
Andrey Antukh
38728eb342
✨ Add the ability to known the subscription status on teams list
2025-04-28 10:23:02 +02:00
Andrey Antukh
18c7890f65
✨ Add proper impl for retrieving num of editors
2025-04-28 10:23:02 +02:00
Andrey Antukh
1c224609b9
✨ Add prototype for returning number of used slots on customer
2025-04-28 10:23:02 +02:00
Andrey Antukh
4b81468c9c
✨ Allow subscription to be nil
2025-04-28 10:23:02 +02:00
Andrey Antukh
cffac2a56a
✨ Change schema for subscription
2025-04-28 10:23:02 +02:00
Andrey Antukh
05c0f8d69f
🎉 Add update-customer-subscription prepl method
2025-04-28 10:23:02 +02:00
Andrey Antukh
5db5bc65de
🎉 Add get-customer-prfile prepl rpc method
2025-04-28 10:23:02 +02:00
Andrey Antukh
952ab032f9
🎉 Add authenticate prepl rpc method
2025-04-28 10:23:02 +02:00
Andrey Antukh
2df6f2b8b1
♻️ Refactor prepl interface
...
Make prepl to be json message based protocol
instead of clojure expression. This facilitates
implementing internal RPC over socket server.
2025-04-28 10:23:02 +02:00
Andrey Antukh
62a12a64a3
Merge branch 'staging' into develop
2025-04-28 08:44:05 +02:00
Andrey Antukh
6935d54870
Merge branch 'main' into staging
2025-04-28 08:43:54 +02:00
Andrey Antukh
049427c6ca
Merge branch 'main' into develop
2025-04-28 08:43:39 +02:00
Andrey Antukh
65e8526ee2
Merge tag '2.6.2-RC4'
2025-04-28 08:43:04 +02:00
alonso.torres
8ce71e792e
✨ Add dynamic properties modifiers to WASM
2025-04-25 15:03:24 +02:00
Andrés Moya
202762027f
🐛 Handle swapped nested instances when detaching
2025-04-25 10:00:14 +02:00
Andrés Moya
d95551e651
🔧 Add debug traces to detach copy operation
2025-04-25 10:00:14 +02:00
Elena Torro
44d68ad723
🐛 Calculate text-length in bytes correctly
2025-04-25 09:48:12 +02:00
Elena Torró
9e4c9d3101
Merge pull request #6353 from penpot/ladybenko-10867-comment-crash
...
🐛 Fix comment loading crash (new renderer viewport)
2025-04-25 08:41:51 +02:00
Andrey Antukh
050692952e
Merge remote-tracking branch 'origin/staging' into develop
2025-04-24 15:11:12 +02:00
Xaviju
c96fbfdcd6
📚 Update tokens changelog for 2.6.2 ( #6364 )
...
Co-authored-by: Xavier Julian <xaviju@proton.me>
2025-04-24 13:29:56 +02:00
Belén Albeza
ab90d9d01c
🔧 Increase the cap for gradient stops
2025-04-24 12:20:34 +02:00
Belén Albeza
281c0068d9
✨ Embed stop data into RawGradientData
2025-04-24 12:20:34 +02:00
Belén Albeza
e7b74939cb
💄 Change to more idiomatic code in main.rs functions
2025-04-24 12:20:34 +02:00
Elena Torró
c2ae58bf08
🎉 Add text shadows ( #6335 )
2025-04-24 12:19:41 +02:00
Elena Torró
14e8026e30
🐛 Fix take new lines into account when rendering text ( #6337 )
2025-04-24 12:16:21 +02:00
Xaviju
eb29a42209
📚 Update tokens changelog for 2.6.2 and 2.7 ( #6363 )
...
Co-authored-by: Xavier Julian <xaviju@proton.me>
2025-04-24 11:40:06 +02:00
Pablo Alba
6fdaad1bf4
🐛 Fix corner case when selecting component to switch ( #6350 )
2025-04-24 10:38:32 +02:00
Elena Torró
dfa6c502dc
✨ Improve left sidebar horizontal layers scroll ( #6317 )
2025-04-24 10:00:15 +02:00
Belén Albeza
b958dcb891
🐛 Fix positioning of comment thread draft ( #6357 )
...
* 🐛 Fix positioning of comment thread draft
* 📚 Update changelog
2025-04-24 09:53:07 +02:00
Alejandro Alonso
6e5d64d403
Merge pull request #6362 from penpot/niwinz-staging-bugfixes-2
...
🐛 Add migration for fix old broken root shapes (file migration)
2025-04-24 09:28:04 +02:00
Andrey Antukh
3e0c2bf1a1
🐛 Add migration for fix root shape
2025-04-24 09:17:33 +02:00
Andrey Antukh
9c4896d72b
Merge remote-tracking branch 'origin/staging' into develop
2025-04-24 09:00:13 +02:00
Andrey Antukh
283cdee5d6
✨ Ensure consistency on using d/update-vals on file migrations
2025-04-24 08:55:54 +02:00
Andrey Antukh
ab5e01e54a
✨ Ensure we don't leave :components with nil on file data
...
after aplying migrations
2025-04-24 08:53:30 +02:00
Alejandro Alonso
01fec1a0cf
Merge pull request #6339 from penpot/azazeln28-refactor-rebuild-tiles
...
♻️ Refactor how rebuild_tiles works
2025-04-24 07:38:56 +02:00
Aitor Moreno
caf13eb774
♻️ Refactor how rebuild_tiles works
2025-04-24 07:34:35 +02:00
Alejandro Alonso
373248e304
Merge pull request #6360 from penpot/niwinz-staging-bugfixes-2
...
🐛 Fix issues on file data migration handling
2025-04-24 07:30:50 +02:00
Marina López
fef342b489
🐛 Fixed team info settings alignment ( #6354 )
2025-04-23 22:59:07 +02:00
Pablo Alba
6e9adece1f
🐛 Fix problems cutting-paste a variant to another page or file ( #6359 )
2025-04-23 22:58:12 +02:00
Andrey Antukh
80308ceafa
🐛 Make http cache aware of missing file data migrations
2025-04-23 18:15:33 +02:00
Andrey Antukh
f65518f865
🐛 Fix incorrect migration application after binfile import
2025-04-23 18:10:52 +02:00
Andrés Moya
c0315e2c30
🔥 Remove redundant schemas (and add some tooling)
2025-04-23 12:27:01 +02:00
Andrés Moya
2f20ccf289
🔥 Remove unused functions
2025-04-23 12:27:01 +02:00
Belén Albeza
1a7d60bb88
🐛 Fix comment loading crash
2025-04-23 12:15:16 +02:00
Alejandro Alonso
90b1895f19
Merge pull request #6352 from penpot/alotor-update-scripts
...
🐛 Fix wasm scripts
2025-04-23 11:39:15 +02:00
alonso.torres
7945a95522
🐛 Fix wasm scripts
2025-04-23 11:21:24 +02:00
Andrey Antukh
40fe6369cb
Merge remote-tracking branch 'origin/staging' into develop
2025-04-23 08:59:33 +02:00
Alejandro Alonso
f155042958
Merge pull request #6345 from penpot/niwinz-staging-add-interaction-cleaning
...
🐛 Add migration for decoding and cleaning shape interactions
2025-04-23 08:08:31 +02:00
Andrey Antukh
1dd23a3f47
🐛 Invalidate http cache on apply migrations to file on read operation
2025-04-23 07:57:56 +02:00
Alejandro Alonso
55da3ee275
Merge pull request #6349 from penpot/azazeln28-fix-rendering-order
...
🐛 Fix rendering order
2025-04-23 07:07:27 +02:00
Andrey Antukh
1194e40222
🐛 Properly dispose rx subscription on grid thumbnail component
2025-04-22 21:39:57 +02:00
Andrey Antukh
05fac41534
🐛 Remove feature checking from get-file-data-for-thumbnail rpc method
...
The prev code has feature resolution race condition and it
in reallity does not need that check.
2025-04-22 21:38:40 +02:00
Andrey Antukh
3f85e89f62
🐛 Send frontend version on worker http requests
2025-04-22 21:26:51 +02:00
Alonso Torres
ee0f8ad19a
🐛 Fix horizontal scroll in viewer ( #6347 )
2025-04-22 21:03:45 +02:00
Andrey Antukh
b7d7cf233a
✨ Fix shadow colors on import penpot files
2025-04-22 19:58:10 +02:00
Aitor Moreno
38a708e12b
🐛 Fix rendering order
2025-04-22 18:49:57 +02:00
Alonso Torres
53dcd94f0d
✨ Add support for self mentions ( #6341 )
2025-04-22 18:49:10 +02:00
Pablo Alba
a3ccc3dfef
✨ Select correct component to switch when changing variant property ( #6346 )
2025-04-22 18:48:18 +02:00
Alonso Torres
bd208c31e2
🐛 Fix update layout on component restore ( #6348 )
2025-04-22 18:46:21 +02:00
Andrey Antukh
151dc352c8
✨ Don't register shadow schema
...
It is not really necessary, we can use the
schema var directly.
2025-04-22 17:21:52 +02:00
luisδμ
77d8504baf
✨ Selection of several components of a variant at the same time
2025-04-22 15:56:38 +02:00
Andrey Antukh
ccbf17106d
🐛 Add migration for decoding and cleaning shape interactions
2025-04-22 15:04:22 +02:00
Andrey Antukh
95c4d95fd3
📎 Use d/update-vals instead of update-vals on migrations
2025-04-22 15:01:33 +02:00
Aitor Moreno
484772e3b2
Merge pull request #6313 from penpot/superalex-improve-images-performance-wasm
...
🎉 Improve images performance
2025-04-22 11:36:24 +02:00
Alejandro Alonso
5c7a1fb407
🎉 Improve tile caching
2025-04-22 11:03:21 +02:00
Pablo Alba
064981ff3d
Merge remote-tracking branch 'origin/staging' into develop
2025-04-22 10:44:29 +02:00
Pablo Alba
fe003d7496
✨ Add removal of variant container when it becomes empty ( #6311 )
2025-04-22 09:22:18 +02:00
Pablo Alba
fae1df7f4b
🐛 Fix extract component variant from variant with path ( #6303 )
2025-04-22 09:18:31 +02:00
Andrey Antukh
a72c07b657
Merge pull request #6309 from penpot/niwinz-staging-bugfixes-2
...
🐛 Several bugfixes
2025-04-22 09:15:02 +02:00
Florian Schrödl
0bff76e5f1
✨ Don't override user provided color format ( #6231 )
2025-04-22 09:10:07 +02:00
Elena Torró
c7b062f483
Merge pull request #6278 from penpot/elenatorro-send-leaf-attrs-uint-arr
...
🔧 Parse text leaves all at once
2025-04-21 14:27:26 +02:00
Elena Torro
83f72f3e41
🔧 Parse text leaves all at once
2025-04-21 13:24:39 +02:00
Aitor Moreno
d8b71d76dd
Merge pull request #6225 from penpot/elenatorro-10710-render-text-while-typing
...
🎉 Render text while typing
2025-04-21 12:33:08 +02:00
Aitor Moreno
a6d2f385af
Merge pull request #6266 from penpot/superalex-fix-path-unions
...
🐛 Fix unions for new render
2025-04-21 11:23:14 +02:00
Pablo Alba
db9e397531
🐛 Fix variant from a shared lib doesnt't show props
2025-04-21 09:25:00 +02:00
Elena Torró
18dea6c3a3
Merge pull request #6298 from penpot/ladybenko-10752-gradient-stops
...
✨ Send fill + Stops in a single wasm call
2025-04-21 09:17:26 +02:00
Alejandro Alonso
8ebaecc472
🐛 Fix unions for new render
2025-04-21 08:10:15 +02:00
Unreal Vision
58e0b26493
🌐 Add translations for: French
...
Currently translated at 100.0% (1730 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-04-17 15:01:43 +02:00
Corentin Noël
c75380e063
🌐 Add translations for: French
...
Currently translated at 100.0% (1730 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-04-17 15:01:42 +02:00
Andrey Antukh
708492afeb
💄 Add mainly cosmetic changes to dashboard placeholder components
2025-04-17 09:20:35 +02:00
Andrey Antukh
1305ab3cc6
🐛 Fix issue with empty placeholder on team change
2025-04-17 09:20:34 +02:00
Andrey Antukh
29cc6b4f9c
✨ Print the current seed on test.check fail
2025-04-17 09:20:34 +02:00
Andrey Antukh
cc7f0b145c
🐛 Make shape interaction properly decode on binfile import
2025-04-17 09:20:34 +02:00
Andrey Antukh
e69c0c3e27
✨ Make schema uuid parsing fns private
2025-04-17 09:20:34 +02:00
Andrey Antukh
a209966427
🐛 Don't use schema uuid parsing function on websocket ns
2025-04-17 09:20:34 +02:00
Andrey Antukh
d5abbd4220
📎 Add missing entries on the changelog
2025-04-17 09:20:32 +02:00
Andrey Antukh
43a75b64b4
Merge pull request #6318 from penpot/ladybenko-10781-rust-devenv
...
🔧 Improve Rust dev env
2025-04-17 08:48:50 +02:00
Pablo Alba
70a23a14c4
🐛 Fix allow moving a main component into another
2025-04-16 22:54:30 +02:00
Marina López
93c81ea49c
🐛 Fix pricing CTA to be under a config flag ( #6304 )
2025-04-16 17:17:47 +02:00
Xaviju
3a741d1c14
🐛 Hide inactive warning if sets are empty ( #6295 )
...
* 🐛 Hide inactive warning if sets are empty
* 📎 Add simplified impl with proper comment
---------
Co-authored-by: Xavier Julian <xaviju@proton.me>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-04-16 17:17:13 +02:00
Pablo Alba
ba442e1549
✨ Allow copy-paste variants into another file ( #6319 )
2025-04-16 17:12:12 +02:00
Andrés Moya
8c15296d07
Merge branch 'tokens-studio-hyma/99-improve-token-error-messages' into develop
2025-04-16 16:31:53 +02:00
Florian Schroedl
d26464c810
✨ Catch invalid name errors in json
2025-04-16 16:30:47 +02:00
Belén Albeza
8ee202e5a1
🔧 Fix emscripten version in devenv
2025-04-16 15:30:29 +02:00
Belén Albeza
689cddfd0c
🔧 Use cargo env variable for target and allow to override it as well as SKIA_BINARIES_URL
2025-04-16 15:05:31 +02:00
Elena Torró
25950bb5a5
Merge pull request #6312 from penpot/elenatorro-fix-children-removal-regression
...
🐛 Fix last shape removal
2025-04-16 15:03:26 +02:00
Belén Albeza
1da623e63f
💄 Change naming and args order of write-gradient-fill!
2025-04-16 14:09:24 +02:00
Belén Albeza
4bf9e24d43
♻️ Avoid using get-prop when unneeded in serializers
2025-04-16 14:09:24 +02:00
Belén Albeza
b41a7b8547
💄 Remove no longer used functions in wasm serialization
2025-04-16 14:09:23 +02:00
Belén Albeza
f500a00d04
♻️ Extract wasm-functions for fills and strokes out of main.rs
2025-04-16 14:09:19 +02:00
Belén Albeza
64a2a08d24
♻️ Refactor gradient parsing from bytes
2025-04-16 14:08:38 +02:00
Belén Albeza
1f58f96e88
♻️ Refactor serializing gradient fill
2025-04-16 14:07:35 +02:00
Belén Albeza
dc3d802d3d
🎉 Serialize radial fills in one go
2025-04-16 14:07:35 +02:00
Belén Albeza
5765d1c56c
♻️ Switch to a f32 offset for gradient stops
2025-04-16 14:07:35 +02:00
Belén Albeza
abcd050c69
♻️ Adapt linear gradient type so it can be used for radial too (wasm)
2025-04-16 14:07:33 +02:00
Belén Albeza
f40ef26c69
♻️ Move color and fill serializers to their own sub-namespaces
2025-04-16 14:06:22 +02:00
Belén Albeza
fccd1a5bd7
✨ Send fill + stops data in one call for linear fills
2025-04-16 14:05:39 +02:00
Alejandro Alonso
16012a3881
Merge remote-tracking branch 'origin/staging' into develop
2025-04-16 13:15:18 +02:00
Marina López
7ada3692cf
✨ Design improvements to the Invitations page with an empty state
2025-04-16 12:38:47 +02:00
Elena Torro
1ab5d5027f
🐛 Fix last shape removal
2025-04-16 12:37:29 +02:00
Alejandro Alonso
1f16816fe4
Merge pull request #6310 from penpot/alotor-perf-reparent-modifiers
...
✨ Reparent modifiers
2025-04-16 12:21:20 +02:00
alonso.torres
daf048e258
✨ Reparent modifiers
2025-04-16 11:27:51 +02:00
Alejandro Alonso
f3d13005b2
🐛 Fix avoid uncacheable tiles ( #6281 )
2025-04-16 10:59:24 +02:00
Elena Torró
25a44e1387
Merge pull request #6306 from penpot/ladybenko-fix-raf-macros
...
🐛 Fix broken test build for rust wasm
2025-04-16 07:15:27 +02:00
Belén Albeza
9e9612cf1f
🐛 Fix broken test build for rust wasm
2025-04-15 16:58:49 +02:00
Aitor Moreno
304c44048f
♻️ Refactor how rAF/cAF is handled ( #6241 )
2025-04-15 15:45:28 +02:00
Alejandro Alonso
99e64ad387
Merge pull request #6274 from penpot/alotor-perf-grid-layout-modifiers-3
...
✨ Modifiers grid multi-span
2025-04-15 13:39:45 +02:00
Marina López
0f0c45af8e
✨ Propagate sharing a prototype to editors and viewers ( #6297 )
2025-04-15 12:50:01 +02:00
Marina López
f2977cf938
✨ Visual indicators for unlimited tier users ( #6270 )
...
* ✨ Visual indicators for unlimited tier users
* ♻️ Refactor to organize properly subscription
* ♻️ Refactor with PR feedback
* 💄 Add minor cosmetic changes
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2025-04-15 12:47:37 +02:00
Andrey Antukh
bb80da137d
Merge remote-tracking branch 'origin/staging' into develop
2025-04-15 12:10:53 +02:00
Pablo Alba
f4b16a255c
✨ Copy values of same named properties moving a variant into another ( #6288 )
...
* ✨ Copy values of same named properties moving a variant into another
* ✨ Add MR changes
2025-04-15 12:06:58 +02:00
Marina López
ec8c30f060
✨ Update board presets with newer devices ( #6296 )
2025-04-15 10:42:46 +02:00
Andrey Antukh
7990400c7a
🐛 Fix srepl helper for restore file snapshots ( #6300 )
2025-04-15 10:39:51 +02:00
Eva Marco
eee5cf5fb4
✨ Add duplicate sets feature ( #6240 )
...
* ✨ Add duplicate sets feature
* ✨ Add test to each module
* 🎉 Fix comments
* 🎉 Remove duplicate from groups
* 🎉 Remove create theme from test
* 🎉 Remove ' from names
2025-04-14 16:22:40 +02:00
Xavier Julian
f5c699ab7a
✨ Improve copy on inactive set warning title
2025-04-14 10:30:48 +02:00
TheScientistPT
3d67c7930c
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 92.3% (1598 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-04-13 20:18:26 +02:00
TheScientistPT
b55ec38c35
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 92.2% (1596 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-04-11 23:02:00 +02:00
Stas Haas
02a1cfb457
🌐 Add translations for: German
...
Currently translated at 96.1% (1663 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-04-11 23:01:59 +02:00
Corentin Noël
b2ba38b5de
🌐 Add translations for: French
...
Currently translated at 98.7% (1708 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-04-11 23:01:57 +02:00
Pablo Alba
dcf1a593f7
✨ Add playwright tests for cut-copy-paste variants
2025-04-11 15:17:33 +02:00
Pablo Alba
785b61be2f
✨ Fix corner cases of duplicate/copy-paste/cut-paste variants
2025-04-11 15:17:33 +02:00
Elena Torró
39c7782019
Merge pull request #6264 from penpot/elenatorro-10681-update-component-color-preview
...
🐛 Update the component thumbnail on component change
2025-04-11 14:33:07 +02:00
Alejandro Alonso
1c5c51907a
Merge remote-tracking branch 'origin/staging' into develop
2025-04-11 14:05:00 +02:00
andrés gonzález
e004671346
📚 Update Recommended storage info ( #6275 )
2025-04-11 14:02:35 +02:00
alonso.torres
a59014cad0
✨ Modifiers grid multi-span
2025-04-11 13:35:16 +02:00
Aitor Moreno
87650de9bc
🐛 Fix color gradient on text positioned incorrectly ( #6253 )
2025-04-11 11:36:31 +02:00
Florian Schrödl
ee5596067e
⬆️ Upgrade style_dictionary dependency to v5-rc1 ( #6283 )
2025-04-11 11:31:28 +02:00
Eva Marco
870fec6bbd
🐛 Fix modal hint as context notification ( #6276 )
2025-04-11 11:27:30 +02:00
Alejandro Alonso
686ab14b43
Merge pull request #6282 from penpot/alotor-fix-bool-wasm
...
🐛 Fix problem with booleans in wasm
2025-04-11 11:06:31 +02:00
alonso.torres
fced0cf3b1
🐛 Fix problem with booleans in wasm
2025-04-11 10:56:08 +02:00
Andrey Antukh
25dd53290c
🐛 Fix component thumbnail refresh on change
...
Happens when a component is nested in an other top level frame
2025-04-11 10:40:56 +02:00
Elena Torró
de8e27feb8
Merge pull request #6242 from penpot/ladybenko-10666-builtin-fonts
...
🎉 Load built-in font and its variants (wasm)
2025-04-11 08:48:31 +02:00
luisδμ
e7144142e5
✨ Add, edit and delete variant properties from layer panel ( #6257 )
2025-04-10 21:15:23 +02:00
Xavier Julian
b6f2a434cf
✨ Display inactive set warning
2025-04-10 15:02:30 +02:00
Alonso Torres
caf558f8dd
🐛 Fix import error messages ( #6265 )
2025-04-10 14:46:50 +02:00
Florian Schrödl
6f2f1b7a76
⬆️ Update style dictionary to 4.3.3 ( #6260 )
...
Co-authored-by: Andrey Fedorov <oran9e.red@gmail.com>
2025-04-10 14:42:24 +02:00
Elena Torró
744ef1958b
Merge pull request #6269 from penpot/elenatorro-fix-render-wasm-tests
...
🔧 Return the test output
2025-04-10 14:19:02 +02:00
Elena Torro
08b44e1857
🔧 Return the test output
2025-04-10 14:10:05 +02:00
Eva Marco
580b60550c
🐛 Fix notification vertical alignment ( #6272 )
2025-04-10 13:53:20 +02:00
Elena Torró
20f695e8d7
Merge pull request #6271 from penpot/ladybenko-fix-test-run
...
🔧 Update test script to use the right architecture
2025-04-10 13:04:22 +02:00
Belén Albeza
1d7ff1f9e4
🔧 Fix requiring an emscripten macro in non-wasm architectures
2025-04-10 12:52:56 +02:00
Belén Albeza
5b18f1d76d
🔧 Update test script to use the right architecture
2025-04-10 12:50:22 +02:00
Aitor Moreno
d880307a9b
🎉 Add performance measuring functions ( #6229 )
2025-04-10 11:33:22 +02:00
Alejandro
97c24c8b9c
🐛 Fix merge path nodes with only one node selected ( #6248 )
2025-04-10 09:08:44 +02:00
Alejandro Alonso
43535ae573
Merge remote-tracking branch 'origin/staging' into develop
2025-04-10 08:40:29 +02:00
Alejandro
61643f676c
Merge pull request #6249 from penpot/elenatorro-10750-fix-path-nil-svg-attrs
...
🔧 Do not try to set svg path attrs if none
2025-04-10 06:51:50 +02:00
Alejandro
9b8c8c4971
Merge pull request #6258 from penpot/elenatorro-10756-delete-last-shape
...
🐛 Remove children correctly
2025-04-10 06:49:41 +02:00
Alejandro
033ca0d56b
🐛 Fix error when an external user tries to export a shape on viewer ( #6252 )
2025-04-09 16:48:49 +02:00
Alonso Torres
28a6797595
🐛 Fix problem with error detail in toast ( #6259 )
2025-04-09 16:36:11 +02:00
Elena Torro
953db56a0d
🐛 Remove children correctly
2025-04-09 14:39:21 +02:00
Denys Kisil
68ce13368e
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 100.0% (1730 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-04-09 14:01:41 +02:00
Alejandro Alonso
82cf474863
Merge remote-tracking branch 'origin/staging' into develop
2025-04-09 13:52:54 +02:00
Andrey Antukh
edfcac3d5c
🐛 Restore uid assignation on devenv entrypoint
2025-04-09 13:11:12 +02:00
Alejandro Alonso
774e11c827
Merge remote-tracking branch 'origin/staging' into develop
2025-04-09 12:53:18 +02:00
Elena Torro
43f77376b6
🔧 Do not try to set svg path attrs if none
2025-04-09 10:13:39 +02:00
Belén Albeza
c0ba92f503
🎉 Add support for default font variants (wasm)
2025-04-08 16:45:27 +02:00
Belén Albeza
90cb0357c6
🎉 Swap default font for source sans (wasm)
2025-04-08 14:48:28 +02:00
Alejandro
d55e55ebcc
Merge pull request #6237 from penpot/niwinz-upgrade-devenv
...
⬆️ Upgrade devenv (ubuntu, jvm, node)
2025-04-08 10:50:50 +02:00
Aitor Moreno
c2522329fd
Merge pull request #6235 from penpot/alotor-perf-grid-layout-modifiers-2
...
✨ Grid layout modifiers
2025-04-08 09:47:42 +02:00
Alejandro
2470c1788e
🐛 Fix render wasm build ( #6239 )
2025-04-08 09:06:32 +02:00
Pablo Alba
230d259551
Merge pull request #6238 from penpot/luis-improve-input-with-values-doc
...
📚 Update documentation for input-with-values component
2025-04-07 23:31:40 +02:00
Denys Kisil
a55db1d52b
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 100.0% (1730 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-04-07 16:01:42 +00:00
Luis de Dios
cb533335c4
📚 Update documentation for input-with-values component
2025-04-07 17:18:21 +02:00
Andrés Moya
a8890e4b13
Merge branch 'tokens-studio-florian-70-sets-in-theme-create' into develop
2025-04-07 17:08:33 +02:00
Florian Schroedl
0281e0dba4
🚧 Explicit state handling
2025-04-07 16:42:43 +02:00
Florian Schroedl
1c209f49fc
🚧 Don't expose state
2025-04-07 16:36:02 +02:00
Andrey Antukh
a4701866a4
⬆️ Upgrade devenv (ubuntu, jvm, node)
2025-04-07 16:26:04 +02:00
Florian Schroedl
12f72c8ca9
🚧 Show back button only when coming from a modal view
2025-04-07 16:04:18 +02:00
Florian Schroedl
c1165bd12d
🚧 Convert rumext
2025-04-07 16:04:18 +02:00
Florian Schroedl
215fb53c52
🚧 Use use-fn
2025-04-07 16:04:18 +02:00
Florian Schroedl
8df780b237
✨ Allow editing of sets in create theme dialog
...
♻️ theme-state -> current-theme
2025-04-07 16:04:18 +02:00
Andrés Moya
79679cbb16
Merge branch 'tokens-studio-andrei/91-single-set-import-refactoring' into develop
2025-04-07 15:56:22 +02:00
Andrey Fedorov
fb2db4b918
♻️ Refactor single set import functionality
2025-04-07 15:48:27 +02:00
Andrey Antukh
05b66f1dcf
Merge remote-tracking branch 'origin/develop' into develop
2025-04-07 14:45:29 +02:00
Andrey Antukh
0f1b2003be
Merge branch 'staging' into develop
2025-04-07 14:45:08 +02:00
Belén Albeza
6f91da9461
🔧 Fix Rust tests ( #6208 )
...
* 🔧 Fix test script (rust wasm)
* 🔧 Make code compile in test mode + using aarch64 as a target for tests
2025-04-07 14:08:41 +02:00
alonso.torres
63666fca48
✨ Grid layout modifiers
2025-04-07 11:51:28 +02:00
Andrey Antukh
d279b6c232
📎 Fix linter issues
2025-04-07 11:40:19 +02:00
Andrey Antukh
17f7f920c4
Merge branch 'staging' into develop
2025-04-07 11:32:41 +02:00
Andrey Antukh
b55c86544b
📎 Fix linter issues
2025-04-07 10:52:07 +02:00
Pablo Alba
af1d5b86e1
Merge pull request #6214 from penpot/palba-cleanup-components-v2
...
♻️ Cleanup of componentsv2
✨ Add check to avoid open files with components v1
2025-04-07 10:18:53 +02:00
Alonso Torres
137e8d042f
🐛 Fix problem with boolean edges ( #6218 )
2025-04-07 09:19:43 +02:00
Rick Benetti
ee96c5599c
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 74.0% (1281 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-04-05 14:07:11 +00:00
Elena Torro
4ceaedcbe8
🎉 Render text while typing
2025-04-04 14:02:02 +02:00
Pablo Alba
f375cc9a82
✨ Add check to avoid open files with components v1
2025-04-04 11:08:30 +02:00
Elena Torró
5937ed57ce
🎉 Update font and variant on change ( #6220 )
2025-04-04 10:17:39 +02:00
Aitor Moreno
2e3ed0c23f
Merge pull request #6230 from penpot/azazeln28-fix-mem-bytes-alloc-32
...
🐛 Fix bytes-alloc-32
2025-04-04 09:55:34 +02:00
Aitor Moreno
5d1d2ef289
🐛 Fix bytes-alloc-32
2025-04-04 09:43:48 +02:00
Elena Torró
480c224250
🐛 Fix long file names ( #6216 )
...
* 🔧 Add truncate str macro
* 🐛 Use truncate instead of prune to prevent title override
* 💄 Use text-overflow ellipsis on file names
* 📎 Add #10662 to 2.7 bugfixes
2025-04-03 16:06:02 +02:00
Aitor Moreno
cd731c3ad2
♻️ Refactor heap usage ( #6204 )
2025-04-03 16:04:51 +02:00
Andrey Antukh
9bc49e3381
Merge pull request #6209 from penpot/niwinz-features-enhancement
...
⚡ Make feature resolved on team load
2025-04-03 15:43:12 +02:00
Pablo Alba
f961b75bba
♻️ Cleanup of componentsv2
2025-04-03 11:38:35 +02:00
Marina López
1e16fb8ca2
🐛 Fix horizontal scroll from design tab ( #6213 )
2025-04-02 20:00:22 +02:00
Elena Torró
c332528185
🐛 Fix render object with pending status ( #6215 )
2025-04-02 19:58:03 +02:00
Pablo Alba
387c5e67f3
🐛 Fix flick on create variant ( #6217 )
2025-04-02 19:54:48 +02:00
Elena Torró
2ed780e14d
Merge pull request #6205 from penpot/elenatorro-10528-fix-google-font-variant-styles
...
🐛 Fix Google Fonts load by parsing italic variant ids correctly
2025-04-02 17:16:51 +02:00
Pablo Alba
1b8714fe7f
🐛 Fix position problems cutting-pasting a component
2025-04-02 12:10:18 +02:00
Andrey Antukh
e28f8cae74
Merge remote-tracking branch 'origin/staging' into develop
2025-04-02 10:34:31 +02:00
Andrey Antukh
87ef98dad5
✨ Consolidate layout/grid feature
2025-04-01 21:15:38 +02:00
Andrey Antukh
e6e71e9278
✨ Add minor enhacement for error reporting
2025-04-01 20:24:07 +02:00
Andrey Antukh
02220d02ed
⬆️ Update svgo
2025-04-01 20:01:21 +02:00
Andrey Antukh
ff7b77bda7
⬆️ Update yarn
2025-04-01 20:01:21 +02:00
Andrey Antukh
f8ffae75c4
⚡ Make feature resolved on team load
...
That simplifies features retrieval to simple get
2025-04-01 20:01:21 +02:00
Andrey Antukh
cb350b26a1
Merge remote-tracking branch 'origin/develop' into develop
2025-04-01 18:27:02 +02:00
Andrey Antukh
dccebb0bea
Merge remote-tracking branch 'origin/staging' into develop
2025-04-01 18:26:37 +02:00
Elena Torró
4cefbb52e1
Merge pull request #6206 from penpot/azazeln28-fix-not-enough-surfaces
...
🐛 Fix not enough surfaces
2025-04-01 15:47:59 +02:00
Elena Torro
d757009b48
🐛 Fix Google Fonts load by parsing italic variant ids correctly
2025-04-01 14:01:54 +02:00
Aitor Moreno
ca202711e1
🐛 Fix not enough surfaces
2025-04-01 13:41:33 +02:00
Pablo Alba
f04229d8cb
🎉 Allow duplicate/copy-paste/cut-paste variants
2025-04-01 11:07:22 +02:00
Andrey Antukh
076d64df8f
Merge remote-tracking branch 'origin/staging' into develop
2025-04-01 11:02:32 +02:00
Elena Torró
3d7479f9aa
🐛 Fix stroke image rendering ( #6189 )
2025-04-01 09:55:19 +02:00
Elena Torró
76ffc2d268
🔧 Log error on process animation frame ( #6182 )
2025-04-01 09:01:49 +02:00
Elena Scilinguo
d0d118b31e
📚 Update README.md
...
Signed-off-by: Elena Scilinguo <elena.scilinguo@kaleidos.net >
2025-04-01 08:51:23 +02:00
Elena Torró
895b5b2ee1
🐛 Fix new line parsing ( #6180 )
2025-03-31 14:59:34 +02:00
Rick Benetti
21702c090d
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 73.9% (1280 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-03-31 11:06:36 +00:00
Elena Torró
9fd0e9af66
Merge pull request #6178 from penpot/ladybenko-10528-google-fonts
...
🎉 Render text that uses a google font (wasm)
2025-03-31 11:55:57 +02:00
luisδμ
648a8f9237
✨ Allow modifying property name when a variation is selected ( #6174 )
...
* ✨ Change property name when a variation is selected
* 📎 PR changes
2025-03-31 09:12:43 +02:00
Edgars Andersons
c4254106e8
🌐 Add translations for: Latvian
...
Currently translated at 100.0% (1730 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-03-29 13:01:53 +01:00
Aitor Moreno
4e1ae1bc1a
Merge pull request #6181 from penpot/superalex-tada-avoid-full-tiles-rebuild-on-set-modifiers
...
🎉 Avoid full tiles rebuild on set modifiers
2025-03-28 16:27:30 +01:00
Aitor Moreno
b6ac1dea4d
🐛 Fix TileSurfaceCache not deref surfaces
2025-03-28 16:14:37 +01:00
Belén Albeza
219d9af885
♻️ Simplify font ids
2025-03-28 15:21:42 +01:00
Belén Albeza
c6bba54573
♻️ Refactor font-related wasm code into a sub-namespace
2025-03-28 15:17:13 +01:00
Belén Albeza
f53cae0faa
🎉 Render text that uses a Google Font
2025-03-28 15:17:12 +01:00
Edgars Andersons
981336ed5e
🌐 Add translations for: Latvian
...
Currently translated at 98.4% (1704 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-03-28 11:01:58 +00:00
Linerly
3864ce6855
🌐 Add translations for: Indonesian
...
Currently translated at 100.0% (1730 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-03-28 11:01:57 +00:00
Alejandro Alonso
6953a57333
🎉 Avoid full tiles rebuild on set modifiers
2025-03-28 11:55:54 +01:00
Alejandro
a109f11926
Merge pull request #6187 from penpot/azazeln28-fix-surface-pool-missing-deallocation
...
🐛 Fix SurfacePool missing deallocation
2025-03-28 11:55:45 +01:00
Alejandro
45c9904e05
Merge pull request #6155 from penpot/azazeln28-feat-cache-extra-tiles
...
🎉 Cache extra tiles
2025-03-28 11:55:31 +01:00
Aitor Moreno
08fc32cdc6
🎉 Cache extra tiles
2025-03-28 11:34:18 +01:00
Aitor Moreno
6c10f1e364
🐛 Fix SurfacePool missing deallocation
2025-03-28 11:34:04 +01:00
Alejandro
e8549ffb79
Merge pull request #6177 from penpot/azazeln28-feat-sort-viewport-tiles
...
🎉 Sort viewport tiles by distance to center
2025-03-28 11:32:08 +01:00
Aitor Moreno
8a8d89dfc0
🎉 Sort viewport tiles by distance to center
2025-03-28 11:22:10 +01:00
Pablo Alba
b6c4376217
🐛 Fix bugs from varaints design review
2025-03-28 11:20:10 +01:00
Alejandro
bd5e47f5fc
Merge pull request #6126 from penpot/elenatorro-10516-fix-stroke-shadows
...
🐛 Fix stroke shadows
2025-03-28 09:54:39 +01:00
Alejandro
2aa756af38
Merge pull request #6175 from penpot/niwinz-develop-binfile-path-fix
...
🐛 Fix binfile-v3 importation related to bool shape normalization
2025-03-28 09:46:16 +01:00
Andrey Antukh
78c2840b22
Merge remote-tracking branch 'origin/staging' into develop
2025-03-28 09:45:34 +01:00
Aitor Moreno
af0a516a79
🐛 Fix path editing with wrong selrect ( #6168 )
2025-03-28 09:43:46 +01:00
Andrey Antukh
651beb4b9c
🐛 Fix binfile-v3 importation related to bool shape normalization
2025-03-28 08:57:47 +01:00
Elena Torro
f4d04a3dcb
🐛 Fix Stroke Shadows
...
- Move shadows surface responsibility
- Draw shadows directly into DropShadows and InnerShadows surfaces
- Draw stroke shadows directly into Strokes in order
- Clean up old shadow surfaces (Shadow & Overlay)
2025-03-28 08:56:37 +01:00
Elena Torró
d573da55b0
Merge pull request #6179 from penpot/elenatorro-10530-fix-paragraph
...
🐛 Revert offset change to fix paragraph rendering
2025-03-27 17:29:50 +01:00
Elena Torro
3c4be537d9
🐛 Revert offset change to fix paragraph rendering
2025-03-27 17:17:36 +01:00
Elena Torró
9800331505
🎉 Improve performance reducing unnecessary calls to set-objects
...
🎉 Improve performance reducing unnecessary calls to set-objects
2025-03-27 16:19:36 +01:00
Alejandro Alonso
7728d5b317
🎉 Improve performance reducing unnecessary calls to set-objects
2025-03-27 15:47:03 +01:00
Aitor Moreno
8f47ed8b0a
Merge pull request #6136 from penpot/superalex-disable-svg-viewport-texts-for-wasm-render
...
🐛 Disable svg viewport texts for wasm render
2025-03-27 14:46:38 +01:00
Alejandro
c137e682dc
Merge pull request #6172 from penpot/elenatorro-10530-fix-text-drag-and-drop
...
✨ Render text properly while dragging and resizing the text Shape
2025-03-27 14:18:11 +01:00
Andrey Antukh
14c639a425
🐛 Fix bool type shape normalize migration
2025-03-27 14:15:13 +01:00
Elena Torró
06bfb1ad26
🎉 Add PathData data type
...
🎉 Add PathData data type
2025-03-27 13:39:54 +01:00
Elena Torro
33c3611345
✨ Render text properly while dragging and resizing the text Shape
2025-03-27 13:04:45 +01:00
Alejandro Alonso
e012046f62
Merge remote-tracking branch 'origin/staging' into develop
2025-03-27 12:12:57 +01:00
Andrey Antukh
ebf3730454
✨ Normalize the content prop from bool type ( #6162 )
...
Make it the same as path shape, because they are essentially the
same data type
2025-03-27 11:15:48 +01:00
Edgars Andersons
ec0183ce94
🌐 Add translations for: Latvian
...
Currently translated at 97.6% (1690 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-03-27 11:01:53 +01:00
Aitor Moreno
3cf823ffb3
Merge pull request #6137 from penpot/superalex-rendering-wasm-performance
...
🎉 Avoid rendering too small shapes
2025-03-27 10:22:02 +01:00
Aitor Moreno
6231a9f931
Merge pull request #6130 from penpot/azazeln28-fix-tile-cache-exhaustion
...
🐛 Fix tile cache exhaustion
2025-03-27 09:51:16 +01:00
Elena Torró
dd30e939ae
📎 Add #9489 bug fix to CHANGELOG
...
📎 Add #9489 bug fix to CHANGELOG
2025-03-26 14:14:34 +01:00
Elena Torro
6f2e1d3794
📎 Add #9489 bug fix to CHANGELOG
2025-03-26 13:55:42 +01:00
Elena Torró
2e41bd7607
🐛 Fix linecap SVG path property ( #6163 )
2025-03-26 13:46:35 +01:00
Andrey Antukh
b9907ec401
🎉 Add PathData data type
...
That replaces the ad-hoc helpers for convert path content from
plain with encapsulated type that implements the appropriate
clojure protocols and interfaces that helps interacting with
binary encoded path data
2025-03-26 13:17:25 +01:00
Andrey Antukh
416e9e8e1d
Merge remote-tracking branch 'origin/staging' into develop
2025-03-26 13:15:58 +01:00
Alonso Torres
83d41dba6f
✨ Serialization of grid layout data ( #6148 )
...
* ✨ Add serializators for grid layout properties
* ✨ Extract serializers for wasm api module
2025-03-26 12:10:31 +01:00
Pablo Alba
7284fb539f
🐛 Fix when editing a property name, the wrong property changes name ( #6156 )
2025-03-26 11:17:48 +01:00
luisδμ
f932f3efb1
✨ Filter variant by name on layers panel
2025-03-25 21:50:29 +01:00
Aitor Moreno
60bc88a075
🐛 Fix tile cache exhaustion
2025-03-25 16:35:49 +01:00
Aitor Moreno
6eb686c06b
♻️ Refactor Custom Fonts allocations ( #6146 )
...
* ♻️ Refactor Custom Fonts allocations
* 💄 Remove commented code
---------
Co-authored-by: Belén Albeza <belen@hey.com>
2025-03-25 15:34:11 +01:00
Edgars Andersons
f587ed4ade
🌐 Add translations for: Latvian
...
Currently translated at 97.1% (1680 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-03-25 11:01:54 +00:00
Alejandro
065b50f5a2
🐛 Fix asynchronous content dependant rendering ( #6142 )
...
* 🐛 Fix custom fonts rendering
* 🐛 Fix asynchronous content dependant rendering
* 🎉 Renaming clear_cache to clear_drawing_cache
2025-03-25 09:49:47 +01:00
Alejandro Alonso
85b24e1e8d
🎉 Disable antialias for small shapes
2025-03-24 16:27:43 +01:00
Pablo Alba
9653e72e47
♻️ Refactor variants
...
* ♻️ Refactor variants
* ✨ Add MR changes
2025-03-24 13:15:02 +01:00
Alejandro Alonso
a80f114d66
🎉 Avoid rendering too small shapes
2025-03-24 11:49:38 +01:00
Alejandro Alonso
74ae4743d8
🐛 Disable svg viewport texts for wasm render
2025-03-24 11:06:14 +01:00
Andrey Antukh
d1d30e7eb5
Revert " 📎 Add workaround for wasm production build failure"
...
This reverts commit f8a2291a55c42aea5b694c14ecaf4e415e86a056.
2025-03-24 10:48:22 +01:00
Andrey Antukh
e83be01475
Merge remote-tracking branch 'origin/staging' into develop
2025-03-24 10:42:14 +01:00
Aitor Moreno
22efd6574d
Merge pull request #6125 from penpot/alotor-perf-flex-layout-2
...
✨ Improvements on flex layout positioning
2025-03-24 09:53:30 +01:00
Nicola Bortoletto
bb5a103944
🌐 Add translations for: Italian
...
Currently translated at 99.8% (1728 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-03-23 19:01:53 +00:00
Rick Benetti
34b3520fb2
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 70.9% (1228 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-03-23 19:01:52 +00:00
Stephan Paternotte
3217ba5a77
🌐 Add translations for: Dutch
...
Currently translated at 100.0% (1730 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-03-22 18:01:53 +01:00
Nicola Bortoletto
a91caded9e
🌐 Add translations for: Italian
...
Currently translated at 96.4% (1669 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-03-22 18:01:52 +01:00
Stephan Paternotte
05ba1c3e64
🌐 Add translations for: Dutch
...
Currently translated at 99.0% (1714 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-03-21 15:02:01 +00:00
Edgars Andersons
77f025eb8d
🌐 Add translations for: Latvian
...
Currently translated at 96.0% (1662 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-03-21 15:02:00 +00:00
Yaron Shahrabani
aacec1809b
🌐 Add translations for: Hebrew
...
Currently translated at 100.0% (1730 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-03-21 15:01:59 +00:00
Linerly
0435f560a4
🌐 Add translations for: Indonesian
...
Currently translated at 95.4% (1652 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-03-21 15:01:58 +00:00
Stas Haas
766f034e5e
🌐 Add translations for: German
...
Currently translated at 94.1% (1628 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-03-21 15:01:56 +00:00
Ally Tiago
8502d9d21b
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 70.4% (1218 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-03-21 15:01:55 +00:00
Rick Benetti
6c874b2bb7
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 70.4% (1218 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-03-21 15:01:55 +00:00
Andrey Antukh
f8a2291a55
📎 Add workaround for wasm production build failure
2025-03-21 14:07:02 +01:00
Andrey Antukh
8c302e314f
Merge remote-tracking branch 'origin/staging' into develop
2025-03-21 11:17:26 +01:00
alonso.torres
a830c27ceb
✨ Improvements on flex layout positioning
2025-03-21 10:18:34 +01:00
Alejandro
4c12af957c
Merge pull request #6121 from penpot/superalex-tada-improve-tile-shapes-iteration-2
...
🎉 Improve tile shapes iteration
2025-03-21 07:30:52 +01:00
Alejandro Alonso
9ea3c54b92
🎉 Improve tile shapes iteration
2025-03-21 07:20:45 +01:00
Aitor Moreno
4620764111
Merge pull request #6127 from penpot/superalex-fix-wasm-state-warning
...
🐛 Fix wasm state warning
2025-03-20 18:47:49 +01:00
Alejandro Alonso
ca86137d0f
🐛 Fix wasm state warning
2025-03-20 18:18:50 +01:00
Alejandro Alonso
b299a732c0
Merge remote-tracking branch 'origin/staging' into develop
2025-03-20 18:08:06 +01:00
Alejandro
7a4c9d9933
Merge pull request #6122 from penpot/elenatorro-10516-fix-inner-shadow-rendering
...
🐛 Fix Fill Inner Shadow rendering
2025-03-20 15:46:15 +01:00
Elena Torro
91d15ea221
🐛 Fix Fill Inner Shadows
2025-03-20 15:20:15 +01:00
Andrey Antukh
b043fec0d5
🌐 Validate and rehash translation files
2025-03-20 14:46:46 +01:00
Andrey Antukh
0bab46eb5c
Merge remote-tracking branch 'weblate/develop' into develop
2025-03-20 14:45:42 +01:00
Andrey Antukh
82bff09373
🐛 Fix incorrect syntax on spanish translation file
2025-03-20 14:45:20 +01:00
Andrey Antukh
329b2d30d0
Revert " 🌐 Sync, validate and rehash translations"
...
This reverts commit 37a8bf7bfcc37fa451b4837484bf20dde1d97d2f.
2025-03-20 14:44:57 +01:00
Anonymous
0d65b652d4
🌐 Add translations for: Swedish
...
Currently translated at 93.1% (1612 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/sv/
2025-03-20 14:42:44 +01:00
Anonymous
9d3c19e86a
🌐 Add translations for: Yoruba
...
Currently translated at 69.1% (1196 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/yo/
2025-03-20 14:42:43 +01:00
Anonymous
56a7800519
🌐 Add translations for: Hausa
...
Currently translated at 72.9% (1262 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ha/
2025-03-20 14:42:43 +01:00
Anonymous
ba0cebd713
🌐 Add translations for: Dutch
...
Currently translated at 94.0% (1627 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-03-20 14:42:43 +01:00
Anonymous
e28628d148
🌐 Add translations for: Latvian
...
Currently translated at 94.0% (1627 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-03-20 14:42:42 +01:00
Anonymous
40bc860dc6
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 93.9% (1626 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-03-20 14:42:42 +01:00
Anonymous
decf32fdd5
🌐 Add translations for: Croatian
...
Currently translated at 93.8% (1623 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2025-03-20 14:42:42 +01:00
Anonymous
d9d6ee9922
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 88.9% (1539 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-03-20 14:42:42 +01:00
Anonymous
903609a38f
🌐 Add translations for: Czech
...
Currently translated at 93.6% (1621 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2025-03-20 14:42:41 +01:00
Anonymous
4504903b4c
🌐 Add translations for: Italian
...
Currently translated at 93.9% (1626 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-03-20 14:42:40 +01:00
Anonymous
4bf4972b6e
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 93.9% (1626 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-03-20 14:42:40 +01:00
Anonymous
47e4b41dd2
🌐 Add translations for: Hebrew
...
Currently translated at 94.0% (1627 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-03-20 14:42:39 +01:00
Anonymous
af413ff1c0
🌐 Add translations for: Indonesian
...
Currently translated at 94.0% (1627 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-03-20 14:42:39 +01:00
Anonymous
5fcf0808c6
🌐 Add translations for: German
...
Currently translated at 94.0% (1627 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-03-20 14:42:39 +01:00
Anonymous
fb956b3aa1
🌐 Add translations for: Chinese (Simplified Han script)
...
Currently translated at 79.3% (1373 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hans/
2025-03-20 14:42:38 +01:00
Anonymous
93986af181
🌐 Add translations for: Russian
...
Currently translated at 83.5% (1446 of 1730 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-03-20 14:42:38 +01:00
Andrey Antukh
37a8bf7bfc
🌐 Sync, validate and rehash translations
2025-03-20 14:41:50 +01:00
Elena Torro
e60e36a0e2
🔧 Refactor RenderState scale calculation
2025-03-20 14:36:45 +01:00
Hosted Weblate
199e182399
🌐 Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/
2025-03-20 14:31:52 +01:00
Andrey Antukh
a9f4b29f32
Merge remote-tracking branch 'weblate/develop' into develop
2025-03-20 14:31:09 +01:00
Andrey Antukh
22cd43b8a2
Merge remote-tracking branch 'origin/staging' into develop
2025-03-20 14:27:37 +01:00
Alejandro
2d61644b05
Merge pull request #5914 from penpot/azazeln28-feat-tile-rendering
...
🎉 Tile rendering
2025-03-20 11:25:58 +01:00
Aitor Moreno
084816fb9f
🎉 Tile rendering system
2025-03-20 11:14:14 +01:00
william chen
b5ea90f740
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 100.0% (1646 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-03-20 10:02:52 +01:00
Andrey Antukh
e6839e4983
Merge pull request #6106 from penpot/palba--variants-inspect-header
...
✨ Add subtitle to inspect tab for components
2025-03-19 13:42:57 +01:00
Pablo Alba
82d3e466be
✨ Add subtitle to inspect tab for components
2025-03-19 10:34:19 +01:00
Alejandro
b0dacf6b11
Merge pull request #6105 from penpot/superalex-add-changelog-for-2.7.0
...
📎 Update changelog (add entry for 2.7.0)
2025-03-19 10:02:49 +01:00
Alejandro Alonso
64d090839d
📎 Update changelog (add entry for 2.7.0)
2025-03-19 09:51:22 +01:00
al0cam
12d3994f45
🌐 Add translations for: Croatian
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2025-03-18 10:01:54 +00:00
Tummas Jóhan Sigvardsen
e3b6b24c5f
🌐 Add translations for: Faroese
...
Currently translated at 10.0% (165 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fo/
2025-03-17 00:01:53 +01:00
Louis Chance
1eb7205c12
🌐 Add translations for: French
...
Currently translated at 85.3% (1405 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/fr/
2025-03-17 00:01:52 +01:00
al0cam
92f4bdae03
🌐 Add translations for: Croatian
...
Currently translated at 87.7% (1445 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2025-03-14 22:02:57 +01:00
Vin
bd63a460eb
🌐 Add translations for: Russian
...
Currently translated at 88.0% (1450 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ru/
2025-03-14 22:02:56 +01:00
al0cam
02e975f594
🌐 Add translations for: Croatian
...
Currently translated at 77.8% (1282 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/hr/
2025-03-13 17:02:00 +00:00
Denys Kisil
fdeabc15ab
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-03-11 09:02:04 +01:00
Denys Kisil
8363cb7449
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-03-09 19:02:05 +01:00
Nicola Bortoletto
da43a4d3b4
🌐 Add translations for: Italian
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-03-03 16:04:07 +01:00
william chen
69d21e20c9
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 100.0% (1646 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-02-27 04:02:34 +00:00
william chen
a925d6710a
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 88.2% (1453 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-02-26 03:05:58 +00:00
Andy Li
f5218e207b
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 66.1% (1089 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-02-25 03:04:17 +01:00
william chen
7fb6a095c6
🌐 Add translations for: Chinese (Traditional Han script)
...
Currently translated at 66.1% (1089 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/zh_Hant/
2025-02-25 03:04:16 +01:00
Edgars Andersons
6a0bb2f452
🌐 Add translations for: Latvian
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-02-14 16:01:57 +01:00
Amerey.eu
d02f85315a
🌐 Add translations for: Czech
...
Currently translated at 99.3% (1635 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/cs/
2025-02-14 16:01:56 +01:00
Edgars Andersons
fbd5c404d2
🌐 Add translations for: Latvian
...
Currently translated at 98.1% (1616 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-02-13 11:02:06 +01:00
Nicola Bortoletto
32b65e8dbc
🌐 Add translations for: Italian
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-02-13 11:02:04 +01:00
Stas Haas
bf153eb96b
🌐 Add translations for: German
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/de/
2025-02-11 14:22:12 +01:00
TheScientistPT
f16fcf25e2
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 93.9% (1546 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-02-09 21:02:46 +01:00
Linerly
0048f9725d
🌐 Add translations for: Indonesian
...
Currently translated at 100.0% (1646 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-02-07 15:01:51 +01:00
Robson Cardoso dos Santos
4bb5592e75
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 72.7% (1198 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-02-07 15:01:51 +01:00
Renan Mayrinck
d7fbd3c3bc
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 72.7% (1198 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-02-06 14:41:03 +01:00
Robson Cardoso dos Santos
0b62bee90d
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 72.7% (1198 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-02-06 14:41:03 +01:00
Edgars Andersons
a4a88769af
🌐 Add translations for: Latvian
...
Currently translated at 97.5% (1605 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/lv/
2025-02-06 12:02:04 +01:00
Denys Kisil
2dce8d09b8
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-02-06 12:02:03 +01:00
TheScientistPT
e6e6401702
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 93.6% (1542 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-02-06 12:02:01 +01:00
Robson Cardoso dos Santos
e83ece392c
🌐 Add translations for: Portuguese (Brazil)
...
Currently translated at 70.7% (1164 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_BR/
2025-02-06 12:02:00 +01:00
Late Night Defender
bb161f9da8
🌐 Add translations for: Thai
...
Currently translated at 12.5% (206 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/th/
2025-02-04 22:02:01 +01:00
Denys Kisil
07360efd17
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-02-04 22:01:59 +01:00
TheScientistPT
7c8eaaa4f9
🌐 Add translations for: Portuguese (Portugal)
...
Currently translated at 93.3% (1537 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/pt_PT/
2025-02-04 22:01:58 +01:00
Denys Kisil
01e04843bf
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-02-02 14:01:52 +01:00
Linerly
3907f39c29
🌐 Add translations for: Indonesian
...
Currently translated at 98.9% (1628 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/id/
2025-02-01 02:01:53 +01:00
Stephan Paternotte
c570c0929f
🌐 Add translations for: Dutch
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/nl/
2025-01-31 00:57:21 +01:00
Denys Kisil
f53473f9e9
🌐 Add translations for: Ukrainian (ukr_UA)
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/ukr_UA/
2025-01-31 00:57:20 +01:00
Nicola Bortoletto
39e6d28826
🌐 Add translations for: Italian
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/it/
2025-01-31 00:57:18 +01:00
Yaron Shahrabani
0b56d07a67
🌐 Add translations for: Hebrew
...
Currently translated at 99.6% (1641 of 1646 strings)
Translation: Penpot/frontend
Translate-URL: https://hosted.weblate.org/projects/penpot/frontend/he/
2025-01-31 00:57:17 +01:00