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
High-performance serialization library for Clojure
Public variables and functions:
- *auto-freeze-compressor*
- *custom-readers*
- *final-freeze-fallback*
- *freeze-fallback*
- *freeze-serializable-allowlist*
- *incl-metadata?*
- *serializable-whitelist*
- *thaw-serializable-allowlist*
- *thaw-xform*
- -cache-proxy
- aes128-cbc-encryptor
- aes128-encryptor
- aes128-gcm-encryptor
- allow-and-record-any-serializable-class-unsafe
- cache
- compress
- decompress
- decrypt
- default-freeze-serializable-allowlist
- default-thaw-serializable-allowlist
- encrypt
- extend-freeze
- extend-thaw
- fast-freeze
- fast-thaw
- freezable?
- freeze
- freeze-to-file
- freeze-to-out!
- freeze-to-string
- get-recorded-serializable-classes
- IFreezable1
- IFreezable2
- inspect-ba
- lz4-compressor
- lz4hc-compressor
- lzma2-compressor
- public-types-spec
- read-quarantined-serializable-object-unsafe!
- snappy-compressor
- stress-data
- stress-data-benchable
- stress-data-comparable
- thaw
- thaw-from-file
- thaw-from-in!
- thaw-from-resource
- thaw-from-string
- throw-unfreezable
- try-write-readable
- try-write-serializable
- write-id
- write-unfreezable
taoensso.nippy.tools
Utils for community tools that want to add user-configurable Nippy support. +Nippy 3.3.0-RC2 Generated by Codox
Nippy 3.3.0-RC2
\ No newline at end of file diff --git a/taoensso.nippy.benchmarks.html b/taoensso.nippy.benchmarks.html index e6bce04..126f1de 100644 --- a/taoensso.nippy.benchmarks.html +++ b/taoensso.nippy.benchmarks.html @@ -1,5 +1,5 @@ -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
High-performance serialization library for ClojurePublic variables and functions:
- *auto-freeze-compressor*
- *custom-readers*
- *freeze-fallback*
- *freeze-serializable-allowlist*
- *incl-metadata?*
- *thaw-serializable-allowlist*
- *thaw-xform*
- -cache-proxy
- aes128-cbc-encryptor
- aes128-encryptor
- aes128-gcm-encryptor
- allow-and-record-any-serializable-class-unsafe
- cache
- compress
- decompress
- decrypt
- default-freeze-serializable-allowlist
- default-thaw-serializable-allowlist
- encrypt
- extend-freeze
- extend-thaw
- fast-freeze
- fast-thaw
- freezable?
- freeze
- freeze-to-file
- freeze-to-out!
- freeze-to-string
- get-recorded-serializable-classes
- IFreezable1
- IFreezable2
- inspect-ba
- lz4-compressor
- lz4hc-compressor
- lzma2-compressor
- public-types-spec
- read-quarantined-serializable-object-unsafe!
- snappy-compressor
- stress-data
- stress-data-benchable
- stress-data-comparable
- thaw
- thaw-from-file
- thaw-from-in!
- thaw-from-resource
- thaw-from-string
- throw-unfreezable
- try-write-readable
- try-write-serializable
- write-id
- write-unfreezable
taoensso.nippy.tools
Utils for community tools that want to add user-configurable Nippy support. Used by Carmine, Faraday, etc.Public variables and functions:
taoensso.nippy.benchmarks documentation Generated by Codox
Nippy 3.3.0-RC1
taoensso.nippy.benchmarks
Nippy benchmarks. +taoensso.nippy.benchmarks documentation Generated by Codox
Nippy 3.3.0-RC2
\ No newline at end of file diff --git a/taoensso.nippy.html b/taoensso.nippy.html index 67fe128..631e78a 100644 --- a/taoensso.nippy.html +++ b/taoensso.nippy.html @@ -1,11 +1,27 @@ -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`.taoensso.nippy documentation Generated by Codox
Nippy 3.3.0-RC1
taoensso.nippy
High-performance serialization library for Clojure +taoensso.nippy documentation Generated by Codox
Nippy 3.3.0-RC2
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 @@ The special `"allow-and-record"` value is also possible, see [2]. 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 @@ The special `"allow-and-record"` value is also possible, see [2]. 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 @@ Example transducers: 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 52788e7..799a33d 100644 --- a/taoensso.nippy.tools.html +++ b/taoensso.nippy.tools.html @@ -1,6 +1,6 @@ -taoensso.nippy.tools documentation Generated by Codox
Nippy 3.3.0-RC1
taoensso.nippy.tools
Utils for community tools that want to add user-configurable Nippy support. +taoensso.nippy.tools documentation Generated by Codox
Nippy 3.3.0-RC2
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: