Skip to content

hash: Upgrade xxHash to 0.8.2 - #20064

Merged
TimWolla merged 3 commits into
php:masterfrom
TimWolla:xxhash-update
Oct 8, 2025
Merged

hash: Upgrade xxHash to 0.8.2#20064
TimWolla merged 3 commits into
php:masterfrom
TimWolla:xxhash-update

Conversation

@TimWolla

Copy link
Copy Markdown
Member

No description provided.

@TimWollaTimWolla changed the title hash: Upgrade xxHash to 0.8.3hash: Upgrade xxHash to 0.8.2Oct 4, 2025
@TimWolla

Copy link
Copy Markdown
MemberAuthor

0.8.3 changes the internal struct, which breaks serialization, because serialization touches the internal fields of the opaque struct …

@ndossche

Copy link
Copy Markdown
Member

I'll have a proper look later, but the xxhash files had some manual patches done to them by various people (mostly backport probably); see #18842

@TimWolla

Copy link
Copy Markdown
MemberAuthor

but the xxhash files had some manual patches done to them

If it's not asserted by CI it doesn't exist 😉

@ndossche

Copy link
Copy Markdown
Member

Then half of php does not exist

@ndosschendossche left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went through the patches that went in after xxhash 0.8.1 went in:

  • a839230 which was pulled from upstream, so OK included
  • 7638640 also from upstream, so OK included
  • adcb38b also upstream
  • a82d864 which also has a corresponding upstream PR
  • afb1c57 which is mine, part of this modifies xxhash.h to work around a (older) compiler bug. I think it's fine to drop this patch.

I then compared with 0.8.2 upstream and found the sources match.

0.8.3 changes the internal struct, which breaks serialization, because serialization touches the internal fields of the opaque struct …

I see. That's unfortunate. I haven't looked at this yet but I wonder if there's a migration path possible. 0.8.3 contains a bugfix for XXH3_128bits_withSecretandSeed but it doesn't seem like we use that directly.

@TimWolla
TimWolla merged commit 50b3222 into php:masterOct 8, 2025
10 checks passed
@TimWolla
TimWolla deleted the xxhash-update branch October 8, 2025 19:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@TimWolla@ndossche