diff --git a/CHANGES.md b/CHANGES.md index ef0a0fe8e..4317c6d53 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,12 @@ ## :rocket: Next ### :boom: Breaking changes & Deprecations + +- Removed the support for v2 internal file data blob format. This + version has never been documented nor set as default value so + technicaly this is not a breaking change because we are removing + a "private API". + ### :sparkles: New features - Add team hero in projects dashboard [Taiga #3863](https://tree.taiga.io/project/penpot/us/3863) diff --git a/backend/deps.edn b/backend/deps.edn index b75718a73..d96922748 100644 --- a/backend/deps.edn +++ b/backend/deps.edn @@ -6,7 +6,6 @@ ;; Logging org.zeromq/jeromq {:mvn/version "0.5.2"} - com.taoensso/nippy {:mvn/version "3.1.1"} com.github.luben/zstd-jni {:mvn/version "1.5.2-3"} org.clojure/data.fressian {:mvn/version "1.0.0"} diff --git a/backend/src/app/util/blob.clj b/backend/src/app/util/blob.clj index f4daebc35..6c657532c 100644 --- a/backend/src/app/util/blob.clj +++ b/backend/src/app/util/blob.clj @@ -10,8 +10,7 @@ (:require [app.common.transit :as t] [app.config :as cf] - [app.util.fressian :as fres] - [taoensso.nippy :as n]) + [app.util.fressian :as fres]) (:import java.io.ByteArrayInputStream java.io.ByteArrayOutputStream @@ -27,21 +26,18 @@ (def lz4-factory (LZ4Factory/fastestInstance)) (declare decode-v1) -(declare decode-v2) (declare decode-v3) (declare decode-v4) (declare encode-v1) -(declare encode-v2) (declare encode-v3) (declare encode-v4) (defn encode ([data] (encode data nil)) ([data {:keys [version]}] - (let [version (or version (cf/get :default-blob-version 3))] + (let [version (or version (cf/get :default-blob-version 4))] (case (long version) 1 (encode-v1 data) - 2 (encode-v2 data) 3 (encode-v3 data) 4 (encode-v4 data) (throw (ex-info "unsupported version" {:version version})))))) @@ -55,7 +51,6 @@ ulen (.readInt dis)] (case version 1 (decode-v1 data ulen) - 2 (decode-v2 data ulen) 3 (decode-v3 data ulen) 4 (decode-v4 data ulen) (throw (ex-info "unsupported version" {:version version})))))) @@ -84,29 +79,6 @@ (.decompress ^LZ4FastDecompressor dcp cdata 6 ^bytes udata 0 ulen) (t/decode udata {:type :json}))) -(defn- encode-v2 - [data] - (let [data (n/fast-freeze data) - dlen (alength ^bytes data) - mlen (Zstd/compressBound dlen) - cdata (byte-array mlen) - clen (Zstd/compressByteArray ^bytes cdata 0 mlen - ^bytes data 0 dlen - 8)] - (with-open [^ByteArrayOutputStream baos (ByteArrayOutputStream. (+ (alength cdata) 2 4)) - ^DataOutputStream dos (DataOutputStream. baos)] - (.writeShort dos (short 2)) ;; version number - (.writeInt dos (int dlen)) - (.write dos ^bytes cdata (int 0) clen) - (.toByteArray baos)))) - -(defn- decode-v2 - [^bytes cdata ^long ulen] - (let [udata (byte-array ulen)] - (Zstd/decompressByteArray ^bytes udata 0 ulen - ^bytes cdata 6 (- (alength cdata) 6)) - (n/fast-thaw udata))) - (defn- encode-v3 [data] (let [data (t/encode data {:type :json})