Final file tidies for 10.44
diff --git a/ChangeLog b/ChangeLog
index e4dc338..ea228c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,8 +4,8 @@
 Before the move to GitHub, this was the only record of changes to PCRE2. Now
 there is also the log of commit messages.
 
-Version 10.44 xx-xxx-2024
--------------------------
+Version 10.44 07-June-2024
+--------------------------
 
 1. If a pattern contained a variable-length lookbehind in which the first
 branch was not the one with the shortest minimum length, and the lookbehind
@@ -17,7 +17,7 @@
 2. Further updates to the oss-fuzz support:
 
    (a) Limit quantifiers for groups and classes to be no more than 10. This
-       avoide very long JIT compile times that happen in some cases when groups
+       avoids very long JIT compile times that happen in some cases when groups
        are replicated for quantification, and very long match times when
        classes contain a lot of non-ascii characters.
 
@@ -41,7 +41,7 @@
 there is a user for whom 32 is too small.
 
 4. Cause pcre2test to output a message when pcre2_jit_compile() gives an error
-return if either jitverify or info is specified/
+return if either jitverify or info is specified.
 
 5. Some auxiliary files for building under OpenVMS that were contributed by
 Alexey Chupahin have been installed.
@@ -55,7 +55,7 @@
 break property unless a zero-width joiner intervenes. PCRE2 was not insisting
 on the ZWJ, causing \X to match more than it should. See GitHub issue #410.
 
-8. Avoid compilation issues with propietary compilers in UNIX since 10.43.
+8. Avoid compilation issues with proprietary compilers in UNIX since 10.43.
 
 
 Version 10.43 16-February-2024
diff --git a/Makefile.am b/Makefile.am
index 172c2d7..ca6a638 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -482,6 +482,7 @@
   src/sljit/sljitNativeX86_32.c \
   src/sljit/sljitNativeX86_64.c \
   src/sljit/sljitNativeX86_common.c \
+  src/sljit/sljitSerialize.c \
   src/sljit/sljitUtils.c \
   src/sljit/allocator_src/sljitExecAllocatorApple.c \
   src/sljit/allocator_src/sljitExecAllocatorCore.c \
diff --git a/NEWS b/NEWS
index 6129546..5f8dde3 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,14 @@
 -------------------------
 
 
+Version 10.44 07-June-2024
+--------------------------
+
+This is mostly a bug-fix and tidying release. There is one new function, to set
+a maximum size for a compiled pattern. The maximum name length for groups is
+increased to 128. Some auxiliary files for building under VMS are added.
+
+
 Version 10.43 16-February-2024
 ------------------------------
 
diff --git a/NON-AUTOTOOLS-BUILD b/NON-AUTOTOOLS-BUILD
index 66d446b..851976a 100644
--- a/NON-AUTOTOOLS-BUILD
+++ b/NON-AUTOTOOLS-BUILD
@@ -13,7 +13,7 @@
   Building PCRE2 on Windows with Visual Studio
   Testing with RunTest.bat
   Building PCRE2 on native z/OS and z/VM
-  Building PCRE2 under VMS 
+  Building PCRE2 under VMS
 
 
 GENERAL
@@ -420,9 +420,9 @@
 
 BUILDING PCRE2 UNDER VMS
 
-Alexey Chuphin has contributed some auxiliary files for building PCRE2 under 
-OpenVMS. They are in the "vms" directory in the distribution tarball. Please 
-read the file called vms/openvms_readme.txt. The pcre2test and pcre2grep 
+Alexey Chuphin has contributed some auxiliary files for building PCRE2 under
+OpenVMS. They are in the "vms" directory in the distribution tarball. Please
+read the file called vms/openvms_readme.txt. The pcre2test and pcre2grep
 programs contain some VMS-specific code.
 
 ===========================
diff --git a/configure.ac b/configure.ac
index 56c4c23..6091ea4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,13 +10,13 @@
 
 m4_define(pcre2_major, [10])
 m4_define(pcre2_minor, [44])
-m4_define(pcre2_prerelease, [-DEV])
-m4_define(pcre2_date, [2024-03-11])
+m4_define(pcre2_prerelease, [])
+m4_define(pcre2_date, [2024-06-07])
 
 # Libtool shared library interface versions (current:revision:age)
-m4_define(libpcre2_8_version,     [12:0:12])
-m4_define(libpcre2_16_version,    [12:0:12])
-m4_define(libpcre2_32_version,    [12:0:12])
+m4_define(libpcre2_8_version,     [13:0:13])
+m4_define(libpcre2_16_version,    [13:0:13])
+m4_define(libpcre2_32_version,    [13:0:13])
 m4_define(libpcre2_posix_version, [3:5:0])
 
 # NOTE: The CMakeLists.txt file searches for the above variables in the first
diff --git a/doc/html/NON-AUTOTOOLS-BUILD.txt b/doc/html/NON-AUTOTOOLS-BUILD.txt
index 66d446b..851976a 100644
--- a/doc/html/NON-AUTOTOOLS-BUILD.txt
+++ b/doc/html/NON-AUTOTOOLS-BUILD.txt
@@ -13,7 +13,7 @@
   Building PCRE2 on Windows with Visual Studio
   Testing with RunTest.bat
   Building PCRE2 on native z/OS and z/VM
-  Building PCRE2 under VMS 
+  Building PCRE2 under VMS
 
 
 GENERAL
@@ -420,9 +420,9 @@
 
 BUILDING PCRE2 UNDER VMS
 
-Alexey Chuphin has contributed some auxiliary files for building PCRE2 under 
-OpenVMS. They are in the "vms" directory in the distribution tarball. Please 
-read the file called vms/openvms_readme.txt. The pcre2test and pcre2grep 
+Alexey Chuphin has contributed some auxiliary files for building PCRE2 under
+OpenVMS. They are in the "vms" directory in the distribution tarball. Please
+read the file called vms/openvms_readme.txt. The pcre2test and pcre2grep
 programs contain some VMS-specific code.
 
 ===========================
diff --git a/doc/pcre2.txt b/doc/pcre2.txt
index 43ceb67..85eead6 100644
--- a/doc/pcre2.txt
+++ b/doc/pcre2.txt
@@ -189,8 +189,8 @@
 
 PCRE2 10.38                     27 August 2021                        PCRE2(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2API(3)                Library Functions Manual                PCRE2API(3)
 
@@ -4018,8 +4018,8 @@
 
 PCRE2 10.44                      24 April 2024                     PCRE2API(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2BUILD(3)              Library Functions Manual              PCRE2BUILD(3)
 
@@ -4645,8 +4645,8 @@
 
 PCRE2 10.44                      15 April 2024                   PCRE2BUILD(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2CALLOUT(3)            Library Functions Manual            PCRE2CALLOUT(3)
 
@@ -5079,8 +5079,8 @@
 
 PCRE2 10.43                     19 January 2024                PCRE2CALLOUT(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2COMPAT(3)             Library Functions Manual             PCRE2COMPAT(3)
 
@@ -5313,8 +5313,8 @@
 
 PCRE2 10.43                    30 November 2023                 PCRE2COMPAT(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2JIT(3)                Library Functions Manual                PCRE2JIT(3)
 
@@ -5760,8 +5760,8 @@
 
 PCRE2 10.43                    21 February 2024                    PCRE2JIT(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2LIMITS(3)             Library Functions Manual             PCRE2LIMITS(3)
 
@@ -5844,8 +5844,8 @@
 
 PCRE2 10.43                      1 August 2023                  PCRE2LIMITS(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2MATCHING(3)           Library Functions Manual           PCRE2MATCHING(3)
 
@@ -6073,8 +6073,8 @@
 
 PCRE2 10.43                     19 January 2024               PCRE2MATCHING(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2PARTIAL(3)            Library Functions Manual            PCRE2PARTIAL(3)
 
@@ -6457,8 +6457,8 @@
 
 PCRE2 10.34                    04 September 2019               PCRE2PARTIAL(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2PATTERN(3)            Library Functions Manual            PCRE2PATTERN(3)
 
@@ -10022,8 +10022,8 @@
 
 PCRE2 10.44                      04 June 2024                  PCRE2PATTERN(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2PERFORM(3)            Library Functions Manual            PCRE2PERFORM(3)
 
@@ -10278,8 +10278,8 @@
 
 PCRE2 10.41                      27 July 2022                  PCRE2PERFORM(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2POSIX(3)              Library Functions Manual              PCRE2POSIX(3)
 
@@ -10637,8 +10637,8 @@
 
 PCRE2 10.43                     19 January 2024                  PCRE2POSIX(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2SAMPLE(3)             Library Functions Manual             PCRE2SAMPLE(3)
 
@@ -10923,8 +10923,8 @@
 
 PCRE2 10.32                      27 June 2018                PCRE2SERIALIZE(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2SYNTAX(3)             Library Functions Manual             PCRE2SYNTAX(3)
 
@@ -11510,8 +11510,8 @@
 
 PCRE2 10.43                     12 October 2023                 PCRE2SYNTAX(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
 
 PCRE2UNICODE(3)            Library Functions Manual            PCRE2UNICODE(3)
 
@@ -11976,5 +11976,5 @@
 
 PCRE2 10.43                    04 February 2023                PCRE2UNICODE(3)
 ------------------------------------------------------------------------------
- 
- 
+
+
diff --git a/doc/pcre2demo.3 b/doc/pcre2demo.3
index fcc4bb5..0453a94 100644
--- a/doc/pcre2demo.3
+++ b/doc/pcre2demo.3
@@ -1,4 +1,4 @@
-.TH PCRE2DEMO 3 " 4 June 2024" "PCRE2 10.43"
+.TH PCRE2DEMO 3 " 7 June 2024" "PCRE2 10.44"
 .\"AUTOMATICALLY GENERATED BY PrepareRelease - do not EDIT!
 .SH NAME
 PCRE2DEMO - A demonstration C program for PCRE2
diff --git a/src/config.h.generic b/src/config.h.generic
index 73d58d0..0092948 100644
--- a/src/config.h.generic
+++ b/src/config.h.generic
@@ -245,7 +245,7 @@
 #define PACKAGE_NAME "PCRE2"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "PCRE2 10.43"
+#define PACKAGE_STRING "PCRE2 10.44"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "pcre2"
@@ -254,7 +254,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "10.43"
+#define PACKAGE_VERSION "10.44"
 
 /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
    parentheses (of any kind) in a pattern. This limits the amount of system
@@ -458,7 +458,7 @@
 #endif
 
 /* Version number of package */
-#define VERSION "10.43"
+#define VERSION "10.44"
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
diff --git a/src/pcre2.h.generic b/src/pcre2.h.generic
index d7a8ff5..a322d9f 100644
--- a/src/pcre2.h.generic
+++ b/src/pcre2.h.generic
@@ -42,9 +42,9 @@
 /* The current PCRE version information. */
 
 #define PCRE2_MAJOR           10
-#define PCRE2_MINOR           43
+#define PCRE2_MINOR           44
 #define PCRE2_PRERELEASE      
-#define PCRE2_DATE            2024-02-16
+#define PCRE2_DATE            2024-06-07
 
 /* When an application links to a PCRE DLL in Windows, the symbols that are
 imported have to be identified as such. When building PCRE2, the appropriate
@@ -604,6 +604,8 @@
 PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \
   pcre2_set_max_pattern_length(pcre2_compile_context *, PCRE2_SIZE); \
 PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \
+  pcre2_set_max_pattern_compiled_length(pcre2_compile_context *, PCRE2_SIZE); \
+PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \
   pcre2_set_max_varlookbehind(pcre2_compile_context *, uint32_t); \
 PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \
   pcre2_set_newline(pcre2_compile_context *, uint32_t); \
@@ -901,6 +903,7 @@
 #define pcre2_set_match_limit                 PCRE2_SUFFIX(pcre2_set_match_limit_)
 #define pcre2_set_max_varlookbehind           PCRE2_SUFFIX(pcre2_set_max_varlookbehind_)
 #define pcre2_set_max_pattern_length          PCRE2_SUFFIX(pcre2_set_max_pattern_length_)
+#define pcre2_set_max_pattern_compiled_length PCRE2_SUFFIX(pcre2_set_max_pattern_compiled_length_)
 #define pcre2_set_newline                     PCRE2_SUFFIX(pcre2_set_newline_)
 #define pcre2_set_parens_nest_limit           PCRE2_SUFFIX(pcre2_set_parens_nest_limit_)
 #define pcre2_set_offset_limit                PCRE2_SUFFIX(pcre2_set_offset_limit_)
diff --git a/src/pcre2_intmodedep.h b/src/pcre2_intmodedep.h
index fd9245a..9bd9e69 100644
--- a/src/pcre2_intmodedep.h
+++ b/src/pcre2_intmodedep.h
@@ -568,7 +568,7 @@
   void *stack_guard_data;
   const uint8_t *tables;
   PCRE2_SIZE max_pattern_length;
-  PCRE2_SIZE max_pattern_compiled_length; 
+  PCRE2_SIZE max_pattern_compiled_length;
   uint16_t bsr_convention;
   uint16_t newline_convention;
   uint32_t parens_nest_limit;