[master] d654495cd whats-new: Upgrade notes on numbers

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Mon Sep 13 17:07:06 UTC 2021

commit d654495cdd54ec5ab7f96743d6fa158d337404c9
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Mon Sep 13 19:02:56 2021 +0200

    whats-new: Upgrade notes on numbers

diff --git a/doc/sphinx/whats-new/upgrading-trunk.rst b/doc/sphinx/whats-new/upgrading-trunk.rst
index c2c3350cf..a96a10b20 100644
--- a/doc/sphinx/whats-new/upgrading-trunk.rst
+++ b/doc/sphinx/whats-new/upgrading-trunk.rst
@@ -66,7 +66,13 @@ rebuilt from scratch.
 Structured Fields numbers
+VCL types INTEGER and REAL now map respectively to Structured Fields integer
+and decimal numbers. Numbers outside of the Structured Fields bounds are no
+longer accepted by the VCL compiler and the various conversion functions from
+vmod_std will fail the transaction for numbers out of bounds.
+The scientific notation is no longer supported, for example ``12.34e+3`` must
+be spelled out as ``12340`` instead.
 Memory footprint
@@ -155,7 +161,7 @@ significantly the VCL compilation time with very large ACLs. The ``table``
 flag improves compilation time at the expense of runtime performance.
 Changes for developers
@@ -268,7 +274,23 @@ authors since they are not exposed by libvarnishapi.
+The ``VNUMpfx()`` function was replaced by ``SF_Parse_Number()`` that parses
+both decimal and integer numbers from RFC8941. In addition there are new
+``SF_Parse_Decimal()`` and ``SF_Parse_Integer()`` more specialized functions.
+``VNUM_bytes_unit()`` returns an integer and no longer parses factional bytes.
+New token parsers ``VNUM_uint()`` and ``VNUM_hex()`` were added.
+The other VNUM functions rely on the new SF functions for parsing, with the
+same limitations.
+The following macros define the Structured Fields number bounds:

More information about the varnish-commit mailing list