[DOC-CVS] [doc-en] master: sodium: document the 8.4 aarch64 support for AES-256-GCM (#5780)
[email protected] (Louis-Arnaud via GitHub)
| Newsgroups | php.doc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: Louis-Arnaud (lacatoire)
Committer: GitHub (web-flow)
Pusher: lacatoire
Date: 2026-08-25T21:46:49+02:00
Commit: https://github.com/php/doc-en/commit/4c85baa92d7c99df238876d20d77ecb952472f11
Raw diff: https://github.com/php/doc-en/commit/4c85baa92d7c99df238876d20d77ecb952472f11.diff
sodium: document the 8.4 aarch64 support for AES-256-GCM (#5780)
Before PHP 8.4 the HAVE_AESGCM guard in ext/sodium/libsodium.c covered
x86 and x86_64 only. PHP 8.4 extends it to __aarch64__ and _M_ARM64
(php-src #12867, commit 1816403d84). On aarch64 this means
sodium_crypto_aead_aes256gcm_is_available() may now return true, and the
encrypt, decrypt and keygen functions and the
SODIUM_CRYPTO_AEAD_AES256GCM_* constants are now defined at all.
The changelog table shared by the encrypt, decrypt and keygen pages is
declared once as sodium.changelog.aes256gcm-aarch64 in
language-snippets.ent. The previously empty descriptions of the four
constants are filled in as well.
Changed paths:
M language-snippets.ent
M reference/sodium/constants.xml
M reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml
M reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml
M reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml
M reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml
Diff:
diff --git a/language-snippets.ent b/language-snippets.ent
index fed94ed48f2e..c6e8392e26e4 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -4496,6 +4496,29 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This function has been
</simpara>
'>
+<!-- Sodium -->
+<!ENTITY sodium.changelog.aes256gcm-aarch64 '
+ <informaltable xmlns="http://docbook.org/ns/docbook">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>8.4.0</entry>
+ <entry>
+ This function is now also defined on aarch64.
+ Previously it was only defined on x86 and x86_64.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+'>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
diff --git a/reference/sodium/constants.xml b/reference/sodium/constants.xml
index d4fbda7841ec..55343ef6d980 100644
--- a/reference/sodium/constants.xml
+++ b/reference/sodium/constants.xml
@@ -169,6 +169,8 @@
</term>
<listitem>
<simpara>
+ Only defined on platforms where AES-256-GCM support is compiled in.
+ Defined on aarch64 as of PHP 8.4.0.
</simpara>
</listitem>
</varlistentry>
@@ -179,6 +181,8 @@
</term>
<listitem>
<simpara>
+ Only defined on platforms where AES-256-GCM support is compiled in.
+ Defined on aarch64 as of PHP 8.4.0.
</simpara>
</listitem>
</varlistentry>
@@ -189,6 +193,8 @@
</term>
<listitem>
<simpara>
+ Only defined on platforms where AES-256-GCM support is compiled in.
+ Defined on aarch64 as of PHP 8.4.0.
</simpara>
</listitem>
</varlistentry>
@@ -199,6 +205,8 @@
</term>
<listitem>
<simpara>
+ Only defined on platforms where AES-256-GCM support is compiled in.
+ Defined on aarch64 as of PHP 8.4.0.
</simpara>
</listitem>
</varlistentry>
diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml
index 6e4a5ecd8cc3..dbc516a70273 100644
--- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml
+++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml
@@ -69,6 +69,11 @@
</simpara>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ &sodium.changelog.aes256gcm-aarch64;
+ </refsect1>
+
</refentry>
<!-- Keep this comment at the end of the file
diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml
index d6ee383f4ccf..374605bf15b0 100644
--- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml
+++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml
@@ -68,6 +68,11 @@
</simpara>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ &sodium.changelog.aes256gcm-aarch64;
+ </refsect1>
+
</refentry>
<!-- Keep this comment at the end of the file
diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml
index bc592dae462e..ac430592ae53 100644
--- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml
+++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml
@@ -30,6 +30,31 @@
</simpara>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>8.4.0</entry>
+ <entry>
+ This function may now return &true; on aarch64 CPUs with the ARM
+ cryptographic extensions.
+ Previously, hardware-accelerated AES-256-GCM was only detected on x86
+ and x86_64, and this function always returned &false; on aarch64.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </refsect1>
+
</refentry>
<!-- Keep this comment at the end of the file
diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml
index 6aa3113097b9..021ffa1bd35b 100644
--- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml
+++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml
@@ -31,6 +31,11 @@
</simpara>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ &sodium.changelog.aes256gcm-aarch64;
+ </refsect1>
+
</refentry>
<!-- Keep this comment at the end of the file