|
1 | 1 | This is the changelog file for the POCO C++ Libraries.
|
2 | 2 |
|
3 | 3 |
|
| 4 | +Release 1.14.0 (2024-MM-DD) |
| 5 | +=========================== |
| 6 | + |
| 7 | +Summary of Changes: |
| 8 | + |
| 9 | +This release marks many functions and classes as deprecated with C++ [[deprecated]] |
| 10 | +attribute. Warnings can be silenced by defining POCO_SILENCE_DEPRECATED. |
| 11 | + |
| 12 | +Deprecated functionality will be removed in one of the next releases. |
| 13 | + |
| 14 | +Minimal supported standard is C++17 since version 1.13. Decent part of the |
| 15 | +source code is modernised in this release. |
| 16 | + |
| 17 | +Bundled software libraries are updated to latest versions: |
| 18 | + |
| 19 | +- zlib 1.3.1 |
| 20 | +- expat 2.6.4 |
| 21 | +- pcre2 10.44 |
| 22 | +- libpng 1.6.43 |
| 23 | +- SQLite 3.47.1 |
| 24 | + |
| 25 | +Poco::Foundation: |
| 26 | + |
| 27 | +- Support for Version 6 and Version 7 UUIDs |
| 28 | + |
| 29 | +Poco::MongoDB: |
| 30 | + |
| 31 | +- Obsolete wire-protocol (pre 3.6) that was removed from MongoDB in version 5.1 |
| 32 | +is obsolete in this version of Poco. It will be removed in one of next versions. Update code to use |
| 33 | +OpMsg-based interface. |
| 34 | + |
| 35 | +Poco::Data: |
| 36 | + |
| 37 | +- Full Nullable support (including bulk inserts) |
| 38 | +- ODBC SQL Server big strings support |
| 39 | + |
| 40 | + |
| 41 | +Breaking Changes: |
| 42 | + |
| 43 | +- GH #4426 Mark deprecated code for removal |
| 44 | + |
| 45 | +Security Fixes: |
| 46 | + |
| 47 | +- GH #4760 Upgrade libexpat to release 2.6.4 |
| 48 | +- GH #4690 Net: stack-buffer-overflow if HTTP request contains a header with invalid UTF32 sequence |
| 49 | +- GH #4687 Net::MailMessage: Double free if Content-Disposition header is empty |
| 50 | +- GH #4629 XML: fuzzing stack overflow |
| 51 | +- GH #4123 DoS vulnerability in XML/src/xmlparse.cpp |
| 52 | +- GH #4478 Upgrade bundled PCRE2 to 10.44 |
| 53 | +- PR #4677 libpng version 1.6.43 |
| 54 | + |
| 55 | +Features, Enhancements and Third Party Updates: |
| 56 | + |
| 57 | +- PR #4787 NetSSL_OpenSSL and NetSSL_Win: non-blocking support, shutdown behavior fix |
| 58 | +- PR #4681 zlib: Version 1.3.1 in module PDF (#4582) |
| 59 | +- PR #4788 Update bundled SQLite to version 3.47.1 (released 2024-11-25) |
| 60 | +- GH #4669 Upgrade JSON parser |
| 61 | +- GH #4580 Poco::UUID/UUIDGenerator: add support for Version 6 and Version 7 UUIDs |
| 62 | +- PR #4724 Hide zlib and expat libs from the user of Poco libraries (replaces #4579) |
| 63 | +- GH #4766 ProcessRunner sync |
| 64 | +- GH #4750 DBLogger sample |
| 65 | +- GH #4712 Error code for pthread_mutex_lock failure |
| 66 | +- GH #4710 UTF8::normalize() |
| 67 | +- GH #4680 Poco::Path::forDirectory("C:") throws if the path is disk-letter only |
| 68 | +- GH #4556 Overriding SocketReactor::run() is not reasonably possible |
| 69 | +- GH #4553 Poco::Logger can not output __FILE__ and __LINE__ |
| 70 | +- GH #4544 The load balancing issue in Poco::ActiveThreadPool |
| 71 | +- GH #4502 Optional and Nullable Improvements |
| 72 | +- GH #4431 Consolidate LogFile implementation to use FileOutputStream |
| 73 | +- GH #4423 `Dynamic::Var` silently loses precision on int->float conversion |
| 74 | +- GH #4230 Poco::Data fixes and improvements |
| 75 | +- GH #3997 operator<<() for SocketAddress doesn't work with ADL |
| 76 | +- GH #3801 ODBC: DataFormatException getting Time value from SQL Server |
| 77 | +- GH #3656 Parse json into specified descendant class |
| 78 | +- GH #2808 Failed to insert Poco::Nullable< Poco::Data::Date> data into MSSQL using ODBC |
| 79 | +- GH #1540 Poco::DateTime uses assertions for validation |
| 80 | +- GH #4769 pocoNetworkInitializer - change fixed path (Windows Platform related) |
| 81 | +- GH #4716 Logging: JSONFormatter |
| 82 | +- GH #4692 Stacktrace |
| 83 | +- GH #4643 `ServerApplication` callbacks |
| 84 | +- GH #4632 Add `prebuild` action to make build |
| 85 | +- GH #4630 Make `Util::Application::getApplicationPath()` and `findAppConfigFile()` protected |
| 86 | +- GH #4559 ServerApplication has no pidfile option on windows |
| 87 | +- GH #4536 Serializable Isolation level for SQLite Databases |
| 88 | +- GH #4529 SQLChannel stops logging on LoggingSubsystem shutdown |
| 89 | +- GH #4493 PocoDoc: search support |
| 90 | +- GH #4447 Add checkers for Any holding nullptr |
| 91 | +- GH #4414 Improve NotificationCenter speed and usability |
| 92 | +- GH #4413 StreamCopier range support |
| 93 | +- GH #4409 Add string_view format type spec |
| 94 | +- GH #4365 `Poco::Data::Statement`: unified '?' placeholder support |
| 95 | +- GH #4341 1.12.4 version Json set enum value failed |
| 96 | +- GH #4324 Poco:Data::ODBC - MSSQL (n)varchar(max) length issue |
| 97 | +- GH #4001 Insert NULL using BULK |
| 98 | +- GH #3281 DTLS 1.2 support |
| 99 | +- PR #4777 enh(ODBC): ODBC: DataFormatException getting Time value from SQL Serv… |
| 100 | +- PR #4774 Non-blocking sockets support (TLS, WebSocket) |
| 101 | +- PR #4770 feat(WindowsBuild): customizable path to include for pocoNetworkInitializer #4769 |
| 102 | +- PR #4755 Insert NULL using BULK #4001 |
| 103 | +- PR #4748 Activity now sets _running flag to false when it finishes or throws. |
| 104 | +- PR #4721 fix(Data::ODBC): use connection and login timeouts in ODBC session implementation |
| 105 | +- PR #4714 Add missing relational operators to VarIterator |
| 106 | +- PR #4699 Apply patches from Debian packaging |
| 107 | +- PR #4693 Serializable Isolation level for SQLite Databases |
| 108 | +- PR #4663 Fixed incorrect SSL_CTX_set0_tmp_dh_pkey() usage |
| 109 | +- PR #4624 enh(Poco::ActiveThreadPool): make it easy to use correctly |
| 110 | +- PR #4621 enh(FileStream): Add FileStreamBuf::resizeBuffer |
| 111 | +- PR #4617 enh(CI): Add unbundled build on Linux. |
| 112 | +- PR #4616 Cppunit and data test enhancements |
| 113 | +- PR #4569 Allow ADL for swapping Optional values |
| 114 | +- PR #4563 enh(MongoDB): Document::get returns value by const reference |
| 115 | +- PR #3040 HTTPS proxy support |
| 116 | +- PR #4734 File lock |
| 117 | +- PR #4424 Allow using Poco::FileStream to wrap arbitrary file handles/descriptors as C++ streams |
| 118 | +- PR #4685 CMake: Remove possibility to build with internal OpenSSL |
| 119 | + |
| 120 | +Bug Fixes and Improvements: |
| 121 | + |
| 122 | +- GH #4773 Non-blocking sockets support (TLS, WebSocket) |
| 123 | +- GH #4768 Data: warning: 'isNull' overrides a member function but is not marked 'override' |
| 124 | +- GH #4742 Poco does not build on AIX |
| 125 | +- GH #4722 libcxx: error: implicit instantiation of undefined template 'std::char_traits<unsigned char>' |
| 126 | +- GH #4713 replaceInPlace std::wstring |
| 127 | +- GH #4711 Poco::Placeholder initialization uses wrong size |
| 128 | +- GH #4703 File Channel Logs in UTC Despite ‘times = local’ |
| 129 | +- GH #4695 Build error with GCC-15 (class Poco::PriorityDelegate<TObj, void, true>’ has no member named ‘_pTarget’) |
| 130 | +- GH #4689 SMTPClientSession: replace bare newlines in message content with CRLF. |
| 131 | +- GH #4668 Cross-module exception issue with pre-compiler define _HAS_EXCEPTIONS=0 used in an application |
| 132 | +- GH #4664 HTTPCookie Constructor Fails to Handle Discard Attribute Properly |
| 133 | +- GH #4648 ProcessRunner erases its PID file name |
| 134 | +- GH #4644 TryParse scoped ipv6 addressess for addresses enclosed in [ ] |
| 135 | +- GH #4634 Poco::ActiveThreadPool _targetCompleted event never reset |
| 136 | +- GH #4610 Incorrect setting of ciphersuites for TLSv1.3 |
| 137 | +- GH #4592 Significant performance degradation of Poco::DateTimeParser |
| 138 | +- GH #4586 MacOS ARM64 build error: symbol `fdopen` is duplicated defined |
| 139 | +- GH #4585 MacOS ARM64 build warning: 'OS_CODE' macro redefined |
| 140 | +- GH #4557 NestedDiagnosticContext should be thread local |
| 141 | +- GH #4540 Postgres CMakeList.txt |
| 142 | +- GH #4535 decodeWord adds spaces at folding borders, when there are special characters encoded |
| 143 | +- GH #4525 RecordSet issue since 1.10.0 |
| 144 | +- GH #4503 GitHub runner: Linux thread sanitizer tests fail with "unexpected memory mapping" |
| 145 | +- GH #4482 ProcessRunner does not detect launch errors |
| 146 | +- GH #4395 There is no way to resolve host in advance and connect to HTTPS server with SNI. |
| 147 | +- GH #4368 fix Oracle failing ODBC tests |
| 148 | +- GH #3913 Missing sources in release package - buildwin.ps1 and NetSSL_Win |
| 149 | +- GH #3896 TryParse scoped ipv6 addressess |
| 150 | +- GH #3180 Poco::Environment::osDisplayName |
| 151 | +- GH #2971 Poco::NamedEvent does not release System V semaphore on Linux |
| 152 | +- GH #2439 Issue with log purging when FileChannel compression is enabled |
| 153 | +- PR #4762 Properly define POCO_DLL and POCO_STATIC based on BUILD_SHARED_LIBS |
| 154 | +- PR #4753 Openssl DH key size |
| 155 | +- PR #4737 fix(cmake): fix Data::PostgreSQL target include, remove unnecessary cmake modules. |
| 156 | +- PR #4727 GitHub runner ubuntu 24.04 and resolve some issues |
| 157 | +- PR #4726 Explicitly define conditional LOB constructors for const (w)string & |
| 158 | +- PR #4725 Exception (VS): static assert to make sure that _HAS_EXCEPTIONS is set |
| 159 | +- PR #4702 SimpleRowFormatter.h: fix the build on `gcc-15` (unsatisfied `noexcept`) |
| 160 | +- PR #4688 Fix double free in Net::MailMessage if Content-Disposition header is empty |
| 161 | +- PR #4657 LibPNG Unbundled |
| 162 | +- PR #4652 enh(ScopedLockWithUnlock): make it more alike std::unique_lock |
| 163 | +- PR #4647 Use Int64 for TcpServerDispatcher::totalConnections() |
| 164 | +- PR #4635 fix(Poco::Zip::ZipLocalFileHeader) Fix const-correctness |
| 165 | +- PR #4622 fix(SimpleFileChannel): unify default "flush" to be false as it is in FileChannel |
| 166 | +- PR #4613 Usage modern C++ features on JSON modules (enhanced) |
| 167 | +- PR #4597 Fix MinGW build error |
| 168 | +- PR #4593 DateTimeParser Validation and Performance Improvements |
| 169 | +- PR #4550 enh: resolve unit test and few other warnings. |
| 170 | +- PR #4545 Add CACHE PATH to multi-config output directory variables |
| 171 | +- PR #4542 Decode word |
| 172 | +- PR #4417 fix(logs): synchronise log file rotation and compression. |
| 173 | +- PR #4085 Usage modern C++ features on JSON modules |
| 174 | + |
| 175 | + |
4 | 176 | Release 1.13.3 (2024-04-04)
|
5 | 177 | ===========================
|
6 | 178 |
|
|
0 commit comments