diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..63bd16e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/pcre2-10.23.tar.bz2
diff --git a/.pcre2.metadata b/.pcre2.metadata
new file mode 100644
index 0000000..1a47dd6
--- /dev/null
+++ b/.pcre2.metadata
@@ -0,0 +1 @@
+7d2a91609d298a77f8093775209b44b143fdc149 SOURCES/pcre2-10.23.tar.bz2
diff --git a/SOURCES/pcre2-10.10-Fix-multilib.patch b/SOURCES/pcre2-10.10-Fix-multilib.patch
new file mode 100644
index 0000000..89c7d80
--- /dev/null
+++ b/SOURCES/pcre2-10.10-Fix-multilib.patch
@@ -0,0 +1,39 @@
+From 8b6b10229201e5b148979a24e06c640dbbcfbad9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Fri, 20 Feb 2015 14:34:26 +0100
+Subject: [PATCH] Fix multilib
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Do not set RPATH nor add explicit -L path to compiler.
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+diff --git a/pcre2-config.in b/pcre2-config.in
+index 932160e..dbef5e5 100644
+--- a/pcre2-config.in
++++ b/pcre2-config.in
+@@ -28,19 +28,7 @@ if test $# -eq 0; then
+ fi
+ 
+ libR=
+-case `uname -s` in
+-  *SunOS*)
+-  libR=" -R@libdir@"
+-  ;;
+-  *BSD*)
+-  libR=" -Wl,-R@libdir@"
+-  ;;
+-esac
+-
+ libS=
+-if test @libdir@ != /usr/lib ; then
+-  libS=-L@libdir@
+-fi
+ 
+ while test $# -gt 0; do
+   case "$1" in
+-- 
+2.1.0
+
diff --git a/SOURCES/pcre2-10.23-Check-malloc-returns-in-pcre2test.patch b/SOURCES/pcre2-10.23-Check-malloc-returns-in-pcre2test.patch
new file mode 100644
index 0000000..d42232a
--- /dev/null
+++ b/SOURCES/pcre2-10.23-Check-malloc-returns-in-pcre2test.patch
@@ -0,0 +1,105 @@
+From 86c1fb487cd84b1971d4446e58ddb1602c95fdc3 Mon Sep 17 00:00:00 2001
+From: ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>
+Date: Thu, 23 Feb 2017 17:05:43 +0000
+Subject: [PATCH] Check malloc returns in pcre2test.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@669 6239d852-aaf2-0410-a92c-79f79f948069
+
+Petr Písař: Ported to 10.23.
+---
+ ChangeLog            |  9 +++++++++
+ configure.ac         |  6 +++---
+ src/pcre2.h          |  6 +++---
+ src/pcre2test.c      | 22 +++++++++++++++++++---
+ testdata/testinput2  |  3 +++
+ testdata/testoutput2 |  4 ++++
+ 6 files changed, 41 insertions(+), 9 deletions(-)
+
+diff --git a/src/pcre2test.c b/src/pcre2test.c
+index 241c22c..01457e8 100644
+--- a/src/pcre2test.c
++++ b/src/pcre2test.c
+@@ -1365,8 +1365,7 @@ are supported. */
+   (test_mode == PCRE8_MODE && G(x,8)->f r (y)) || \
+   (test_mode == PCRE16_MODE && G(x,16)->f r (y)) || \
+   (test_mode == PCRE32_MODE && G(x,32)->f r (y)))
+-
+-
++  
+ 
+ /* ----- Two out of three modes are supported ----- */
+ 
+@@ -1775,7 +1774,7 @@ the three different cases. */
+ #define TESTFLD(x,f,r,y) ( \
+   (test_mode == G(G(PCRE,BITONE),_MODE) && G(x,BITONE)->f r (y)) || \
+   (test_mode == G(G(PCRE,BITTWO),_MODE) && G(x,BITTWO)->f r (y)))
+-
++  
+ 
+ #endif  /* Two out of three modes */
+ 
+@@ -6169,7 +6168,16 @@ if ((pat_patctl.control & CTL_POSIX) != 0)
+   if (msg[0] == 0) fprintf(outfile, "\n");
+ 
+   if (dat_datctl.oveccount > 0)
++    { 
+     pmatch = (regmatch_t *)malloc(sizeof(regmatch_t) * dat_datctl.oveccount);
++    if (pmatch == NULL)
++      {
++      fprintf(outfile, "** Failed to get memory for recording matching "
++        "information (size set = %du)\n", dat_datctl.oveccount);
++      return PR_OK;     
++      }     
++    }   
++ 
+   if ((dat_datctl.options & PCRE2_NOTBOL) != 0) eflags |= REG_NOTBOL;
+   if ((dat_datctl.options & PCRE2_NOTEOL) != 0) eflags |= REG_NOTEOL;
+   if ((dat_datctl.options & PCRE2_NOTEMPTY) != 0) eflags |= REG_NOTEMPTY;
+@@ -6305,6 +6313,14 @@ else
+   PCRE2_MATCH_DATA_CREATE(match_data, max_oveccount, NULL);
+   }
+ 
++if (CASTVAR(void *, match_data) == NULL)
++  {
++  fprintf(outfile, "** Failed to get memory for recording matching "
++    "information (size requested: %d)\n", dat_datctl.oveccount);
++  max_oveccount = 0;   
++  return PR_OK;     
++  }     
++
+ /* Replacement processing is ignored for DFA matching. */
+ 
+ if (dat_datctl.replacement[0] != 0 && (dat_datctl.control & CTL_DFA) != 0)
+diff --git a/testdata/testinput2 b/testdata/testinput2
+index a700d5a..921d83c 100644
+--- a/testdata/testinput2
++++ b/testdata/testinput2
+@@ -4969,4 +4969,7 @@ a)"xI
+ 
+ /(?<a>a)(?<b>b)\g{b}\g{a}\g{a}\g{a}\g{a}(?<a>xx)(?<b>zz)/I,dupnames
+ 
++//
++    \=ovector=7777777777
++
+ # End of testinput2 
+diff --git a/testdata/testoutput2 b/testdata/testoutput2
+index ce8c667..9862ea3 100644
+--- a/testdata/testoutput2
++++ b/testdata/testoutput2
+@@ -15479,6 +15479,10 @@ First code unit = 'a'
+ Last code unit = 'z'
+ Subject length lower bound = 11
+ 
++//
++    \=ovector=7777777777
++** Invalid value in 'ovector=7777777777'
++
+ # End of testinput2 
+ Error -63: PCRE2_ERROR_BADDATA (unknown error number)
+ Error -62: bad serialized data
+-- 
+2.7.4
+
diff --git a/SOURCES/pcre2-10.23-Fix-32-bit-non-UTF-property-test-crash.patch b/SOURCES/pcre2-10.23-Fix-32-bit-non-UTF-property-test-crash.patch
new file mode 100644
index 0000000..e9647ad
--- /dev/null
+++ b/SOURCES/pcre2-10.23-Fix-32-bit-non-UTF-property-test-crash.patch
@@ -0,0 +1,123 @@
+From be14c2f3f01dc2b6b574b3a86536ee8194945f7f Mon Sep 17 00:00:00 2001
+From: ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>
+Date: Fri, 24 Feb 2017 18:25:32 +0000
+Subject: [PATCH] Fix 32-bit non-UTF property test crash.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@670 6239d852-aaf2-0410-a92c-79f79f948069
+
+Petr Písař: Ported to 10.23.
+
+diff --git a/src/pcre2_internal.h b/src/pcre2_internal.h
+index 6a8774c..720bbc9 100644
+--- a/src/pcre2_internal.h
++++ b/src/pcre2_internal.h
+@@ -1774,10 +1774,17 @@ typedef struct {
+ /* UCD access macros */
+ 
+ #define UCD_BLOCK_SIZE 128
+-#define GET_UCD(ch) (PRIV(ucd_records) + \
++#define REAL_GET_UCD(ch) (PRIV(ucd_records) + \
+         PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \
+         UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE])
+ 
++#if PCRE2_CODE_UNIT_WIDTH == 32
++#define GET_UCD(ch) ((ch > MAX_UTF_CODE_POINT)? \
++  PRIV(dummy_ucd_record) : REAL_GET_UCD(ch))
++#else
++#define GET_UCD(ch) REAL_GET_UCD(ch)
++#endif
++
+ #define UCD_CHARTYPE(ch)    GET_UCD(ch)->chartype
+ #define UCD_SCRIPT(ch)      GET_UCD(ch)->script
+ #define UCD_CATEGORY(ch)    PRIV(ucp_gentype)[UCD_CHARTYPE(ch)]
+@@ -1834,6 +1841,9 @@ extern const uint8_t          PRIV(utf8_table4)[];
+ #define _pcre2_default_compile_context PCRE2_SUFFIX(_pcre2_default_compile_context_)
+ #define _pcre2_default_match_context   PCRE2_SUFFIX(_pcre2_default_match_context_)
+ #define _pcre2_default_tables          PCRE2_SUFFIX(_pcre2_default_tables_)
++#if PCRE2_CODE_UNIT_WIDTH == 32
++#define _pcre2_dummy_ucd_record        PCRE2_SUFFIX(_pcre2_dummy_ucd_record_)
++#endif
+ #define _pcre2_hspace_list             PCRE2_SUFFIX(_pcre2_hspace_list_)
+ #define _pcre2_vspace_list             PCRE2_SUFFIX(_pcre2_vspace_list_)
+ #define _pcre2_ucd_caseless_sets       PCRE2_SUFFIX(_pcre2_ucd_caseless_sets_)
+@@ -1858,6 +1868,9 @@ extern const uint32_t                  PRIV(hspace_list)[];
+ extern const uint32_t                  PRIV(vspace_list)[];
+ extern const uint32_t                  PRIV(ucd_caseless_sets)[];
+ extern const ucd_record                PRIV(ucd_records)[];
++#if PCRE2_CODE_UNIT_WIDTH == 32
++extern const ucd_record                PRIV(dummy_ucd_record)[];
++#endif
+ extern const uint8_t                   PRIV(ucd_stage1)[];
+ extern const uint16_t                  PRIV(ucd_stage2)[];
+ extern const uint32_t                  PRIV(ucp_gbtable)[];
+diff --git a/src/pcre2_ucd.c b/src/pcre2_ucd.c
+index 116f537..56aa29d 100644
+--- a/src/pcre2_ucd.c
++++ b/src/pcre2_ucd.c
+@@ -41,6 +41,20 @@ const uint32_t PRIV(ucd_caseless_sets)[] = {0};
+ 
+ const char *PRIV(unicode_version) = "8.0.0";
+ 
++/* If the 32-bit library is run in non-32-bit mode, character values
++greater than 0x10ffff may be encountered. For these we set up a
++special record. */
++
++#if PCRE2_CODE_UNIT_WIDTH == 32
++const ucd_record PRIV(dummy_ucd_record)[] = {{
++  ucp_Common,    /* script */
++  ucp_Cn,        /* type unassigned */
++  ucp_gbOther,   /* grapheme break property */
++  0,             /* case set */
++  0,             /* other case */
++  }};
++#endif
++
+ /* When recompiling tables with a new Unicode version, please check the
+ types in this structure definition from pcre2_internal.h (the actual
+ field names will be different):
+diff --git a/testdata/testinput12 b/testdata/testinput12
+index c3b2bfc..decfe82 100644
+--- a/testdata/testinput12
++++ b/testdata/testinput12
+@@ -360,4 +360,7 @@
+ 
+ /[\s[:^ascii:]]/B,ucp
+ 
++/\pP/ucp
++    \x{7fffffff}\=no_jit
++
+ # End of testinput12
+diff --git a/testdata/testoutput12-16 b/testdata/testoutput12-16
+index 3b5a0cd..41e0a48 100644
+--- a/testdata/testoutput12-16
++++ b/testdata/testoutput12-16
+@@ -1415,4 +1415,10 @@ No match
+         End
+ ------------------------------------------------------------------
+ 
++/\pP/ucp
++    \x{7fffffff}\=no_jit
++** Character \x{7fffffff} is greater than 0xffff and UTF-16 mode is not enabled.
++** Truncation will probably give the wrong result.
++No match
++
+ # End of testinput12
+diff --git a/testdata/testoutput12-32 b/testdata/testoutput12-32
+index 1496159..e9130b9 100644
+--- a/testdata/testoutput12-32
++++ b/testdata/testoutput12-32
+@@ -1409,4 +1409,8 @@ No match
+         End
+ ------------------------------------------------------------------
+ 
++/\pP/ucp
++    \x{7fffffff}\=no_jit
++No match
++
+ # End of testinput12
+-- 
+2.7.4
+
diff --git a/SPECS/pcre2.spec b/SPECS/pcre2.spec
new file mode 100644
index 0000000..37285ce
--- /dev/null
+++ b/SPECS/pcre2.spec
@@ -0,0 +1,360 @@
+# This is stable release:
+#%%global rcversion RC1
+Name:       pcre2
+Version:    10.23
+Release:    %{?rcversion:0.}2%{?rcversion:.%rcversion}%{?dist}
+%global     myversion %{version}%{?rcversion:-%rcversion}
+Summary:    Perl-compatible regular expression library
+Group:      System Environment/Libraries
+# the library:                          BSD
+# pcre2test (linked to GNU readline):   BSD (linked to GPLv3+)
+# COPYING:                              see LICENCE file
+# LICENSE:                              BSD text and declares Public Domain
+#                                       for testdata
+#Not distributed in binary package
+# aclocal.m4:                           FSFULLR and GPLv2+ with exception
+# ar-lib:                               GPLv2+ with exception
+# autotools:                            GPLv3+ with exception
+# compile:                              GPLv2+ with exception
+# config.sub:                           GPLv3+ with exception
+# depcomp:                              GPLv2+ with exception
+# install-sh:                           MIT
+# ltmain.sh:                            GPLv2+ with exception and GPLv3+ with
+#                                       exception and GPLv3+
+# m4/ax_pthread.m4:                     GPLv3+ with exception
+# m4/libtool.m4:                        FSFULLR and GPLv2+ with exception
+# m4/ltoptions.m4:                      FSFULLR
+# m4/ltsugar.m4:                        FSFULLR
+# m4/ltversion.m4:                      FSFULLR
+# m4/lt~obsolete.m4:                    FSFULLR
+# m4/pcre2_visibility.m4:               FSFULLR
+# missing:                              GPLv2+ with exception
+# test-driver:                          GPLv2+ with exception
+# testdata:                             Public Domain
+License:    BSD
+URL:        http://www.pcre.org/
+Source:     ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2
+# Do no set RPATH if libdir is not /usr/lib
+Patch0:     pcre2-10.10-Fix-multilib.patch
+# Handle memmory allocation failures in pcre2test tool, in upstream after 10.23
+Patch1:     pcre2-10.23-Check-malloc-returns-in-pcre2test.patch
+# Fix a compiler warning, proposed to upstream but not portable before ISO C99
+# Fix a crash when finding a Unicode property for a character with a code
+# point greater than 0x10ffff in UTF-32 library while UTF mode is disabled,
+# upstream bug #2052, in upstream after 10.23
+Patch2:     pcre2-10.23-Fix-32-bit-non-UTF-property-test-crash.patch
+BuildRequires:  autoconf
+BuildRequires:  automake
+BuildRequires:  coreutils
+BuildRequires:  gcc
+BuildRequires:  libtool
+BuildRequires:  make
+BuildRequires:  readline-devel
+
+%description
+PCRE2 is a re-working of the original PCRE (Perl-compatible regular
+expression) library to provide an entirely new API.
+
+PCRE2 is written in C, and it has its own API. There are three sets of
+functions, one for the 8-bit library, which processes strings of bytes, one
+for the 16-bit library, which processes strings of 16-bit values, and one for
+the 32-bit library, which processes strings of 32-bit values. There are no C++
+wrappers. This package provides support for strings in 8-bit and UTF-8
+encodings. Install %{name}-utf16 or %{name}-utf32 packages for the other ones.
+
+The distribution does contain a set of C wrapper functions for the 8-bit
+library that are based on the POSIX regular expression API (see the pcre2posix
+man page). These can be found in a library called libpcre2posix. Note that
+this just provides a POSIX calling interface to PCRE2; the regular expressions
+themselves still follow Perl syntax and semantics. The POSIX API is
+restricted, and does not give full access to all of PCRE2's facilities.
+
+%package utf16
+Summary:    UTF-16 variant of PCRE2
+Group:      Development/Libraries
+Conflicts:  %{name}%{?_isa} < 10.21-4
+
+%description utf16
+This is PCRE2 library working on UTF-16 strings.
+
+%package utf32
+Summary:    UTF-32 variant of PCRE2
+Group:      Development/Libraries
+Conflicts:  %{name}%{?_isa} < 10.21-4
+
+%description utf32
+This is PCRE2 library working on UTF-32 strings.
+
+%package devel
+Summary:    Development files for %{name}
+Group:      Development/Libraries
+Requires:   %{name}%{?_isa} = %{version}-%{release}
+Requires:   %{name}-utf16%{?_isa} = %{version}-%{release}
+Requires:   %{name}-utf32%{?_isa} = %{version}-%{release}
+Requires:   gcc
+
+%description devel
+Development files (headers, libraries for dynamic linking, documentation)
+for %{name}.  The header file for the POSIX-style functions is called
+pcre2posix.h.
+
+%package static
+Summary:    Static library for %{name}
+Group:      Development/Libraries
+Requires:   %{name}-devel%{_isa} = %{version}-%{release}
+
+%description static
+Library for static linking for %{name}.
+
+%package tools
+Summary:    Auxiliary utilities for %{name}
+# pcre2test (linked to GNU readline):   BSD (linked to GPLv3+)
+License:    BSD and GPLv3+
+Group:      Development/Tools
+Requires:   %{name}%{_isa} = %{version}-%{release}
+
+%description tools
+Utilities demonstrating PCRE2 capabilities like pcre2grep or pcre2test.
+
+%prep
+%setup -q -n %{name}-%{myversion}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+# Because of multilib patch
+libtoolize --copy --force
+autoreconf -vif
+
+%build
+# There is a strict-aliasing problem on PPC64, bug #881232
+%ifarch ppc64
+%global optflags %{optflags} -fno-strict-aliasing
+%endif
+%configure \
+%ifarch s390 s390x sparc64 sparcv9 riscv64
+    --disable-jit \
+    --disable-pcre2grep-jit \
+%else
+    --enable-jit \
+    --enable-pcre2grep-jit \
+%endif
+    --disable-bsr-anycrlf \
+    --disable-coverage \
+    --disable-ebcdic \
+    --disable-fuzz-support \
+    --disable-never-backslash-C \
+    --enable-newline-is-lf \
+    --enable-pcre2-8 \
+    --enable-pcre2-16 \
+    --enable-pcre2-32 \
+    --enable-pcre2grep-callout \
+    --enable-pcre2grep-jit \
+    --disable-pcre2grep-libbz2 \
+    --disable-pcre2grep-libz \
+    --disable-pcre2test-libedit \
+    --enable-pcre2test-libreadline \
+    --disable-rebuild-chartables \
+    --enable-shared \
+    --enable-stack-for-recursion \
+    --enable-static \
+    --enable-unicode \
+    --disable-valgrind
+make %{?_smp_mflags}
+
+%install
+make install DESTDIR=$RPM_BUILD_ROOT
+# Get rid of unneeded *.la files
+rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+# These are handled by %%doc in %%files
+rm -rf $RPM_BUILD_ROOT%{_docdir}/pcre2
+
+%check
+make %{?_smp_mflags} check VERBOSE=yes
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%post utf16 -p /sbin/ldconfig
+%postun utf16 -p /sbin/ldconfig
+
+%post utf32 -p /sbin/ldconfig
+%postun utf32 -p /sbin/ldconfig
+
+%files
+%{_libdir}/libpcre2-8.so.*
+%{_libdir}/libpcre2-posix.so.*
+%{!?_licensedir:%global license %%doc}
+%license COPYING LICENCE
+%doc AUTHORS ChangeLog NEWS
+
+%files utf16
+%{_libdir}/libpcre2-16.so.*
+%license COPYING LICENCE
+%doc AUTHORS ChangeLog NEWS
+
+%files utf32
+%{_libdir}/libpcre2-32.so.*
+%license COPYING LICENCE
+%doc AUTHORS ChangeLog NEWS
+
+%files devel
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*
+%{_includedir}/*.h
+%{_mandir}/man1/pcre2-config.*
+%{_mandir}/man3/*
+%{_bindir}/pcre2-config
+%doc doc/*.txt doc/html
+%doc README HACKING ./src/pcre2demo.c
+
+%files static
+%{_libdir}/*.a
+%{!?_licensedir:%global license %%doc}
+%license COPYING LICENCE
+
+%files tools
+%{_bindir}/pcre2grep
+%{_bindir}/pcre2test
+%{_mandir}/man1/pcre2grep.*
+%{_mandir}/man1/pcre2test.*
+
+%changelog
+* Mon Feb 27 2017 Petr Pisar <ppisar@redhat.com> - 10.23-2
+- Handle memmory allocation failures in pcre2test tool
+- Fix a crash when finding a Unicode property for a character with a code
+  point greater than 0x10ffff in UTF-32 library while UTF mode is disabled
+  (upstream bug #2052)
+
+* Tue Feb 14 2017 Petr Pisar <ppisar@redhat.com> - 10.23-1
+- 10.23 bump
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.23-0.1.RC1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Jan 17 2017 Petr Pisar <ppisar@redhat.com> - 10.23-0.1.RC1
+- 10.23-RC1 bump
+
+* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 10.22-10.1
+- Rebuild for readline 7.x
+
+* Thu Jan 12 2017 Petr Pisar <ppisar@redhat.com> - 10.22-10
+- Fix an out-of-bound read in pcre2test tool within POSIX mode
+  (upstream bug #2008)
+
+* Tue Jan 03 2017 Petr Pisar <ppisar@redhat.com> - 10.22-9
+- Fix compiling a class with UCP and without UTF
+
+* Fri Dec 16 2016 Petr Pisar <ppisar@redhat.com> - 10.22-8
+- Fix a crash when doing an extended substitution for \p, \P, or \X
+  (upstream bug #1977)
+- Fix a crash in substitution if starting offest was specified beyond the
+  subject end (upstream bug #1992)
+
+* Fri Dec 09 2016 Petr Pisar <ppisar@redhat.com> - 10.22-7
+- Fix pcre2-config --libs-posix output (upstream bug #1924)
+- Fix a memory leak and a typo in a documentation (upstream bug #1973)
+- Fix a buffer overflow in partial match test for CRLF in an empty buffer
+  (upstream bug #1975)
+- Fix a crash in pcre2test when displaying a wide character with a set locate
+  (upstream bug #1976)
+
+* Tue Nov 08 2016 Petr Pisar <ppisar@redhat.com> - 10.22-6
+- Fix faulty auto-anchoring patterns when .* is inside an assertion
+
+* Mon Oct 24 2016 Petr Pisar <ppisar@redhat.com> - 10.22-5
+- Document assert capture limitation (upstream bug #1887)
+- Ignore offset modifier in pcre2test in POSIX mode (upstream bug #1898)
+
+* Wed Oct 19 2016 Richard W.M. Jones <@redhat.com> - 10.22-4
+- Disable the JIT on riscv64.
+
+* Wed Oct 19 2016 Petr Pisar <ppisar@redhat.com> - 10.22-3
+- Fix displaying a callout position in pcretest output with an escape sequence
+  greater than \x{ff}
+- Fix pcrepattern(3) documentation
+- Fix miscopmilation of conditionals when a group name start with "R"
+  (upstream bug #1873)
+- Fix internal option documentation in pcre2pattern(3) (upstream bug #1875)
+- Fix optimization bugs for patterns starting with lookaheads
+  (upstream bug #1882)
+
+* Mon Aug 29 2016 Petr Pisar <ppisar@redhat.com> - 10.22-2
+- Fix matching characters above 255 when a negative character type was used
+  without enabled UCP in a positive class (upstream bug #1866)
+
+* Fri Jul 29 2016 Petr Pisar <ppisar@redhat.com> - 10.22-1
+- 10.22 bump
+
+* Thu Jun 30 2016 Petr Pisar <ppisar@redhat.com> - 10.22-0.1.RC1
+- 10.22-RC1 bump
+- libpcre2-posix library changed ABI
+- Fix register overwite in JIT when SSE2 acceleration is enabled
+- Correct pcre2unicode(3) documentation
+
+* Mon Jun 20 2016 Petr Pisar <ppisar@redhat.com> - 10.21-6
+- Fix repeated pcregrep output if -o with -M options were used and the match
+  extended over a line boundary (upstream bug #1848)
+
+* Fri Jun 03 2016 Petr Pisar <ppisar@redhat.com> - 10.21-5
+- Fix a race in JIT locking condition
+- Fix an ovector check in JIT test program
+- Enable JIT in the pcre2grep tool
+
+* Mon Mar 07 2016 Petr Pisar <ppisar@redhat.com> - 10.21-4
+- Ship README in devel as it covers API and build, not general info
+- Move UTF-16 and UTF-32 libraries into pcre-ut16 and pcre-32 subpackages
+
+* Mon Feb 29 2016 Petr Pisar <ppisar@redhat.com> - 10.21-3
+- Fix a typo in pcre2_study()
+
+* Thu Feb 11 2016 Petr Pisar <ppisar@redhat.com> - 10.21-2
+- Report unmatched closing parantheses properly
+- Fix pcre2test for expressions with a callout inside a look-behind assertion
+  (upstream bug #1783)
+- Fix CVE-2016-3191 (workspace overflow for (*ACCEPT) with deeply nested
+  parentheses) (upstream bug #1791)
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 10.21-1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Tue Jan 12 2016 Petr Pisar <ppisar@redhat.com> - 10.21-1
+- 10.21 bump
+
+* Wed Jan 06 2016 Petr Pisar <ppisar@redhat.com> - 10.21-0.2.RC1
+- Adapt a test to French locale on RHEL
+
+* Tue Jan 05 2016 Petr Pisar <ppisar@redhat.com> - 10.21-0.1.RC1
+- 10.21-RC1 bump
+
+* Mon Oct 26 2015 Petr Pisar <ppisar@redhat.com> - 10.20-3
+- Fix compiling patterns with PCRE2_NO_AUTO_CAPTURE (upstream bug #1704)
+
+* Mon Oct 12 2015 Petr Pisar <ppisar@redhat.com> - 10.20-2
+- Fix compiling classes with a negative escape and a property escape
+  (upstream bug #1697)
+- Fix integer overflow for patterns whose minimum matching length is large
+  (upstream bug #1699)
+
+* Fri Jul 03 2015 Petr Pisar <ppisar@redhat.com> - 10.20-1
+- 10.20 bump
+
+* Fri Jun 19 2015 Petr Pisar <ppisar@redhat.com> - 10.20-0.1.RC1
+- 10.20-RC1 bump
+- Replace dependency on glibc-headers with gcc (bug #1230479)
+- Preserve soname
+
+* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 10.10-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Fri May 29 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 10.10-3
+- fixed Release field
+
+* Fri May 29 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 10.10-2.1
+- Backport fix for AArch64
+
+* Tue May 05 2015 Petr Pisar <ppisar@redhat.com> - 10.10-2
+- Package pcre2demo.c as a documentation for pcre2-devel
+
+* Fri Mar 13 2015 Petr Pisar <ppisar@redhat.com> - 10.10-1
+- PCRE2 library packaged
+