PCRE 8.30 will break API

Jon Ciesla limburgher at gmail.com
Thu Feb 9 16:57:30 UTC 2012


On Thu, Feb 9, 2012 at 10:52 AM, Petr Pisar <ppisar at redhat.com> wrote:
> It's long time since PCRE (Perl-Compatible Regular Expression) library
> has changed API or ABI. Version 8.30 is different. Besides UTF-16
> support, the incompatible changes are described by upstream with these
> words:
>
> . The pcre_info() function, which has been obsolete for over 10 years,
>  has been removed.
>
> . When a compiled pattern was saved to a file and later reloaded on
>  a host with different endianness, PCRE used automatically to swap the
>  bytes in some of the data fields. With the advent of the 16-bit
>  library, where more of this swapping is needed, it is no longer done
>  automatically. Instead, the bad endianness is detected and a specific
>  error is given. The user can then call a new function called
>  pcre_pattern_to_host_byte_order() (or an equivalent 16-bit function)
>  to do the swap.
>
> . In UTF-8 mode, the values 0xd800 to 0xdfff are not legal Unicode code
>  points and are now faulted. (They are the so-called "surrogates" that
>  are reserved for coding high values in UTF-16.)
>
> Result is pcre library has changed SONAME from libpcre.so.0 to
> libpcre.so.1. Other librararies (pcrecpp, pcreposix) delivered with this
> package remain compatible.
>
> Because pcre library is part of minimal build root I choosed following
> strategy to avoid breaking Koji:

When do you anticipate that this will hit?

Thanks for the heads up!

-J

-- 
in your fear, seek only peace
in your fear, seek only love

-d. bowie


More information about the devel mailing list