From 79399939d38391e84655a309621fde76353e2a9e Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Sat, 12 Sep 2020 12:28:15 +0200 Subject: [PATCH] v3.0.0-RC3 2020-09-12 --- index.html | 2 +- taoensso.nippy.benchmarks.html | 2 +- taoensso.nippy.compression.html | 2 +- taoensso.nippy.crypto.html | 2 +- taoensso.nippy.encryption.html | 2 +- taoensso.nippy.html | 28 ++++++++++++++++++++++++++-- taoensso.nippy.tools.html | 2 +- taoensso.nippy.utils.html | 2 +- 8 files changed, 33 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index eb06e0d..cb8061c 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ -Nippy 3.0.0-RC2

Nippy 3.0.0-RC2

Released under the Eclipse Public License

High-performance serialization library for Clojure.

Installation

To install, add the following dependency to your project or build file:

[com.taoensso/nippy "3.0.0-RC2"]

Namespaces

taoensso.nippy.crypto

Low-level crypto utils.
+Nippy 3.0.0-RC3

Nippy 3.0.0-RC3

Released under the Eclipse Public License

High-performance serialization library for Clojure.

Installation

To install, add the following dependency to your project or build file:

[com.taoensso/nippy "3.0.0-RC3"]

Namespaces

taoensso.nippy.encryption

Simple no-nonsense crypto with reasonable defaults

taoensso.nippy.tools

Utils for 3rd-party tools that want to add user-configurable Nippy support.
 Used by Carmine, Faraday, etc.

taoensso.nippy.utils

Public variables and functions:

\ No newline at end of file diff --git a/taoensso.nippy.benchmarks.html b/taoensso.nippy.benchmarks.html index eb2f63d..be4cdec 100644 --- a/taoensso.nippy.benchmarks.html +++ b/taoensso.nippy.benchmarks.html @@ -1,3 +1,3 @@ -taoensso.nippy.benchmarks documentation

taoensso.nippy.benchmarks

bench

(bench {:keys [reader? lzma2? fressian? laps], :or {laps 1}})

bench*

macro

(bench* & body)

bench1

(bench1 freezer thawer & [sizer])

data

fressian-freeze

(fressian-freeze value)

fressian-thaw

(fressian-thaw value)
\ No newline at end of file +taoensso.nippy.benchmarks documentation

taoensso.nippy.benchmarks

bench

(bench {:keys [reader? lzma2? fressian? laps], :or {laps 1}})

bench*

macro

(bench* & body)

bench1

(bench1 freezer thawer & [sizer])

data

fressian-freeze

(fressian-freeze value)

fressian-thaw

(fressian-thaw value)
\ No newline at end of file diff --git a/taoensso.nippy.compression.html b/taoensso.nippy.compression.html index f3760eb..4a27b19 100644 --- a/taoensso.nippy.compression.html +++ b/taoensso.nippy.compression.html @@ -1,6 +1,6 @@ -taoensso.nippy.compression documentation

taoensso.nippy.compression

ICompressor

protocol

members

compress

(compress compressor ba)

decompress

(decompress compressor ba)

header-id

(header-id compressor)

lz4-compressor

Default net.jpountz.lz4 compressor:
+taoensso.nippy.compression documentation

taoensso.nippy.compression

ICompressor

protocol

members

compress

(compress compressor ba)

decompress

(decompress compressor ba)

header-id

(header-id compressor)

lz4-compressor

Default net.jpountz.lz4 compressor:
       Ratio: low.
 Write speed: very high.
  Read speed: very high.
diff --git a/taoensso.nippy.crypto.html b/taoensso.nippy.crypto.html
index fd9e839..6679921 100644
--- a/taoensso.nippy.crypto.html
+++ b/taoensso.nippy.crypto.html
@@ -1,6 +1,6 @@
 
-taoensso.nippy.crypto documentation

taoensso.nippy.crypto

Low-level crypto utils.
+taoensso.nippy.crypto documentation

taoensso.nippy.crypto

Low-level crypto utils.
 Private & alpha, very likely to change!

cbc-cipher

(cbc-cipher)

cipher-kit-aes-cbc

Default CipherKit for AES CBC
 

cipher-kit-aes-gcm

Default CipherKit for AES GCM
 

decrypt

(decrypt {:keys [cipher-kit salt-size salt->key-fn enc-ba], :or {cipher-kit cipher-kit-aes-gcm}})

encrypt

(encrypt {:keys [cipher-kit ?salt-ba key-ba plain-ba rand-bytes-fn], :or {cipher-kit cipher-kit-aes-gcm, rand-bytes-fn rand-bytes}})

gcm-cipher

(gcm-cipher)

ICipherKit

protocol

members

get-cipher

(get-cipher _)
Returns a thread-safe `javax.crypto.Cipher` instance.
diff --git a/taoensso.nippy.encryption.html b/taoensso.nippy.encryption.html
index 3389ec6..5044515 100644
--- a/taoensso.nippy.encryption.html
+++ b/taoensso.nippy.encryption.html
@@ -1,6 +1,6 @@
 
-taoensso.nippy.encryption documentation

taoensso.nippy.encryption

Simple no-nonsense crypto with reasonable defaults
+taoensso.nippy.encryption documentation

taoensso.nippy.encryption

Simple no-nonsense crypto with reasonable defaults
 

aes128-cbc-encryptor

Default 128bit AES-CBC encryptor with many-round SHA-512 key-gen.
 See also `aes-128-cbc-encryptor`.

aes128-gcm-encryptor

Default 128bit AES-GCM encryptor with many-round SHA-512 key-gen.
 
diff --git a/taoensso.nippy.html b/taoensso.nippy.html
index 44b453d..6b7e7ca 100644
--- a/taoensso.nippy.html
+++ b/taoensso.nippy.html
@@ -1,6 +1,6 @@
 
-taoensso.nippy documentation

taoensso.nippy

High-performance serialization library for Clojure
+taoensso.nippy documentation

taoensso.nippy

High-performance serialization library for Clojure
 

*auto-freeze-compressor*

dynamic

(fn [byte-array])->compressor used by `(freeze <x> {:compressor :auto}),
 nil => default

*custom-readers*

dynamic

{<hash-or-byte-id> (fn [data-input])->read}
 

*final-freeze-fallback*

dynamic

DEPRECATED: prefer `*freeze-fallback`.
@@ -202,7 +202,31 @@ CONS: Using a small number of keys for many encrypted items means that if any
       compromised.
 
 Faster than `aes128-salted`, and harder to attack any particular key - but
-increased danger if a key is somehow compromised.

cache

(cache x)
Experimental, subject to change.
+increased danger if a key is somehow compromised.

allow-and-record-any-serializable-class-unsafe

(allow-and-record-any-serializable-class-unsafe class-name)
A predicate (fn allow-class? [class-name]) fn that can be assigned
+to `*freeze-serializable-allowlist*` and/or
+     `*thaw-serializable-allowlist*` that:
+
+  - Will allow ANY class to use Nippy's Serializable support (unsafe).
+  - And will record {<class-name> <frequency-allowed>} for the <=1000
+    classes that ~most frequently made use of this support.
+
+`get-recorded-serializable-classes` returns the recorded state.
+
+This predicate is provided as a convenience for users upgrading from
+previous versions of Nippy that allowed the use of Serializable for all
+classes by default.
+
+While transitioning from an unsafe->safe configuration, you can use
+this predicate (unsafe) to record information about which classes have
+been using Nippy's Serializable support in your environment.
+
+Once some time has passed, you can check the recorded state. If you're
+satisfied that all recorded classes are safely Serializable, you can
+then merge the recorded classes into Nippy's default allowlist/s, e.g.:
+
+(alter-var-root #'thaw-serializable-allowlist*
+  (fn [_] (into default-thaw-serializable-allowlist
+            (keys (get-recorded-serializable-classes)))))

cache

(cache x)
Experimental, subject to change.
 
 Wraps value so that future writes of the same wrapped value with same
 metadata will be efficiently encoded as references to this one.
diff --git a/taoensso.nippy.tools.html b/taoensso.nippy.tools.html
index 633199a..adf6422 100644
--- a/taoensso.nippy.tools.html
+++ b/taoensso.nippy.tools.html
@@ -1,6 +1,6 @@
 
-taoensso.nippy.tools documentation

taoensso.nippy.tools

Utils for 3rd-party tools that want to add user-configurable Nippy support.
+taoensso.nippy.tools documentation

taoensso.nippy.tools

Utils for 3rd-party tools that want to add user-configurable Nippy support.
 Used by Carmine, Faraday, etc.

*freeze-opts*

dynamic

*thaw-opts*

dynamic

freeze

(freeze x)(freeze x default-opts)
Like `nippy/freeze` but merges opts from *freeze-opts*, `wrap-for-freezing`.
 

thaw

(thaw ba)(thaw ba default-opts)
Like `nippy/thaw` but merges opts  from `*thaw-opts*`.
 

with-freeze-opts

macro

(with-freeze-opts opts & body)

with-thaw-opts

macro

(with-thaw-opts opts & body)

wrap-for-freezing

(wrap-for-freezing x)(wrap-for-freezing x opts)
Ensures that given arg (any freezable data type) is wrapped so that
diff --git a/taoensso.nippy.utils.html b/taoensso.nippy.utils.html
index 3267936..a630496 100644
--- a/taoensso.nippy.utils.html
+++ b/taoensso.nippy.utils.html
@@ -1,6 +1,6 @@
 
-taoensso.nippy.utils documentation

taoensso.nippy.utils

freezable?

(freezable? x)(freezable? x {:keys [allow-clojure-reader? allow-java-serializable?]})
Alpha - subject to change.
+taoensso.nippy.utils documentation

taoensso.nippy.utils

freezable?

(freezable? x)(freezable? x {:keys [allow-clojure-reader? allow-java-serializable?]})
Alpha - subject to change.
 Returns truthy iff Nippy *appears* to support freezing the given argument.
 
 `:allow-clojure-reader?` and `:allow-java-serializable?` options may be