Project are proud to announce the General Availability of version
1.5.0 of the Apache Portable Runtime library and version 1.5.3
of the Apache Portable Runtime Utility library.
Additionally, this is notification that the 0.9.x branch of Apache
Portable Runtime library, Apache Portable Runtime Utility library,
and the companion APR-iconv library have been retired. No further
bug or security fixes will be available for these branches.
APR 1.5.0 is a feature release. The primary additions to the API
are a skiplist implementation and string escaping support. A number
of other API additions and bug fixes are also provided. An
experimental cmake-based build system for the Windows platform is
See CHANGES-APR-1.5 for more information. A fix for a regression
in APR 1.5.0 which affects out of tree builds on Unix is available
in the patches directory.
Apache Portable Runtime Utility library 1.5.3 is a bug fix release.
An experimental cmake-based build system for the Windows platform is
See CHANGES-APR-UTIL-1.5 for more information.
Version 1.2.1 of the companion APR-iconv library, an alternative
portable implementation of the 'iconv' library, remains current.
APR is available for download from:
The mission of the Apache Portable Runtime Project is to create
and maintain software libraries that provide a predictable and
consistent interface to underlying platform-specific
implementations. The primary goal is to provide an API to
which software developers may code and be assured of predictable
if not identical behavior regardless of the platform on which
their software is built, relieving them of the need to code
special-case conditions to work around or take advantage of
platform-specific deficiencies or features.
APR and its companion libraries are implemented entirely in C
and provide a common programming interface across a wide variety
of operating system platforms without sacrificing performance.
Currently supported platforms include:
Mac OS X
To give a brief overview, the primary core
subsystems of APR 1.x include the following:
Dynamic Shared Object loading
Locks (mutexes, condition variables, etc)
Memory management (high performance allocators)
Thread and Process management
Various data structures (tables, hashes, priority queues, etc)
For a more complete list, please refer to the following URLs:
Users of APR 0.9 should be aware that migrating to the APR 1.x
programming interfaces may require some adjustments; APR 1.x is
neither source nor binary compatible with earlier APR 0.9 releases.
Users of APR 1.x can expect consistent interfaces and binary backwards
compatibility throughout the entire APR 1.x release cycle, as defined
in our versioning rules:
APR is already used extensively by the Apache HTTP Server
version 2 and the Subversion revision control system, to
name but a few. We list all known projects using APR at
if you find our libraries useful in your own projects!