dependencies/README.md
The Poco C++ Libraries include third-party code in two forms:
dependencies/ directory — self-contained libraries that can be updated independentlyWhen POCO_UNBUNDLED is enabled (CMake) or set in the environment (GNU Make), marked libraries
are replaced with system-installed versions via find_package() or -l flags.
| Library | Version | License | Used by | Unbundleable | Source |
|---|---|---|---|---|---|
| zlib | 1.3.2 | Zlib | Foundation (compression/decompression streams) | Yes | https://github.com/madler/zlib |
| pcre2 | 10.47 | BSD-3-Clause | Foundation (regular expressions) | Yes | https://github.com/PCRE2Project/pcre2 |
| utf8proc | 2.11.3 | MIT | Foundation (Unicode normalization) | Yes | https://github.com/JuliaStrings/utf8proc |
| expat | 2.7.4 | MIT | XML (SAX/DOM parser) | Yes | https://github.com/libexpat/libexpat |
| sqlite3 | 3.51.2 | Public Domain | Data/SQLite (embedded database) | Yes | https://www.sqlite.org |
| png | 1.6.55 | libpng License | PDF (PNG image support) | Yes | https://github.com/pnggroup/libpng |
| v8_double_conversion | 3.4.0 | BSD-3-Clause | Foundation (float-to-string conversion) | No | https://github.com/google/double-conversion |
| pdjson | — | Public Domain | JSON (streaming parser) | No | https://github.com/skeeto/pdjson |
| tessil | — | MIT | Foundation (insertion-order-preserving hash containers) | No | https://github.com/Tessil/ordered-map |
| hpdf (libharu) | 2.4.5 | Zlib-like | PDF (PDF document generation) | No | https://github.com/libharu/libharu |
| 7zip (LZMA SDK) | 26.00 | Public Domain | SevenZip (7z archive support) | No | https://github.com/ip7z/7zip |
| cpptrace | 1.0.4 | MIT | Foundation (stack trace support, optional) | No | https://github.com/jeremy-rifkin/cpptrace |
| quill | 11.0.2 | MIT | Foundation (high-performance async logging, optional) | No | https://github.com/odygrd/quill |
| wepoll | 1.5.8 | BSD-2-Clause | Net (epoll emulation, Windows only) | No | https://github.com/piscisaureus/wepoll |
The following third-party code is embedded directly in Poco source files. These are algorithm implementations or minimal compatibility headers that are tightly integrated with Poco classes and not practical to extract as separate libraries.
| Component | Files | License | Copyright | Notes |
|---|---|---|---|---|
| Hyrise SQL Parser | Data/SQLParser/ | MIT | Markus Dreseler, Hasso Plattner Institute | SQL query parsing (diverged fork) |
| CppUnit test framework | CppUnit/ | CppUnit-old (permissive) | Michael Feathers | Poco's unit test framework |
| BSD random number generator | Foundation/src/Random.cpp, Foundation/include/Poco/Random.h | BSD-4-Clause | 1983-1993 The Regents of the University of California | FreeBSD libc random() algorithm |
| RSA MD4 algorithm | Foundation/src/MD4Engine.cpp, Foundation/include/Poco/MD4Engine.h | RSA-MD | 1991-1992 RSA Data Security, Inc. | RFC 1320 reference implementation |
| RSA MD5 algorithm | Foundation/src/MD5Engine.cpp, Foundation/include/Poco/MD5Engine.h | RSA-MD | 1991-1992 RSA Data Security, Inc. | RFC 1321 reference implementation |
| SHA-1 algorithm | Foundation/src/SHA1Engine.cpp | Public Domain | Peter C. Gutmann (1992), modified by Carl Ellison | Based on public domain implementation |
| SHA-2 algorithm | Foundation/src/SHA2Engine.cpp | Apache-2.0 | mbed TLS project (ARM) | FIPS 180-4 (SHA-224/256/384/512) |
| CMake C++17 detection | cmake/CXX1x.cmake | MIT | Nathan Osman (2013) | C++17 compiler feature detection module |
| PostgreSQL large object header | Data/PostgreSQL/include/libpq/libpq-fs.h | PostgreSQL License | PostgreSQL Global Development Group | Minimal header for large object definitions |