Skip to content

Commit

Permalink
Update POCO C++ libraries to 1.14.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sdottaka committed Dec 5, 2024
1 parent 4eafcde commit c0ddb6e
Show file tree
Hide file tree
Showing 470 changed files with 43,684 additions and 8,932 deletions.
7 changes: 6 additions & 1 deletion Externals/poco/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,13 @@ config.build
config.make

# CLion #
########
#########
.idea/

# Qt Creator #
#########
build/

# CMake #
########
cmake_install.cmake
Expand Down Expand Up @@ -131,6 +135,7 @@ lib/
lib64/
pocomsg.h
**/UpgradeLog*.XML
/out/build/x64-Debug
.vs/
vcpkg_installed/

Expand Down
178 changes: 175 additions & 3 deletions Externals/poco/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,6 +1,178 @@
This is the changelog file for the POCO C++ Libraries.


Release 1.14.0 (2024-12-01)
===========================

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()` and `findAppConfigFile()` 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` (unsatisfied `noexcept`)
- 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


Release 1.13.3 (2024-04-04)
===========================

Expand Down Expand Up @@ -95,13 +267,13 @@ Bug Fixes and Improvements:
Release 1.13.0 (2023-12-22)
===========================

Highlights:
Highlights

- Support for MongoDB 5.1 and newer
- C++17 is the lowest supported standard
- Poco::Data SQLParser (experimental, optional at build and runtime)

Breaking Changes:
Breaking Changes

- GH #4305 Remove deprecated `toJSON` functions
- GH #4304 NumericString conversions inconsistencies
Expand Down Expand Up @@ -164,7 +336,7 @@ Features and Enhancements
- PR #4144 add visitor pattern implementation for Poco::Dynamic::Var
- PR #3476 add separate accessors and mutators for connect, send and receive tim…

Bug fixes and Improvements:
Bug fixes and Improvements

- GH #4328 Environment::nodeId Should Throw SystemException When Node ID is 0
- GH #4311 Canceled `Task` shouldn't start running
Expand Down
Loading

0 comments on commit c0ddb6e

Please sign in to comment.