-
Notifications
You must be signed in to change notification settings - Fork 2.2k
/
CHANGELOG
3678 lines (3318 loc) · 196 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This is the changelog file for the POCO C++ Libraries.
Release 1.13.3 (2024-04-04)
===========================
Summary of Changes:
This is a bugfix release.
Security Fixes:
- GH #4496 Upgrade bundled libexpat to 2.6.2
Features, Enhancements and Third Party Updates:
- GH #4488 Add Poco::Util::Timer::idle() method to check if timer has any tasks scheduled
- GH #3807 DNS.resolve() should not be sorted in HostEntry::removeDuplicates()
- GH #4515 Upgrade bundled SQLite to 3.45.2
- PR #4517 Optimize Net module for Android
Bug Fixes and Improvements:
- GH #4505 ODBC Unicode wrappers do not check for null length pointers
- GH #4492 Poco::BasicMemoryStreamBuf is missing seekpos()
- GH #4486 DateTimeFormat RFC1036 Sunday name is short (should be long)
- GH #4468 Poco::URI: don't lowercase host part if it's a Unix domain socket
- GH #4450 Error between Poco::ActiveRecord and Poco::Data::PostgreSQL
- GH #4435 SecureStreamSocket is not thread-safe
- GH #4415 SecureSocketImpl::reset shouldn't close socket
- GH #3857 Thread_POSIX.cpp shouldn't convert thread IDs to long
- GH #3725 secure socket receiveTimeout throwing after configured timeout * 2
Release 1.13.2 (2024-02-19)
===========================
Summary of Changes:
This is a bugfix release.
Breaking Changes:
- GH #4378 [Data] Unconditionally includes of SQLParser.h
Bug fixes and Improvements:
- GH #4462 Disable SQL parsing by default
Release 1.13.1 (2024-02-05)
===========================
Summary of Changes:
This is a bugfix release.
Features and Enhancements:
- GH #4367 `SQLite` `FTS5` (full text search)
- GH #4335 Implement patches that Debian/Ubuntu applies when preparing deb packages
- GH #4216 Replace C string literals (const char*) with C++ std::string literals for std::string parameters.
- GH #3890 Get rid of SingletonHolder
- GH #2450 Why does it take the ThreadPool 10+ seconds to shutdown when there is nothing running.
- GH #2443 FileChannel doesn't flush to disk on unix until close
- GH #4437 Add arm cross-compile config and CI
- PR #4422 enh(File): Linux, macOS: microsecond precision for file times
- PR #4390 enh(DateTimeParser): option to cleanup input string before parsing (#569)
Bug Fixes and Improvements:
- GH #4443 Upgrade libexpat to 2.6.0
- GH #4425 Unit tests: optional testing of deprecated functionality
- GH #4421 Multiple calls to initializeSSL/uninitializeSSL cause assert failure during certificate validation
- GH #4411 NULL pointer: strategy when setting rotation never in FileChannel
- GH #4404 qnx build error: 'prctl' was not declared in this scope
- GH #4400 SocketReactor deadlock test intermittently hangs
- GH #4398 Can not install CppUnit target
- GH #4393 iOS ARM64 : Invalid access: Can not convert empty value.
- GH #4392 Environment_WIN32U nodeIdImpl access violation in 1.13.0
- GH #4375 UUID parser silently ignores too long strings
- GH #4347 github check job on macOS: testEncryptDecryptGCM occasionally fails
- GH #4313 Add macos sanitizer CI jobs
- GH #4019 MSYS2/mingw cmake linking problem
- GH #4018 cmake MSYS2 compile error for poco/net project
- GH #3908 JWT token unitest fail with POCO_NO_SOO on vs 2019
- GH #3650 MailMessage::read() chokes on "Content-disposition"
- GH #3331 Apple Silicon ARM64 : Invalid access: Can not convert empty value.
- GH #3213 NetSSL_Win\src\SecureSocketImpl.cpp CertFreeCertificateContext on nullptr
- GH #661 Automatic Lib Init (NetworkInitializer) is not working on MinGW
- PR #4427 enh(tests): Ability to enable/disable testing of deprecated functionality
- PR #4381 fix(Crypto): Compile error if EVP_CIPHER_CTX_init not defined.
Release 1.13.0 (2023-12-22)
===========================
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:
- GH #4305 Remove deprecated `toJSON` functions
- GH #4304 NumericString conversions inconsistencies
- GH #4235 Minimum standards: C++17 and C11
- GH #4230 Poco::Data fixes and improvements
- GH #3701 SocketReactor: Remove not useful handlers calls
- GH #569 SyntaxException for DateTimeParser::parse not working
Features and Enhancements
- GH #4276 MongoDB default function deleted clang warning
- GH #4261 Move autoCommit to AbstractSessionImpl
- GH #4254 MessageHeader: provide original HTTP header values before RFC2047 decoding
- GH #4249 Separate CI ODBC tests into separate job
- GH #4217 Protect Reactor stop() and wakeUp() from reentrance
- GH #4208 Add Unix socket support on windows
- GH #4206 Improve Data::SessionPool thread safety
- GH #4205 Data CI Improvements
- GH #4198 Poco::Data fixes and improvements
- GH #4183 Return Transaction execution status and error
- GH #4181 Virtualize ServerApplication::handlePidFile()
- GH #4160 Allow row count statements in Data::Recordset
- GH #4148 SQL server stored procedures fail
- GH #4146 ODBC max field size fails with int
- GH #4129 make clean and distclean should not trigger dependencies creation
- GH #4112 Redirect build stderr to a file
- GH #4107 SQLChannel fixes and improvements
- GH #4064 Add ProcessRunner and PIDFile
- GH #4063 pthread_setname_np was not declared in this scope
- GH #3951 Poco::Data::SessionPool: avoid sessions staying idle too long
- GH #3833 DynamicStruct::toString() escaping
- GH #3808 ICMPEventArgs Statistics bugs
- GH #3740 buildwin.ps1 failed to build x64
- GH #3713 SocketReactor improvements
- GH #3710 Thread::trySleep() assertion
- GH #3703 POSIX Thread::sleep() poor performance
- GH #3702 SocketReactor: post ErrorNotification on exception
- GH #3667 NumberFormatter: add Options enum for controlling prefix and lowercase
- GH #2967 build Poco Net failed MinGW [TIMESTAMP_REQUEST enum vs macro]
- GH #2770 Support for AF_UNIX on windows in recent windows builds.
- GH #2707 Trying to Compile with emscripten: Target architecture was not detected as supported by Double-Conversion
- GH #2578 HTTPClientSession not working with UNIX_LOCAL SocketAddress
- GH #2403 File::exists() wrong result
- GH #2331 Improve implementation of logging macros.
- GH #2282 Add Path::self()
- GH #1258 Poco::DateTimeParser::tryParse issue
- GH #3845 Poco::XML::Node `insertAfter` API
- GH #3659 Add thread name support
- GH #2291 Visitor Pattern for Dynamic::Var
- PR #4059 Update ICMPv4PacketImpl.h
- PR #4021 Fix compile with `-DPOCO_NET_NO_IPv6`
- PR #3885 Use map from key to count instead of multiset
- PR #3864 Remove unnecessary dup. of std::string in NumberParser::tryParseFloat
- PR #3802 ODBC: Fix DataFormatException getting Time value from SQL Server
- PR #3797 HTTPServer Applications Slow to Terminate #3796
- PR #3787 fix(Crypto) Update method to extract friendlyName from certificate
- PR #3705 Fix/posix sleep
- PR #3664 set thread name
- PR #3657 Add lower case format for `NumberFormatter`
- 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:
- GH #4328 Environment::nodeId Should Throw SystemException When Node ID is 0
- GH #4311 Canceled `Task` shouldn't start running
- GH #4310 `ActiveThread` data race
- GH #4309 `ArchiveStrategy` data race
- GH #4308 `DirectoryWatcher` data race
- GH #4307 `NotificationCenter` data race
- GH #4274 Remove VS 140, 150 Projects
- GH #4259 Progen uses wrong AdditionalOptions separator
- GH #4252 SecureSocketImpl::currentSession() always return null
- GH #4244 Poco::Data::PostgreSQL::SessionHandle::setAutoCommit(bool) should not call commit() or startTransaction()
- GH #4241 Poco::FileInputStream broken in 1.12.5 and 1.11.8.
- GH #4231 Poco::Data::PostgreSQL::SessionHandle::disconnect() leaks memory for failed connections
- GH #4207 VS170 binary names mismatch on ARM
- GH #4187 Sync 1.11.-1.12-devel(1.13)
- GH #4109 Skip reset for null Binder
- GH #4106 ODBC Binder does not retrieve proper type precision
- GH #4093 PostgreSQL get sqlcode
- GH #4028 Incompatibility with gcc 13.1
- GH #3923 UDP Multicast : `leaveGroup()` method always throw an exception
- GH #3835 DynamicStruct::toString not wrapping empty strings
- GH #3823 Possibility of memory leak in Windows Environment nodeIdImpl?
- GH #3812 Poco::Data::Session::reconnect throw Connection in use
- GH #3704 TaskManager waits for all threads in the ThreadPool
- GH #3557 HTTPSClientSession read infinite loop on IOS
- GH #3484 Poco::MongoDB support for MongoDB 5.0?
- GH #3331 Apple Silicon ARM64 : Invalid access: Can not convert empty value.
- GH #3277 Use sendfile system call on Linux in HTTPServerResponseImpl::sendFile
- GH #3165 Can't reuse Poco::Data::Statement with a new set of bindings
- GH #2978 waitForTermination is unreliable on Linux.
- GH #2976 SharedMemoryImpl x64 size error
- GH #2965 Net fails to build with MinGW 9.20
- GH #2634 Data race in Poco::Net::HTTPServerConnection::onServerStopped
- GH #2366 Poco::Process::launch (UNIX) - possible memory leak when launching invalid command
- GH #2332 Optimize multi-arg logger methods to only call format() if log level allows
- PR #4353 Fix some issues found with clang-tidy
- PR #4345 [email protected]
- PR #4339 Fix RemoteSyslogChannel setProperty value check
- PR #4333 enh(NumberFormatter): Introduce backward compatible options for formatHex functions
- PR #4321 Github Action for Android NDK
- PR #4319 Implementation of Path::self()
- PR #4317 enh(ci): Add ENABLE_COMPILER_WARNINGS to cmake
- PR #4306 3102 json lowercase hex
- PR #4275 fix(NetSSL_Win): Error during handshake: failed to read data
- PR #4270 SplitterChannel addChannel - Prevent Duplicate Channels
- PR #4256 Implement MySQL::SessionHandle::startTransaction as submitting the SQL statement 'BEGIN'
- PR #4223 Virtualize ServerApplication::handlePidFile()
- PR #4211 Improve FifoEvent, ActiveMethod, ActiveResult
- PR #4200 fixed infinite loops
- PR #4199 fix(Poco::Data): fixes and improvements #4198
- PR #4190 CMake: Use CMAKE_INSTALL_* variables from GNUInstallDirs
- PR #4156 Allow passing raw fd's into ServerSocket
- PR #4138 add missing check when activerecord is enabled
- PR #4137 Fix platform when building for iPhoneSimulator
- PR #4103 Fix openssl session resumption, FTPS certificate validation vs hostname
- PR #4099 added new memeber SqlState to PostgreSQLException and made use of it.
- PR #4068 AutoPtr: do 'duplicate' before 'release'
- PR #4061 Adding API XML::AbstractContainerNode::insertAfterNP()
- PR #4025 EVPPKey constructor for modulus/exponent
- PR #4022 Make Binding and CopyBinding specializations final
- PR #4020 MongoDB: add missing name accessor to get database name.
- PR #4007 add sendfile method for streamsocket
- PR #4004 Mongodb op msg database commands fix
- PR #3989 Fix thread compilation issues on FreeBSD
- PR #3976 fix(devel): add missing 1.11 releases commits
- PR #3954 Complimentary to #3918 (std::*mutex wrapper)
- PR #3946 Add GNU Hurd support
- PR #3939 Solaris.build fix #3843 and #3643
- PR #3932 Cross-compiling with ming32-w64 on Linux #3815
- PR #3929 Fix multicast leave group
- PR #3863 testDynamicStructEmptyString always failed
- PR #3861 Do not incur insane stack limit in Foundation-ThreadPool test.
- PR #3860 Fix Aix Build
- PR #3842 hasMicrosecond is undefined
- PR #3821 chore(Net): correct spelling, remove some unused codes fix(SocketProactor): missing adding sock to read pollset fix(DialogServer): _lastCommands data race
- PR #3810 Custom rotate, archive and purge strategies for FileChannel
- PR #3749 buildwin.ps1 script error building the x64 version of Poco
- PR #3502 Add ODBC DirectExec public API
- PR #3102 Made it possible to use lowercase hex numbers, also when encoding JSON
- PR #3009 switching iPhoneSimulator arch to 64 bit
Release 1.12.5p2 (2023-12-04)
=============================
- GH #4320: Integer overflow in Poco::UTF32Encoding
Release 1.12.5p1 (2023-11-02)
=============================
- GH #4241: Poco::FileInputStream broken in 1.12.5 and 1.11.8
Release 1.12.5 (2023-10-25)
===========================
- GH #4219 Make POSIX event thread safe
- GH #4215 Remove SocketReactor dependency on Poco::Thread for sleeping
- GH #4197 ODBC::Binder UUID new/free mismatch
- GH #4194 PollSet filters out some events
- GH #4189 Use after free warnings
- GH #4180 receiveResponse() may not return response body stream
- GH #4177 Upgrade bundled pcre2 to 10.42
- GH #4147 missing \r\n when setting trailer header in chunked response
- GH #4134 Initialisation of _socketIndex in SSLManager (OpenSSL)
- GH #3867 Add options to disable STDIO in child process
- GH #3832 pthread_getname_np' was not declared in this scope
- GH #3786 FileChannel::setRotation overflow
- GH #2776 Shutdown TLS1.3 connection
- GH #4176 PCRE2 10.40 version has security vulnerabilities(CVE-2022-41409), when is the plan to fix it third-party
- GH #4150 Use Poco format instead of sprintf in Util
- GH #4116 Logging should evaluate only if the logging level is active
- GH #4071 PageCompiler: add referrerPolicy to page directive feature
- GH #4057 ODBC: SQL Anywhere Support
- GH #4031 Classes with virtual functions missing virtual destructors (compilation issues)
- GH #4023 CPPParser: Losing data if parameter std::function<void(bool)> is used
- GH #4014 wrong string offset in HTTPCredentials::isNTLMCredentials
- GH #4005 On UNIX platform, Poco::Path::getExtension() returns name of the hidden file if no extension is present
- GH #3986 Fix dead lock on Timer destructor
- GH #3968 Poco::Net::SocketConnector constructor should take SocketAddress by const reference
- GH #3935 The extractor in postgresql drops milliseconds
- GH #3926 CppParser throws exception when return value is specified to be in global namespace
- GH #3921 Deadlock in Timer when one sync and one async cancel requests are issued
- GH #3918 Static FastMutex fails to lock when issued from another thread on linux
- GH #3880 NetSSL_OpenSSL: Support session resumption with TLSv1.3
- GH #3876 Replace sprintf with snprintf in Environment and NumberFormatter to avoid deprecation warnings
- GH #3859 zlib headers not updated
- GH #3806 HTTPClientSession::receiveResponse() gives NoMessage instead of Timeout exception for SSL connection on Windows when using OpenSSL 3.0.x
- GH #3723 DateTimeFormatter creates invalid ISO8601 string
- GH #3147 Reading from request stream hangs when "Transfer-Encoding: chunked" is used
- GH #4218 Upgrade double-conversion to 3.3.0
- PR #4210 Fix pthread_setname not declared
- PR #4072 optimize checkUpperLimit and checkLowerLimit in VarHolder.h enhancement
- PR #4050 rename arc -> poco_arc
- PR #4038 Fixed Poco::format specifier for error code bug platform_specific
- PR #4011 fix #4005 Poco::Path::getExtension()
- PR #3999 Fix hang in destructor
- PR #3992 Fix thread counter leak
- PR #3987 Fix dead lock on Timer destructor
- PR #3971 Fix error handling with OpenSSL 3.0 in SecureSocketImpl.cpp (fixes #3806)
- PR #3943 Fix build for QNX platform_specific
- PR #3942 Fix data race when create POSIX thread
- PR #3912 Fixed compile error for OpenSSL 1.0 systems (#3739)
- PR #3883 Added system_error header to SockerProactor for std::error_code
- PR #3855 Fix epollfd validity checks when compiling with wepoll
- PR #3809 improve Windows OpenSSL 3.0.x error handling #3806
- PR #3769 Fixed converting/correcting pre-gregorian dates (#3723)
Release 1.12.4 (2022-10-31)
===========================
- GH #3849: Upgrade bundled libexpat to 2.5.0 [fixes CVE]
- GH #3852: SocketReactor - 100 % CPU usage on single-core system
Release 1.12.3 (2022-10-24)
===========================
- GH #3682: Including Any.h causes Compiler error on Visual Studio
- GH #3683: Poco::format receives empty Vector<Any>
- GH #3692: v1.12.0 and v1.12.1 Poco::Any compile problem
- GH #3723: DateTimeFormatter creates invalid ISO8601 string
- GH #3737: Poco EventImpl for Win32 breaks INFINITE wait
- GH #3744: bindImplLOB zero size (or NULL) HY104 "Invalid precision value"
- GH #3748: Poco 1.12.2 - Building DataMySQL still fails (issue #3689)
- GH #3753: Fix optional JSON support for MySQL
- GH #3763: Poco::Util::Application VxWorks main is incorrect
- GH #3769: Fixed converting/correcting pre-gregorian dates (#3723).
- GH #3795: aix system NumberFormatter.cpp build error
- GH #3805: Upgrade expat to 2.4.9
- GH #3814: Security Vulnerability identified in POCO version 1.12.2
- GH #3825: VS 2022 Net project missing ARM64 config
- GH #3834: SocketImpl::available()
- GH #3846: Upgrade bundled zlib to 1.2.13 [fixes CVE]
- GH #3847: Upgrade bundled SQLite to 3.39.4
Release 1.12.2 (2022-08-08)
===========================
- GH #3460 fix(Platform): LoongArch support
- GH #3688 Linking Crypto-testrunner fails
- GH #3693 VS2022 compilation issues
- GH #3698 SIGABRT in OSSL_PROVIDER_unload with static OpenSSL3
- GH #3699 POSIX Event state need not be atomic
- GH #3700 Release script must include build_vs170.cmd
- GH #3708 wakeup fd is never read
- GH #3711 lowercase winsock2 and iphlpapi to allow cross compile
- GH #3716 Compiling with clang_cl_x64_x64 on Visual Studio 2022 failed
- GH #3717 Only support extracting JSON fields when the SDK supports it
- GH #3719 PocoNet Project File does not support Visual Studio 2022
- GH #3720 Update max MSVC version information
- GH #3721 fails to build with Visual Studio projects
- GH #3722 Added missing Crypto Header to ProGen source
- GH #3724 Crypto: Progen again to add new files and bring back ARM64 configuration
- GH #3727 Add how to install using Conan section on README
- GH #3733 Poco::format and C++20
- GH #3734 g++ C++20 warnings
Release 1.12.1 (2022-07-18)
===========================
- GH #3677 PocoFoundationConfig.cmake should now check for PCRE2
- GH #3686 SIGSEGV in OSSL_PROVIDER_unload with static OpenSSL3
Release 1.12.0 (2022-07-08)
===========================
- This release introduces Prometheus library
- Upgraded bundled PCRE to PCRE2 10.40
- Small object optimization for Any and Dynamic::Var (compile-time option, enabled by default)
- All swap operations are noexcept now
- PollSet::add() is mode-cumulative now
- UDPServer now requires explicit starting
- Move semantics for sockets and SocketAddress (compile-time option, disabled by default)
- GH #709: Poco::Dynamic::Var memory leak
- GH #1039 Race condition in AsyncChannel close/log
- GH #1459 Fix Socket::select() epoll and poll implementations
- GH #1687 SQLite Notifier has no table information
- GH #1884 TCPServerDispatcher::run() issue
- GH #2084 LogFile_STD (LogFileImpl) fails to recover from getting out of space
- GH #2085 Crash due to race condition in TCPServerDispatcher
- GH #2091 Integrate windows poll
- GH #2222 Warning when compiling my that's use VarHolder
- GH #2270 HTTPClientSession not supporting binding source address for proxy connect
- GH #2271 HTTPClientSession source IP address
- GH #2285 SQLite::Connector::open() crashes on db file with non existing directory
- GH #2287 Poco::Data::Statement becomes unusable after exception
- GH #2352 Allow setting the socket of SecureSocketImpl to no-blocking
- GH #2386 As of C++11, std::swap is noexcept
- GH #2401 Net::MailMessage::read hangs on missing final multipart boundary
- GH #2457 Poco::Redis after executing "auth" command next command always return "OK"
- GH #2465 Operating system specific thread ID is not available any more in Logger/Formatter
- GH #2470 Can't use Poco::MongoDB::Cursor on aggregation cursor
- GH #2511 Negative precision in NumberFormatter::format()
- GH #2513 Poco::Net::SocketConnector unregistering
- GH #2516 SHA3Engine hard to use with HMACEngine duplicate enhancement
- GH #2521 MySQL Extractor null value extraction
- GH #2538 Poco::Data::Session::connector() returns empty string for MySQL session
- GH #2569 MySQL timestamp
- GH #2576 Add std::chrono support to Timespan
- GH #2590 Zip 64-bit extensions not set
- GH #2614 NTPClient ignores second fractions enhancement
- GH #2619 Decoding URI query parameters incompatible with Spring 5
- GH #2638 Upgrade Windows SDK Used for Building Poco
- GH #2688 Static code analyzer warnings
- GH #2691 MinGW: fatal error: kernelspecs.h: No such file
- GH #2706 [windows bug] pollset WSAPoll with non blocking socket will not report error
- GH #2755 MySQL LONGTEXT
- GH #2821 Poco::Buffer: full on creation
- GH #2849 setPadding does nothing when OpenSSL 1.1.x is used
- GH #2864 SessionImpl begin
- GH #2940 Add vcpkg installation instructions
- GH #2943 Avoid clang 10 -Wimplicit-int-float-conversion warning/error when converting int into float
- GH #2959 Fix percent-encoded fragment modification in Poco::URI
- GH #2980 Memory leaks in Poco::Any
- GH #2986 Once exhausted, Poco::ObjectPool does not lend out returned objects
- GH #3016 MongoDB::Array interface improvements
- GH #3026 HTTPDigestCredentials added support for RFC7616 algorithms
- GH #3039 Poco errors with _DEBUG and NDEBUG
- GH #3052 Fix constness of URI::getPathSegments
- GH #3088 Fix error in find_package example
- GH #3056 Inconsistent behavior ConsoleChannel vs. WindowsConsoleChannel
- GH #3062 Makefile: space(s) following target name will break build (during link)
- GH #3073 libPocoCrypto.so: undefined reference to `pthread_atfork' when linking statically with OpenSSL 1.1
- GH #3104 Publicly expose Poco::Message parameters
- GH #3105 CMake: use GNUInstallDirs
- GH #3175 SharedLibrary::isLoaded() not thread safe
- GH #3195 MinGW also defines __GNUC__
- GH #3240 Task::postNotification possible leak
- GH #3241 Poco::Data::SessionPool change connection timeout
- GH #3251 JSON Serializing NAN
- GH #3253 Arbitrary indent of 2 applied to JSON string objects Var conversion
- GH #3261 Upgrade to PCRE2 latest version
- GH #3283 DatagramSocket does not allow IPV6_V6ONLY
- GH #3296 Add move semantics to Net (sockets and addresses)
- GH #3297 Poco Foundation Fails to Compile With POCO_ENABLE_SOO Defined
- GH #3323 Extend format patterns %T and %I to support native threads
- GH #3342 DB into() does not compile for more than 20 members in a tuple
- GH #3357 Add socket proactor
- GH #3359 Make PollSet::poll() interruptible
- GH #3371 SocketReactor::getNotifier() does not use socket.impl()
- GH #3372 FTPClientSession::activeDataConnection 1.11.0 cannot set specific data port
- GH #3374 No access to padding in Cipher
- GH #3375 PollSet::SocketModeMap poll(const Poco::Timespan& timeout) hasSignaledFDs issue slow down connections
- GH #3378 PollSet function setMode 1.11.0 cause while(1) on windows
- GH #3380 Windows SO_REUSEADDR is neither reliable nor safe
- GH #3384 Always set thread names on POSIX platforms
- GH #3385 IPAddress::tryParse does not work for "::"
- GH #3396 Poco::Data::ODBC - dbEncoding property not used for insert/update
- GH #3399 IPAddress::isLoopback() returns false for IPv4 mapped in IPv6
- GH #3404 Net: make MessageHeader limits configurable
- GH #3415 OpenSSL 3.0 support
- GH #3417 Calling SocketReactor's run() method in a program's main thread yields a lot of null pointer exceptions
- GH #3421 Cannot use HMACEngine with SHA2Engine
- GH #3452 Syslog: Include Facility to Syslog Message
- GH #3453 added facility to SyslogChannel
- GH #3460 LoongArch support
- GH #3481 JSON DataType support for MySQL
- GH #3482 Visual Studio 2022 (v170) missing from buildwin.cmd
- GH #3486 Windows on ARM64 support
- GH #3516 Fix OpenSSL 3.0 deprecated warnings
- GH #3529 Added LocalConfigurationView to only search inside the viewed scope
- GH #3543 Visual Studio Warning C4244
- GH #3558 Race condition in SSLManager
- GH #3561 Add envelope to crypto
- GH #3569 Readded named substring support for regexes
- GH #3580 Rounds very large negative numbers to the incorrect values
- GH #3592 Add 425 / HTTP_TOO_EARLY to HTTPResponse::HTTPStatus
- GH #3598 Socket::available does not always return correct value for UDP
- GH #3602 Add Data::JSONRowFormatter
- GH #3603 Update minimum GCC version information
- GH #3611 VS2022 Arm64 projects missing or do not load
- GH #3613 UDPHandler data race
- GH #3620 MariaDB still uses tx_isolation for transaction isolation unlike MySQL 8+ which uses transaction_isolation
- GH #3624 Upgrade double-conversion to v3.2.0
- GH #3628 PollSet data race
- GH #3629 Event data race
- GH #3633 Redis: Support Authentication
- GH #3635 ConfigurationView and JSON is broken for array access
- GH #3639 Bugcheck: indicate compiler that functions will never return
- GH #3640 fix warning C4717: 'format<vector<any>': recursive on all control paths, function will cause runtime stack overflow
- GH #3641 FifoBuffer.advance method not throw exception when length==0
- GH #3642 Make ParallelSocketReactor thread namable
- GH #3651 TCPserver missing from Net/samples/CMakeLists.txt
- GH #3652 Linking with Foundation on Android gives error
- GH #3655 Socket::select EPOLL implementation returns socket in exceptList when empty list is given
- GH #3658 Support for chunked transfer encoding trailer
- GH #3661 PollSet::add()/update() semantics
- GH #3665 MSVC does not properly recognize std version
Release 1.11.8p2 (2023-12-04)
=============================
- GH #4320: Integer overflow in Poco::UTF32Encoding
Release 1.11.8p1 (2023-11-02)
=============================
- GH #4241: Poco::FileInputStream broken in 1.12.5 and 1.11.8
Release 1.11.8 (2023-10-18)
===========================
- GH #1372: Possible deadlock in SessionPool
- GH #4170: Poco::FileStream is always opened with std::ios::in | std::ios::out bug
- GH #4169: Upgrade bundled zlib to 1.3.
- GH #4171: Upgrade bundled sqlite to 3.43.1
- GH #4162: [Bug] class KeylessActiveRecord is missing export macro
- GH #4164: [Bug] SharedLibraryImpl::loadImpl uses an incorrect format specifier
- GH #4173: AbstractConfiguration: when expanding property references, allow specifying a default value
- GH #4174: AbstractConfiguration: support Int16/UInt16 and Int32/UInt32
- GH #4182: Util: Make load()/save()/clear() operations on configurations thread-safe
- GH #4184: Poco::TemporaryFile: make filenames less predictable
- GH #4195: Poco::File::created() on macOS should use birthtime
Release 1.11.7 (2023-07-11)
===========================
- GH #4023: CPPParser: Losing data if parameter std::function<void(bool)> is used
- GH #4031: Classes with virtual functions missing virtual destructors (compilation issues)
- GH #4014: wrong string offset in HTTPCredentials::isNTLMCredentials
- GH #4071: PageCompiler: add referrerPolicy to page directive
- GH #4077: OpenSSL 3: Don't throw if legacy provider is not available
- GH #4078: Upgrade bundled SQLite to 3.42
- GH #4079: SocketConnector: constructor should take SocketAddress by const reference
- GH #4082: Logger performance improvement with formatting
Release 1.11.6 (2022-12-08)
===========================
- GH #3147: Reading from request stream hangs when "Transfer-Encoding: chunked" is used
- GH #3859: zlib headers not updated
- GH #3876: Replace sprintf with snprintf in Environment and NumberFormatter to avoid deprecation warnings
- Build system improvements for Xcode on Apple Silicon.
- Upgrade bundled SQLite to 3.40.0
Release 1.11.5 (2022-10-31)
===========================
- GH #3849: Upgrade bundled libexpat to 2.5.0 [fixes CVE]
Release 1.11.4 (2022-10-24)
===========================
- GH #3805: Upgrade expat to 2.4.9
- GH #3846: Upgrade bundled zlib to 1.2.13 [fixes CVE]
- GH #3847: Upgrade bundled SQLite to 3.39.4
Release 1.11.3 (2022-06-12)
===========================
- GH #3567: fix(openssl-initializer): check legacy provider existence for legacy exception
- GH #3587: MySQL UUID binding temporary string
- GH #3632: Redis - add TLS support
- updated a few copyright dates
Release 1.11.2 (2022-04-16)
===========================
- GH #2882: Handle negative DST offset
- GH #3268: Poco redis command set have a bug when you want to set nx ex or expireTime
- GH #3338: NamedMutex does not work on Linux distributions where fs.protected_regular=1
- GH #3448: Basic support for OpenSSL 3.0.0
- GH #3458: encryptString() crash on redhat/centos 8 with FIPS enabled using md5 default digest
- GH #3465: NetSSL_Win: bad error handling when decodeMessage() fails
- GH #3466: DefinePlatformSpecific.cmake: handle RelWithDebInfo and MinSizeRel configurations
- GH #3470: bug in JSON ParseHandler.cpp (RFC 7159 should be valid)
- GH #3472: Add Windows 11 detection to Environment_WIN32U
- GH #3483: Adds Windows 11 and Server 2022 to Environment::osDisplayName()
- GH #3485: Adds Visual Studio 2022 (v170) to buildwin.cmd
- GH #3495: Should the Array::operator[] throw?
- GH #3500: Sandbox all iFrames in PocoDoc
- GH #3504: OpenSSL 3 compatibility
- GH #3505: JSON::PrintHandler.value(bool) prints incorrect value
- GH #3507: Reference counting for bound configuration in Util::Option is broken
- GH #3508: #3507: Fix bound configuration reference counting in Poco::Util::Option.
- GH #3509: fix dst and utcOffset handling for Dublin time zone
- GH #3515: NetSSL_OpenSSL Testsuite: testInterop() and testProxy() fail due to changed certificate
- GH #3518: Expat version check in #defines incorrect.
- GH #3519: Add convertation to string in Redis Command#set
- GH #3524: [linux] Why is Poco::XML linked to Poco::Zip target?
- GH #3525: Bad management of file in case of OpenSSLException in X509Certificate::readPEM and X509Certificate::writePEM
- GH #3538: Upgrade bundled expat to 2.4.7
- GH #3544: Add back NIOS2 double conversion detection to fix compile errors
- GH #3549: Test against the correct signatures in the JWT ES384 and ES512 tests
- GH #3553: Upgrade bundled zlib to 1.2.12
- GH #3559: Poco::Data::PostgreSQL - DateTime extraction truncates fractional seconds
- GH #3563: Remove support for OpenSSL < 1.0
Release 1.11.1 (2021-11-05)
===========================
- Upgraded bundled PCRE to 8.45
- Upgraded bundled SQLite to 3.36.0
- GH #2823: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648
- GH #2966: SocketReactor loads one core of CPU up to 100%
- GH #3221: Crash reported on Windows in X509Certificate verification
- GH #3330: Poco::Data::ODBC::ODBCStatementImpl causes crash
- GH #3334: Fork error on tvOS and watchOS
- GH #3335: XML error when build 1.11.0
- GH #3344: [bug] MacOS bundle destination path is not set
- GH #3345: fix cmake bundle
- GH #3347: The definition POCO_NO_FORK_EXEC is not respected or something like this
- GH #3353: fix fork option
- GH #3360: Add POCO_PGSQL_{INCLUDE,LIB} variables
- GH #3363: Fixed compilation error with MongoDB::Connection and Util::Application
- GH #3377: Updates comments for windows
- GH #3381: DNS::hostByAddress not thread-safe
- GH #3397: Fix crash due to X.509 certificates with Subject Alternative Name other than DNS Host
- GH #3400: fix std::localtime not thread safe
- GH #3414: fix missing expat definition
- GH #3425: Fixed suspend/resumeEvents pair in DirectoryWatcher
Release 1.11.0 (2021-06-28)
===========================
- This release introduces ActiveRecord, a simple and lightweight object-relational mapping
(ORM) framework based on the Active Record pattern and the Data library.
- Upgraded bundled expat to 2.4.1
- Upgraded bundled PCRE to 8.44
- Upgraded bundled pdjson to latest master
- Upgraded bundled SQLite to 3.35.5
- GH #2205: Start POCO as Windows service with parameters fix #2190
- GH #2418: SecureServerSocket doesn't work with IpV6
- GH #2677: Fix CLOB type support in StatementImpl and RecordSet
- GH #2746: Race in TCPServerDispatcher::stop
- GH #2783: Invalid condition [ICMPv4PacketImpl.cpp:234]
- GH #2825: riscv: Enable double operations when using double float abi
- GH #2895: Settings to verify OCSP stapling response (if received any) for client connections
- GH #2904: Support environments without hardware floating point
- GH #2906: Support environments without hardware floating point
- GH #2927: Fix assigned value to wrong pointer
- GH #2928: Fix clang issue
- GH #2929: Zip and SevenZip do not depend on Util, XML, JSON
- GH #2932: Poco::Net::NTLMContext is missing dllexport/dllimport symbols
- GH #2935: Configuration to receive OCSP stapling response for client connection…
- GH #2942: Avoid clang 10 -Wimplicit-int-float-conversion warning/error when con…
- GH #2945: Iterating over Var containing empty container throws "Out of range" exception
- GH #2970: Poco::Data::TypeHandler<Poco::Nullable<T>>::prepare() must prepare with underlying type, not Poco::Data::Keywords::null
- GH #2982: Poco::Net - return value from close needs to be checked in SocketImpl
- GH #2984: Fixed linking with Data ODBC error on some platforms
- GH #2989: setting priorityNames property on PatternFormatter has no effect
- GH #2992: CryptoTransformImpl::setPadding(int padding) incorrect for OpenSSL >= 1.1
- GH #2993: The Sec-WebSocket-Key of WebSocket is always the same one
- GH #3019: ObjectPool wait on borrow condition fix
- GH #3021: PatternFormatter priorityNames fix
- GH #3022: Process::isRunning(PID pid) causes handle leak on Windows
- GH #3023: Link to "discussion forums" on "How to get help" advice broken
- GH #3025: PKCS12Container: fix memory leaks on exceptions (1.10.1)
- GH #3027: PKCS12Container: fix memory leaks on exceptions (devel)
- GH #3037: Poco::toJSON: Don't escape forward slash in JSON strings
- GH #3041: PostgreSQL and TEXT column type
- GH #3044: Upgrading PCRE to 8.44 is it in immediate plan?
- GH #3045: PostgreSQL and BYTEA column type
- GH #3057: Poco::Data::PostgreSQL::SessionImpl::connectorName() returns empty string
- GH #3059: MessageHeader::splitParameters fails on 'httponly' cookie with 'string too long' exception
- GH #3061: SocketImpl::bind --> bind wrong config
- GH #3064: PostgreSQL: Extraction of 16-bit integers corrupts result
- GH #3066: CMake warning about MYSQL casing
- GH #3067: Fix pkg-name in find_package_handle_standard_args
- GH #3068: Documented ENABLE_JWT option
- GH #3074: Fix sessions may not return back to the pool
- GH #3076: Avoid access to already freed memory in JSON code
- GH #3078: Fix typo in the ThreadPool's docs
- GH #3086: Use POCO_IOS_INIT_HACK for Linux in combination with libc++
- GH #3089: HTTPSessionFactory does not support HTTPClientSession::ProxyConfig
- GH #3090: Do not initialize value with undefined behavior
- GH #3091: feat(SharedLibrary): add more detailed error description when LoadLib…
- GH #3092: feat(SharedLibrary): add more detailed error description when LoadLib…
- GH #3095: Digest proxy authentication does not work in 1.10.1
- GH #3097: Support for building Arm64 Apple Silicon
- GH #3099: Fixed Postgres extraction into Dynamic::Var
- GH #3107: unused variable
- GH #3114: Added JSON Array::empty() method
- GH #3116: Changed EventHandlerMap key
- GH #3130: Possible use-after-free bug on the method copyToImpl
- GH #3133: POCO_STATIC has been deprecated
- GH #3135: Poco::Data::SQLite::Utility::fileToMemory unsuccessful if journal exists
- GH #3136: Fixed null character issue when parsing a JSON
- GH #3138: Add support of arch riscv32
- GH #3141: allow to handle hot-journal (fixes #3135)
- GH #3151: fix(JSON::Object): crash when a key is removed from object with JSON_PRESERVE_KEY_ORDER
- GH #3153: Poco::Data::ODBC [N]VARCHAR(MAX) wrong maxDataSize() result
- GH #3155: Fixed typo in overridden
- GH #3157: fix(openssl): add missing dependency to OpenSSL components
- GH #3159: Bug in NumericString with decSep != '.'
- GH #3163: Correct Var::parse null value
- GH #3166: Fix PostgresSQL BLOB extractor
- GH #3168: Reference documentation contains invalid links.
- GH #3169: #2746: Fix race condition on TCPServerDispatcher stop
- GH #3182: Poco::Process:launch on MacOS BigSur
- GH #3183: fix setPadding
- GH #3190: [NetSSL_Win]: SSL-connection fails with "Host name verification failed error" (Regression bug)
- GH #3191: Fixing a bug in the NetSSL_Win module (Host name verification failed error)
- GH #3193: ServerApplication::registerService() unquoted path security vulnerability
- GH #3196: std::forward for Poco::Optional ctor with rvalue
- GH #3202: JWT: ESxxx signature must include padding for ECDSA R and S values
- GH #3204: CryptoTransformImpl::setPadding wrong call
- GH #3215: XML parser returns item from different element in a array
- GH #3217: CMake: warning message with -DPOCO_STATIC confusing
- GH #3219: SMTPClientSession: invalid SMTP command if empty recipients list in MailMessage
- GH #3223: Compilation failure since OpenSSL (alpha 13)
- GH #3224: Remove SSL23 support from Poco/Crypto
- GH #3229: Upgrade bundled expat to 2.3.0
- GH #3230: ECDSADigestEngine: include missing header
- GH #3233: Feat/hash range
- GH #3237: An error in the documentation for Poco/JSON/Parser.h
- GH #3239: XML parser returns item from different element in a array #3215
- GH #3242: RemoteSyslogListener: add reusePort option
- GH #3245: find_package(Poco REQUIRED COMPONENTS ... NetSSL) requires an aditional find_package(OpenSSL) since poco-10
- GH #3248: PollSet not working as intended on Windows
- GH #3249: PollSet - poll() timeout not properly used
- GH #3250: fix(PollSet): #3248 #3249
- GH #3260: Memory leak in EVPPKey::loadKey used with files & wrong password
- GH #3266: Order of Util::Application::uninitialize() is not in reverse as documented
- GH #3269: Poco::Net::Context initialization with empty certificateFile
- GH #3274: Fix localtime_r for VxWorks 6.9 and later
- GH #3278: Fixing no hardware floating point support - Part II
- GH #3279: Update bundled expat to 2.4.0
- GH #3282: Update constant in setContentType documentation
- GH #3284: JSON Fuzzing: Undefined-shift in poco_double_conversion::DiyFpStrtod
- GH #3285: JSON Fuzzing: Stack-overflow in Poco::JSON::ParserImpl::handle
- GH #3291: JSON Fuzzing: Stack-overflow with empty stacktrace
- GH #3292: JSON Fuzzing: Stack-overflow in Poco::JSON::Array::~Array
- GH #3295: A variation on Issue 949 comes back to life?
- GH #3299: NetSSL: Allow per-Context InvalidCertificateHandler
- GH #3301: Unterminated string possible in NetworkInterfaceImpl::setPhyParams()
- GH #3302: MSVC: Poco hides warnings (C4996) for the C++14 attribute [[deprecated]]
- GH #3303: DNS HostEntry returns multiple entries
- GH #3307: Poco::Crypto::X509Certificate: obtain certificate fingerprint
- GH #3309: JSON parser copies entire JSON document to memory when parsing from stream.
- GH #3310: Upgrade bundled SQLite to 3.35.5.
- GH #3313: Upgrade bundled double-conversion
- GH #3314: NetSSL_OpenSSL: any.pem certificate error: ca md too weak
- GH #3315: Unintended sign/type conversion out of RecordSet
- GH #3317: Data::MySQL MySQL headers and library search paths
- GH #3318: Data: Support Poco::UUID for data binding
- GH #3321: Feat/data db encoding
- GH #3322: why is useless MyStruct present in Thread_posix.cpp :: ThreadImpl::setPriorityImpl (easy to fix I guess)
- GH #3326: [asan] Undefined behavior in ICMPv4PacketImpl.cpp
Release 1.10.1 (2020-02-10)
===========================
- Upgraded bundled SQLite to version 3.31.1.
- GH #2894: Poco 1.10.0 doesn't build with cmake & POCO_UNBUNDLED
- GH #2898: poco 1.10/ NetSSL / openssl < 1.1 : default server usage changed (compare to 1.9.4)
- GH #2834: Wrong cancelation of the fix: incorrect type of store name parameter in
CertOpenStore API call into NetSSL_Win. Release 1.10.0
- GH #2791: allow pre-allocation of the buffer in Poco::LogStreamBuf.
- GH #2816: Modernise TLS configuration
- GH #2818: Add getSpecifiedPort() method in Poco::URI.
- GH #2909: Test failures on s390x architecture with 1.10.0
- GH #2911: Poco::UTF16Encoding and Poco::UTF32Encoding byte order conversion bug
- GH #2912: Poco::SHA2Engine computes incorrect hash on big-endian systems
- GH #2923: cmake: Version 1.10.0 not parsed correctly from VERSION file
- GH #2908: [Windows] Process arguments quoting is broken.
- GH #2894: Poco 1.10.0 doesn't build with cmake & POCO_UNBUNDLED
- GH #2920: Close Service Handle after DeleteService Function call
- GH #2919: Fixed Crash in WinService::setFailureActions
- GH #2922: 1.10 cmake build fails on FreeBSD 11.2 Release
- MySQL: resetting the session when putting it back into a SessionPool is now optional
(and disabled by default) due to a bug in MySQL messing up the character encoding when doing so.
- Poco::AutoPtr and Poco::SharedPtr now support comparison with nullptr.
Release 1.10.0 (2020-01-27)
===========================
- This release now requires a C++14 compiler (GCC 5, Clang 3.4, Visual C++ 2015).
- Visual Studio project and solution files for versions prior to 2015 have
been removed. Furthermore, the separate projects and solutions for 64-bit builds
have been removed and configurations have been merged in a single project file.
- POCO's fixed-size integer types are now based on <cstdint> types. This changes
the definition of Poco::Int64 and Poco::UInt64 on some platforms.
- Many methods exposing raw pointers have been changed to use smart pointers
(usually Poco::SharedPtr or Poco::AutoPtr) instead. This may break some existing
code. Specifically, the Logging framework in the Foundation library and the
Configuration framework in the Util library have been changed.
- New JWT library for dealing with JSON Web Tokens.
- Upgrade bundled SQLite to version 3.31.0.
- The NetSSL_OpenSSL library supports TLS 1.3 with OpenSSL 1.1.1 or later.
- The NetSSL_Win library supports TLS 1.3 if it's supported by the underlying SChannel
implementation.
- Added support for NTLM authentication in the Net library.
- NetSSL_OpenSSL now has a Poco::Net::FTPSClientSession and Poco::Net::FTPSStreamOpener
class for connecting to FTP servers over TLS.
- Fixed a potential crash in Poco::Net::NetworkInterface on Linux and macOS due to
an invalid cast when obtaining the MAC address of an interface.
- GH #2624: Poco::FileChannel/Poco:LogFileImpl::writeImpl() on Windows should translate \n to \r\n.
- GH #2869: X509Certificate does not render UTF-8 characters in subjectName
- GH #2863: NetworkInterface::map can fail to reveal some interfaces if an earlier one can not be handled
- GH #2807: Poco::Data::ODBC Binding of SQL Decimal Type
- GH #2812: String trimInPlace crashes with 0 size on Visual Studio Express 2017
- GH #2830: Fix wrong buffer size in client handshake when re-using a SecureSocket [NetSSL_Win]
- GH #2809: Allow to filter long tests using a command line argument
- GH #2853: Poco::Process::launch process environment unicode support is broken on Windows
- GH #2843: Poco::Net::MediaType::parse() does not split parameters
- GH #2772: On iOS real device (not simulator) the home directory is not usable
- GH #2689: Added tryWait() into Process and ProcessHandle. Handle kill()-ed UNIX process exit codes.
- GH #2866: unescape Backslash char in UTF8 unescape method
- GH #2879: Add support for SameSite attribute in HTTPCookie
- GH #2824: Poco::Environment missing UTF8/wstring support on Windows
- GH #2295: setEscapeUnicode() functions in JSON Array and Object classes ignore their boolean parameter
- GH #2306: Why does Poco explicitly define _WIN32_WINNT?
- GH #2802: Deprecated warning when building POCO with OpenSSL in submodule + cmake
- GH #2884: Is it a description error about setReceiveTimeout()?
- GH #2780: Allow Poco::Net::Context::usePrivateKey to accept ECKey and/or general EVPPKey
- GH #2747: NetSSL_Win: Context constructor usage argument should specify minimum supported SSL/TLS version
- GH #2745: Small problem in the code
- GH #2743: X509Certificate validFrom expiresOn Date parsing
- GH #2744: Poco::Mysql does not build with MySQL 8.0+
- GH #2686: Uploads larger than 2GB fail
- GH #2217: UUIDGenerator should allow random seed
- GH #1609: Improve XDG Base Directory Specification implementation
- GH #561: Support for XDG Base Directory Specification
- GH #2881: Add an option to force the use of PollingDirectoryWatcherStrategy
- GH #2584: Adding standard macOS legacy encodings
- GH #2885: fix Dynamic::Var parse string issue
- GH #2616: Restore pre-1.8.0 behaviour of Poco::Net::ServerSocket::bind.
- GH #2641: Implement DataURIStream for extracting data from data URIs.
- GH #2842: File fail on overwrite
- GH #2840: Deleting Registry Keys on the WOW6432Node is not possible on 64Bit Applications
- GH #2841: Service manager improvments
- GH #2827: X509Certificate: Get rid of deprecated OpenSSL 1.1 APIs
- GH #2826: CipherImpl: Fix small error with OpenSSL 1.1
- GH #2775: Fix issue in NetSSL_Win. Windows Server 2016 reboots while trying to establish an SSL connection.
- GH #2773: Fix the issue with incorrect type of store name parameter in CertOpenStore API call into NetSSL_Win
- GH #2766: Support qnx sdp7
- GH #2308: SocketAcceptor::setReactor() is broken
- GH #2250: Poco::strToInt<> fails for values right above the type's boundary / limit
- GH #2249: Poco::JSON::Object::set() should return reference to this to allow chaining.
- GH #2275: SQLite mismatch open/close API calls
- GH #1921: ICMPSocket does not check reply address
- GH #2092: Use PollSet in SocketReactor
- GH #2552: Poco::MongoDB test cases failed in Linux on IBM z
- GH #2546: MySQL session state is not cleared in SessionPool
- GH #2410: Preserve entries order in DynamicStruct
- GH #2467: Can not open certain zip files include data descriptor
- GH #2398: Poco 1.9.1 branch cmake build on FreeBSD 11.1 failed
- GH #2365: add struct tm support to DateTime
- GH #2348: NTPClient not checking reply address
- GH #2346: lock-order-inversion in SocketReactor
- GH #2330: add socket gather/scatter capabilities
- GH #2343: UDPServer and client
- GH #2329: add PMTU discovery
- GH #2345: SocketNotifier not thread-safe
- GH #2323: WebSocketTest.cpp faults reported by valgrind
- GH #1160: Poco::Net::NetException "SSL Exception: error:1409F07F:SSL routines:ssl3_write_pending:bad write retry"
- GH #2547: Reset connection when a session is returned to the SessionPool
- GH #2451: http client timeout on Windows 7 and Server 2008 R2
- GH #2417: Added missing IPv6 methods to SecureSocketImpl
- GH #2408: add ordered containers
- GH #2042: Android abstract namespace local socket address
- GH #2088: Fix race condition in TCPServerDispatcher.cpp
- GH #2892: SocketImpl::bind --> bind wrong config
Release 1.9.4 (2019-09-18)
==========================
- fixed GH #2784: Upgrade bundled expat XML parser library to release 2.2.8,
which fixes CVE-2019-15903.
Release 1.9.3 (2019-08-20)
==========================
- fixed GH #2603: Remove incorrect upper size limits for SSL certificates in NetSSL_Win
- fixed GH #2661: Poco::Zip::ZipArchive cannot load new tomcat.zip file (additional fix)
- fixed GH #2742: Support of vs150 & vs160 with the official Microsoft localization executable,
vswhere.exe, installed by MSVC starting from VS2017
- Data/ODBC: make binding of std::string configurable (SQL_LONGVARCHAR - default or SQL_VARCHAR)
through a global setting (Poco::Data::ODBC::Connector::bindStringToLongVarChar()).
- added Poco::SharedLibrary::setSearchPath() (currently implemented on Windows only)
- Windows required minimum version is now Windows XP SP2
- upgraded bundled SQLite to 3.29.0
- CppParser now supports type aliases defined with using keyword.
- PageCompiler: added support for adding Content-Security-Policy and Cache-Control headers.
Release 1.9.2 (2019-07-02)
==========================
- fixed GH #2736: Error using CMake gui - latest version
- fixed GH #2737: Bundles vulnerable copy of Expat — please upgrade to Expat 2.2.7
- fixed GH #2738: Poco::AccessExpireStrategy::onGet() must not extend expiration time after expiration
Release 1.9.1 (2019-06-24)
==========================
- Added support for building with different OpenSSL distributions on Windows.
See the POCO_EXTERNAL_OPENSSL macro defined in Foundation/include/Poco/Config.h
for options.
- Added Poco::Net::HTTPClientSession::flushRequest()
- Added Poco::Net::WebSocket::setMaxPayloadSize() and Poco::Net::WebSocket::getMaxPayloadSize()
to specify a maximum acceptable payload size for Poco::Net::WebSocket::receiveFrame().
- Poco::Net::WebSocket: don't attempt to send empty credentials in response to 401 response.
- Redis: added support for additional commands (exists, expire, ping, multi, exec, discard)
- Redis: added Poco::Redis::Client::isConnected()
- Upgraded bundled PCRE to version 8.43
- Upgraded bundled SQLite to version 3.28.0
- Added project/solution files for Visual Studio 2019
- Fixed Visual Studio project files (version information from DLLVersion.rc not included in DLLs)
- Include version resource in DLLs built with CMake
- Added HTTP*Credentials::empty() and HTTPCredentials::clear()
- fixed GH #2220: Encoding/DoubleByteEncoding.cpp fails to compile with VS2008 and _DEBUG
- fixed GH #2243: DLLVersion.rc is excluded from build, missing detail information in properties of *.dll
- fixed GH #2277: SQLite null pointer dereference occurs when exception is being thrown
- fixed GH #2313: PollSet behaves differently on windows
- fixed GH #2316: cmake can't find MySQL and ODBC libraries
- fixed GH #2336: Omit ContentLength in WebSocket accept response
- fixed GH #2358: Don't include <openssl/fips.h> for later OpenSSL
- fixed GH #2364: Stringify escapes every unicode symbol when object contain an array
- fixed GH #2380: Calling Poco::Net::X509Certificate::addChainCertificate() leads to double free.
- fixed GH #2492: Net::Socket::address() crash on Android
- fixed GH #2549: Fix keepAlive in http client session
- fixed GH #2565: HTMLForm: optional enforcement of Content-Length instead of Chunked Transfer-Encoding
- fixed GH #2570: DialogSocket: receiveStatusMessage() - line length limit applies to entire multi-line message
- fixed GH #2583: Crypto library does not build with OpenSSL 1.0.0
- fixed GH #2655: MongoDB Binary element to string - bug
- fixed GH #2661: Poco::Zip::ZipArchive cannot load new tomcat.zip file
- fixed GH #2700: Invalid read of memory in Poco::Environment::set which may cause crashes.
- fixed GH #2712: File_WIN32.cpp(168): error C2065: "_upath":Undeclared identifier
- fixed GH #2723: Access violation when trying to decompress .zip file with unsupported compression method.
Release 1.9.0 (2018-03-07)
==========================
- Added additional text encodings, available in the new PocoEncodings library (GH #2165)
- Added Punycode support for resolving Internationalized Domain Names to Poco::Net::DNS (GH #2164)
- Added XDG Base Directory Specification support in Poco::Path, Poco::Util::SystemConfiguration
and Poco::Util::Application (GH #1609, GH #561, GH #1609)
- Added support for GCM ciphers in Crypto library (GH #2129)
- Poco::Net::RemoteSyslogChannel and Poco::Net::RemoteSyslogListener now have basic
support for RFC 5424 structured data (GH #2173)
- Poco::File now has methods for obtaining partition space (GH #1545)
- Added Poco::Net::Context::addCertificateAuthority() (GH #2197)
- Added Poco::AutoPtr::reset() and Poco::SharedPtr::reset() to improve compatibility
with std::shared_ptr() (GH #2172)
- fixed GH #703: Poco::Data::SQLite data types (INTEGER is now mapped to Int64)
- fixed GH #1426: inttypes.h is available on sun solaris
- fixed GH #1912: Run ping with custom data size #1912
- fixed GH #2177: Run ping with custom timeout instead of the default
- fixed GH #2058 and GH #2095: Synchronization issue/deadlock in Poco::Util::Timer at destruction
- fixed GH #2089: Allow hyphen in HTTP authentication scheme names
- fixed GH #2106: Undefined behavior in Delegate::equals()
- fixed GH #2108: POCO SQLite Data Connector hangs for 20 secs waiting for thread timeouts on Windows
- fixed GH #2142: JSON::Object preserveOrder keys not synced on assignment
- fixed GH #2199 and GH #2188: Illegal header in zip file exception/assertion failure during JAR file decompression
- fixed GH #2203: Use MAX_ADDRESS_LENGTH to determine buffer size
Release 1.8.1 (2018-01-09)
==========================
- Added Poco::File::linkTo()
- fixed GH #2044: Poco::Net::NetworkInterface::list does not list inactive interfaces
even when explicitly being asked for it.
- fixed GH #2042: Android abstract namespace local socket address
- fixed GH #2038: Poco::Net::MultipartWriter::createBoundary() always returns the same string.
- fixed GH #2020: SQLite not handling parameter count mismatch correctly.
- fixed GH #2012: Data/SQLite: Exception messages contain duplicate text
- fixed GH #2005: Upgraded bundled PCRE to 8.41
- fixed GH #2000: Fix building XMLStreamParser with unbundled expat
- fixed GH #1603: fix MinGW 4.8.2 Compilation
- fixed GH #1991: Support building poco 1.8.0 as cmake sub-project
- fixed GH #2080: Bugs in Poco::Net::Socket::select when POCO_HAVE_FD_POLL is defined
Release 1.8.0.1 (2017-11-11)
============================
- Reverted change for GH #1828; DeflatingStreamBuf::sync() no longer flushes