Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2024-12-01 | 9.2 kB | |
Release 1.14.0 source code.tar.gz | 2024-12-01 | 12.2 MB | |
Release 1.14.0 source code.zip | 2024-12-01 | 14.7 MB | |
Totals: 3 Items | 26.8 MB | 0 |
Summary of Changes
This release marks many functions and classes as deprecated with C++ [[deprecated]] attribute. Warnings can be silenced by defining POCO_SILENCE_DEPRECATED.
Deprecated functionality will be removed in one of the next releases.
Minimal supported standard is C++17 since version 1.13. Decent part of the source code is modernised in this release.
Bundled software libraries are updated to latest versions:
- zlib 1.3.1
- expat 2.6.4
- pcre2 10.44
- libpng 1.6.43
- SQLite 3.47.1
Poco::Foundation:
- Support for Version 6 and Version 7 UUIDs
Poco::MongoDB:
- Obsolete wire-protocol (pre 3.6) that was removed from MongoDB in version 5.1 is obsolete in this version of Poco. It will be removed in one of next versions. Update code to use OpMsg-based interface.
Poco::Data:
- Full Nullable support (including bulk inserts)
- ODBC SQL Server big strings support
Breaking Changes
- GH [#4426] Mark deprecated code for removal
Security Fixes
- GH [#4760] Upgrade libexpat to release 2.6.4
- GH [#4690] Net: stack-buffer-overflow if HTTP request contains a header with invalid UTF32 sequence
- GH [#4687] Net::MailMessage: Double free if Content-Disposition header is empty
- GH [#4629] XML: fuzzing stack overflow
- GH [#4123] DoS vulnerability in XML/src/xmlparse.cpp
- GH [#4478] Upgrade bundled PCRE2 to 10.44
- PR [#4677] libpng version 1.6.43
Features, Enhancements and Third Party Updates
- PR [#4787] NetSSL_OpenSSL and NetSSL_Win: non-blocking support, shutdown behavior fix
- PR [#4681] zlib: Version 1.3.1 in module PDF (#4582)
- PR [#4788] Update bundled SQLite to version 3.47.1 (released 2024-11-25)
- GH [#4669] Upgrade JSON parser
- GH [#4580] Poco::UUID/UUIDGenerator: add support for Version 6 and Version 7 UUIDs
- PR [#4724] Hide zlib and expat libs from the user of Poco libraries (replaces [#4579])
- GH [#4766] ProcessRunner sync
- GH [#4750] DBLogger sample
- GH [#4712] Error code for pthread_mutex_lock failure
- GH [#4710] UTF8::normalize()
- GH [#4680] Poco::Path::forDirectory("C:") throws if the path is disk-letter only
- GH [#4556] Overriding SocketReactor::run() is not reasonably possible
- GH [#4553] Poco::Logger can not output FILE and LINE
- GH [#4544] The load balancing issue in Poco::ActiveThreadPool
- GH [#4502] Optional and Nullable Improvements
- GH [#4431] Consolidate LogFile implementation to use FileOutputStream
- GH [#4423]
Dynamic::Var
silently loses precision on int->float conversion - GH [#4230] Poco::Data fixes and improvements
- GH [#3997] operator<<() for SocketAddress doesn't work with ADL
- GH [#3801] ODBC: DataFormatException getting Time value from SQL Server
- GH [#3656] Parse json into specified descendant class
- GH [#2808] Failed to insert Poco::Nullable< Poco::Data::Date> data into MSSQL using ODBC
- GH [#1540] Poco::DateTime uses assertions for validation
- GH [#4769] pocoNetworkInitializer - change fixed path (Windows Platform related)
- GH [#4716] Logging: JSONFormatter
- GH [#4692] Stacktrace
- GH [#4643]
ServerApplication
callbacks - GH [#4632] Add
prebuild
action to make build - GH [#4630] Make
Util::Application::getApplicationPath()
andfindAppConfigFile()
protected - GH [#4559] ServerApplication has no pidfile option on windows
- GH [#4536] Serializable Isolation level for SQLite Databases
- GH [#4529] SQLChannel stops logging on LoggingSubsystem shutdown
- GH [#4493] PocoDoc: search support
- GH [#4447] Add checkers for Any holding nullptr
- GH [#4414] Improve NotificationCenter speed and usability
- GH [#4413] StreamCopier range support
- GH [#4409] Add string_view format type spec
- GH [#4365]
Poco::Data::Statement
: unified '?' placeholder support - GH [#4341] 1.12.4 version Json set enum value failed
- GH [#4324] Poco:Data::ODBC - MSSQL (n)varchar(max) length issue
- GH [#4001] Insert NULL using BULK
- GH [#3281] DTLS 1.2 support
- PR [#4777] enh(ODBC): ODBC: DataFormatException getting Time value from SQL Serv…
- PR [#4774] Non-blocking sockets support (TLS, WebSocket)
- PR [#4770] feat(WindowsBuild): customizable path to include for pocoNetworkInitializer [#4769]
- PR [#4755] Insert NULL using BULK [#4001]
- PR [#4748] Activity now sets _running flag to false when it finishes or throws.
- PR [#4721] fix(Data::ODBC): use connection and login timeouts in ODBC session implementation
- PR [#4714] Add missing relational operators to VarIterator
- PR [#4699] Apply patches from Debian packaging
- PR [#4693] Serializable Isolation level for SQLite Databases
- PR [#4663] Fixed incorrect SSL_CTX_set0_tmp_dh_pkey() usage
- PR [#4624] enh(Poco::ActiveThreadPool): make it easy to use correctly
- PR [#4621] enh(FileStream): Add FileStreamBuf::resizeBuffer
- PR [#4617] enh(CI): Add unbundled build on Linux.
- PR [#4616] Cppunit and data test enhancements
- PR [#4569] Allow ADL for swapping Optional values
- PR [#4563] enh(MongoDB): Document::get returns value by const reference
- PR [#3040] HTTPS proxy support
- PR [#4734] File lock
- PR [#4424] Allow using Poco::FileStream to wrap arbitrary file handles/descriptors as C++ streams
- PR [#4685] CMake: Remove possibility to build with internal OpenSSL
Bug Fixes and Improvements
- GH [#4773] Non-blocking sockets support (TLS, WebSocket)
- GH [#4768] Data: warning: 'isNull' overrides a member function but is not marked 'override'
- GH [#4742] Poco does not build on AIX
- GH [#4722] libcxx: error: implicit instantiation of undefined template 'std::char_traits<unsigned char>'
- GH [#4713] replaceInPlace std::wstring
- GH [#4711] Poco::Placeholder initialization uses wrong size
- GH [#4703] File Channel Logs in UTC Despite ‘times = local’
- GH [#4695] Build error with GCC-15 (class Poco::PriorityDelegate<TObj, void, true>’ has no member named ‘_pTarget’)
- GH [#4689] SMTPClientSession: replace bare newlines in message content with CRLF.
- GH [#4668] Cross-module exception issue with pre-compiler define _HAS_EXCEPTIONS=0 used in an application
- GH [#4664] HTTPCookie Constructor Fails to Handle Discard Attribute Properly
- GH [#4648] ProcessRunner erases its PID file name
- GH [#4644] TryParse scoped ipv6 addressess for addresses enclosed in [ ]
- GH [#4634] Poco::ActiveThreadPool _targetCompleted event never reset
- GH [#4610] Incorrect setting of ciphersuites for TLSv1.3
- GH [#4592] Significant performance degradation of Poco::DateTimeParser
- GH [#4586] MacOS ARM64 build error: symbol
fdopen
is duplicated defined - GH [#4585] MacOS ARM64 build warning: 'OS_CODE' macro redefined
- GH [#4557] NestedDiagnosticContext should be thread local
- GH [#4540] Postgres CMakeList.txt
- GH [#4535] decodeWord adds spaces at folding borders, when there are special characters encoded
- GH [#4525] RecordSet issue since 1.10.0
- GH [#4503] GitHub runner: Linux thread sanitizer tests fail with "unexpected memory mapping"
- GH [#4482] ProcessRunner does not detect launch errors
- GH [#4395] There is no way to resolve host in advance and connect to HTTPS server with SNI.
- GH [#4368] fix Oracle failing ODBC tests
- GH [#3913] Missing sources in release package - buildwin.ps1 and NetSSL_Win
- GH [#3896] TryParse scoped ipv6 addressess
- GH [#3180] Poco::Environment::osDisplayName
- GH [#2971] Poco::NamedEvent does not release System V semaphore on Linux
- GH [#2439] Issue with log purging when FileChannel compression is enabled
- PR [#4762] Properly define POCO_DLL and POCO_STATIC based on BUILD_SHARED_LIBS
- PR [#4753] Openssl DH key size
- PR [#4737] fix(cmake): fix Data::PostgreSQL target include, remove unnecessary cmake modules.
- PR [#4727] GitHub runner ubuntu 24.04 and resolve some issues
- PR [#4726] Explicitly define conditional LOB constructors for const (w)string &
- PR [#4725] Exception (VS): static assert to make sure that _HAS_EXCEPTIONS is set
- PR [#4702] SimpleRowFormatter.h: fix the build on
gcc-15
(unsatisfiednoexcept
) - PR [#4688] Fix double free in Net::MailMessage if Content-Disposition header is empty
- PR [#4657] LibPNG Unbundled
- PR [#4652] enh(ScopedLockWithUnlock): make it more alike std::unique_lock
- PR [#4647] Use Int64 for TcpServerDispatcher::totalConnections()
- PR [#4635] fix(Poco::Zip::ZipLocalFileHeader) Fix const-correctness
- PR [#4622] fix(SimpleFileChannel): unify default "flush" to be false as it is in FileChannel
- PR [#4613] Usage modern C++ features on JSON modules (enhanced)
- PR [#4597] Fix MinGW build error
- PR [#4593] DateTimeParser Validation and Performance Improvements
- PR [#4550] enh: resolve unit test and few other warnings.
- PR [#4545] Add CACHE PATH to multi-config output directory variables
- PR [#4542] Decode word
- PR [#4417] fix(logs): synchronise log file rotation and compression.
- PR [#4085] Usage modern C++ features on JSON modules