From 6fff555fbc4de0264138486c57743f1516e4fc18 Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Mon, 25 Sep 2023 11:58:10 +0200 Subject: [PATCH] v3.3.0-RC2 (2023-09-25) --- index.html | 2 +- taoensso.nippy.benchmarks.html | 2 +- taoensso.nippy.html | 37 ++++++++++++++++++++++++---------- taoensso.nippy.tools.html | 2 +- 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/index.html b/index.html index 0cacc967..b22bc6c1 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -Nippy 3.3.0-RC1

Nippy 3.3.0-RC1

Released under the Eclipse Public License - v 1.0

The fastest serialization library for Clojure.

Installation

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

[com.taoensso/nippy "3.3.0-RC1"]

Namespaces

taoensso.nippy.benchmarks

Nippy benchmarks.

Public variables and functions:

taoensso.nippy.tools

Utils for community tools that want to add user-configurable Nippy support.
+Nippy 3.3.0-RC2

Nippy 3.3.0-RC2

Released under the Eclipse Public License - v 1.0

The fastest serialization library for Clojure.

Installation

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

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

Namespaces

taoensso.nippy.benchmarks

Nippy benchmarks.

Public variables and functions:

taoensso.nippy.tools

Utils for community tools that want to add user-configurable Nippy support.
 Used by Carmine, Faraday, etc.
\ No newline at end of file diff --git a/taoensso.nippy.benchmarks.html b/taoensso.nippy.benchmarks.html index e6bce041..126f1de4 100644 --- a/taoensso.nippy.benchmarks.html +++ b/taoensso.nippy.benchmarks.html @@ -1,5 +1,5 @@ -taoensso.nippy.benchmarks documentation

taoensso.nippy.benchmarks

Nippy benchmarks.
+taoensso.nippy.benchmarks documentation

taoensso.nippy.benchmarks

Nippy benchmarks.
 

bench

(bench {:keys [all? reader? fressian? fressian? lzma2? laps warmup], :or {laps 10000.0, warmup 25000.0}})

data

Map of data suitable for benching, a subset of
 `nippy/stress-data-comparable`.
\ No newline at end of file diff --git a/taoensso.nippy.html b/taoensso.nippy.html index 67fe128c..631e78a4 100644 --- a/taoensso.nippy.html +++ b/taoensso.nippy.html @@ -1,11 +1,27 @@ -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

DEPRECATED: prefer `*freeze-fallback`.
-

*freeze-fallback*

dynamic

(fn [data-output x])->freeze, nil => default
-

*freeze-serializable-allowlist*

dynamic

Used when attempting to <freeze/thaw> an object that:
+

*freeze-fallback*

dynamic

Controls Nippy's behaviour when trying to freeze an item for which Nippy
+doesn't currently have a native freeze/thaw implementation.
+
+Possible values:
+
+  1. `nil` (no freeze-fallback, default)
+     Tries the following in order:
+       - Freeze with Java's `Serializable` interface if possible
+       - Freeze with Clojure's reader                if possible
+       - Throw
+
+  2. `:write-unfreezable` keyword
+     Tries the following in order:
+       - Freeze with Java's `Serializable` interface if possible
+       - Freeze with Clojure's reader                if possible
+       - Freeze a {:nippy/unfreezable {:type _}} placeholder value
+
+  3. [Advanced] Custom (fn [^java.io.DataOutput out item]) that must
+     write exactly one value to the given `DataOutput` stream

*freeze-serializable-allowlist*

dynamic

Used when attempting to <freeze/thaw> an object that:
   - Does NOT implement Nippy's Freezable    protocol.
   - DOES     implement Java's  Serializable interface.
 
@@ -62,15 +78,14 @@
 Upgrading from an older version of Nippy and unsure whether you've been
 using Nippy's Serializable support, or which classes to allow? See [2].
 
-See also `taoensso.encore/compile-str-filter` for a util to help easily
-build more advanced predicate functions.
+See also `taoensso.encore/name-filter` for a util to help easily build
+more advanced predicate functions.
 
 Thanks to Timo Mihaljov (@solita-timo-mihaljov) for an excellent report
 identifying this vulnerability.
 
 [1] https://github.com/ptaoussanis/nippy/issues/130
 [2] See `allow-and-record-any-serializable-class-unsafe`.

*incl-metadata?*

dynamic

Include metadata when freezing/thawing?
-

*serializable-whitelist*

dynamic

deprecated

DEPRECATED, now called `*thaw-serializable-allowlist*`
 

*thaw-serializable-allowlist*

dynamic

Used when attempting to <freeze/thaw> an object that:
   - Does NOT implement Nippy's Freezable    protocol.
   - DOES     implement Java's  Serializable interface.
@@ -128,14 +143,14 @@
 Upgrading from an older version of Nippy and unsure whether you've been
 using Nippy's Serializable support, or which classes to allow? See [2].
 
-See also `taoensso.encore/compile-str-filter` for a util to help easily
-build more advanced predicate functions.
+See also `taoensso.encore/name-filter` for a util to help easily build
+more advanced predicate functions.
 
 Thanks to Timo Mihaljov (@solita-timo-mihaljov) for an excellent report
 identifying this vulnerability.
 
 [1] https://github.com/ptaoussanis/nippy/issues/130
-[2] See `allow-and-record-any-serializable-class-unsafe`.

*thaw-xform*

dynamic

Experimental, subject to change. Feedback welcome.
+[2] See `allow-and-record-any-serializable-class-unsafe`.

*thaw-xform*

dynamic

added in v3.3.0-RC1 (2023-08-02)

Experimental, subject to change. Feedback welcome.
 
 Transducer to use when thawing standard Clojure collection types
 (vectors, maps, sets, lists, etc.).
@@ -159,7 +174,7 @@
 Note that while this is a very powerful feature, correctly writing
 and debugging transducers and reducing fns can be tricky.
 
-To help, if Nippy encounters an errors while applying your xform, it
+To help, if Nippy encounters an error while applying your xform, it
 will throw a detailed `ExceptionInfo` with message
 "Error thrown via `*thaw-xform*`" to help you debug.

-cache-proxy

{[<x> <meta>] <idx>} for freezing, {<idx> <x-with-meta>} for thawing.
 

aes128-cbc-encryptor

Default 128bit AES-CBC encryptor with many-round SHA-512 key-gen.
diff --git a/taoensso.nippy.tools.html b/taoensso.nippy.tools.html
index 52788e7b..799a33de 100644
--- a/taoensso.nippy.tools.html
+++ b/taoensso.nippy.tools.html
@@ -1,6 +1,6 @@
 
-taoensso.nippy.tools documentation

taoensso.nippy.tools

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

taoensso.nippy.tools

Utils for community 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 uses as options the following, merged in
 order of ascending preference: