Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update master #8

Open
wants to merge 77 commits into
base: master
Choose a base branch
from
Open

Update master #8

wants to merge 77 commits into from

Conversation

sapk
Copy link
Member

@sapk sapk commented Aug 13, 2024

No description provided.

dependabot bot and others added 30 commits October 12, 2020 23:34
…oder-java

add cleanup method to Sereal decoder Java
Perl v5.35.5 now uses some C99 features. This means that Perl's headers now
contain some code with mixed declarations and code.

Earlier versions of Perl support long obsolete compilers that are strict in
rejecting certain C99 features, particularly mixed declarations and code,
hence it still makes sense to audit that our code does not violate this.
However, doing this is now only possible on these earlier versions of Perl,
hence only add -Werror=declaration-after-statement for 5.035004 and earlier.
This is so that it is built in the correct order when running make with
`MAKEFLAGS=-j$N` in order to build in parallel.

Fixes <Sereal#260>.
Specify how to build bundled zstd directly
We can only "catch_violations" on perl v5.35.4 and earlier
…al::Decoder 4.019 on threaded DEBUGGING perls
Frozen objects previously did not work as expected when their
frozen form contained objects. We were calling THAW far too early
before anything was blessed. This then produced spurious errors.
We also didn't well define the calling order.

Another issue was that the docs say that FREEZE() can't return a list
when it certainly can, and like THAW can handle it.
Support quadmath __float128. Support the new PL_Yes and PL_No stuff
from Perl 5.36.x.

Note, upgrade your decoders BEFORE you upgrade your decoders.
…-junit-4.13.1

Bump junit from 4.13 to 4.13.1 in /Java
demerphq and others added 30 commits February 1, 2023 08:41
This validates that the decoder can handle actual output from older
versions of the encoder. It was generated under 5.18 as older
versions don't build on newer perl versions but new versions
build fine on older...

This should add some extra confidence that upgrading the decoder
wont break things.
In a previous commit I forgot we support back to 5.8 and used //
in the test. This patch removes it so our test results for 5.8
go back into the green.
Supports a CPAN_COMPAT=1 env var which controls whether we compile
the same as we would on CPAN. When not set we build a bit differently
in the repo by default as we would via CPAN.
This adds support to the Makefile.PL's for the Encoder and Decoder
so that the env var USE_UNALIGNED can be used to control if miniz
uses unaligned stores and loads.

If USE_UNALIGNED is 1 or "yes" then we will build miniz with support
for unaligned loads and stores. It defaults to not doing so. The
CPAN mode build will prompt() the user if they want to do this if
the env var is not set.
This also includes some necessary and some nice-to-have improvements
to zstd/Makefle.PL. We now have support for building zstd with the
assembly code. I ended up hand rolling some of the Makefile logic to
avoid unnecessary rebuilds.

By default we will build with ZSTD assembly code for performance.
The NO_ASM or ZSTD_DISABLE_ASM env var can be set to a true value
to disable this, and the Makefile.PL should prompt() the user to
use it or not when neither env var is defined.

See https://github.com/facebook/zstd/blob/dev/lib/Makefile for the
original Makefile that ours is derived from.
CPAN_COMPAT should only control if we prompt() during Makefile.PL execution
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.13.4.1 to 2.13.4.2.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
…asterxml.jackson.core-jackson-databind-2.13.4.2

Bump jackson-databind from 2.13.4.1 to 2.13.4.2 in /Java
Before this change:

    v1, v2 := 1, 1
    a1 := [&v1, &v2]
    a2 := [&v1, &v1]

    unmarshal(marshal(a1)) -> [1, 1]
    unmarshal(marshal(a2)) -> [1, &1]

While this preserves referential integrity for all values, it makes the decoded
data structure harder to use.

This commit adds an option to make both cases above round-trip to [1, 1]. This
makes the resulting structure easier to manipulate at the small price of
breaking referential integrity for scalar values.
go: add decoder option to treat REFP more similarly to REFN
Might as well make sure everything works as expected on 5.36.
Currently we aren't THAWing in LIFO order, we are doing it in FIFO
order, which isnt correct, if A contains B and both need to be THAWed we
should THAW B first, then A.

This merges srl_track_frozen_object() into srl_read_frozen_object().
Previously we were calling srl_read_single_value() before we called
srl_track_frozen_object(), but really we want do half of what
srl_track_frozen_object() does BEFORE we call srl_read_single_value(),
and the other half AFTER. Since the only function calling
srl_track_frozen_object() was srl_read_frozen_object() merging the two
together is the easiest way to achieve the "wrapping" behavior we want.

Fixes Sereal#283
go: add MaxRecursionLimit to encoder (defaults to unlimited)
... which wasn't yet supported by it.
hobodecoder.pl: support SRL_PROTOCOL_ENCODING_ZSTD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants