Skip to content

Releases: RuedigerMoeller/fast-serialization

2.0 beta

22 Jun 16:41
Compare
Choose a tag to compare
2.0 beta Pre-release
Pre-release
  • removed unused features + classes
  • changed package name :-)
  • reads input in chunks instead of fully (caused many problems with 1.x)

beta + undocumented:

  • added codec layer to prepare for optional non-binary serialization
  • new MinBin codec includes schema into the stream (~binary JSON). Allows to extract data of a serialized stream without having access to original classes (archiving/cross language).
  • experimental JavaScript deserialization based on MinBin, code generator for JS pseudo classes

git issue 13

28 May 18:48
Compare
Choose a tag to compare

bugfix

bugfix jdk-compatibility

28 May 18:24
Compare
Choose a tag to compare

fixes for following weird combinations

  • writeMethod, but no readMethod defined
  • readMethod, but no writeMethod defined
  • use defaultWriteObject, read with readFields()
  • use defaultWriteObject, read with readObject()
  • use writeObject, read with defaultReadObject()

[there could be even more combinations, but I did not find sample classes in JDK, I'll fix as they come]

Testclasses:

  • BigDecimal (uses putField, writes old fields from jdk 1.02 ?)
  • javax.security.auth.Subject (synchronizedSets)
  • HtmlEditorKit (all kind of weird stuff)
  • HtmlDocument (moar weird stuff)
  • Inet6Address

don't hesitate to report compatibility issues (aka works with jdk object stream but not with fst).

JDK Compatibility fix

27 May 18:19
Compare
Choose a tag to compare
JDK Compatibility fix Pre-release
Pre-release

Note: Introduced some new issues. Use 1.55 instead
JDK-compatibility

fst internally has two modes:

  • optimized mode for classes without any specials such as readObject/writeObject/...
  • if fst detects JDK-serialization specials it falls back to a (slower) compatible mode. But even then there have been optimizations to speed up compatibility mode. However Issue 12 showed fst would have to literally read source code of some classes to make correct decisions. Therefore I was forced to deoptimize compatibility mode. Fortunately this will not affect overall performance, as common classes do not run in compatibility mode as custom serializers have been included for popular classes (e.g. collections, Date, BigDecimal) to speed them up. Additionally most of the JDK classes implement straight serializable without any writeObject/readObject/readRessolve stuff, so can be serialized in optimized mode.

added

public Object asObject( byte b[] )
public byte[] asByteArray( Serializable object )

to FSTConfiguration

v1.55 JDK 1.6 compatible build

22 May 17:32
Compare
Choose a tag to compare
Pre-release

Warning: fst serialization will work, struct emulation not.

bugfix + classloader support

21 Apr 10:33
Compare
Choose a tag to compare
  • adds setClassloader to FSTConfiguration. Using custom classloading currently requires a dedicated FSTConfiguration per classloader. In version 2.x it will be possible to temporary add custom classloading to fstobjectinputstream as creating a FSTConfigruation is a very expensive operation
  • fatal flaw in FSTObjectInput.resetForReUse (introduced during refactoring) fixed.

1.54 fix for git issue 2

26 Mar 20:56
Compare
Choose a tag to compare
  • when registering a serializer for a non serializable class an exception was thrown "not serializable". This was a side effect of moving the serializable check from stream to static metainfo init in 1.50

bugfix release (java.lang.Float failure)

24 Mar 19:49
Compare
Choose a tag to compare
  • rarely used java.lang.Float was not correctly read due to a typo.
  • added all "Big" Numbers to testcase

FST 1.52 bugfix release

19 Mar 17:53
Compare
Choose a tag to compare
  • transient fields where not initialized upon deser (e.g. transient x = -1;)

FST Serialization 1.51

17 Mar 23:47
Compare
Choose a tag to compare
  • struct build woes: javassist bugged with last build (seems it requires 1.7 class format). structs work with this build
  • no changes for serialization