10000 Releases · irmen/Serpent · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: irmen/Serpent

Release 1.23 (python + java)

03 Jul 20:53
Compare
Choose a tag to compare

python:

  • tighter limit on max recursion level to avoid RecursionError even better

java:

  • now requires Java 8 (JDK 1.8) minimum to compile & run!
  • Java 9 compatibility added.

release 1.22

08 Jun 17:53
Compare
Choose a tag to compare
  • python 3.4's enum.Enum is now also accepted as immutable dict key or set element type.
  • register_class is now preserving registration order so you can depend on correct and deterministic precedence.

release 1.20

07 Jun 23:40
Compare
Choose a tag to compare

Added checks in the serializer that prevents generating data that cannot be deserialized later.
The problem was that serpent allowed a non-hashable / non-immutable type as a dict key or set element.
This is now no longer allowed and an error is thrown if you try to serialize such a data structure.

release 1.19, python only

03 Mar 20:28
Compare
Choose a tag to compare
  • can now serialize and deserialize from buffer/memoryview types directly
  • improved test for \x00 bytes in serialized input data
  • fixed some jython and ironpython compatibility issues
  • pypy3 added to test suite

release 1.18, python, java, .net

19 Feb 13:17
Compare
Choose a tag to compare

All three (Python, Java, .NET):

  • CRITICAL FIX: Encoding/serializing unicode strings is now done by repr itself instead of custom code. This solves the issue that previously invalid serialized data which was unparsable, could have been generated from unicode strings.
  • Added Serializer.MaximumLevel to avoid too deep recursion resulting in stack overflow errors.
  • Serializer.Maximumlevel set to a reasonable value (500, or less if your python's recursionlimit is small)

Python:

  • Improved Jython compatibility (built-in support for several Jython types that were previously unserializable such as PyByteArray).
  • Better error when invalid serialized data is used (containing 0-bytes for instance)
  • Improved serialization performance.

release 1.17, python, java, .net

17 Feb 21:43
Compare
Choose a tag to compare

Release 1.17.
All three (Python, Java, .NET):

  • CRITICAL FIX: Encoding/serializing unicode strings is now done by repr itself instead of custom code. This solves the issue that previously invalid serialized data which was unparsable, could have been generated from unicode strings.
  • Added Serializer.MaximumLevel to avoid too deep recursion resulting in stack overflow errors.

Python:

  • Improved Jython compatibility (built-in support for several Jython types that were previously unserializable such as PyByteArray).
  • Better error when invalid serialized data is used (containing 0-bytes for instance)

release 1.16, python, java, .net

27 Dec 22:13
Compare
Choose a tag to compare

❗️ critical fix: fixed float serialization from str to repr, could cause float precision loss on older Python versions (Python library)
❗️ critical fix: fixed errors in complex number parser, it could crash on complex numbers containing float parts (java + .net library)

  • supports serializing python enum types (Python 3.4+)

release 1.15

10 Oct 23:09
Compare
Choose a tag to compare

Python:

  • dropped support for python 2.6 and 3.2
  • added serpent.tobytes utility method to decode base-64 serpent encoded bytearrays

Java:

  • now requires Java7 (jdk 1.7+)
  • added Parser.toBytes utility method to decode base-64 serpent encoded bytearrays

.NET/C#:

  • added Parser.ToBytes utility method to decode base-64 serpent encoded bytearrays

release 1.14 for python

16 Sep 20:16
Compare
Choose a tag to compare

Added built-in support to serialize the datetime.date type, which was somehow overlooked because the other types in that module were supported already.

This is a python version only release.

release 1.13 for .NET and Java

08 Sep 22:51
Compare
Choose a tag to compare

Custom class converters now apply to inheritance tree rather than just one specific class.

This is a java and .NET only release, the Python version is unchanged.

0