forked from pocoproject/poco
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
3298 lines (3005 loc) · 179 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.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.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
underlying stream as this causes corruption for some Zip files.
- PocoDoc: fix for handling compiler configuration for Gradle builds.
Release 1.8.0 (2017-11-10)
==========================
- Poco::Base64Encoder: add support for base64url encoding (GH #1967)
- Add Poco::Net::PollSet class to Net library (GH #1763)
- The Net library now supports Unix Domain Sockets, where available.
- Added stream parser (Poco::XML::XMLStreamParser) to XML library (GH #1697)
- Added Poco::Net::TCPServerConnectionFilter and Poco::Net::TCPServer::setConnectionFilter()
to support connection filtering and IP blacklisting (GH #1485)
- Added Redis library (GH #1383)
- Added Zip64 support to Zip library (GH #1356)
- Upgraded bundled SQLite to 3.21.0
- Removed OpenVMS support (GH #1988)
- fixed GH #271: NamedMutex_UNIX.cpp must remove semid
- fixed GH #739: Add WebSocket::receiveFrame() that appends to a Poco::Buffer<char>
- fixed GH #749: NTP Packet impl not according to RFC958
- fixed GH #896: Sample "TwitterClient" of NetSSL_OpenSSL can't be build
- fixed GH #1172: Poco::Data default storage should be std::vector
- fixed GH #1337: Poco::HTMLForm throws exception HTMLFormException("Form must be prepared")
even after form is prepared.
- fixed GH #1373: SessionImpl::close() does not check return code of close handle specific function
- fixed GH #1425: Workaround bug in SolarisStudio 12.4 on RVO-ed objects.
- fixed GH #1614: Problematic license for JSON component: the previously used JSON.org parser
has been replaced with pdjson
- fixed GH #1659: wrong field size calculation in ODBC code
- fixed GH #1683: Poco::Data ODBC impl doesn't bind to unsigned numeric types properly
- fixed GH #1705: MongoDB: support URI in Connection
- fixed GH #1708: "SocketReactor::addEventHandler" and "SocketReactor::removeEventHandler"
must protect the access to "NotifierPtr pNotifier"
- fixed GH #1729: getConnectionTimeout of SQLite DB wrapper returns wrong value
(in milliseconds, should be in seconds)
- fixed GH #1739: OpenSSLInitializer isn't threadsafe
- fixed GH #1750: double_conversion in NumericString is in conflict with Qt5 Core
- fixed GH #1804 and GH #1805: Integer Overflow or Wraparound
- fixed GH #1828: DeflatingStreamBuf::sync() should also flush underlying stream.
- fixed GH #1880: FTPClientSession::close() error
- fixed GH #1897: DateTime wrong binding/extraction for MySQL database
- fixed GH #1905: Compiling Foundation library with POCO_NO_FPENVIRONMENT in Config.h fails
- fixed GH #1906: Race condition in ThreadPool
- fixed GH #1913: Message Doesn't Support 64-bit Thread IDs
- fixed GH #1921: ICMPSocket does not check reply address
- fixed GH #1926: Exception when using SortedDirectoryIterator
- fixed GH #1934: File::setExecutable() on POSIX should set executable bit for group and
other if corresponding readable bit is set
- fixed GH #1950: Net Exception: Address family not supported with clang
- fixed GH #1964: Buffer<> swap miss ownMem
Release 1.7.9p2 (2017-11-06)
============================
- fixed GH #1628: Export Poco::Zip::ZipUtil class
Release 1.7.9p1 (2017-11-02)
============================
- fixed GH #1968: Zip Decompress Parent Path Injection
Release 1.7.9 (2017-09-11)
==========================
- fixed GH #1813: xmlparse.cpp doesn't compile in WinCE (poco 1.7.8p3)
- fixed GH #1826: XPath query error
- fixed GH #1834: Visual Studio 2008 cannot find stdint.h
- fixed GH #1842: Upgrade bundled expat to 2.2.3
- fixed GH #1843: Use random salt for Poco::XML::NamePool
- fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe
- improved/fixed QNX support
- Poco::Util::LayeredConfiguration: added support for labelling configurations and
finding them by their label
- upgraded bundled SQLite to 3.20.1
- PageCompiler: support <%@ include file="<path>" %> syntax for includes, in addition
to <%@ include page="<path>" %>
- PageCompiler: optimize generated request handler code by removing useless
statements, e.g. writing empty strings.
- added POCO_DEPRECATED macro which will be used in the future to deprecate
classes and methods.
- Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are
now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing
between different users. Furthermore, ftok() is called with 'p' as project ID
argument.
Release 1.7.8p3 (2017-06-22)
============================
- fixed GH #1760: Upgrade bundled expat to 2.2.1 which fixes some vulnerabilities:
http://seclists.org/oss-sec/2017/q2/499
Release 1.7.8p2 (2017-04-18)
============================
- fixed GH #1655: CipherImpl memory leak with OpenSSL 1.1
Release 1.7.8 (2017-02-21)
==========================
- fixed GH #1212: Lost WebSocket Frames after Client Websocket Handshake is complete
- fixed GH #1260: URI encoding
- fixed GH #1501: Alpine 3.4 trouble with Foundation/src/Error.cpp
- fixed GH #1523: Long path names under Windows
- fixed GH #1536: Building with OS X 10.12 SDK and 10.7 deployment target without libc++ fails
- fixed GH #1537: Need to add multiple cflags parameters to configure
- fixed GH #1539: Allow overriding POCO_TARGET_OSARCH for iPhoneSimulator
- fixed GH #1546: Enable bitcode for iPhone build config
- fixed GH #1549: Latin2Encoding and 0xFF
- fixed GH #1551: Unable to use Poco on macOS 10.12
- fixed GH #1552: IPv6 & operator throws an exception when scope = 0
- fixed GH #1566: Poco/Zip issue with some CM_DEFLATE archives
- fixed GH #1567: Poco/ZIP issue with uncompressed archives
- fixed GH #1570: IPv6AddressImpl::toString() returns wrong output for IPv6 address "::"
- fixed GH #1571: ODBC Preparator memory leak
- fixed GH #1573: Poco::File::createDirectories() should not throw Poco::FileExistsException
- fixed GH #1580: Unable to unzip zip file created using non-seeking stream
- fixed GH #1581: Cannot find 'pcre.h' when using POCO_UNBUNDLED, a non-system PCRE, and CMake
- fixed GH #1588: Poco::Net::HTTPChunkedStreamBuf::readFromDevice(): restrict maximum
size of chunk length
- fixed GH #1589: Poco::Net::HTMLForm: restrict maximum field and value length
- fixed GH #1590: Poco::Net::DialogSocket: restrict maximum line length
- fixed GH #1591: Poco::Net::MultipartReader: restrict maximum boundary string length
- fixed GH #1597: adding empty file to zip leads to archive that can't be unzipped by windows
- fixed GH #1599: readFromDevice() in AutoDetectStream.cpp in Poco Zip cannot detect signature
- fixed GH #1534: Upgraded bundled zlib to 1.2.11
- fixed GH #1558: Upgraded bundled SQLite to 3.16.2
- fixed GH #1586: Upgraded bundled PCRE to 8.40
- fixed GH #1538: Upgraded bundled double-conversion to 1.1.5
- MongoDB: added support for authentication using "MONGODB-CR" and "SCRAM-SHA-1"
authentication schemes.
- MongoDB: additional documentation and fixes for style and consistency and minor
API improvements (e.g., Poco::MongoDB::Binary)
Note: some flag enumeration values have been renamed for better consistency
and readability; existing code using these will have to be updated.
Release 1.7.7 (2016-12-31)
==========================
- fixed GH #865: FileChannel compress fails leaving empty .gz files
- fixed GH #990: Potential race condition in Poco::File on Windows
- fixed GH #1157: Fixing a bug in the NetSSL_Win module (Host name verification failed error)
- fixed GH #1351: Fix for android include pthread.h from /usr/include
- fixed GH #1436: ODBC Bug: Unicode text(NVARCHAT) read from DB is truncated to half
- fixed GH #1453: _clock_gettime Symbol not found on Mac 10.11
- fixed GH #1460: POCO does not build with OpenSSL 1.1
- fixed GH #1461: Poco::Data::SQLite::SQLiteStatementImpl::next() error
- fixed GH #1462: AbstractConfiguration::getUInt does not parse hex numbers
- fixed GH #1464: ODBCMetaColumn::init() always maps integer NUMERIC/DECIMAL to Int32
- fixed GH #1465: Assertion violation in DateTime.cpp using ZipArchive
- fixed GH #1472: HTTP(S)StreamFactory should send a User-Agent header.
- fixed GH #1476: Fixed error with Poco::UTF8Encoding::isLegal()
- fixed GH #1484: ODBC: fix uninitialized variable
- fixed GH #1486: Support ODBC GUID data type as string
- fixed GH #1488: Poco::ObjectPool shrinks if returned object is not valid
- fixed GH #1515: Detection of closed websocket connection
- fixed GH #1521: bug in JSON ParseHandler.cpp (empty keys should be valid)
- fixed GH #1526: iOS app rejected, IPv6 not working
- fixed GH #1532: RecordSet and RowFilter: bad use of reference counter
Release 1.7.6 (2016-10-18)
==========================
- fixed GH #1298: ZipFileInfo: Assertion violation when reading ods files
- fixed GH #1315: Redefine Poco assertions for static analysis
- fixed GH #1397: Fix issues reported by static source code analysis
- fixed GH #1403: Android compile with poco-1.7.5 no 'pthread_condattr_setclock' error
- fixed GH #1416: Assertion violation when unzipping
- fixed GH #1418: Poco::Delegate assignment operator fails to compile for some specializations
- fixed GH #1422: Can't build poco 1.7.4 or 1.7.5 on centos5 32 bit
- fixed GH #1429: exception thrown in MongoDB when using replicaset
- fixed GH #1431: Poco/FIFOBuffer.h copy issue
- fixed GH #1445: Use stable_sort to preserve order of IP addresses from DNS
- fixed GH #1456: better handle leap seconds in Poco::DateTime and Poco::LocalDateTime
- fixed GH #1458: Probably invalid epoll_create() usage inside Poco/Socket.cpp
- Poco::XML::NamePool: increased default size from 251 to 509. Default size can now
be changed by defining the POCO_XML_NAMEPOOL_DEFAULT_SIZE macro accordingly.
- Enchancements: Poco::XML::Document and Poco::XML::DOMParser have new constructors
taking a NamePool size. Poco::Util::XMLConfiguration::load() also has a new overload
for that purpose.
- Improved error handling in the Zip library (getting rid of some poco_assert macros
and did proper error handling instead).
- Added Poco::URISyntaxException (subclass of Poco::SyntaxException), which is now
thrown by Poco::URI.
- Improved error handling in Poco::URIStreamOpener::open().
- Poco::Data::MySQL: Handle connection lost/server gone error when starting a transaction
and retry.
- XMLConfiguration default (and single-argument delimiter) constructor now loads an empty
XML document with "config" root element to make the configuration usable without an
additional call to load() or loadEmpty().
Release 1.7.5 (2016-08-29)
==========================
- fixed GH #1252: Unable to compile Poco::Data for Windows Compact Embedded 2013
- fixed GH #1344: Poco::Event::wait(timeout) should use CLOCK_MONOTONIC on Linux
- fixed GH #1355: [JSON::Object] After copy-ctor, JSON::Object::_keys still points to
keys in map of copied object
- GH #1361: Shell expansion rules say that tilde must be replaced with $HOME before
calling getpwuid
- Poco::SingletonHolder: added reset() method
- prefer clock_getttime() over gettimeofday() if available
- Upgraded bundled SQLite to 3.14.1
Release 1.7.4 (2016-07-20)
==========================
- fixed GH #1300: Session constructor hangs
- fixed GH #1303: HTTPSClientSession::sendRequest() fails if server has wildcard cert
- fixed GH #1304: URI doesn't know "ws:/" or "wss://" schemes
- fixed GH #1307: Upgrade bundled expat to 2.2.0
- fixed GH #1313: XML library compilation error
- fixed GH #1316: Empty SocketReactor never sleeps
- Upgraded bundled SQLite to 3.13.0
Release 1.7.3 (2016-05-02)
==========================
- fixed GH #993: Invalid zip format when opening a docx in word
- fixed GH #1235: Poco::Net::HTTPClientSession::sendRequest() should also handle HTTP_PATCH
- fixed GH #1236: Remove Poco::Data::Row::checkEmpty() as it prevents Row from being used
with all NULL rows
- fixed GH #1239: Poco::Zip::Compress with non-seekable stream fails for CM_STORE
- fixed GH #1242: Poco::Data::RowFormatter generate exception if the first column of first
row is null
- fixed GH #1253: ListMap does not maintain insertion order if key already exists
- Upgraded bundled SQLite to 3.12.2
Release 1.7.2 (2016-03-21)
==========================
- fixed GH #1197: Upgrade bundled expat to 2.1.1
Expat 2.1.1 fixes a CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1283
- fixed GH #1204: getdtablesize has been removed on Android 21
- fixed GH #1203: Poco::Data::RecordSet should be reusable
- fixed GH #1198: Upgrade bundled SQLite to 3.12.1
Release 1.7.1 (2016-03-14)
==========================
- fixed GH #1187: Data/MySQL: Seeing frequent "MySQL server has gone away" errors
- fixed GH #1184: Attempting to connect via a proxy throws a DNS error "Host not found"
- fixed GH #1180: Possible deadlock when TaskManager::count() is called in onFinished
- NetSSL_OpenSSL: use TLS_*_method() instead of deprecated SSLv23_*_method()
if OpenSSL version is >= 1.1; initialize default/fallback client context to support
all TLS protocols, not just TLSv1
Release 1.7.0 (2016-03-07)
==========================
- POSSIBLE BREAKING CHANGE: removed automatic registration of Data connectors due to
issues with static initialization order.
- NetSSL_OpenSSL: added support for ECDH and DH ciphers; added support to disable
specific protocols (Poco::Net::Context::disableProtocols());
new Poco::Net::Context constructor taking a Poco::Net::Context::Params structure that
allows specifying ECDH and DH parameters.
- Poco::Net::TCPServer: add additional try ... catch block around poll() to
gracefully deal with errors due to high system load (e.g., out of file descriptors).
- fixed GH #1171: Poco::Data::RecordSet: rowCount not reset after execute
- fixed GH #1167: CMake & POCO_UNBUNDLED: expat sources are compiled in libPocoXML
- fixed GH #1160: Poco::Net::NetException
"SSL Exception: error:1409F07F:SSL routines:ssl3_write_pending:bad write retry"
- fixed GH #1152: Wrong TaskProgressNotification description
- fixed GH #1141: Poco::StringTokenizer::TOK_TRIM changes behavior between 1.4 and 1.6
- fixed GH #1137: Missing 'longint' type in SQLite
- fixed GH #1135: Different package on github and official web site
- fixed GH #1030: tvOS / WatchOS bitcode enabled for simulators
- fixed GH #1114: World-write permissions on files created by daemon
- fixed GH #1087: prevent line breaks in base64-encoded creds
- fixed GH #1026: Fixes for producing the poco-1.6.2 release on a Cygwin x86 platform
- fixed GH #1022: Abbreviation in setThreadName can happen even if thread name is not too long
- fixed GH #1002: ActiveDispatcher saves reference to event context after event was
performed until it gets new event
- fixed GH #973: overwrite existing files on windows when moving files
- fixed GH #969: Poco::File::renameTo() behaviour differs on windows and linux
- fixed GH #967: Missing data types in SQLite
- fixed GH #966: Possible crash when processing a corrupted Zip file
- fixed GH #958: Bug while reading X509Certificate subjectName
- fixed GH #937: Missing build_vs140.cmd
- fixed GH #933: Change in JSON::Object::set(key,value) behavior in 1.6.1
- fixed GH #931: make strToInt() more strict in what it accepts
- fixed GH #921: `BasicUnbufferedStreamBuf` needs to be marked for import/export
- fixed GH #848: MailMessage::_encoding is not set when retrieving plain/text message
- fixed GH #767: Inconsistency in getPath & getPathAndQuery returns
- fixed GH #724: Poco 1.6.0 is not compiled with openssl 1.0.0
- fixed GH #713: Improved support for producing Canonical XML in XMLWriter
- fixed GH #696: bug in parsing name of attachment poco c++ 1.6.0
- fixed GH #335: Compress with nonseekable
- upgraded bundled SQLite to 3.11.0
- added Poco::Crypto::X509Certificate::equals() to compare two certificates
- support for detecting Win8/Win10 in Poco::Environment
- Poco::Net::HTTPServerRequestImpl: fixed an issue with DELETE in persistent connections
- NetSSL: added Context::preferServerCiphers()
- NetSSL: added support for ECDH, new Context constructor
- NetSSL: add support for disabling certain protocols
- SMTPClientSession: added support for XOAUTH2 authentication
- Poco::Data::SessionPool: re-added customizeSession() method from 1.4.x releases
- improved SSLManager to automatically set-up a reasonable client Context if
none is configured
- add brew OpenSSL search paths to Darwin configs
- add HTTP/1.1 version to HTTPRequest for client WebSocket, as this is required for
most servers
- remove GCC_DIAG_OFF as this caused more issues than it solved
- respect POCO_NO_FORK_EXEC in ServerApplication (tvOS)
- tvOS and WatchOS support
- fix: need an implementation of available() for WebSocketImpl
- HTTPSessionInstantiator: respect global proxy config
- added constant for HTTP PATCH method to Poco::Net::HTTPRequest
- NumberParser::parseHex[64](): allow 0x/0X prefix
Release 1.6.1 (2015-08-03)
==========================
- added project and solution files for Visual Studio 2015
- upgraded bundled SQLite to 3.8.11.1
- fixed GH #782: Poco::JSON::PrintHandler not working for nested arrays
- fixed GH #819: JSON Stringifier fails with preserve insert order
- fixed GH #878: UUID tryParse
- fixed GH #869: FIFOBuffer::read(T*, std::size_t) documentation inaccurate
- fixed GH #861: Var BadCastException
- fixed GH #779: BUG in 1.6.0 Zip code
- fixed GH #769: Poco::Var operator== throws exception
- fixed GH #766: Poco::JSON::PrintHandler not working for objects in array
- fixed GH #763: Unable to build static with NetSSL_OpenSSL for OS X
- fixed GH #750: BsonWriter::write<Binary::Ptr> missing size ?
- fixed GH #741: Timestamp anomaly in Poco::Logger on WindowsCE
- fixed GH #735: WEC2013 build fails due to missing Poco::Path methods.
- fixed GH #722: poco-1.6.0: Unicode Converter Test confuses string and char types
- fixed GH #719: StreamSocket::receiveBytes and FIFOBuffer issue in 1.6
- fixed GH #706: POCO1.6 Sample EchoServer BUG
- fixed GH #646: Prevent possible data race in access to Timer::_periodicInerval
- DeflatingStream: do not flush underlying stream on sync() as these can cause
corrupted files in Zip archives
Release 1.6.0 (2014-12-22)
==========================
- fixed GH #625: MongoDB ensureIndex double insert?
- fixed GH #622: Crypto: RSATest::testSign() should verify with public key only
- fixed GH #620: Data documentation sample code outdated
- fixed GH #618: OS X 10.10 defines PAGE_SIZE macro, conflicts with PAGE_SIZE in Thread_POSIX.cpp
- fixed GH #616: Visual Studio warning C4244
- fixed GH #612: OpenSSLInitializer calls OPENSSL_config but not CONF_modules_free
- fixed GH #608: (Parallel)SocketAcceptor ctor/dtor call virtual functions
- fixed GH #607: Idle Reactor high CPU usage
- fixed GH #606: HTMLForm constructor read application/x-www-form-urlencoded UTF-8 request
body first parameter with BOM in name
- fixed GH #596: For OpenSSL 1.0.1, include openssl/crypto.h not openssl/fips.h
- fixed GH #592: Incorrect format string in Poco::Dynamic::Struct
- fixed GH #590: Poco::Data::SQlite doesn't support URI filenames
- fixed GH #564: URI::encode
- fixed GH #560: DateTime class calculates a wrong day
- fixed GH #549: Memory allocation is not safe between fork() and execve()
- fixed GH #500: SSLManager causes a crash
- fixed GH #490: 2 byte frame with payload length of 0 throws "Incomplete Frame Received" exception
- fixed GH #483: multiple cases for sqlite_busy
- fixed GH #482: Poco::JSON::Stringifier::stringify bad behaviour
- fixed GH #478: HTTPCredentials not according to HTTP spec
- fixed GH #471: vs2010 release builds have optimization disabled ?
- fixed GH #468: HTTPClientSession/HTTPResponse not forwarding exceptions
- fixed GH #438: Poco::File::setLastModified() doesn't work
- fixed GH #402: StreamSocket::receiveBytes(FIFOBuffer&) and sendBytes(FIFOBuffer&) are
not thread safe
- fixed GH #345: Linker warning LNK4221 in Foundation for SignalHandler.obj, String.obj
and ByteOrder.obj