--- parser3/ChangeLog 2015/10/07 11:20:48 1.96 +++ parser3/ChangeLog 2020/05/25 02:05:07 1.136 @@ -1,3 +1,2673 @@ +2020-05-23 moko + + * src/: classes/mail.C, types/pa_vmail.C, types/pa_vmail.h: + whitespace, unused level removed + +2020-05-19 moko + + * src/types/pa_vmail.C: whitespace + + * src/types/pa_vmail.C: files should be processed last (related to + feature #1176) + +2020-05-12 moko + + * src/include/pa_memory.h: no new/delete checks for for FreeBSD1X.X + due to https://bugs.llvm.org/show_bug.cgi?id=40161 bug + + * configure.ac: FreeBSD1X.X check added to avoid + https://bugs.llvm.org/show_bug.cgi?id=40161 bug. + +2020-02-26 moko + + * src/main/pa_common.C: entry_exists -> entry_ifdir to fix Windows + compilation issue (related to bug #1201) + + * src/main/pa_common.C: entry_readable -> entry_exists, + undocumented access(fname, R_OK) call removed (fixes bug #1201) + -f and -d now works under Windows in UTF-8 with Russian + filenames. + + * src/types/pa_vmail.C: g_mime_stream_pipe_new used by gmime author + advice (related to feature #1199) + +2020-02-25 moko + + * buildall: --silent removed + + * configure.ac: gmime-3.0 support + + * buildall: --with-system-mailreceive option added to build with + system libgmime + + * src/types/pa_vmail.C: avoiding + https://github.com/jstedfast/gmime/issues/83 "feature" (related + to feature #1199) + +2020-02-18 moko + + * src/classes/op.C: windows x64 debug mode compile fix + + * src/main/pa_globals.C: no longer required due to -MD -> -MT + change (releated to feature #1200) + + * src/: classes/classes.vcproj, lib/cord/cord.vcproj, + lib/gd/gd.vcproj, lib/json/json.vcproj, lib/ltdl/ltdl.vcproj, + lib/md5/md5.vcproj, lib/memcached/memcached.vcproj, + lib/pcre/pcre_internal.vcproj, lib/punycode/punycode.vcproj, + lib/sdbm/sdbm.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj, + targets/apache/ApacheModuleParser3.vcproj, + targets/apache/ApacheModuleParser3Core.vcproj, + targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, + types/types.vcproj: -MD -> -MT to remove msvcp71.dll/etc + dependency (related to feature #1200) + +2020-02-12 moko + + * src/types/pa_vmail.C: minimize diff + + * src/types/pa_vmail.C: libgmime 3.X support (implements feature + #1199) + +2020-01-18 moko + + * tests/: 388-sql.html, results/388-sql.processed: +postprocess + +2019-12-28 moko + + * src/targets/cgi/parser3.C: avoid empty ? + +2019-12-27 moko + + * src/targets/cgi/parser3.C: PATH_INFO check in reinventing + DOCUMENT_ROOT (related to feature #1164) + + * src/targets/cgi/parser3.C: IIS5 support removed to simplify + fcgiwrap setup (implements feature #1164) + + * src/targets/cgi/parser3.C: real_parser_handler logic simplified, + but no issues found (related to feature #1164) + + * src/targets/cgi/parser3.C: actualized + +2019-12-26 moko + + * src/targets/apache/ApacheModuleParser3.vcproj: apache stop/start + removed + + * src/targets/isapi/parser3isapi.vcproj: inetinfo stop/start + removed + + * src/: lib/gc/include/gc.h, main/pa_globals.C: As we log + allocation errors, we don't want default gc warnings (without + timestamp and URI). + + * src/: classes/memory.C, main/pa_globals.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: GC_dont_gc=1 moved to + pa_globals_init + + * src/main/pa_globals.C: setup_hex_value() removed, static array + initialization used (optimization) + + * src/: main/pa_globals.C, targets/apache/mod_parser3_core.C, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C: + pa_socks_init/pa_socks_done moved inside pa_globals_init + (optimization) + +2019-12-09 moko + + * src/include/pa_config_fixed.h: warning war + +2019-12-08 moko + + * src/main/main.vcproj: compile.y - ExcludedFromBuild, as we + process grammar under Unix. + +2019-12-07 moko + + * tests/389.html: For Windows XP. :) + + * tests/388-sql.html: Windows compatibility added + +2019-12-06 moko + + * src/targets/cgi/parser3.C: warning war + + * src/main/pa_string.C: + COMPILE_ASSERT(sizeof(String::Languages) + == sizeof(CORD)) to avoid aligning bugs in future + + * src/: include/pa_config_fixed.h, main/pa_globals.C: simplified to + XML_STATIC + + * src/include/pa_request.h: StackItem() not required + + * src/include/pa_stack.h: warning war + + * src/include/pa_config_includes.h: GCC warning silenced + + * src/include/pa_memory.h: warning war: the program should also + define 'void operator delete [](void*, std::size_t)' + [-Wsized-deallocation] + + * src/types/: pa_vregex.h, pa_vtable.h: warning war + + * src/classes/string.C: not reqired cast removed + + * src/classes/string.C: not reqired cast removed + +2019-12-05 moko + + * src/lib/sdbm/pa_file_io.C: warning war + + * src/include/pa_string.h: bugfix for Windows x64: enum Language -> + enum Language : size_t - required for VS2015+ to make + sizeof(Languages::opt) == sizeof(CORD), will be 16 byte under x64 + without it (related to feature #1198) + +2019-12-04 moko + + * src/main/pa_base64.C: unsigned char -> uchar + + * src/main/: main.vcproj, pa_globals.C: libpcre now linked same way + as other libs + + * src/include/pa_version.h: +amd64 + +2019-12-03 moko + + * src/: classes/classes.vcproj, types/types.vcproj: sync debug with + release + + * src/include/pa_config_includes.h: warning war + + * src/classes/image.C: warning war + + * src/main/pa_globals.C: x64 libs support + + * src/include/pa_config_includes.h: warning war + + * src/types/pa_method.h: warning war + +2019-11-28 moko + + * src/classes/math.C: vs2003 compatibility + warning war + + * buildall: libxslt-1.1.29 -> libxslt-1.1.34, libxml2-2.9.4 -> + libxml2-2.9.9 (related to feature #1136) + + * src/classes/xdoc.C: xmlHashScanner declaration changed, using + typecast for more compatibility (related to feature #1136) + + * buildall: --direct-download option added, gc-7.6.2 -> gc-8.0.4 + + libatomic no longer required, pcre-8.40 -> pcre-8.43 (related to + feature #1136) + +2019-11-26 moko + + * src/main/: compile_tools.C, compile_tools.h: invalid assert + removed (it was failing in $$var case), condition added + +2019-11-25 moko + + * tests/: 397.html, 399.html, results/141.processed, + results/399.processed: base64 options tested + + * src/: classes/math.C, main/pa_http.C: base64 options used + + * src/main/pa_base64.C: base64 encode rewritten, base64 options + implemented (feature #986) + + * src/main/pa_cache_managers.C: whitespace + + * tests/: 397.html, 399.html, results/399.processed: tests for + ^base64 encode options added (related to feature #986) + + * src/: classes/file.C, include/pa_base64.h, main/pa_base64.C: + pa_base64_encode(file) removed - more memory, but faster and less + code (related fo feature #986) + +2019-11-24 moko + + * tests/: 155.html, results/155.processed: limit and offset in + ^table::load[] now supported, thus test added + + * src/: classes/file.C, classes/table.C, include/pa_common.h, + main/pa_common.C: optimization: offset and limit options parsing + moved inside file_load. + +2019-11-23 moko + + * src/: classes/file.C, classes/op.C, include/pa_common.h, + main/pa_common.C, main/pa_request.C, types/pa_vform.C: + optimization: file_read replaced with simplified file_read_binary + + * src/: classes/op.C, main/pa_common.C, main/pa_request.C, + types/pa_vform.C: whitespace + + * src/: include/pa_common.h, main/pa_common.C: never used params + removed + +2019-11-21 moko + + * tests/: 193.html, results/193.processed, results/389.processed: + test results updated as now base64 does not discard tail without + padding (related to feature #986) + +2019-11-20 moko + + * src/: classes/file.C, classes/string.C, include/pa_base64.h, + main/pa_base64.C: optimization: void pa_base64_decode -> size_t + pa_base64_decode (related to feature #986) + + * tests/398.html: tests for base64 decode added (related to feature + #986) + + * src/main/pa_base64.C: base64_decode rewritten - padding option + support, padding inside base 64 supported (related to feature + #096) + +2019-11-19 moko + + * src/include/pa_memory.h: CHECK_DELETE_USAGE tested to work under + FreeBSD 12 + +2019-11-16 moko + + * src/main/pa_base64.C: base64_decode converted to C++, url-safe + support added, step support removed (related to #986) + +2019-11-15 moko + + * src/classes/math.C: using log since log2 is not present on + FreeBSD < 8.4 (related to feature #1177) + + * src/: include/pa_base64.h, main/pa_base64.C: whitespace, + pa_base64_size extracted and used for files as well (related to + feature 986) + +2019-11-14 moko + + * tests/: 397.html, results/397.processed: + content check + + * tests/: 141.html, results/141.processed: make test resuls more + readable + + * tests/: 397.html, results/193.processed, results/397.processed: + test results updated after \x00 character was disabled in + math:convert string mode (related to feature #1177) + + * src/classes/: math.C, string.C: \\x00 character disabled while + converting to string (as in base64, related to feature #1177) + + * src/classes/file.C: more correct arguments separation + + * src/: classes/file.C, classes/math.C, classes/string.C, + include/pa_base64.h, include/pa_common.h, main/pa_base64.C, + main/pa_http.C, types/pa_vfile.C, types/pa_vmail.C: base64 + options added, but not yet implemented (related to feature #986) + + * src/classes/math.C: whitespace + +2019-11-13 moko + + * tests/: 397.html, results/397.processed: +tainting test (related + to feature #1177) + + * src/classes/math.C: as we now produce not only digits, result + should be tainted (related to feature #1177) + + * src/main/pa_base64.C: whitespace + + * src/: include/Makefile.am, main/Makefile.am, main/main.vcproj, + include/pa_base64.h, include/pa_common.h, main/pa_base64.C, + main/pa_common.C: pa_base64.h and pa_base64.C added, base64 + implementation moved from pa_common.h and pa_common.C + +2019-11-12 moko + + * tests/: 275.html, results/275.processed: out of range test fixed, + as ^math:convert now supports arbitrary precision + +2019-11-11 moko + + * tests/results/389.processed: uctualized error message + + * tests/: 389.html, 397.html, results/397.processed: tests for + ^math:convert added (related to feature #1177) + + * src/classes/math.C: ^math:convert now supports arbitrary + precision, alphabet support added (implements feature #1177) + +2019-11-06 moko + + * tests/: 181.html, results/181.processed: entities usage added, + more entites load tests (related to bug #842 discussion) + +2019-11-05 moko + + * src/main/pa_xml_io.C: bugfix: no more extra http://localhost/ + call from xmlFileOpen if http://localhost/ was not found + (related to bug #842) + + * src/main/pa_xml_io.C: rename + + * src/main/pa_xml_io.C: +MemoryStream constructor + + * src/main/pa_xml_io.C: whitespace + +2019-10-31 moko + + * src/classes/xdoc.C: XML_PARSE_OPTIONS (XML_PARSE_DTDLOAD | + XML_PARSE_NOENT) added to fix entities load, (related to feature + #1181) + +2019-10-25 moko + + * tests/: 388-sql.html, results/388-sql.processed: more multiple + queries tests + +2019-10-24 moko + + * tests/: 388-sql.html, results/388-sql.processed: support for + pgsql driver test + + * tests/: 388-sql.html, results/388-sql.processed: + multi_statements=1 now tested, mysql test now supported + (connection must be specified in [parser3] section in .my.cnf) + related to issues #1195 and #1194 + +2019-09-11 moko + + * src/classes/int.C: whitespace + + * tests/: 388-sql.html, results/388-sql.processed: +duplicate key + exception test + + * tests/results/388-sql.processed: sql queries now shown (related + to feature #1196) + + * src/sql/pa_sql_driver.h: to keep new SQL drivers more compatible + with old parser versions. + + * src/: classes/file.C, classes/hash.C, classes/string.C, + classes/table.C, classes/void.C, include/pa_sql_connection.h, + main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: Show query + instead of connect string in query_event_handlers exceptions + (implements feature #1196) + +2019-09-06 moko + + * tests/388-sql.html: mysql compat + + * src/: classes/hash.C, classes/string.C, classes/table.C, + classes/void.C, include/pa_common.h, main/pa_common.C: cleanup: + sql_ variables declaration moved to pa_common.h + +2019-01-15 moko + + * src/classes/curl.C: ^curl:info[] - OrderedHashString used, items + logically sorted + +2018-12-27 moko + + * src/include/pa_config_includes.h: warning war: + -Wdeprecated-register added for C++ 17 + +2018-10-15 moko + + * configure.ac: FreeBSD 11.2 can be build with ./configure + --with-gc=/usr/local/lib/ --with-pcre=/usr/local/ + --with-xml=/usr/local/ + +2018-09-24 moko + + * tests/: 396.html, 396.tiff, results/396.processed: test for + ^image::measure[] now supports tiff added (related to feature + #1188) + + * src/classes/image.C: ^image::measure[] now supports tiff + (implements feature #1188) + +2018-09-20 moko + + * tests/: 395.bmp, 395.html, results/395.processed: test for bmp + files measure added (related to ticket #1188) + + * src/classes/image.C: measure of bmp files implemented (related to + ticket #1188) + +2018-09-18 moko + + * tests/: 394-curl.html, results/394-curl.processed, + results/auto.p: test for bug #1187 (max_file_size check for head + requests) added + +2018-08-24 moko + + * src/classes/curl.C: CURLOPT_NOBODY value used to check if + response content-length check is required (fixes bug #1187) + +2018-05-11 moko + + * tests/: 157.html, results/157.processed: test for ^file:copy[..; + $.append(bool) ] option added (related to feature #919) + + * src/classes/file.C: ^file:copy[..; $.append(bool) ] option added + from misha@ patch (implements feature #919) + +2018-03-22 moko + + * src/main/pa_request.C: $response:download[ $.file[file.namef] ] + worked rather slow (about 1mb/sec) with 10kb buffer, replaced it + with 128kb buffer. Now works at least 12 times faster. :) May be + Windows-only problem. + + * src/lib/cord/cord.vcproj: Profile * complete cleanup (VS 2003 + build fix) + +2018-02-03 moko + + * src/main/execute.C: removes irrelevant lines from exception stack + trace when exceptions occurs in assigment (fixes bug #1165) + + * tests/: 393.html, results/393.processed: test for behavour after + "Property can not be created, already exists field with that + name" exception removed (related to feature #1183) + + * src/types/pa_vclass.C: "Property can not be created, already + exists field with that name" exception removed (implements + feature #1183) + +2018-01-19 moko + + * src/classes/string.C: whitespace + + * src/classes/string.C: whitespace + + * tests/: 392.html, results/392.processed: test for + ^regex::create[$regex] added (related to feature #1135) + + * src/: classes/regex.C, types/pa_vregex.C, types/pa_vregex.h: + ^regex::create[$regex] added (implements feature #1135) + + * src/types/: pa_vclass.C, pa_vclass.h: CLASS_GETTER_UNPROTECTED + commented define added (related to feature #1157) + +2018-01-17 moko + + * buildall: gc 7.6.0 -> 7.6.2 (related to feature #1136) + +2018-01-15 moko + + * tests/: 390.html, results/390.processed: real path replaced by + stub + + * tests/: 391.html, results/391.processed: test for feature #1181 + (XML_PARSE_HUGE exception) added + +2018-01-11 moko + + * bin/auto.p.dist.in: sqlite3 -> libsqlite3 + + * src/classes/xdoc.C: xmlReadMemory/xmlReadFile now used with + XML_PARSE_HUGE option passed by default (implements feature + #1181) + + * src/classes/string.C: whitespace + +2017-12-10 moko + + * tests/: 389.html, 390.html, results/389.processed, + results/390.processed: image code coverage tests added (related + to feature #1125) + +2017-12-08 moko + + * tests/: 346-curl.html, 388-sql.html, 389.html, + results/346-curl.processed, results/388-sql.processed, + results/389.processed: more code coverage tests + + * tests/: 264.html, results/264.processed: code coverage for + ^file::exec[] + +2017-12-07 moko + + * tests/: 174.html, 388-sql.html, 389.html, + results/388-sql.processed, results/389.processed, + results/174.processed: more coverage tests + + * src/classes/math.C: exception text actualized + +2017-12-06 moko + + * tests/388-sql.html: $SQL can be here + + * tests/results/auto.p: $SQL not required here + + * tests/: 388-sql.html, 389.html, Makefile, + results/388-sql.processed, results/389.processed, results/auto.p: + code coverage tests for sql (using sqlite) and int/double/bool + added (related to feature #1125) + + * src/: classes/classes.vcproj, lib/cord/cord.vcproj, + lib/json/json.vcproj, lib/md5/md5.vcproj, + lib/memcached/memcached.vcproj, lib/punycode/punycode.vcproj, + lib/sdbm/sdbm.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj, + targets/apache/ApacheModuleParser3Core.vcproj, + targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, + types/types.vcproj: gc\include no longer required + + * src/lib/: cord/cord.vcproj, gd/gd.vcproj: gc\include no longer + required + + * src/: classes/Makefile.am, classes/table.C, + include/pa_config_includes.h, include/pa_string.h, + lib/cord/Makefile.am, lib/cord/cordbscs.c, lib/cord/cordxtra.c, + lib/gd/Makefile.am, lib/json/Makefile.am, lib/sdbm/Makefile.am, + lib/smtp/Makefile.am, main/Makefile.am, main/untaint.C, + targets/apache/Makefile.am, targets/cgi/Makefile.am, + types/Makefile.am: to be sure that our version of gc.h/cord.h is + used, we now include it directly + +2017-12-04 moko + + * src/lib/: gd/gd.vcproj, md5/md5.vcproj, + memcached/memcached.vcproj, punycode/punycode.vcproj, + sdbm/sdbm.vcproj, smtp/smtp.vcproj: includes unified, gc added + where required + + * src/: classes/memory.C, include/pa_config_includes.h: GC_DEBUG + now can be used to trace memory allocations + + * src/: classes/table.C, include/pa_config_includes.h, + include/pa_memory.h, lib/cord/cordbscs.c, lib/cord/cordxtra.c, + main/pa_globals.C: PA_DEBUG_DISABLE_GC works again, pa_gc_* + method removes, libcord also can work without libgc + + * src/classes/json.C: pa_gc_malloc_atomic should not be used + +2017-11-29 moko + + * src/classes/curl.C: no exception if some of ^curl:info[] elements + are not present (related to feature #1173) + + * tests/346-curl.html: test updated to test curl content-length bug + (related to feature #1173) + + * tests/results/346-curl.processed: more test for content-length + curl bug (related to feature #1173) + + * tests/results/346-curl.processed: test results updated after + #1173 implemented + +2017-11-28 moko + + * src/classes/curl.C: another libcurl Content-length bug walkaround + (related to feature #1173) + +2017-11-27 moko + + * src/: classes/curl.C, lib/curl/curl.h: ^curl:options + $.http_version[version string] added (implements feature #1173), + CURLOPT_POSTFIELDSIZE is set to 0 now only for old versions, + where $post(true) bug existed. + +2017-11-18 moko + + * src/include/pa_memory.h: warning war (related to feature #1170) + + * src/include/pa_pool.h: RedHat 7.3 compatibility fixed (related to + feature #1170) + +2017-11-17 moko + + * src/include/pa_memory.h: CHECK_DELETE_USAGE define added as + std::basic_stringstream used in ^table.csv-string[] is compatible + with delete usage check only under Debian 9 (related to feature + #1170) + +2017-11-16 moko + + * src/: classes/curl.C, classes/hash.C, classes/json.C, + classes/table.C, classes/xdoc.C, include/pa_config_includes.h, + include/pa_hash.h, include/pa_memory.h, include/pa_pool.h, + main/pa_charset.C, main/pa_memory.C, main/pa_xml_io.C, + sql/pa_sql_driver.h, types/pa_value.h, types/pa_vmemcached.C, + types/pa_vxdoc.h: regular new/delete no longer used in our code, + stubs defend from accidental use (implements feature #1170) + +2017-06-24 moko + + * configure.ac: minor fix: thanks to alx@ + +2017-05-29 moko + + * src/types/pa_vmail.C: mail headers are now correctly truncated - + MAX_CHARS_IN_HEADER_LINE value fixed, mail_header_utf8_substring + added to avoid cutting of UTF-8 chars (fixed bug #123) + + * src/main/untaint.C: as in case of =?UTF-8?Q?= space is + ignored, =?UTF-8?Q?= should start in case of leading space + (related to bug #123) + + * buildall: echo -n -> printf for OS X. :) + +2017-05-25 moko + + * tests/: 288.html, results/288.processed: test updated afted + setting $o.prop without setter exception removed (related to + feature #1157) + + * src/types/pa_vclass.C: no more "this property has no setter + method" when setting $o.prop without setter (implements feature + #1157) + + * buildall: echo \c -> echo -n for FreeBSD + + * configure, configure.ac, src/include/pa_config_auto.h.in, + src/types/pa_vdouble.h: isfinite now checked in configure + + * compile, config.guess, config.sub, depcomp, install-sh, missing: + upgraded to automake 1.15 + +2017-05-23 moko + + * src/types/pa_vdouble.h: finite returned where isfinite not + defined + +2017-05-22 moko + + * buildall: gc-7.6.0 USE_LIBC_PRIVATES allready defined warning war + + * buildall: extern CFLAGS setting support + + * src/types/pa_vdouble.h: warning war: finine() -> isfinite() 4OSX + + * buildall: http -> https + + * buildall: gc-7.2f -> gc-7.6.0 + +2017-05-20 moko + + * buildall: https, pcre, xml, xslt updated to current versions + (related to feature #1136) + +2017-05-19 moko + + * tests/097.html: after parser.ru moved to https + +2017-05-17 moko + + * tests/results/: 175.processed, 372.processed: tests resuls + updated after lintian spelling typos fixed (related to bug #1156) + + * src/: classes/file.C, classes/hash.C, classes/reflection.C, + classes/string.C, classes/table.C, main/pa_charset.C, + main/pa_common.C, main/pa_http.C, types/pa_vimage.h, + types/pa_vmail.C, types/pa_vxdoc.h: fixed spelling typos from + lintian reported by Sergey B Kirpichev (fixes bug #1156) + + * tests/results/096.processed: +XMP + + * tests/: 096.html, 096_dir/188.jpg: ^image::measure[] $.exif(true) + $.xmp(true) options tested (test for feature #1154) + + * src/classes/image.C: ^image:measure[] options $.exif(false) + $.xmp(false) $.xmp-charset[UTF-8] implemened. exif no longer + fetched by default! (implements feature #1154) + +2017-05-16 moko + + * tests/: 256.html, results/256.processed: ^json:string[$image] now + allowed (related to feature #1154) + + * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: + initial XMP implementation - without options and transcode + (related to feature #1154) + +2017-05-12 moko + + * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: + image: exif moved to ffields, skipped in ^image.html[] where + iterators now used (preparation for feature #1154) + +2017-05-05 moko + + * tests/: 387.html, 387_dir/A.p, 387_dir/B.p, + results/387.processed: test for circular class inheritance check + added (related to bug #1150) + + * src/types/pa_vstateless_class.C: circular class inheritance check + added (fixes endless add_derived bug #1150) + +2017-05-04 moko + + * tests/: 386.html, results/386.processed: test for + $table.value(number) added (related to feature #1152) + + * src/types/pa_vtable.C: table put_element: column value must be + string - > column value must be string compatible to allow + $t.value(1) (implements feature #1152) + +2017-05-03 moko + + * src/main/pa_request.C: $use[$method] is not possible, reverting + (related to feature #1151) + + * tests/: 386.html, 386.p, results/386.processed: $use[$method] is + not possible, removing test (related to feature #1151) + + * src/: main/pa_request.C, types/pa_vstateless_class.h: + get_element_method added and used to allow $use[$method] and + $autouse[$method] (implements feature 1151) + + * tests/: 386.html, 386.p, results/386.processed: test for @use in + variable added (related to feature #1151) + + * tests/results/226.processed: actualized after ^try-catch used + + * tests/: 226.html, 385.html, results/385.processed: test for + @autouse in variable added + + * configure.ac, src/include/pa_version.h: 3.4.5 -> 3.4.6b + +2017-02-27 moko + + * configure.ac, src/include/pa_version.h: 3.4.5rc -> 3.4.5 + +2017-02-20 moko + + * operators.txt: actualization + beauty + +2017-02-16 moko + + * tests/: 384.html, results/384.processed: test for + ^reflection:mixin[; $.name[] ] option added (related to feature + #1089) + + * tests/: 384.html, results/384.processed: test for + ^reflection:mixin[] added (related to feature #1089) + + * src/types/pa_value.h: warning war: virtual ~Value() added + +2017-02-15 moko + + * src/include/pa_hash.h: compilation without HASH_CODE_CACHING + fixed + + * tests/: 320.html, results/320.processed: $.reverse(true/false) + test added (related to feature #1069) + + * src/: classes/reflection.C, types/pa_vstateless_class.h: + compilation without HASH_ORDER fixed + + * src/: classes/reflection.C, include/pa_hash.h: + $.reverse(true/false) added to ^reflection:methods[] (related to + feature #1069) + +2017-02-14 moko + + * tests/: 152.html, results/152.processed: test for $._default hash + added (related to bug #1131) + + * tests/: 277.html, results/277.processed: test for hash with only + $._default is now defined (related to bug #1131) + + * src/types/pa_vhash.h: hash with only $._default is now defined + (fixed bug #1131) + +2017-02-13 moko + + * tests/cat-windows.sh: cat-windows added (cygwin required) + + * tests/: 171.html, 264.html, 286.html, 370.html, + results/320.processed, results/375.processed, results/auto.p: + cat-windows.sh support added + + * tests/375.html: Windows support + + * tests/270.html: documented + + * tests/: 270.html, run_parser.cmd: bugfix: PATH_INFO has slashes + (not backslashes) even under Windows (broke test 270) + +2017-02-12 moko + + * tests/: descript.ion, todo.txt: cleanup + +2017-02-09 moko + + * tests/: 253.html, 255.html, 275.html, 347-curl.html, + run_tests.cmd: Windows compatibility + + * tests/make_tests.cmd: removed as test can't be passed - TZ is set + incorrectly (GMT) if parser is called from cygwin + +2017-02-08 moko + + * operators.txt: actualization 15% completed + + * operators.txt: cp1251 -> utf-8 + + * NEWS, README: minor update + + * src/include/pa_config_includes.h: warning war continues + + * src/: include/pa_config_includes.h, include/pa_memory.h, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C, types/pa_vdouble.h: warning war: + gcc 6.x issues fixed + + * src/: classes/bool.C, classes/classes.C, classes/classes.awk, + classes/classes.h, classes/curl.C, classes/date.C, + classes/double.C, classes/file.C, classes/form.C, classes/hash.C, + classes/hashfile.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/mail.C, classes/math.C, + classes/memcached.C, classes/memory.C, classes/op.C, + classes/reflection.C, classes/regex.C, classes/response.C, + classes/string.C, classes/table.C, classes/void.C, + classes/xdoc.C, classes/xnode.C, classes/xnode.h, + include/pa_array.h, include/pa_cache_managers.h, + include/pa_charset.h, include/pa_charsets.h, include/pa_common.h, + include/pa_config_fixed.h, include/pa_config_includes.h, + include/pa_dictionary.h, include/pa_dir.h, + include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, + include/pa_hash.h, include/pa_http.h, include/pa_memory.h, + include/pa_opcode.h, include/pa_operation.h, include/pa_os.h, + include/pa_pool.h, include/pa_random.h, include/pa_request.h, + include/pa_request_charsets.h, include/pa_request_info.h, + include/pa_sapi.h, include/pa_socks.h, + include/pa_sql_connection.h, include/pa_sql_driver_manager.h, + include/pa_stack.h, include/pa_string.h, + include/pa_stylesheet_connection.h, + include/pa_stylesheet_manager.h, include/pa_symbols.h, + include/pa_table.h, include/pa_threads.h, include/pa_types.h, + include/pa_uue.h, include/pa_xml_exception.h, + include/pa_xml_io.h, lib/gd/gif.C, lib/gd/gif.h, lib/gd/gifio.C, + lib/md5/pa_md5.h, lib/md5/pa_md5c.c, + lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, + lib/punycode/pa_idna.c, lib/punycode/pa_idna.h, + lib/sdbm/pa_file_io.C, lib/sdbm/pa_strings.C, lib/smtp/comms.C, + lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.C, + main/compile.tab.C, main/compile.y, main/compile_tools.C, + main/compile_tools.h, main/execute.C, main/pa_cache_managers.C, + main/pa_charset.C, main/pa_charsets.C, main/pa_common.C, + main/pa_dictionary.C, main/pa_dir.C, main/pa_exception.C, + main/pa_exec.C, main/pa_globals.C, main/pa_http.C, + main/pa_memory.C, main/pa_os.C, main/pa_pool.C, main/pa_random.C, + main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, + main/pa_string.C, main/pa_stylesheet_connection.C, + main/pa_stylesheet_manager.C, main/pa_symbols.C, main/pa_table.C, + main/pa_uue.C, main/pa_xml_exception.C, main/pa_xml_io.C, + main/untaint.C, sql/pa_sql_driver.h, + targets/apache/mod_parser3.c, targets/apache/mod_parser3_core.C, + targets/apache/pa_httpd.h, targets/apache/pa_threads.C, + targets/cgi/pa_threads.C, targets/cgi/parser3.C, + targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, + types/pa_junction.h, types/pa_method.h, types/pa_property.h, + types/pa_value.C, types/pa_value.h, types/pa_vbool.h, + types/pa_vcaller_wrapper.h, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vcode_frame.h, types/pa_vconsole.h, types/pa_vcookie.C, + types/pa_vcookie.h, types/pa_vdate.C, types/pa_vdate.h, + types/pa_vdouble.h, types/pa_venv.C, types/pa_venv.h, + types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, + types/pa_vform.h, types/pa_vhash.C, types/pa_vhash.h, + types/pa_vhashfile.C, types/pa_vhashfile.h, types/pa_vimage.C, + types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.C, + types/pa_vjunction.h, types/pa_vmail.C, types/pa_vmail.h, + types/pa_vmath.C, types/pa_vmath.h, types/pa_vmemcached.C, + types/pa_vmemcached.h, types/pa_vmemory.h, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_vobject.h, types/pa_vregex.C, + types/pa_vregex.h, types/pa_vrequest.C, types/pa_vrequest.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.C, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.C, + types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h: Copyright year: + 2015->2017 + +2017-02-07 moko + + * configure.ac, src/include/pa_version.h: 3.4.5b -> 3.4.5rc + +2017-02-06 moko + + * src/main/pa_common.C: minor fixes, whitespace + + * src/: classes/curl.C, classes/file.C, classes/image.C, + include/pa_common.h, include/pa_dir.h, main/pa_common.C, + main/pa_dir.C, main/pa_exec.C: wchar filenames API under Windows + now used (implements feature #1081) + + * src/: types/pa_vcookie.C, main/pa_charset.C: cleanup + +2017-02-01 moko + + * src/include/pa_request.h: cleanup + +2017-01-30 moko + + * src/main/pa_request.C: file_lock_wait_limit -> lock_wait_timeout + +2017-01-29 moko + + * tests/: 383.html, results/383.processed: test for + ^reflection:stack[] added (related to feature #1052) + + * src/classes/reflection.C: else added + + * src/: include/pa_os.h, main/pa_os.C, main/pa_request.C: + $.max_file_lock_wait added (implements feature #1128) + +2017-01-28 moko + + * tests/: 379-curl.html, results/379-curl.processed: curl empty + body and other cases tests added (related to featue #1014) + + * src/classes/curl.C: bug if response is empty fixed (related to + feature #1014) + +2017-01-27 moko + + * src/: classes/json.C, classes/reflection.C, include/pa_request.h, + main/execute.C, types/pa_vmethod_frame.h: ^reflection:stack[] + added (implements feature #1052) + +2017-01-25 moko + + * tests/: 382.html, results/382.processed: @GET_DEFAULT returning + method test added + +2017-01-23 moko + + * src/classes/reflection.C: optimization: options->get replaced by + hash iterator + + * tests/: 381.html, results/381.processed: now -> fixed date + + * src/main/pa_request.C: warning war + + * src/targets/cgi/parser3.vcproj: Stack size increased from 2Mb to + 5Mb (fixes bug #1058) + + * src/classes/curl.C: warning war + + * tests/: 381.html, results/381.processed: tests for ^json:string + $.one-line(true) option added (related to feature #1124) + + * src/: classes/json.C, types/pa_value.h: $json-string + $.one-line(true|false) options is now supported (implements + feature #1124) + + * tests/: 380.html, results/380.processed: test for modified + $.max_file_size added (related to bug #1014) + + * tests/: 379.html, results/auto.p: tests for rewritten http file + load added (related to bug #1014) + + * src/: classes/curl.C, include/pa_common.h, include/pa_http.h, + main/pa_common.C, main/pa_http.C: check_file_size added and used + in curl / file load from disk and http, http file load rewritten + (related to bug #1014) + +2017-01-18 moko + + * tests/: 378.html, results/378.processed: tests for ^result[] + added (related to feature #66) + + * src/: classes/op.C, include/pa_request.h: ^return[] can't be + Method::CO_WITHOUT_FRAME as frame still added in expression + (related to feature #66) + +2017-01-17 moko + + * tests/: 377.html, results/377.processed: test for different + combinations of breaks in body and delimiter (related to bug + #1077) + + * tests/: 376.html, results/376.processed: many ^break[] tests + added (related to bug #1077) + + * src/types/pa_vmethod_frame.C: "break is not allowed in expression + passed to native method" exception added to avoid bugs due to + WRITE_EXPR_RESULT skipped and native methods execution continues + after ^break[] (related to bug #1077) + +2017-01-14 moko + + * tests/: 330.html, results/330.processed: test results updated + after ^break[] bugs where fixed (related to bug #1077) + + * tests/: 329.html, results/329.processed: test results updated + after ^break[] bugs where fixed (related to bug #1077) + + * tests/results/320.processed: ^return[] added + +2017-01-13 moko + + * src/: classes/hash.C, classes/hashfile.C, classes/op.C, + classes/table.C, include/pa_request.h, main/execute.C, + main/pa_request.C, targets/cgi/parser3.C, + types/pa_vmethod_frame.C: Request::SKIP_INTERRUPTED, + Request::SKIP_RETURN added and implemented, Request::SKIP_* now + checked after each possible process/execute call (fixes bug + #1077) + +2016-12-29 moko + + * src/main/pa_common.C: warning war + + * src/: classes/math.C, include/pa_random.h, include/pa_request.h, + include/pa_types.h, main/pa_request.C, main/pa_string.C: + pa_file_size_limit added, ^math:random fixed for upper limit and + limits more then 0x7FFFFFFF, limits now declared in pa_types.h + (related to feature #1014) + + * src/: classes/curl.C, classes/file.C, include/pa_common.h, + main/pa_common.C, main/pa_dir.C, main/pa_exec.C: stat -> pa_stat + (related to feature #1014) + +2016-12-28 moko + + * src/: classes/file.C, main/pa_request.C, main/pa_string.C: VS2003 + warning war + +2016-12-26 moko + + * tests/: 341.html, results/341.processed: test for + ^table.hash[id;;$.type[string]] added (related to feature #1057) + + * src/classes/table.C: ^table.hash[id;;$.type[string]] support fix + (related to feature #1057) + + * src/types/pa_vdate.C: warning war continues... + + * src/: classes/date.C, classes/image.C, classes/table.C, + include/pa_config_includes.h, types/pa_vfile.C: warning war + + * src/lib/gd/gifio.C: warning war / cleanup + + * src/lib/json/pa_json.C: warning war + + * src/classes/hash.C: warning war + + * src/types/pa_vfile.C: warning war + + * src/: classes/hash.C, include/pa_common.h, types/pa_vcookie.C: + -Wall warning war continues + + * configure.ac: --with-build-warnings actualized + +2016-12-25 moko + + * src/main/pa_exec.C: -wAll warning war + + * src/: types/pa_vform.C, types/pa_vrequest.C, main/pa_common.C: + -wAll warning war + + * src/: include/pa_common.h, include/pa_sapi.h, + types/pa_junction.h, types/pa_method.h, types/pa_value.h, + types/pa_vdate.C, types/pa_vstateless_class.h, types/pa_vxdoc.h: + -wAll warning war + +2016-12-23 moko + + * src/lib/ltdl/Makefile.am: extra dist added + + * tests/results/344.processed: test result updated after $file.text + prefetched in ^hash::create[$file] (related to feature #1075) + + * src/types/: pa_vfile.C, pa_vfile.h: $file.text prefetched in + ^hash::create[$file] (related to feature #1075) + +2016-12-22 moko + + * src/: classes/file.C, include/pa_common.h, main/pa_common.C, + main/pa_request.C, main/pa_stylesheet_connection.C, + types/pa_vfile.C: file_stat now return 64-bit size (implements + #1014 under 32-bit unix versions) + +2016-12-21 moko + + * tests/: 375.html, results/375.processed: test for exec returning + stated file added (related to feature #1119) + + * src/classes/file.C: load should not return file with null body + (fixes bug #1119) + +2016-12-14 moko + + * tests/: 374.html, results/374.processed: test for $method.name + added (related to feature #1117) plus method returning junction + test + +2016-12-13 moko + + * src/: include/pa_symbols.h, main/pa_symbols.C, + types/pa_vjunction.C, types/pa_vjunction.h: $method.name added + (implements feature #1117) + + * src/: types/pa_vform.C, include/pa_request_info.h: now only GET, + HEAD and TRACE can't have body (implements feature #1116) + +2016-12-09 moko + + * tests/: 373.html, results/373.processed: tests for + ^reflection:tainting added (related to feature #1098) + + * src/classes/reflection.C: ^reflection:tainting arguments order + change (related to feature #1098) + +2016-12-06 moko + + * src/: classes/reflection.C, include/pa_string.h, + main/pa_string.C: ^reflection:tainting[$string] added (implements + feature #1098) + +2016-12-05 moko + + * src/types/pa_vdouble.h: negative zero (-0) now converted to 0 + (fixes bug #1114) + +2016-12-04 moko + + * tests/: 206.html, results/206.processed: negative zero (0/-1) + check added + +2016-12-03 moko + + * tests/: 346-curl.html, results/346-curl.processed: test modified + to test value.as_hash() usage + + * src/classes/curl.C: value.as_hash() used for correct hash + processing + + * src/classes/reflection.C: exceptions texts fixes + +2016-12-02 moko + + * tests/: 372.html, results/372.processed: tests for + ^reflection:create[ $.class[name] $.constructor[name] + $.arguments[ $.1[param1] $.2[param2] ... ] ] added (related to + feature #1094) + + * src/types/pa_vmethod_frame.h: comment added: params should be + declared outside of *_FRAME_ACTION as MethodParams destructor + will be called in ~VNativeMethodFrame + + * src/classes/reflection.C: ^reflection:create[ $.arguments[ ... ] + ] minor fix + + * src/: classes/reflection.C, types/pa_value.C, types/pa_value.h, + types/pa_vmethod_frame.C: ^reflection:create[ $.class[name] + $.constructor[name] $.arguments[ $.1[param1] $.2[param2] ... ] ] + now supported (implements feature #1094) value::as_hash added + (and should be used everywhere) + + * src/classes/reflection.C: cleanup + +2016-12-01 moko + + * tests/: 356.html, results/356.processed: test for method + junctions class name added to the resulting hash added (related + to feature #1068) + + * src/classes/reflection.C: for method junctions class name added + to the resulting hash (related to feature #1068) + +2016-11-30 moko + + * src/types/: pa_vhashfile.C, pa_vhashfile.h: file_name included in + exception (related to bug #1113) + + * src/types/pa_vhashfile.C: whitespace + + * src/main/pa_os.C: errno now returned as it should (fixes bug + #1113) + + * tests/results/: 175.processed, 192.processed, 224.processed, + 229.processed, 239.processed, 244.processed, 246.processed, + 314.processed, 352.processed: tests results updated after method + call exceptions improved as method now keeps its name + + * src/: classes/reflection.C, main/execute.C, types/pa_value.C, + types/pa_vmethod_frame.h: method call exceptions improved as + method now keeps its name + + * tests/: 224.html, 239.html, results/224.processed, + results/239.processed: tests and tests results updated after + Request::construct exception changed + + * src/: classes/reflection.C, main/execute.C: Request::construct + exception optimized + + * tests/: 371.html, results/371.processed: test for + WWrapper.get_element call in $.name.key[value] code added + (related to feature #1091) + + * src/types/pa_wwrapper.h: WWrapper.get_element returned, as used + in $.name.key[value] code (related to feature #1091) + +2016-11-29 moko + + * src/classes/op.C: VS warning war + + * src/types/: pa_vmethod_frame.h, pa_wcontext.h: VS warning war: + C4239: nonstandard extension used : 'return' : conversion from + 'Value' to 'Value &' (related to feature #1020) + + * src/: main/execute.C, types/pa_vmethod_frame.h, + types/pa_wcontext.h: VS warning war: C4239: nonstandard extension + used : 'return' : conversion from 'Value' to 'Value &' (related + to feature #1020) + + * src/main/execute.C: VS warning war + + * src/targets/cgi/parser3.C: VS compatibility fix + + * src/include/pa_request.h: VS warning war + + * tests/: 370.html, results/370.processed: test for ^file::exec[ + ... $.stdin[$binary_file] ] added (related to bug #1044) + + * src/: classes/file.C, classes/mail.C, include/pa_exec.h, + include/pa_string.h, main/pa_exec.C: pa_exec now supports + $.stdin[$binary_file] (fixes bug #1044) + +2016-11-28 moko + + * src/main/pa_exec.C: whitespace + + * src/main/pa_request.C: whitespace + + * tests/: 369.html, results/369.processed: test for + $response:status usage added (related to feature #1099) + + * src/targets/cgi/parser3.C: HTTP response code used as exit status + if < 100 (implements feature #1099) + + * src/targets/cgi/parser3.C: whitespace + + * src/targets/cgi/parser3.C: whitespace + + * tests/: 368.html, results/368.processed: test updated after + ^reflection:filename[$method] added (related to feature #1053) + + * src/: classes/op.C, classes/reflection.C, include/pa_request.h, + main/compile.y, main/execute.C, main/pa_request.C, + types/pa_vclass.h: filename -> filespec, + ^reflection:filename[$method] added (related to feature #1053) + +2016-11-27 moko + + * tests/: 368.html, results/368.processed: test for + reflection:filename[$class or object] added (related to feature + #1053) + + * src/: classes/reflection.C, main/compile.y, types/pa_vclass.h, + types/pa_vstateless_class.h: ^reflection:filename[$class or + object] added (implements feature #1053) + +2016-11-26 moko + + * src/: include/pa_request_info.h, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C: + remove_absolute_uri -> strip_absolute_uri + +2016-11-25 moko + + * src/: include/pa_request_info.h, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C: + request_info.remove_absolute_uri added to remove possible + http://site.name/ from $request:uri (implements feature #1112) + +2016-11-24 moko + + * tests/: 367-curl.html, results/367-curl.processed: test for + previous request headers clearing after redirect added (related + to bug #1109) + + * src/: classes/curl.C, include/pa_array.h, include/pa_http.h: + response headers from previous requests are now cleared, only + last request headers are collected (fixes bug #1109) + + * tests/results/: 266.processed, 321.processed, 356.processed: + tests results updated as method name now added to the resulting + hash for new syntax only (Imp1 compatimility fixed, related to + feature #1068) + + * src/classes/reflection.C: method name now added to the resulting + hash for new syntax only (Imp1 compatimility fixed, related to + feature #1068) + + * tests/results/366.processed: test for native and parser + implementation of ^use[] logic (related to feature #1074) + + * tests/: 366.html, 366_dir/test-duplicate.p, 366_dir/test.p: test + for native and parser implementation of ^use[] logic (related to + feature #1074) + +2016-11-23 moko + + * src/: classes/op.C, include/pa_request.h, main/compile.y, + main/pa_request.C: @USE file now implemented as ^use[file; + $.origin[origin_file] ] (implements feature #1074) + +2016-11-21 moko + + * tests/: 365.html, results/365.processed: test for $caller bugs in + 3.4.4 and $caller.method now tested (related to feature #1110) + + * tests/: 364.html, results/364.processed: $caller usage in + different contexts now tested (related to feature #1110) + + * src/types/types.vcproj: +pa_vcaller_wrapper.h + + * src/types/Makefile.am: pa_vcaller_wrapper.h added + + * src/: include/pa_symbols.h, main/pa_symbols.C, types/pa_method.h, + types/pa_vcaller_wrapper.h, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h: redesign: VCallerWrapper added and + used (implements feature #1110) + +2016-11-20 moko + + * src/types/pa_vdouble.h: whitespace + +2016-11-11 moko + + * tests/: 363.html, results/363.processed: more tests for feature + #1091 (how parser methods work in expression context) + + * src/: include/pa_request.h, types/pa_vmethod_frame.h: in + expressions strings are now written as strings, not values by + write_as_string (related to feature #1091) + + * src/classes/op.C: to make more correct behavour in expression + context + +2016-11-07 moko + + * tests/: 362.html, results/362.processed: test for + xsltParseStylesheetDoc caching as xsl modification after it added + (related to bug #1108) + + * src/: classes/xdoc.C, types/pa_vxdoc.h: xsltParseStylesheetDoc + result now cached as xdoc is modified after it (fixes bug #1108) + +2016-11-06 moko + + * src/types/pa_vxdoc.h: whitespace + +2016-11-05 moko + + * src/types/pa_vmethod_frame.h: cleanup + +2016-11-03 moko + + * tests/results/244.processed: more correct exception after method + frames separation + + * src/types/pa_vmethod_frame.h: minor optimizaion + + * src/types/pa_method.h: optimization: params_count added + + * src/: classes/json.C, classes/op.C, classes/reflection.C, + include/pa_request.h, main/execute.C, main/pa_request.C, + types/pa_value.C, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h, types/pa_vobject.C: Optimization: + VMethodFrame now divided into VNativeMethodFrame, + VParserMethodFrame, VLocalParserMethodFrame; METHOD_FRAME_ACTION, + EXPRESSION_FRAME_ACTION, CONSTRUCTOR_FRAME_ACTION defines added + and used (related to feature #1104) + +2016-11-02 moko + + * src/: classes/bool.C, classes/curl.C, classes/date.C, + classes/double.C, classes/file.C, classes/hash.C, + classes/hashfile.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/mail.C, classes/math.C, + classes/memcached.C, classes/op.C, classes/reflection.C, + classes/regex.C, classes/string.C, classes/table.C, + classes/xdoc.C, classes/xnode.C, include/pa_request.h, + main/execute.C: cleanup: r.write_pass_lang, r.write_no_lang -> + r.write (implements feature #1091) + + * src/main/execute.C: cleanup (related to feature #1104) + + * src/: include/pa_request.h, main/execute.C, + types/pa_vmethod_frame.h, types/pa_wcontext.h: VExpressionFrame + added, in_expression removed (implements feature #1104) + +2016-10-31 moko + + * src/types/pa_value.C: whitespace + +2016-10-28 moko + + * tests/results/244.processed: updated after error reporting fixed + in pa_wcontext.C + + * src/types/pa_wcontext.C: error reporting fixed + + * src/types/pa_wcontext.h: whitespace + + * src/classes/image.C: not fully readed entries are no longer + processed (fixes bug #1106) + +2016-10-26 moko + + * src/classes/image.C: whitespace + + * src/: include/pa_request.h, include/pa_string.h, main/untaint.C, + types/pa_vmail.C, types/pa_vmethod_frame.h, types/pa_wcontext.h, + types/pa_wwrapper.h: optimization: L_PASS_APPENDED removed as no + longer required (related to feature #1091) + + * tests/results/: 264.processed, 350.processed: test results update + reverted (whitespace optimization) after write_no_lang removed :) + (related to feature #1091) + + * src/: classes/file.C, classes/hash.C, classes/op.C, + classes/string.C, classes/table.C, classes/void.C, + classes/xdoc.C, include/pa_request.h, main/pa_xml_io.C, + types/pa_vmail.C: Temp_lang removed, write_no_lang now almost + equal write_pass_lang (related to feature #1091) + + * tests/results/: 264.processed, 350.processed: test results + updated (whitespace optimization) after write_assign_lang removed + (related to feature #1091) + + * tests/: 361.html, results/361.processed: test for non-string + ^untaint added (related to feature #1091) + + * src/: classes/curl.C, classes/date.C, classes/file.C, + classes/hash.C, classes/op.C, classes/string.C, + include/pa_request.h, main/execute.C: optimization: + write_assign_lang removed as not required (first part of feature + #1091 implementation) + +2016-10-12 moko + + * tests/: 360.html, results/360.processed: more test code (related + to feature #1104) + + * src/: classes/op.C, classes/reflection.C, include/pa_opcode.h, + include/pa_request.h, main/compile.y, main/execute.C: opcode + OP_PREPARE_TO_EXPRESSION removed as not required, optimized + WContext is next task (implements feature #1104) + + * src/types/pa_method.h: more detailed comment for CO_WITHOUT_FRAME + / CO_WITHOUT_WCONTEXT + + * tests/: 360.html, results/360.processed: test for in expression + state (related to feature #1104) + +2016-10-11 moko + + * src/main/execute.C: compilation without OPTIMIZE_CALL fixed + + * src/classes/op.C: default value removed from initializer + + * src/types/pa_vmemcached.C: FreeBSD 11 warning war + + * src/types/pa_vmethod_frame.h: FreeBSD 11 warning war + +2016-10-10 moko + + * tests/results/auto.p: test updated adter $RECOURSION_LIMIT, + $LOOP_LIMIT -> $LIMITS[ $.max_recoursion, $.max_loop ] (related + to feature #42) + + * src/main/pa_request.C: $RECOURSION_LIMIT, $LOOP_LIMIT -> + $LIMITS[ $.max_recoursion, $.max_loop ] (related to feature #42) + +2016-10-08 moko + + * src/classes/double.C: whitespace + +2016-10-07 moko + + * src/types/pa_vmethod_frame.h: reorder + +2016-10-06 moko + + * src/classes/date.C: typo + + * src/types/pa_vmethod_frame.h: whitespace + cleanup + + * src/: classes/hash.C, classes/hashfile.C, classes/json.C, + classes/op.C, classes/reflection.C, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h: params.get now returns Value&, not + Value* + + * src/types/pa_vmethod_frame.C: params.get should return Value&. + + * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: get_as + removed; first as_* code rewrite + +2016-10-05 moko + + * src/include/pa_request.h: whitespace + + * tests/: 359.html, results/359.processed: test for VCodeFrame and + intercept_string added (related to feature #1097) + + * src/: classes/image.C, classes/op.C, classes/table.C, + include/pa_request.h, main/execute.C, types/pa_vmethod_frame.C: + optimization: intercept_string removed (implements feature #1097) + + * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: whitespace + + * src/types/: pa_vcode_frame.h, pa_wwrapper.h: get_element removed + from VCodeFrame and WWrapper as not required + +2016-10-04 moko + + * src/: classes/curl.C, classes/date.C, classes/double.C, + classes/file.C, classes/hash.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/op.C, + classes/reflection.C, classes/string.C, classes/table.C, + include/pa_request.h, main/execute.C, types/pa_vmethod_frame.C: + proces_to_value -> process after StringOrValue removed (related + to feature #1020) + + * src/classes/form.C: whitespace + + * src/main/execute.C: VALUE__GET_BASE_CLASS added to opcode_names + + * tests/: 357.html, 358.html, results/357.processed, + results/358.processed, results/auto.p: test for @conf + $RECOURSION_LIMIT and $LOOP_LIMIT added (related to feature #42) + +2016-10-03 moko + + * src/: classes/op.C, include/pa_request.h, main/pa_request.C, + types/pa_vtable.C: @conf $RECOURSION_LIMIT and $LOOP_LIMIT now + supported (implements feature #42) + + * src/types/pa_vregex.h: no reason for VRegex to be + is_evaluated_expr + + * src/classes/curl.C: CURL_OPT(CURL_INT, SSLVERSION) added + (implements feature #1095) + +2016-10-01 moko + + * src/classes/reflection.C: $.overwrite in ^reflection:mixin is now + false by default (related to feature #1089) + +2016-09-30 moko + + * src/types/pa_wcontext.h: cleanup + +2016-09-29 moko + + * src/main/execute.C: whitespace + + * src/include/pa_request.h: whitespace + + * src/: classes/hash.C, classes/hashfile.C, classes/json.C, + classes/op.C, classes/table.C, include/pa_request.h, + main/execute.C, main/pa_request.C, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_wcontext.h: optimization: + StringOrValue removed as it just slows down and adds complexity + (implements feature #1020) + +2016-09-28 moko + + * tests/: 356.html, results/266.processed, results/321.processed, + results/356.processed: tests updated after name was added to + method_info hash, test for ^reflection:method_info[junction] + added (related to feature #1068) + + * src/classes/reflection.C: ^reflection:method_info[junction] now + supported, method name added to the resulting hash (implements + feature #1068) + + * tests/: 276.html, results/276.processed: more tests for + ^reflection:delete[] + + * src/classes/reflection.C: fixed bug then ^reflection:delete + didn't work on class and could damage native objects (like file) + +2016-09-26 moko + + * tests/: 345.html, 346-curl.html, 347-curl.html, 348.html, + results/345.processed, results/346-curl.processed, + results/347-curl.processed, results/348.processed: numbers added + to simplify diff analysis + + * tests/: 352.html, results/352.processed: test result updated as + method name used + + * src/classes/reflection.C: method name used + + * src/types/: pa_method.h, pa_vstateless_class.C: method now keeps + its name + + * src/types/pa_method.h: whitespace + + * src/classes/reflection.C: both method and field with one name can + exist. + + * src/classes/reflection.C: ^reflection:mixin added (implements + feature #1089) + + * tests/: 355.html, results/355.processed: property appears in + derived class if added in base test added + + * src/types/pa_vstateless_class.h: get_method declaration + + whitespace + + * tests/: 354.html, results/354.processed: nice test from method + and property with one name in class added + +2016-09-23 moko + + * src/classes/reflection.C: ^reflection:method usage documented + +2016-09-22 moko + + * src/: classes/classes.vcproj, types/types.vcproj: we need RTTI as + we use 'dynamic_cast' on polymorphic type 'Value'. Without it + compile warning and GPF occures on VS2003 (related to feature + #1087) + + * tests/: 350.html, results/350.processed: test added for + $.encloser[] support in ^table::create (related to feature #11) + + * src/classes/table.C: another minor fix (related to feature #11) + +2016-09-21 moko + + * src/include/pa_config_fixed.h: vs2015 compilation fixes + + * src/: classes/curl.C, classes/file.C, classes/hash.C, + classes/json.C, classes/string.C, classes/table.C, + classes/xdoc.C, include/pa_charsets.h, main/pa_charsets.C, + main/pa_common.C, main/pa_http.C, main/pa_request.C, + main/pa_sql_driver_manager.C, types/pa_vfile.C, types/pa_vmail.C, + types/pa_vrequest.C, types/pa_vresponse.C: charsets -> + pa_charsets, vs2015 warning war + + * src/classes/table.C: vs2015 warning war + + * src/types/pa_vdate.C: vs2015 warning war + + * src/main/: pa_common.C, pa_globals.C: vs2015 compilation fixes + + * src/targets/cgi/parser3.vcproj: wsock32 -> ws2_32.lib (winsock 1 + -> winsock 2) for vs2015 compatibility (getaddrinfo functions) + + * src/main/pa_common.C: vs2015 compilation fixes + + * src/: include/pa_common.h, lib/smtp/smtp.C, main/pa_common.C: + vs2015 compilation fixes + + * src/main/pa_charset.C: vs2015 warning war + + * src/: classes/file.C, types/pa_wwrapper.h: vs2015 warning war + + * src/main/pa_charset.C: vs2015 warning war + + * src/types/: pa_wcontext.h, pa_vmethod_frame.h: vs2015 warning war + + * src/types/pa_vdate.C: vs2015 compilation fix + + * src/: include/pa_memory.h, main/pa_memory.C: VS2015 warning war + + * src/: lib/json/pa_json.C, classes/mail.C, classes/string.C: + VS2015 compilation fixes + + * src/classes/table.C: minor fix (related to feature #11) + + * tests/results/282.processed: no longer skipping extra enclosers + (related to feature #11) + + * src/classes/table.C: minor fix + no longer skipping extra + enclosers (related to feature #11) + + * src/classes/table.C: minor optimization (related to feature #11) + + * src/classes/table.C: minor fix and optimization (related to + feature #11) + +2016-09-20 moko + + * tests/: 353.html, results/353.processed: test for + PC.cclass->is_vars_local() check in one_big_piece in ^process[] + added (related to bug #1090) + + * src/main/compile.y: PC.cclass->is_vars_local() check added for + one_big_piece (fixes bug #1090) + + * tests/: 229.html, results/229.processed: code coverage tests + + * src/classes/op.C: bugfix: no more GPF if ^process[$context] (no + body) was called + + * src/classes/op.C: whitespace + + * tests/: 323.html, results/323.processed: test for code junction + should not be returned by ^reflection:class, ^reflection:base + + * src/classes/reflection.C: bugfix: code junction should not be + returned by ^reflection:class, ^reflection:base + + * tests/: 323.html, 352.html, results/352.processed: no more + exception for ^reflection:method[class;no-such-method] (related + to feature #1087) + + * src/classes/reflection.C: + ^reflection:method[class;no-such-method] : exception -> void + (related to feature #1087) + + * src/include/pa_request.h: request::write_value added to allow + write value without convertion (related to issue #1091) + +2016-09-19 moko + + * src/main/pa_random.C: windows build fix + + * src/types/pa_vhash.h: warning war + +2016-09-14 moko + + * tests/: 352.html, 552.html, results/352.processed, + results/552.processed: test for ^reflection:method[] extension + added (related to feature #1087) + + * tests/: 552.html, results/552.processed: test for + ^reflection:method[] extension added (related to feature #1087) + + * src/classes/reflection.C: compatibility issue fixed, VClass + dynamic_cast check added (related to feature #1087) + + * tests/: 351.html, results/351.processed: test for @auto[] + inheritance bug diring ^process[] added (related to bug #1088) + + * src/: classes/op.C, main/pa_request.C, + types/pa_vstateless_class.C: set_method now checks for @auto[] to + disable it inheritance during ^process (fixes bug #1088) + + * src/classes/reflection.C: ^reflection:method[$class:method;$self] + added (implements feature #1087) + +2016-09-13 moko + + * tests/: 349.html, results/auto.p: test for objects prototyping + added and $OBJECT-PROTOTYPE(false) is used for old tests (related + to feature #1086) + + * src/: main/pa_request.C, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vobject.C: objects now are not class instances, but have + class as prototype, can be overridden by $OBJECT-PROTOTYPE(false) + in @conf (implements feature #1086) + +2016-09-08 moko + + * src/: classes/file.C, classes/mail.C, classes/string.C, + classes/table.C, main/pa_http.C, main/pa_string.C, + include/pa_string.h: cleanup: string::split limit argument + removed as no longer required, pos_after no longer reference + (related to feature #11) + + * src/classes/table.C, tests/results/348.processed: now exception + is rised when invalid option is passed to ^table::create[] + + * tests/: 282.cfg, 282.html, results/282.processed: more code + coverage tests + + * tests/: 348.html, results/348.processed: code coverage tests + added + + * tests/: 348.html, results/348.processed: generic ^table::create[] + tests + + * tests/: 035.html, results/035.processed, results/272.processed: + tests updated after $.encloser[] support for ^table::create + implementation (related to feature #11) + + * src/classes/table.C: $.encloser[] support for ^table::create + finally added (implements feature #11) + +2016-09-07 moko + + * src/include/pa_string.h: added StringSplitHelper as friend + (related to feature #11) + + * src/include/pa_string.h: body and langs now protected, not + private to allow inheritance (related to feature #11) + + * src/classes/table.C: lsplit optimized before cloning for + ^table::create with $.encloser[] (related to feature #11) + + * src/classes/table.C: optimizaion: TableControlChars.separators + added and used (related to feature #11) + + * src/classes/table.C: spelling: + + TableSeparators -> TableControlChars column -> separator + separators -> control_chars + +2016-09-06 moko + + * src/main/pa_string.C: whitespace + + * src/main/pa_string.C: whitespace + +2016-09-01 moko + + * tests/: 347-curl.html, results/347-curl.processed: to make tests + results OS-independent + + * src/: include/pa_http.h, main/pa_http.C: typo bugfix for clang + compiler (related to feature #1042) + +2016-08-15 moko + + * src/include/pa_string.h: whitespace + + * src/classes/table.C: whitespace + +2016-08-05 moko + + * tests/: 344.html, results/344.processed: test for + ^hash::create[$file] added (related to feature #1075) + + * src/types/: pa_vfile.h, pa_vmail.C: ^hash::create[$file] now + supported (implements feature #1075) + +2016-08-04 moko + + * tests/: 341.html, results/341.processed: more code coverage tests + + * tests/: 346-curl.html, results/346-curl.processed: more code + coverage tests for curl + + * tests/: 346-curl.html, results/346-curl.processed: more code + coverage tests for curl + + * tests/: 223-curl.html, 223.html, results/223-curl.processed, + results/223.processed: code coverage tests: $.form[ $.table[] ] + test added + + * tests/: 223-curl.html, results/223-curl.processed: more code + coverage tests for curl + +2016-08-03 moko + + * src/classes/curl.C: dlink(curl_library) now called not once, but + until it will be loaded, allowing to find existing library. + + * tests/: 346-curl.html, 347-curl.html, results/346-curl.processed, + results/347-curl.processed: more code coverage tests for curl + + * tests/: 339-curl.html, 339.html, 346-curl.html, Makefile, + results/339-curl.processed, results/346-curl.processed: curl + functionality tests + +2016-08-02 moko + + * tests/: 339.html, results/339.processed: test for tables in + ^file:load[] and ^curl:load[] (commented) added (related to + feature #1042) + + * tests/: 345.html, results/345.processed: code coverage tests for + file class + + * tests/: 344.html, results/344.processed: code coverage tests + + * tests/: 344.html, results/344.processed: mdate removed from + output + + * src/classes/file.C: minor bugfix: is_text should be taked from + fcontent.is_text_mode() if not set (related to feature #1061) + + * tests/: 344.html, results/344.processed: more tests + + * tests/: 343.html, 344.html, results/343.processed, + results/344.processed: tests for ^file::create[ $.from-charset + and $.to-charset ] (related to feature #1061) + + * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h: + aset_text_mode argument optimized + + * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h: + checkBOM now used in detect_binary_content (related to feature + #1061) + + * src/main/pa_request.C: load_charset no longer required to_upper + + * src/types/pa_vfile.C: bugfix: ^file::create[$text_file;...] now + preserves original file mode (if no $.mode specified) + + * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h: + ^file::create now supports $.from-charset[] and $.to-charset + options (implements feature #1061), automatic transcode is done + if text file is created from binary file and charset is detected. + +2016-07-30 moko + + * src/classes/table.C: ^t.hash[..;] now supported (related to + feature #1057) + + * tests/: 341.html, results/341.processed: test for ^t.hash[..;] + added (related to feature #1057) + + * tests/: 286.html, results/286.processed: code tests coverage + +2016-07-29 moko + + * src/classes/table.C: table size should be checked inside menu and + foreach (related to feature #858) + + * src/: classes/curl.C, classes/file.C, classes/string.C, + classes/xdoc.C, include/pa_charsets.h, main/pa_charsets.C, + main/pa_common.C, main/pa_http.C, main/pa_sql_driver_manager.C, + types/pa_vmail.C, types/pa_vrequest.C, types/pa_vresponse.C: + charsets.get now does str_upper inside (related to feature #1061) + + * tests/: 342.html, results/342.processed: more code coverage tests + + * tests/: 342.html, outputs/342.processed: table menu code coverage + + foreach test added (related to feature #858) + + * tests/: 341.html, results/341.processed: tests for + ^table.hash[]{code} added + code coverage tests (related to + feature #1057) + + * src/: include/pa_common.h, classes/table.C: ^table.hash[]{code as + value} support (implements feature #1057) + + * src/classes/table.C: whitespace + +2016-07-28 moko + + * src/: classes/curl.C, types/pa_vfile.C: curl now saves filename + from URL, if not specified query string removed from url-based + filenames in ^curl:load[] and ^file::load[] (related to feature + #1042) + +2016-07-27 moko + + * tests/: 340.html, results/340.processed: test for + transcode_text_result=false added (related to issue #1042) + +2016-07-26 moko + + * src/types/pa_vfile.C: file name should not be empty (if file path + is folder and ends with /) (related to feature #1042) + + * src/main/pa_http.C: whitespace optimizaion + + * src/: classes/curl.C, include/pa_common.h, include/pa_http.h, + main/pa_common.C, main/pa_http.C: ^curl:load[] now support + multiple headers, ^file::load supports headers transcoding + (implements feature #1042) + +2016-07-25 moko + + * src/include/pa_common.h: PA_DEFAULT added + +2016-07-22 moko + + * tests/: 338.html, results/338.processed: test for + $date.field(value) added (related to feature #1066) + + * src/: classes/date.C, types/pa_vdate.C, types/pa_vdate.h: + $date.field(value) now supported for y/m/d/h/m/s (implements + feature #1066) + +2016-07-21 moko + + * src/: classes/file.C, classes/image.C, include/pa_common.h, + main/pa_common.C: pa_common.h: File_read_action: fname, as_text + arguments removed; image.C - absolute path shown in exception + (implements feature #1071) + + * tests/: 235.html, results/235.processed: test and test result + updated after static boundary in mail and Errors-To: mail header + removed (related to feature #1047) + + * src/: classes/math.C, include/pa_random.h, main/pa_http.C, + main/pa_random.C, types/pa_vmail.C: get_uuid_boundary() added and + used, static boundary in mail removed, Errors-To: mail header + removed (implements feature #1047) + +2016-07-20 moko + + * src/: classes/reflection.C, types/pa_vstateless_class.h: + equest.classes(): Value -> VStateless_class, part 3 (related to + issue #1051) + + * src/: classes/reflection.C, include/pa_request.h, main/execute.C: + request.classes(): Value -> VStateless_class, part 2 (related to + issue #1051) + + * tests/results/: 224.processed, 323.processed: classes without + methods should not be methoded (related to issue #1051) + + * src/: classes/reflection.C, include/pa_request.h, main/compile.y, + main/compile_tools.h, main/pa_request.C: request.classes(): Value + -> VStateless_class, part 1 (related to issue #1051) + + * tests/: 337.html, results/337.processed: test for + ^reflection:fields_reference[] and VHashReference class added + (related to feature #1072) + + * src/: classes/hash.C, classes/json.C, classes/reflection.C, + types/pa_value.h, types/pa_vhash.h, types/pa_vobject.h: VHashBase + and VHashReference added, allowing ^reflection:fields_reference[] + implementation (closes feature #1072) + +2016-07-19 moko + + * tests/: 323.html, results/323.processed: we want to see + "methoded" + + * tests/: 336.html, results/336.processed: test for $BASE:property + and ^BASE:method (OP_VALUE__GET_BASE_CLASS) added (related to bug + #1059) + + * src/: include/pa_opcode.h, main/compile.y, main/execute.C, + types/pa_vstateless_class.h, types/pa_wcontext.h: no more + somebody_entered_some_class, $BASE:property works again, + ^BASE:method[] bugs fixed (fixes bug #1059) + +2016-07-14 moko + + * tests/: 335.html, results/335.processed: test for feature #1055 + added + + * src/classes/hash.C: bugfix: $._default was not copied if empty + feature: ^hash.contains[_default] added (implements feature + #1055) + +2016-07-13 moko + + * src/classes/reflection.C: bugfix: ^reflection:def[class;name] + should not call @autouse (http://www.parser.ru/forum/?id=83480) + +2016-07-05 moko + + * src/classes/hash.C: Optimization: HashStringValue::Iterator used + in ^hash.foreach (related to feature #1073) + +2016-07-04 moko + + * tests/: 134.html, 281.html, results/134.processed, + results/281.processed: tests updated after hash blocking removed + (related to feature #1073) + + * src/: classes/hash.C, include/pa_hash.h, types/pa_vhash.h: hash + no longer blocks on change during foreach (implements feature + #1073) + +2016-06-17 moko + + * tests/: 330.html, results/330.processed: try exception source + test added (related to bug in #1062) + + * tests/: 334.html, results/334.processed: Exception stack trace + test added (related to bug in $1062) + + * src/classes/op.C: Exception trace now correctly restored and + errors reported (related to bug #1062) + +2016-05-25 moko + + * src/main/compile.y: minor cleanup + beauty + +2016-05-24 moko + + * tests/: 333.html, results/333.processed: more exceptions testing + + * tests/: 332.html, results/332.processed: test for FIELDS_SYMBOL, + _DEFAULT_SYMBOL, CALLER_SYMBOL, SELF_SYMBOL added (related to + features #1056, #1026) + + * src/: classes/json.C, include/pa_symbols.h, main/pa_symbols.C, + types/pa_vhash.C, types/pa_vhash.h, types/pa_vtable.C, + types/pa_vtable.h: FIELDS_SYMBOL, _DEFAULT_SYMBOL added and used + (implements feature #1056) + + * src/: include/pa_symbols.h, main/compile.y, main/compile_tools.C, + main/execute.C, main/pa_symbols.C, types/pa_vjunction.C, + types/pa_vstateless_class.C, types/pa_vstateless_class.h: + CLASS_SYMBOL, CLASS_NAME_SYMBOL added and used (related to + feature #1026) + + * src/: classes/reflection.C, include/pa_symbols.h, main/compile.y, + main/compile_tools.C, main/compile_tools.h, main/pa_symbols.C, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: Symbols now + have *_SYMBOL naming convention. STATIC_SYMBOL, DYNAMIC_SYMBOL, + LOCALS_SYMBOL, PARTIAL_SYMBOL, REM_SYMBOL where added (related to + feature #1026) + + * src/: include/pa_symbols.h, main/compile.y, main/compile_tools.C, + main/pa_globals.C, main/pa_symbols.C, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h, types/pa_vstateless_class.C: + SYMBOLS_CACHING define implemented (related to feature #1026) + + * src/main/main.vcproj: + ps_symbols + + * src/: include/Makefile.am, include/pa_string.h, + include/pa_symbols.h, main/Makefile.am, main/compile.tab.C, + main/compile.y, main/compile_tools.C, main/pa_symbols.C, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, + types/pa_vstateless_class.C: initial implementation for symbols + cache (related to feature #1026) + + * src/: include/pa_common.h, main/pa_http.C: minor cleanup + + * src/main/pa_globals.C: minor cleanup + +2016-05-19 moko + + * src/types/pa_vhash.h: minor optimization: ^hash.fields[] removed + (related to feature #1046) + + * tests/: 331.html, results/331.processed: test for + BAD_NONWHITESPACE_CHARACTER_IN_EXPLICIT_RESULT_MODE removal added + (related to feature #1051) + + * src/main/compile.y: + BAD_NONWHITESPACE_CHARACTER_IN_EXPLICIT_RESULT_MODE error removed + (implements feature #1054) + +2016-05-18 moko + + * src/types/pa_vtable.C, tests/results/324.processed: no more + "column not found" exception for ^table.no-such-method[] (related + to feature #1046) + + * tests/: 261.html, results/261.processed: test added and updated + after feature #1046 implementation + + * src/: classes/string.C, types/pa_value.C, types/pa_vstring.h, + types/pa_vvoid.h: $string.anything works for whitespace strings, + ^string.contains added for hash compatibility, $string.method no + longer returns stting method (implements feature #1046) + +2016-05-12 moko + + * src/classes/curl.C: content-type response header no longer + ignored (fixes issue #1045) + + * tests/: 330.html, results/330.processed: test for incomplete + finally execution when break occures added (related to issue + #1077) + + * src/classes/op.C: bugfix: Request::skip reset is called before + executing catch and finally code (fixes issue #1062) + +2016-05-11 moko + + * tests/: 329.html, results/329.processed: test for invalid + ^break[] behavour added (bug #1077) + + * src/classes/op.C: try_catch code cleanup (related to bug #1062) + +2016-04-24 moko + + * src/types/pa_vstateless_class.h: warning war + +2016-04-17 moko + + * tests/: 328.html, results/328.processed: test for + ^break(condition) and ^continue(condition) (related to feature + #1063) + + * src/classes/op.C: ^break(condition) and ^continue(condition) + implemented (feature #1063) + +2016-04-12 moko + + * tests/results/280.processed: ordered hash now used for class + methods and properties (test results updated for feature #1069) + + * src/classes/: xdoc.C, xnode.C: xnode_class initialization moved + to xdoc.C as under FreeBSD it was inited after and inheritance + failed (related to issue #1051) + + * tests/: 320.html, results/320.processed: xdoc and xnode methods + are printed to check inheritance (related to feature #1051) + +2016-04-09 moko + + * tests/results/320.processed: ordered hash now used for class + methods and properties (test results updated for feature #1069) + + * src/types/pa_vstateless_class.h: ordered hash now used for class + methods and properties (implements feature #1069) + + * src/types/: pa_vconsole.h, pa_vcookie.C, pa_venv.C, + pa_vrequest.C, pa_vstatus.C: minor optimization: #ifndef + OPTIMIZE_BYTECODE_GET_ELEMENT__SPECIAL returned (related to + feature #1051) + +2016-04-07 moko + + * src/main/execute.C: returned Value in .CLASS case for VJunction + (related to feature #1051) + + * src/types/: pa_vjunction.C, pa_vmethod_frame.C, + pa_vmethod_frame.h, pa_vstateless_class.C, pa_vstateless_class.h: + string constants deduplication (related to feature #1051) + + * tests/results/224.processed: test result updated (related to + feature #1051) + + * src/: main/execute.C, types/pa_vconsole.h, types/pa_vcookie.C, + types/pa_vcookie.h, types/pa_venv.C, types/pa_venv.h, + types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vstatus.C, + types/pa_vstatus.h: classes hash now contains only + VStateless_class derived objects, .CLASS is also allways + VStateless_class derived object (related to feature #1051). + +2016-04-06 moko + + * tests/results/323.processed: test result updated after feature + #1051 implementation + + * src/: classes/classes.h, classes/op.C, classes/response.C, + classes/void.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h, + main/pa_request.C, types/pa_vclass.h, types/pa_vform.C, + types/pa_vmail.C, types/pa_vmath.C, types/pa_vmemory.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.h: base -> methoded_donor for static + classes, type() moved from VStateless_class to VClass and + Methoded (implements feature #1051) + +2016-04-04 moko + + * src/: classes/classes.C, include/pa_request.h, main/pa_request.C: + beauty: put_class added (related to feature #1051) + +2016-04-01 moko + + * tests/results/: 175.processed, 192.processed, 224.processed, + 229.processed, 244.processed, 246.processed, 316.processed: test + results updated as class.type() removed from error messages, only + type() left (related to feature #1051) + + * src/: classes/classes.C, classes/classes.h, classes/mail.C, + classes/op.C, classes/reflection.C, main/compile.y, + main/compile_tools.h, main/execute.C, main/pa_request.C, + types/pa_value.C, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vmethod_frame.h, types/pa_vobject.h, + types/pa_vstateless_class.h, types/pa_wcontext.C: name() removed + from VStateless_class, type() is used instead (related to feature + #1051) + + * src/classes/mail.C: old logic restored. + + * src/: classes/bool.C, classes/classes.C, classes/classes.awk, + classes/classes.h, classes/curl.C, classes/date.C, + classes/double.C, classes/file.C, classes/form.C, classes/hash.C, + classes/hashfile.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/mail.C, classes/math.C, + classes/memcached.C, classes/memory.C, classes/reflection.C, + classes/regex.C, classes/response.C, classes/string.C, + classes/table.C, classes/xdoc.C, classes/xnode.C, + types/pa_vform.C, types/pa_vmail.C, types/pa_vmath.C, + types/pa_vmemory.h: optimizaion: *_base_class removed (related to + feature #1051) + +2016-03-30 moko + + * tests/: 327.html, results/224.processed, results/327.processed: + test for TZ specification in ^date::create[], TZ is kept during + ^date::create[$dt] (related to feature #1048) + + * src/: classes/date.C, types/pa_vdate.h: TZ can be specified in + ^date::create[], TZ is kept during ^date::create[$dt] (implements + feature #1048) + +2016-03-29 moko + + * tests/: 315.html, results/315.processed: test for timezone format + +HHmm added (related to feature #1065) + + * src/classes/date.C: timezone format +HHmm now supported + (implements feature #1065) + +2016-03-28 moko + + * tests/: 202.html, results/131.processed, results/202.processed, + results/224.processed, results/256.processed, + results/315.processed: test results updated after %.2d now + default for hours offset in iso-string (was %2d), test for + ^date.iso-string options $.colon(true) $.z(true) $.ms(false) + added (related to feature #1065) + +2016-03-27 moko + + * src/types/pa_vdate.C: '+' sign for zero offset (related to + feature #1065) + + * src/: classes/date.C, types/pa_vdate.C, types/pa_vdate.h: + ^date.iso-string options $.colon(true) $.z(true) $.ms(false) + added (implements feature #1065) + +2016-03-24 moko + + * tests/: 202.html, results/202.processed: test $date.week added + (related to bug #1067) + + * src/types/: pa_vdate.C, pa_vdate.h: fix for $date.week changed + date (fix for bug #1067) + +2016-03-10 moko + + * configure.ac, src/include/pa_version.h: 3.4.4 -> 3.4.5b + +2015-12-07 moko + + * tests/: 326.html, results/326.processed: test for .CLASS & + .CLASS_NAME optimization added (related to feature #844) + +2015-11-17 moko + + * tests/: 323.html, results/323.processed: order added + + * tests/: 325.html, results/325.processed: double range test added + (related to bug #1049) + +2015-11-16 moko + + * src/: classes/string.C, types/pa_vdouble.h: finite(double) check + added to disallow NaN and Infinity (fixes bug #1049) + +2015-11-11 moko + + * tests/324.html: parser 3.4.3 execution support added (related to + feature #1017) + + * tests/: 324.html, results/324.processed: test for + GET_ELEMENT4CALL feature added (feature #1017) + +2015-10-29 moko + + * operators.txt: updated for 3.4.4 + + * configure.ac, src/include/pa_version.h: 3.4.4rc -> 3.4.4 + + * src/main/pa_exec.C: get_exit_status implemented for Windows + (related to bug #1043) + +2015-10-28 moko + + * src/main/pa_exec.C: Windows bugfix: $.stdin[] no longer cause + hangup during ^file::exec (fixes bug #1043) + +2015-10-27 moko + + * src/main/pa_memory.C: pa_fail_alloc added for GC_abort in Windows + +2015-10-26 moko + + * tests/322.html, src/classes/reflection.C: arguments reorder + (related to issue #1041) + + * src/: classes/classes.awk, main/helpers/simple_folding.pl: + Copyright year updated + + * src/: classes/bool.C, classes/classes.C, classes/classes.h, + classes/curl.C, classes/date.C, classes/double.C, classes/file.C, + classes/form.C, classes/hash.C, classes/hashfile.C, + classes/image.C, classes/inet.C, classes/int.C, classes/json.C, + classes/mail.C, classes/math.C, classes/memcached.C, + classes/memory.C, classes/op.C, classes/reflection.C, + classes/regex.C, classes/response.C, classes/string.C, + classes/table.C, classes/void.C, classes/xdoc.C, classes/xnode.C, + classes/xnode.h, include/pa_array.h, include/pa_cache_managers.h, + include/pa_charset.h, include/pa_charsets.h, include/pa_common.h, + include/pa_config_fixed.h, include/pa_config_includes.h, + include/pa_dictionary.h, include/pa_dir.h, + include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, + include/pa_hash.h, include/pa_http.h, include/pa_memory.h, + include/pa_opcode.h, include/pa_operation.h, include/pa_os.h, + include/pa_pool.h, include/pa_random.h, include/pa_request.h, + include/pa_request_charsets.h, include/pa_request_info.h, + include/pa_sapi.h, include/pa_socks.h, + include/pa_sql_connection.h, include/pa_sql_driver_manager.h, + include/pa_stack.h, include/pa_string.h, + include/pa_stylesheet_connection.h, + include/pa_stylesheet_manager.h, include/pa_table.h, + include/pa_threads.h, include/pa_types.h, include/pa_uue.h, + include/pa_xml_exception.h, include/pa_xml_io.h, lib/gd/gif.C, + lib/gd/gif.h, lib/gd/gifio.C, lib/md5/pa_md5.h, + lib/md5/pa_md5c.c, lib/memcached/pa_memcached.C, + lib/memcached/pa_memcached.h, lib/sdbm/pa_file_io.C, + lib/sdbm/pa_strings.C, lib/smtp/comms.C, lib/smtp/smtp.C, + lib/smtp/smtp.h, main/compile.C, main/compile.tab.C, + main/compile.y, main/compile_tools.C, main/compile_tools.h, + main/execute.C, main/pa_cache_managers.C, main/pa_charset.C, + main/pa_charsets.C, main/pa_common.C, main/pa_dictionary.C, + main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, + main/pa_globals.C, main/pa_http.C, main/pa_memory.C, + main/pa_os.C, main/pa_pool.C, main/pa_random.C, + main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, + main/pa_string.C, main/pa_stylesheet_connection.C, + main/pa_stylesheet_manager.C, main/pa_table.C, main/pa_uue.C, + main/pa_xml_exception.C, main/pa_xml_io.C, main/untaint.C, + sql/pa_sql_driver.h, targets/apache/mod_parser3.c, + targets/apache/mod_parser3_core.C, targets/apache/pa_httpd.h, + targets/apache/pa_threads.C, targets/cgi/pa_threads.C, + targets/cgi/parser3.C, targets/isapi/pa_threads.C, + targets/isapi/parser3isapi.C, types/pa_junction.h, + types/pa_method.h, types/pa_property.h, types/pa_value.C, + types/pa_value.h, types/pa_vbool.h, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vconsole.h, + types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.C, + types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.C, + types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h, + types/pa_vform.C, types/pa_vform.h, types/pa_vhash.C, + types/pa_vhash.h, types/pa_vhashfile.C, types/pa_vhashfile.h, + types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, + types/pa_vjunction.C, types/pa_vjunction.h, types/pa_vmail.C, + types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.h, + types/pa_vmemcached.C, types/pa_vmemcached.h, types/pa_vmemory.h, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_vobject.h, types/pa_vregex.C, + types/pa_vregex.h, types/pa_vrequest.C, types/pa_vrequest.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.C, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.C, + types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h: Copyright year updated + + * src/targets/cgi/parser3.C: year updated + + * src/classes/reflection.C: VS2003 compatibility fixed (related to + issue #1041) + + * tests/: 323.html, results/323.processed: test for base classes + added + + * tests/: 261.html, results/261.processed: updated after better + error reporting done for $string.key exception + + * src/types/pa_vstring.h: better error report for $string.key + exception + + * src/types/: pa_vobject.C, pa_vobject.h: VObject::get_element + copied as VObject::get_element4call to remove extra virtual call + + * tests/: 322.html, results/322.processed: test for + ^reflection:is[] added (related to feature #1041) + + * src/classes/reflection.C: ^reflection:is empty value is void + (related to feature #1041) + + * src/classes/reflection.C: + ^reflection:is[class_name|code|method;[context;]element_name] + added (implements feature #1041) + +2015-10-24 moko + + * configure.ac, src/include/pa_version.h: 3.4.4b -> 3.4.4rc + +2015-10-22 moko + + * tests/: 321.html, results/321.processed: test for + ^reflection:method_info[] file detection added + + * tests/: 320.html, results/320.processed: test for + ^reflection:class_by_name[class_name] added (related to feature + #993) + + * src/classes/reflection.C: ^reflection:class_by_name[class_name] + added (implements feature #993) + + * src/main/execute.C: GET_ELEMENT4CALL added to get_method_filename + (related to feature #1017) + + * tests/: 319.html, results/319.processed: ^throw[] stacktrace test + added (related to issue #1039) + + * src/main/pa_request.C: ^throw origin fixed (related to feature + #1039) + + * src/types/pa_vcookie.C: bugfix: expires_sec should not be called + for VDate + + * tests/results/182.processed: updated after feature #1038 + implemented + + * tests/: 318.html, 182_dir/a6.p, results/318.processed: test for + compile-time exception origin added (test for feature #1039) + + * src/: include/pa_request.h, main/compile.C, main/compile.y, + main/pa_request.C: exception unification: compile-time exceptions + now have origin, @USE origins also tracked (implements feature + #1039) + +2015-10-20 moko + + * src/main/pa_request.C: cleanup + +2015-10-15 moko + + * src/types/pa_vtable.C: defines fixed (related to feature #1017) + + * src/: classes/hash.C, include/pa_opcode.h, types/pa_vhash.h, + types/pa_vtable.C: new feature: no more $table.method and + $hash.method, aliases for _at, _count, _key (related to feature + #1017) + +2015-10-14 moko + + * tests/: 317.html, results/317.processed: test for + ^string.unescape[] added (related to feature #120) + + * buildall: reverted libxml 2.9.2 -> 2.9.1 due to "ID already + defined" bug (described in issue #1036) + + * tests/: 247.html, results/247.processed: test for checkBOM added + (test for bug #1037) + + * src/: include/pa_charsets.h, main/pa_charsets.C, + main/pa_common.C, main/pa_http.C: checkBOM detects charset if + it's not enforced, skips BOM signature if it complies charset + (fixes bug #1037) + +2015-10-13 moko + + * src/targets/cgi/parser3.vcproj: disabling buggy incremental + linking + + * src/classes/inet.C: vs2003 compilation fix + + * src/classes/math.C: warning war + + * src/lib/punycode/pa_punycode.c: warning war + +2015-10-12 moko + + * src/lib/punycode/pa_punycode.c: warning war + + * parser3.sln: moved parser3 first, to make it default startup + project + + * buildall: parser "mirror" now used for external libs sources + (implements feature #1036) + + * buildall: most external libs are updated to their current + versions (related to feature #1036) + + * src/classes/image.C: more tags added + + * src/: include/pa_memory.h, types/pa_vdate.C: warning war + +2015-10-11 moko + + * src/classes/curl.C: minor optimization (related to feature #1035) + +2015-10-09 moko + + * src/classes/curl.C: pa_strdup added for strings from curl + (related to feature #1035) + + * src/main/pa_string.C: mini fix: RedHat 7.2 does not have + ULLONG_MAX definition + + * src/classes/curl.C: ^curl:info[name]/^curl:info[] added + (implements feature #1035) + + * src/main/pa_charset.C: String::Body(String::C) used + + * src/main/pa_charset.C: exceptions unified + + * src/: include/pa_charset.h, main/pa_charset.C: declarations + unified + + * src/: classes/file.C, classes/image.C, classes/mail.C, + classes/op.C, classes/xdoc.C, classes/xnode.C, + include/pa_string.h, main/pa_request.C, main/pa_string.C, + types/pa_vimage.C, types/pa_vmath.C, types/pa_vstatus.C, + types/pa_vxdoc.C: explicit String::Body(char) calls removed; + String::Body(String::C) constructor added (related to bug #957) + + * src/classes/file.C: minor optimization + + * src/include/pa_hash.h: hash.get(char*) added, to minimize + Cord(char*) autocreation (related to bug #957) + + * src/: classes/string.C, main/untaint.C: minor optimizations + + * src/: classes/json.C, classes/reflection.C, include/pa_string.h: + String(char*, Lang, length) removed, String(C(), Lang) used + instead (related to bug #957) + +2015-10-08 moko + + * src/: classes/file.C, include/pa_string.h, lib/cord/cordbscs.c, + lib/cord/include/cord.h, main/pa_http.C, main/pa_string.C, + main/untaint.C: Now char * is converted to CORD only using + AS_CORD() to check for empty cord bug (fixes bug #957) + + * src/include/pa_hash.h: fixed compilation without + HASH_CODE_CACHING + + * src/classes/string.C: + ^string:unescape[js|uri;escaped;$.charset[...]] added (implements + feature #120) + + * src/main/pa_common.C: reduce js flags checks count (related to + feature #120) + 2015-10-07 moko * tests/: 275.html, results/275.processed: test modified after @@ -14179,7 +16849,7 @@ types/pa_vstring.h, types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, - types/pa_wcontext.h, types/pa_wwrapper.h: $Date: 2015/10/07 11:20:48 $ + types/pa_wcontext.h, types/pa_wwrapper.h: Date: now * src/: classes/classes.C, classes/classes.dsp, classes/classes.h, classes/date.C, classes/double.C, classes/file.C, classes/form.C, @@ -18267,7 +20937,7 @@ main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/pa_table.C, main/untaint.C, targets/cgi/parser3.C, - targets/isapi/parser3isapi.C: static char *RCSId="$Id: ChangeLog,v 1.96 2015/10/07 11:20:48 moko Exp $"; + targets/isapi/parser3isapi.C: static char *RCSId="Id"; * src/main/: compile.y, compile_tools.h: $:name: == ${name}: $class:name: == ${class:name}: @@ -21082,9 +23752,9 @@ * src/include/: pa_pool.h, pa_string.h: pa_pool split - * src/main/: main.dsp, pa_string.C: $Id: ChangeLog,v 1.96 2015/10/07 11:20:48 moko Exp $ check + * src/main/: main.dsp, pa_string.C: Id check - * src/: main/pa_pool.C, main/pa_string.C, include/pa_pool.h: $Id: ChangeLog,v 1.96 2015/10/07 11:20:48 moko Exp $ + * src/: main/pa_pool.C, main/pa_string.C, include/pa_pool.h: Id check * src/: include/pa_pool.h, main/pa_string.C: String prealloc &