mirror of
https://github.com/penpot/penpot.git
synced 2026-07-22 14:08:03 +00:00
📎 Prepare changes and flags for next release (#8624)
This commit is contained in:
parent
fc64dfe9d6
commit
328b7739e0
28
CHANGES.md
28
CHANGES.md
@ -1,28 +1,38 @@
|
||||
# CHANGELOG
|
||||
|
||||
## 2.16.0 (Unreleased)
|
||||
|
||||
### :boom: Breaking changes & Deprecations
|
||||
|
||||
### :rocket: Epics and highlights
|
||||
|
||||
### :sparkles: New features & Enhancements
|
||||
|
||||
- Allow duplicating color and typography styles (by @MkDev11) [Github #2912](https://github.com/penpot/penpot/issues/2912)
|
||||
- Import Tokens from linked library [Github #8391](https://github.com/penpot/penpot/pull/8391)
|
||||
- Option to download custom fonts (by @dfelinto) [Github #8320](https://github.com/penpot/penpot/issues/8320)
|
||||
- Add woff2 support on user uploaded fonts (by @Nivl) [Github #8248](https://github.com/penpot/penpot/pull/8248)
|
||||
- Add copy as image to clipboard option to workspace context menu (by @dfelinto) [Github #8313](https://github.com/penpot/penpot/pull/8313)
|
||||
- Add Tab/Shift+Tab navigation to rename layers sequentially (by @bittoby) [Github #8474](https://github.com/penpot/penpot/pull/8474)
|
||||
|
||||
|
||||
### :bug: Bugs fixed
|
||||
|
||||
|
||||
## 2.15.0 (Unreleased)
|
||||
|
||||
### :boom: Breaking changes & Deprecations
|
||||
|
||||
### :rocket: Epics and highlights
|
||||
|
||||
### :heart: Community contributions (Thank you!)
|
||||
|
||||
### :sparkles: New features & Enhancements
|
||||
|
||||
- Allow duplicating color and typography styles (by @MkDev11) [Github #2912](https://github.com/penpot/penpot/issues/2912)
|
||||
- Add MCP server integration [Taiga #13112](https://tree.taiga.io/project/penpot/us/13112), [Taiga #13114](https://tree.taiga.io/project/penpot/us/13114)
|
||||
- Add woff2 support on user uploaded fonts (by @Nivl) [Github #8248](https://github.com/penpot/penpot/pull/8248)
|
||||
- Option to download custom fonts (by @dfelinto) [Github #8320](https://github.com/penpot/penpot/issues/8320)
|
||||
- Add copy as image to clipboard option to workspace context menu (by @dfelinto) [Github #8313](https://github.com/penpot/penpot/pull/8313)
|
||||
- Import Tokens from linked library [Github #8391](https://github.com/penpot/penpot/pull/8391)
|
||||
- Add Tab/Shift+Tab navigation to rename layers sequentially (by @bittoby) [Github #8474](https://github.com/penpot/penpot/pull/8474)
|
||||
|
||||
### :bug: Bugs fixed
|
||||
|
||||
- Fix Alt/Option to draw shapes from center point (by @offreal) [Github #8361](https://github.com/penpot/penpot/pull/8361)
|
||||
- Add token name on broken token pill on sidebar [Taiga #13527](https://tree.taiga.io/project/penpot/issue/13527)
|
||||
- Fix `penpot.openPage()` plugin API not navigating in the same tab; change default to same-tab navigation and allow passing a UUID string instead of a Page object [Github #8520](https://github.com/penpot/penpot/issues/8520)
|
||||
|
||||
|
||||
## 2.14.0 (Unreleased)
|
||||
|
||||
@ -120,6 +120,8 @@
|
||||
:telemetry
|
||||
:terms-and-privacy-checkbox
|
||||
:tiered-file-data-storage
|
||||
|
||||
;; Tokens
|
||||
:token-base-font-size
|
||||
:token-combobox
|
||||
:token-color
|
||||
@ -141,6 +143,10 @@
|
||||
;; Enable performance logs in devconsole (disabled by default)
|
||||
:perf-logs
|
||||
|
||||
;; Used for designate features that will be available in the next
|
||||
;; release
|
||||
:canary
|
||||
|
||||
;; Security layer middleware that filters request by fetch
|
||||
;; metadata headers
|
||||
:sec-fetch-metadata-middleware
|
||||
@ -183,7 +189,8 @@
|
||||
:enable-token-shadow
|
||||
:enable-inspect-styles
|
||||
:enable-feature-fdata-objects-map
|
||||
:enable-token-import-from-library])
|
||||
;; Temporary deactivated
|
||||
#_:enable-token-import-from-library])
|
||||
|
||||
(defn parse
|
||||
[& flags]
|
||||
|
||||
@ -267,9 +267,10 @@
|
||||
[{:name (tr "labels.edit")
|
||||
:id "font-edit"
|
||||
:handler on-edit}
|
||||
{:name (tr "labels.download-simple")
|
||||
:id "font-download"
|
||||
:handler on-download}
|
||||
(when (contains? cf/flags :canary)
|
||||
{:name (tr "labels.download-simple")
|
||||
:id "font-download"
|
||||
:handler on-download})
|
||||
{:name (tr "labels.delete")
|
||||
:id "font-delete"
|
||||
:handler on-delete}])]
|
||||
|
||||
@ -227,7 +227,8 @@
|
||||
[:> menu-entry* {:title (tr "workspace.shape.menu.copy-svg")
|
||||
:on-click handle-copy-svg}]
|
||||
|
||||
(when (some cfh/frame-shape? shapes)
|
||||
(when (and (some cfh/frame-shape? shapes)
|
||||
(contains? cf/flags :canary))
|
||||
[:> menu-entry* {:title (tr "workspace.shape.menu.copy-as-image")
|
||||
:disabled multiple?
|
||||
:on-click handle-copy-as-image}])
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
[app.common.data :as d]
|
||||
[app.common.data.macros :as dm]
|
||||
[app.common.path-names :as cpn]
|
||||
[app.config :as cf]
|
||||
[app.main.constants :refer [max-input-length]]
|
||||
[app.main.data.event :as ev]
|
||||
[app.main.data.modal :as modal]
|
||||
@ -253,7 +254,8 @@
|
||||
{:name (tr "workspace.assets.edit")
|
||||
:id "assets-edit-color"
|
||||
:handler edit-color-clicked})
|
||||
(when-not (or multi-colors? multi-assets?)
|
||||
(when (and (not (or multi-colors? multi-assets?))
|
||||
(contains? cf/flags :canary))
|
||||
{:name (tr "workspace.assets.duplicate")
|
||||
:id "assets-duplicate-color"
|
||||
:handler duplicate-color})
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
[app.common.data :as d]
|
||||
[app.common.data.macros :as dm]
|
||||
[app.common.path-names :as cpn]
|
||||
[app.config :as cf]
|
||||
[app.main.data.event :as ev]
|
||||
[app.main.data.modal :as modal]
|
||||
[app.main.data.workspace :as dw]
|
||||
@ -446,7 +447,8 @@
|
||||
:id "assets-edit-typography"
|
||||
:handler handle-edit-typography-clicked})
|
||||
|
||||
(when-not (or multi-typographies? multi-assets?)
|
||||
(when (and (not (or multi-typographies? multi-assets?))
|
||||
(contains? cf/flags :canary))
|
||||
{:name (tr "workspace.assets.duplicate")
|
||||
:id "assets-duplicate-typography"
|
||||
:handler handle-duplicate-typography})
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
[app.common.types.container :as ctn]
|
||||
[app.common.types.shape.layout :as ctl]
|
||||
[app.common.uuid :as uuid]
|
||||
[app.config :as cf]
|
||||
[app.main.data.workspace :as dw]
|
||||
[app.main.data.workspace.collapse :as dwc]
|
||||
[app.main.refs :as refs]
|
||||
@ -424,19 +425,20 @@
|
||||
(mf/use-fn
|
||||
(mf/deps id objects)
|
||||
(fn [event]
|
||||
(let [shift? (kbd/shift? event)
|
||||
shape (get objects id)
|
||||
parent (get objects (:parent-id shape))
|
||||
siblings (:shapes parent)
|
||||
pos (d/index-of siblings id)]
|
||||
(when (some? pos)
|
||||
(let [;; Layers render in reverse: Tab (visually down) = dec index,
|
||||
;; Shift+Tab (visually up) = inc index
|
||||
target-id (if shift?
|
||||
(get siblings (inc pos))
|
||||
(get siblings (dec pos)))]
|
||||
(when (some? target-id)
|
||||
(st/emit! (dw/start-rename-shape target-id))))))))]
|
||||
(when (contains? cf/flags :canary)
|
||||
(let [shift? (kbd/shift? event)
|
||||
shape (get objects id)
|
||||
parent (get objects (:parent-id shape))
|
||||
siblings (:shapes parent)
|
||||
pos (d/index-of siblings id)]
|
||||
(when (some? pos)
|
||||
(let [;; Layers render in reverse: Tab (visually down) = dec index,
|
||||
;; Shift+Tab (visually up) = inc index
|
||||
target-id (if shift?
|
||||
(get siblings (inc pos))
|
||||
(get siblings (dec pos)))]
|
||||
(when (some? target-id)
|
||||
(st/emit! (dw/start-rename-shape target-id)))))))))]
|
||||
|
||||
(mf/with-effect [is-selected selected]
|
||||
(let [single? (= (count selected) 1)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user