mirror of
https://github.com/penpot/penpot.git
synced 2025-06-02 09:01:48 +02:00
Merge pull request #5042 from penpot/niwinz-update-changelog
📚 Update changelog
This commit is contained in:
commit
c2b97b13a1
3 changed files with 61 additions and 10 deletions
51
CHANGES.md
51
CHANGES.md
|
@ -10,6 +10,52 @@
|
||||||
|
|
||||||
### :sparkles: New features
|
### :sparkles: New features
|
||||||
|
|
||||||
|
- **Tiered File Data Storage** [Taiga #8376](https://tree.taiga.io/project/penpot/us/8376)
|
||||||
|
|
||||||
|
This feature allows offloading file data that is not actively used
|
||||||
|
from the database to object storage (e.g., filesystem, S3), thereby
|
||||||
|
freeing up space in the database. It can be enabled with the
|
||||||
|
`enable-enable-tiered-file-data-storage` flag.
|
||||||
|
|
||||||
|
*(On-Premise feature, EXPERIMENTAL).*
|
||||||
|
|
||||||
|
- **JSON Interoperability for HTTP API** [Taiga #8372](https://tree.taiga.io/project/penpot/us/8372)
|
||||||
|
|
||||||
|
Enables full JSON interoperability for our HTTP API. Previously,
|
||||||
|
JSON was only barely supported for output when the
|
||||||
|
`application/json` media type was specified in the `Accept` header,
|
||||||
|
or when `_fmt=json` was passed as a query parameter. With this
|
||||||
|
update, we now offer proper bi-directional support for using our API
|
||||||
|
with plain JSON, instead of Transit.
|
||||||
|
|
||||||
|
- **Automatic File Snapshotting**
|
||||||
|
|
||||||
|
Adds the ability to automatically take and maintain a limited set of
|
||||||
|
snapshots of active files without explicit user intervention. This
|
||||||
|
feature allows on-premise administrators to recover the state of a
|
||||||
|
file from a past point in time in a limited manner.
|
||||||
|
|
||||||
|
It can be enabled with the `enable-auto-file-snapshot` flag and
|
||||||
|
configured with the following settings:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Take snapshots every 10 update operations
|
||||||
|
PENPOT_AUTO_FILE_SNAPSHOT_EVERY=10
|
||||||
|
|
||||||
|
# Take a snapshot if it has been more than 3 hours since the file was last modified
|
||||||
|
PENPOT_AUTO_FILE_SNAPSHOT_TIMEOUT=3h
|
||||||
|
|
||||||
|
# The total number of snapshots to keep
|
||||||
|
PENPOT_AUTO_FILE_SNAPSHOT_TOTAL=10
|
||||||
|
```
|
||||||
|
|
||||||
|
Snapshots are only taken during update operations; there is NO
|
||||||
|
active background process for this.
|
||||||
|
|
||||||
|
- Add separated flag `enable-oidc-registration` for enable the
|
||||||
|
registration only for OIDC authentication backend [Github
|
||||||
|
#4882](https://github.com/penpot/penpot/issues/4882)
|
||||||
|
|
||||||
### :bug: Bugs fixed
|
### :bug: Bugs fixed
|
||||||
|
|
||||||
- Fix wrong props on padding input [Taiga #8254](https://tree.taiga.io/project/penpot/issue/8254)
|
- Fix wrong props on padding input [Taiga #8254](https://tree.taiga.io/project/penpot/issue/8254)
|
||||||
|
@ -17,6 +63,11 @@
|
||||||
- Fix scroll on color picker modal [Taiga #8353](https://tree.taiga.io/project/penpot/issue/8353)
|
- Fix scroll on color picker modal [Taiga #8353](https://tree.taiga.io/project/penpot/issue/8353)
|
||||||
- Fix components are not dragged from the group to the assets tab [Taiga #8273](https://tree.taiga.io/project/penpot/issue/8273)
|
- Fix components are not dragged from the group to the assets tab [Taiga #8273](https://tree.taiga.io/project/penpot/issue/8273)
|
||||||
|
|
||||||
|
|
||||||
|
## 2.1.3
|
||||||
|
|
||||||
|
- Don't allow registration when registration is disabled and invitation token is used [Github #4975](https://github.com/penpot/penpot/issues/4975)
|
||||||
|
|
||||||
## 2.1.2
|
## 2.1.2
|
||||||
|
|
||||||
### :bug: Bugs fixed
|
### :bug: Bugs fixed
|
||||||
|
|
|
@ -42,9 +42,9 @@
|
||||||
:rpc-rlimit-config "resources/rlimit.edn"
|
:rpc-rlimit-config "resources/rlimit.edn"
|
||||||
:rpc-climit-config "resources/climit.edn"
|
:rpc-climit-config "resources/climit.edn"
|
||||||
|
|
||||||
:file-snapshot-total 10
|
:auto-file-snapshot-total 10
|
||||||
:file-snapshot-every 5
|
:auto-file-snapshot-every 5
|
||||||
:file-snapshot-timeout "3h"
|
:auto-file-snapshot-timeout "3h"
|
||||||
|
|
||||||
:public-uri "http://localhost:3449"
|
:public-uri "http://localhost:3449"
|
||||||
:host "localhost"
|
:host "localhost"
|
||||||
|
@ -101,9 +101,9 @@
|
||||||
[:telemetry-uri {:optional true} :string]
|
[:telemetry-uri {:optional true} :string]
|
||||||
[:telemetry-with-taiga {:optional true} ::sm/boolean] ;; DELETE
|
[:telemetry-with-taiga {:optional true} ::sm/boolean] ;; DELETE
|
||||||
|
|
||||||
[:file-snapshot-total {:optional true} ::sm/int]
|
[:auto-file-snapshot-total {:optional true} ::sm/int]
|
||||||
[:file-snapshot-every {:optional true} ::sm/int]
|
[:auto-file-snapshot-every {:optional true} ::sm/int]
|
||||||
[:file-snapshot-timeout {:optional true} ::dt/duration]
|
[:auto-file-snapshot-timeout {:optional true} ::dt/duration]
|
||||||
|
|
||||||
[:media-max-file-size {:optional true} ::sm/int]
|
[:media-max-file-size {:optional true} ::sm/int]
|
||||||
[:deletion-delay {:optional true} ::dt/duration] ;; REVIEW
|
[:deletion-delay {:optional true} ::dt/duration] ;; REVIEW
|
||||||
|
|
|
@ -388,9 +388,9 @@
|
||||||
(defn- take-snapshot?
|
(defn- take-snapshot?
|
||||||
"Defines the rule when file `data` snapshot should be saved."
|
"Defines the rule when file `data` snapshot should be saved."
|
||||||
[{:keys [revn modified-at] :as file}]
|
[{:keys [revn modified-at] :as file}]
|
||||||
(when (contains? cf/flags :file-snapshot)
|
(when (contains? cf/flags :auto-file-snapshot)
|
||||||
(let [freq (or (cf/get :file-snapshot-every) 20)
|
(let [freq (or (cf/get :auto-file-snapshot-every) 20)
|
||||||
timeout (or (cf/get :file-snapshot-timeout)
|
timeout (or (cf/get :auto-file-snapshot-timeout)
|
||||||
(dt/duration {:hours 1}))]
|
(dt/duration {:hours 1}))]
|
||||||
|
|
||||||
(or (= 1 freq)
|
(or (= 1 freq)
|
||||||
|
@ -420,7 +420,7 @@
|
||||||
(defn- delete-old-snapshots!
|
(defn- delete-old-snapshots!
|
||||||
[{:keys [::db/conn] :as cfg} {:keys [id] :as file}]
|
[{:keys [::db/conn] :as cfg} {:keys [id] :as file}]
|
||||||
(when-let [snapshots (not-empty (db/exec! conn [sql:get-latest-snapshots id
|
(when-let [snapshots (not-empty (db/exec! conn [sql:get-latest-snapshots id
|
||||||
(cf/get :file-snapshot-total 10)]))]
|
(cf/get :auto-file-snapshot-total 10)]))]
|
||||||
(let [last-date (-> snapshots peek :created-at)
|
(let [last-date (-> snapshots peek :created-at)
|
||||||
result (db/exec-one! conn [sql:delete-snapshots id last-date])]
|
result (db/exec-one! conn [sql:delete-snapshots id last-date])]
|
||||||
(l/trc :hint "delete old snapshots" :file-id (str id) :total (db/get-update-count result)))))
|
(l/trc :hint "delete old snapshots" :file-id (str id) :total (db/get-update-count result)))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue