Diff for /parser3/ChangeLog between versions 1.95 and 1.201

version 1.95, 2015/09/23 00:13:58 version 1.201, 2024/10/14 02:05:17
Line 1 Line 1
   2024-10-13  moko
   
           * src/types/pa_varray.h: ^array.$i[arg] is rare, thus checking i
             with is_index() before calling index() for better error reporting
             in method name typo (was invalid number, not method not found
             exception).
   
   2024-10-08  moko
   
           * src/types/pa_varray.C: Visual Studio compatibilty issues fixed
   
           * src/include/pa_array.h: warnings war
   
   2024-10-05  moko
   
           * src/classes/table.C: ^table.cells[] / ^table.cells(limit) added,
             returns current row cells array (implements feature #1250)
   
           * tests/: 405.html, results/169.processed, results/405.processed:
             tests updated after ^string.split[;a] implemented (related to
             feature #1249)
   
           * src/classes/string.C: ^string.split[] - 'a' option added for
             splitting into an array (implements feature #1249)
   
   2024-10-04  moko
   
           * tests/: 431.html, results/431.processed: final code coverage
             array tests
   
           * src/: classes/array.C, include/pa_array.h, types/pa_varray.h:
             array: confirm_all_used() added and used where possible, expand()
             now expends faster
   
   2024-10-03  moko
   
           * tests/: 357.html, results/auto.p: max_recoursion -> max_recursion
   
           * tests/: 256.html, results/256.processed: test for
             $.date[unix-timestamp] handling large dates
   
           * src/: classes/file.C, classes/op.C, classes/reflection.C,
             classes/string.C, classes/table.C, include/pa_common.h,
             main/pa_common.C, main/pa_http.C, main/pa_request.C,
             types/pa_vdate.C, types/pa_vmethod_frame.h, types/pa_vtable.C:
             format replaced with pa_uitoa where applicable,
             $.date[unix-timestamp] fixed for handling large dates
   
           * tests/: 433.html, results/433.processed: more tests, including
             test for possible endless recursion in ^o.GET[]
   
           * src/types/pa_vobject.C: bugfix: detecting possible endless
             recursion in get_scalar_value inside ^o.GET[]
   
           * src/: classes/json.C, include/pa_request.h, main/execute.C,
             main/pa_request.C, types/pa_value.h, types/pa_vmethod_frame.C:
             Temp_recursion class added; spelling: $LIMITS.max_recoursion ->
             $LIMITS.max_recursion
   
   2024-10-02  moko
   
           * tests/: 253.html, 287.html, 430.html, 431.html, 433.html,
             results/253.processed, results/287.processed,
             results/430.processed, results/433.processed: more tests for full
             array and json code coverage
   
           * tests/: 433.html, results/433.processed: tests for hash functions
             with array param
   
           * src/classes/: array.C, hash.C: ^hash::create[$array] optimized
   
           * tests/: 432.html, results/432.processed: modified ^hash.at tests
             in 246.html used to test ^array.at, same result produced
   
           * tests/: 430.html, 431.html, results/430.processed,
             results/431.processed: more array tests for 100% code coverage
             (related to feature #930)
   
           * tests/: 427.html, 430.html, results/427.processed,
             results/430.processed: first portion of array tests added
             (related to feature #930)
   
           * src/classes/array.C: allow only whitespace string as argument for
             add and join
   
           * src/classes/array.C: add behavour for array synced with hash
   
   2024-09-30  moko
   
           * tests/: 429-sql.html, results/429-sql.processed: code coverage
             tests added
   
           * src/classes/array.C: $.distinct should not be used unless
             $.sparse(true)
   
           * tests/: 429-sql.html, results/388-sql.processed,
             results/429-sql.processed: tests for ^array::sql{}, including
             multi_statements mode (related to feature #930)
   
   2024-09-29  moko
   
           * src/classes/array.C: synced ^array::sql multi_statements logic
             with ^hash::sql new behavour
   
   2024-09-28  moko
   
           * tests/: 428-sql.html, results/388-sql.processed,
             results/428-sql.processed: tests updated after column names were
             fixed in multi_statements mode (related to feature #1197)
   
           * src/classes/hash.C: column names are fixed for most cases in
             multi_statements mode (related to feature #1197)
   
           * tests/: 428-sql.html, results/195.processed,
             results/224.processed, results/239.processed,
             results/254.processed, results/261.processed,
             results/306.processed, results/333.processed,
             results/341.processed, results/343.processed,
             results/344.processed, results/348.processed,
             results/364.processed, results/389.processed,
             results/390.processed, results/415.processed,
             results/420.processed, results/421.processed: tests results
             updated after error messages spelling minor fixes
   
           * src/types/: pa_value.h, pa_vstateless_class.h: a bit more
             spelling
   
           * src/: classes/curl.C, classes/file.C, classes/hash.C,
             classes/image.C, classes/math.C, classes/string.C,
             classes/table.C, lib/memcached/pa_memcached.C, main/compile.y,
             main/execute.C, main/pa_charset.C, main/pa_common.C,
             main/pa_http.C, main/pa_request.C, main/pa_socks.C,
             main/pa_sql_driver_manager.C, types/pa_value.C, types/pa_value.h,
             types/pa_vmail.C, types/pa_vobject.C,
             types/pa_vstateless_class.C, types/pa_vstateless_class.h,
             types/pa_vxdoc.C: minor error messages spelling fixes
   
           * src/: classes/array.C, types/pa_varray.h: initial ^array::sql{}
             implementation (related to feature #930)
   
           * tests/: 388-sql.html, results/388-sql.processed: test results
             updated after rows number ^file::sql{} check added
   
           * src/classes/file.C: rows number now checked in ^file::sql{}
   
           * tests/: 428-sql.html, results/428-sql.processed: more tests
   
           * tests/: 428-sql.html, results/428-sql.processed: more
             multi_statements testing before bugfix
   
           * tests/: 388-sql.html, 428-sql.html, results/388-sql.processed,
             results/428-sql.processed: support for multiple sql test files
             added
   
           * tests/: 388-sql.html, results/388-sql.processed: more sql testing
   
           * src/classes/hash.C: more accurate one_bool_column processing
   
           * tests/: 427.html, results/427.processed: Constructors as methods
             behavour documented in test
   
           * src/classes/hash.C: HashStringValue::Iterator used for options
   
           * tests/: 388-sql.html, results/388-sql.processed: even more tests
   
           * tests/: 388-sql.html, results/388-sql.processed: a bit more
             testing
   
           * tests/results/367-curl.processed: test result updated after
             server charset changed
   
           * tests/results/347-curl.processed: error messages updated
   
           * tests/results/: 346-curl.processed, 379-curl.processed,
             394-curl.processed: tests results updated after Type -> Exception
             type replacement
   
           * tests/results/388-sql.processed: tests result updated after Type
             -> Exception type
   
   2024-09-27  moko
   
           * src/classes/hash.C: minor simplification
   
   2024-09-24  moko
   
           * src/main/pa_string.C: atoui error messages improved
   
           * tests/: 165.html, 312.html, results/165.processed,
             results/312.processed, results/379.processed: tests updated after
             default endless loop limit increased, atoi error messages
             improved
   
           * src/classes/hash.C: VBool::get used, unification
   
   2024-09-22  moko
   
           * src/classes/array.C: minor simplification
   
           * src/classes/array.C: ^array.left(N),
             ^array.right(N),^array.mid(P;N) added (related to feature #930)
   
           * src/: classes/array.C, include/pa_request.h, main/pa_request.C,
             types/pa_varray.C, types/pa_varray.h: $MAIN:LIMITS.max_array_size
             added, default 1000000 (related to feature #930)
   
           * tests/: 426.html, results/426.processed: test for negative limit
             and offset processing for table options added
   
           * src/: classes/table.C, include/pa_array.h, main/pa_table.C:
             bugfix: negative limit and offset processing for table options
             fixed
   
   2024-09-21  moko
   
           * src/: classes/array.C, types/pa_varray.h: join supports hash;
             ^for added that also iterates holes; ^remove added (related to
             feature #930)
   
           * src/classes/array.C: ^array.join[$another_array; $.limit(N)
             $.offset(M) ] added (related to feature #930)
   
   2024-09-20  moko
   
           * src/: classes/array.C, types/pa_varray.h: array:
             +foreach[value]{code}, + add[hash with numeric keys] (related to
             feature #930)
   
   2024-09-19  moko
   
           * src/: include/pa_opcode.h, main/compile.y, main/compile_tools.h,
             main/execute.C, types/pa_varray.h: OP_CONSTRUCT_ARRAY added to
             support $a[v1;v2;...] syntax (related to feature #930)
   
   2024-09-17  moko
   
           * src/: classes/reflection.C, include/pa_request.h,
             main/compile_tools.h, main/pa_request.C:
             ^reflection:class_alias[existing class name;alias class name]
             added. The array class can now be redefined regardless of the
             $.replace(bool) option value (related to feature #930)
   
           * src/main/: compile.y, compile_tools.h: class_add return value
             inverted to add it to request class
   
           * src/: classes/array.C, include/pa_array.h, include/pa_request.h,
             include/pa_stack.h, types/pa_varray.C, types/pa_varray.h,
             types/pa_vmethod_frame.h: array: fused -> fsize, fit(index) to
             resize if required. spared array - added fused, append.
   
   2024-09-16  moko
   
           * src/types/pa_varray.h: get moved to where it belongs
   
   2024-09-15  moko
   
           * src/: include/pa_array.h, types/pa_varray.h: more agressive
             expansion to minimize reallocs: fallocated/32 -> fallocated/4
   
           * tests/: 421.html, results/323.processed, results/421.processed:
             tests updated after 'spared-array' class renamed to 'array'
             following a discussion on the forum (related to feature #930)
   
           * src/: include/pa_array.h, types/pa_value.h, types/pa_varray.h,
             types/pa_vmail.C: initial SparseArray separation from Array,
             parser class now 'array'
   
   2024-09-14  moko
   
           * tests/: 030.html, results/030.processed: out of range expires
             check added
   
           * src/types/pa_vcookie.C: VDate range is narrower than gmtime, thus
             checking expires time using VDate
   
   2024-09-13  moko
   
           * src/: classes/array.C, classes/curl.C, classes/date.C,
             classes/file.C, classes/hash.C, classes/image.C, classes/json.C,
             classes/memcached.C, classes/op.C, classes/regex.C,
             classes/string.C, classes/xdoc.C, classes/xnode.C,
             main/execute.C, main/pa_http.C, main/pa_request.C,
             types/pa_value.C, types/pa_value.h, types/pa_vclass.C,
             types/pa_vclass.h, types/pa_vcookie.C, types/pa_vhashfile.C,
             types/pa_vmail.C, types/pa_vobject.C, types/pa_vobject.h,
             types/pa_vxdoc.C, types/pa_vxdoc.h: optimization: Value::as()
             removed as dynamic_cast is faster, Value::is() is still required
             for is operator.
   
   2024-09-12  moko
   
           * src/: classes/file.C, classes/image.C, classes/reflection.C,
             classes/table.C, classes/xnode.C, include/pa_array.h,
             include/pa_string.h, main/pa_common.C, main/pa_request.C,
             main/pa_string.C, targets/cgi/pa_sapi_info.h, types/pa_vform.C,
             types/pa_vhash.h, types/pa_vtable.C, types/pa_vxnode.C: faster
             templated pa_itoa/pa_uitoa added to work with any integer type,
             String::Body::Format removed
   
   2024-09-10  moko
   
           * src/classes/array.C: append and insert methods added to
             sparse-array (related to feature #930)
   
           * tests/: 253.html, 255.html, 421.html, results/421.processed:
             tests updated after sparse-array was added to avoid ^json:parse[]
             using it in old tests (related to feature #930)
   
           * src/: classes/array.C, classes/json.C, types/pa_varray.C,
             types/pa_varray.h: sparse-array class added (initial feature #930
             implementation)
   
           * src/: classes/Makefile.am, types/Makefile.am: Makefiles update
             for sparse-array class files (related to feature #930)
   
           * src/: classes/json.C, include/pa_array.h, types/pa_value.h,
             types/pa_vhash.h: VArray support functions without actual VArray
             files (related to feature #930)
   
   2024-09-07  moko
   
           * src/: classes/curl.C, classes/string.C, classes/table.C,
             include/pa_array.h, main/execute.C, main/pa_dictionary.C,
             main/pa_http.C, main/pa_sql_driver_manager.C,
             main/pa_stylesheet_manager.C, main/pa_table.C, types/pa_vclass.C,
             types/pa_vmethod_frame.C, types/pa_vstateless_class.C,
             types/pa_vtable.C, types/pa_wcontext.C: Array::Iterator unified
             with Hash::Iterator, has_next() replaced with operator bool
             (related to feature #930)
   
           * src/: classes/string.C, include/pa_array.h, main/pa_http.C,
             main/pa_table.C, types/pa_vclass.C, types/pa_vmethod_frame.C,
             types/pa_vstateless_class.C: Array class extended,
             Array::Iterator added and used (related to feature #930)
   
   2024-08-26  moko
   
           * src/targets/cgi/parser3.C: under Windows back_slashes_to_slashes
             should be used on argv[0] as well to match document root.
   
   2024-08-25  moko
   
           * src/main/pa_request.C: be more specific
   
           * src/targets/cgi/parser3.C: parser3 t.html now behaves identically
             to /usr/bin/parser3 t.html in terms of /etc/parser3/auto.p load
             (fixes bug #1244)
   
           * src/targets/cgi/parser3.C: avoid "parser allready configured"
             exception when ./parser3.cgi <file> is used; rsplit(..., '/') ||
             rsplit(..., '\\') is not correct when / and \ are mixed in path
   
           * src/targets/cgi/parser3.C: full_disk_path now uses pa_strcat()
   
   2024-07-24  moko
   
           * src/: include/pa_config_includes.h, lib/gd/gifio.C,
             main/execute.C, main/pa_string.C: Warning war: clang changed
             -Wdeprecated-register warning to -Wregister, it's easier to
             remove all register vars then continue this fight. :)
   
           * src/main/: compile.y, compile.tab.C: warning war: register
             removed
   
   2024-07-14  moko
   
           * src/targets/cgi/pa_sapi_info.h: When accessing $env:name,
             checking the HTTP request environment; if the variable is not
             present, checking the web server process environment (implements
             feature #1242)
   
   2024-05-26  moko
   
           * tests/: 195.html, 229.html, results/096.processed,
             results/097.processed, results/158.processed,
             results/186.processed, results/273.processed,
             results/293.processed, results/317.processed,
             results/389.processed, results/402.processed: tests updated as
             single quote now escaped with &apos; in HTML tainting mode
             (related to feature #1241)
   
           * src/main/untaint.C: single quote now escaped with &apos; in HTML
             tainting mode (implements feature #1241)
   
           * tests/results/: 020.processed, 021.processed, 026.processed,
             042.processed, 043.processed, 057.processed, 110.processed,
             115.processed, 116.processed, 117.processed, 118.processed,
             119.processed, 120.processed, 125.processed, 126.processed,
             128.processed, 130.processed, 131.processed, 132.processed,
             133.processed, 135.processed, 136.processed, 138.processed,
             139.processed, 140.processed, 145.processed, 150.processed,
             151.processed, 165.processed, 174.processed, 181.processed,
             182.processed, 192.processed, 193.processed, 201.processed,
             213.processed, 224.processed, 226.processed, 230.processed,
             239.processed, 240.processed, 244.processed, 253.processed,
             254.processed, 261.processed, 264.processed, 269.processed,
             274.processed, 275.processed, 288.processed, 294.processed,
             296.processed, 303.processed, 306.processed, 307.processed,
             308.processed, 311.processed, 312.processed, 314.processed,
             315.processed, 316.processed, 320.processed, 323.processed,
             324.processed, 325.processed, 328.processed, 330.processed,
             332.processed, 333.processed, 337.processed, 338.processed,
             341.processed, 342.processed, 343.processed, 344.processed,
             345.processed, 348.processed, 352.processed, 356.processed,
             357.processed, 363.processed, 364.processed, 368.processed,
             372.processed, 373.processed, 376.processed, 378.processed,
             379.processed, 385.processed, 386.processed, 387.processed,
             389.processed, 390.processed, 395.processed, 397.processed,
             398.processed, 399.processed, 404.processed, 406.processed,
             413.processed, 414.processed, 420.processed, 421.processed,
             424.processed, auto.p: Type -> Exception type for readability
   
           * tests/: 119.html, 165.html, 175.html, 192.html, 213.html,
             217.html, 230.html, 240.html, 298.html, 380.html, 415.html,
             results/119.processed, results/165.processed,
             results/175.processed, results/192.processed,
             results/213.processed, results/217.processed,
             results/230.processed, results/240.processed,
             results/298.processed, results/380.processed,
             results/415.processed: try-catch, try-catch-comment used
   
   2024-05-21  moko
   
           * tests/: 169.html, 180.html, 195.html, 224.html, 246.html,
             results/180.processed, results/195.processed,
             results/224.processed, results/auto.p: @try-catch-comment added
             and used
   
           * tests/: 175.html, 256.html, 269.html, 283.html, 341.html,
             415.html, results/269.processed, results/283.processed,
             results/auto.p: more tests are updated to prepare for apostrophe
             escaping in HTML tainting
   
           * tests/results/: 181.processed, 294.processed, 296.processed,
             315.processed, 379.processed, 389.processed, auto.p:
             $exception.comment printed as-is for whitespace reporting and to
             prepare for apostrophe escaping in HTML mode
   
   2024-05-11  moko
   
           * tests/: 099.html, 100.html, results/099.processed,
             results/100.processed: a test for non-UTF-8 filename* added
             (related to feature #1240)
   
           * tests/: 293.html, results/293.processed: tainting modes tests
             added
   
           * tests/results/: 099.processed, 100.processed, 205.processed,
             309.processed, 310.processed, 419.processed: tests results
             updated after filename* added (related to feature #1240)
   
           * src/: include/pa_common.h, main/pa_request.C: The filename*
             parameter was added to the Content-Disposition header to conform
             with RFC 6266, with code provided by Sumo (implements feature
             #1240)
   
   2024-05-10  moko
   
           * src/main/pa_http.C: Testing shows that TCP_NODELAY has no
             positive performance effect in our case
   
   2024-03-27  moko
   
           * src/lib/pcre/pcre_internal.vcproj: pa_config_includes.h used
             (related to feature #1236)
   
   2024-03-15  moko
   
           * tests/: 413.html, results/413.processed: test for object still
             can be used as file parameter (related to bug #1218)
   
           * src/types/: pa_vobject.C, pa_vobject.h: regression fix: object
             still can be used in file context (fixes bug #1218)
   
   2024-03-14  moko
   
           * src/include/pa_string.h: ArrayString get() null result assert
             also added (related to bug #1238)
   
           * src/types/: pa_vstring.h, pa_vtable.C: VString() optimized;
             VString::empty() used instead of new VString()
   
   2024-03-12  moko
   
           * tests/: 379-curl.html, 379.html, results/379-curl.processed,
             results/379.processed: test added for cookie without value
             (related to bug #1238)
   
           * src/include/pa_string.h: In assertions enabled mode, ArrayString
             values are now required to be non-null (related to bug #1238)
   
           * src/main/pa_http.C: cookies without value are now parsed
             correctly (fixed bug #1238)
   
   2024-03-11  moko
   
           * tests/run_parser.sh: for better error reporting
   
   2023-12-30  moko
   
           * tests/: 038.html, results/038.processed: test for atan2 added
   
   2023-12-29  moko
   
           * src/classes/math.C: atan2(y,x) math function added
   
   2023-12-14  moko
   
           * tests/212.html: pcre2 compatibility (related to feature #1236)
   
           * tests/: 425.html, results/425.processed: test for pcre/pcre2
             exceptions and behavour added (related to feature #1236)
   
   2023-12-13  moko
   
           * buildall: by default parser is now bundled with pcre2 10.42,
             --without-pcre2 option added to build with pcre-8.45 (related to
             feature #1236)
   
   2023-12-12  moko
   
           * configure.ac, src/include/pa_config_auto.h.in: pcre2 library
             support added (implements feature #1236)
   
           * src/: include/pa_charset.h, include/pa_config_includes.h,
             lib/pcre/pa_pcre_internal.h, lib/pcre/pa_pcre_valid_utf8.c,
             main/pa_common.C, main/pa_globals.C, types/pa_vregex.C,
             types/pa_vregex.h: Adopted patch from Yavor Doganov
             <yavor@gnu.org> to add pcre2 library support (implements feature
             #1236)
   
   2023-11-28  moko
   
           * src/include/pa_config_includes.h: warnings war continues
   
           * src/include/pa_config_includes.h: warning war
   
           * tests/: 424.html, results/424.processed: tests for '+' and '-'
             number strings, whitespace and sign in exception messages
             (related to bug #1234)
   
   2023-11-26  moko
   
           * tests/: 274.html, results/224.processed, results/274.processed:
             tests for date double, int, bool added (related to feature #1235)
   
           * src/: classes/date.C, types/pa_vdate.h: double,int,bool methods
             added for date class (implements feature #1235)
   
   2023-11-23  moko
   
           * src/: classes/math.C, include/pa_string.h, main/pa_string.C: '+'
             and '-' strings are no longer can be treated as number 0,
             exception thrown (fixes bug #1234)
   
   2023-11-18  moko
   
           * src/include/pa_types.h: minor
   
           * src/include/pa_dir.h: MAXPATH in UTF-16 chars, not bytes
   
           * tests/: 389.html, results/389.processed: error messages for some
             OS differs a bit, reducing failing tests for them
   
   2023-11-17  moko
   
           * tests/: 423.html, results/423.processed: test for optional
             @auto[] inheritance added (related to feature #1233)
   
           * src/: include/pa_request.h, main/execute.C, main/pa_request.C,
             types/pa_vstateless_class.C: optional @auto[] inheritance
             implemented if defined with two args (path, class name)
             (implements feature #1233)
   
           * src/: classes/double.C, classes/int.C, classes/math.C,
             include/pa_random.h, include/pa_types.h, main/pa_common.C,
             types/pa_vdouble.h, types/pa_vint.h: clip2int,clip2uint added to
             sync double->int overflow behavour under different architectures
             (fixes bug #1232)
   
           * tests/: 422.html, results/422.processed: int clipping added
   
   2023-11-16  moko
   
           * tests/: 422.html, results/422.processed: test for int and uint
             overflow in ^n.format[d/u/x]
   
           * src/classes/math.C: bugfix: crc32 should not be negative (under
             Apple M1 when negative double converts to uint the result is 0)
             and crc32 should be 32 bits
   
           * src/main/pa_common.C: avoid (uint)<negative double> conversion as
             on Apple M1 it's 0
   
           * src/classes/file.C: bugfix: crc32 should not be negative (under
             Apple M1 when negative double converts to uint the result is 0)
             and crc32 should be 32 bits
   
   2023-10-07  moko
   
           * src/: main/execute.C, types/pa_vdate.h: volatile added to sync
             behavour with other OP_NUM_*, related to bug #1230
   
   2023-10-06  moko
   
           * tests/: 338.html, results/338.processed: test for bug #1230 added
   
           * src/: main/execute.C, types/pa_vdate.h: force double operands to
             be converted to double to avoid 80 bit operations in x87 mode
             (fixes bug #1230)
   
   2023-10-05  moko
   
           * tests/420.html: add feature FEATURE_GET_ELEMENT4CALL disabled
             compatibility
   
           * tests/337.html: 2work without FEATURE_GET_ELEMENT4CALL
   
           * tests/: 421.html, results/421.processed: test to cover all
             classes and objects nonexistent method and field exceptions
             (related to feature #1080 and #1227)
   
           * tests/results/: 182.processed, 324.processed: undefined method ->
             <type> method not found exception (related to feature #1080)
   
           * src/types/: pa_vbool.h, pa_vconsole.h, pa_vdouble.h, pa_vint.h,
             pa_vregex.C, pa_vstateless_object.h: + VSimple_stateless_object,
             "element can not be fetched from" for them, "field not found" for
             all other types (related to bug #1227)
   
   2023-10-03  moko
   
           * src/types/pa_vstateless_class.h: "Source: <method name>, Comment:
             <type> method not found" exception now thrown for static calls
             instead of "undefined method" without class name (related to
             feature #1080)
   
   2023-10-02  moko
   
           * src/types/: pa_vdouble.h, pa_vhash.h, pa_vint.h, pa_vobject.C,
             pa_vstateless_object.h, pa_vstring.h, pa_vtable.C: "Source:
             <method name>, Comment: <type> method not found" exception now
             thrown for all dynamic objects instead of "undefined method"
             without class name (implements feature #1080)
   
   2023-10-01  moko
   
           * src/classes/json.C: we don't have a dynamic json object.
   
   2023-09-28  moko
   
           * tests/: 420.html, results/261.processed, results/420.processed:
             tests updated after bug #1228 fix reverted
   
           * src/types/pa_vstring.h: revering fix for bug #1228, as empty or
             whitespace string is hash compatible, so we don't want $s.key to
             return a junction
   
           * tests/: 261.html, 420.html, results/261.processed,
             results/420.processed: test for bug #1227 added, test updated
             after bug #1228 fixed
   
           * src/types/: pa_vdouble.h, pa_vint.h: $int.field and $double.field
             now throws exception as $non-empty-string.field (fixes bug #1227)
   
           * src/types/pa_vstring.h: allow $string.method access (fixes bug
             #1228)
   
   2023-09-26  moko
   
           * AUTHORS, aclocal.m4, configure, src/classes/bool.C,
             src/classes/classes.C, src/classes/classes.awk,
             src/classes/classes.h, src/classes/curl.C, src/classes/date.C,
             src/classes/double.C, src/classes/file.C, src/classes/form.C,
             src/classes/hash.C, src/classes/hashfile.C, src/classes/image.C,
             src/classes/inet.C, src/classes/int.C, src/classes/json.C,
             src/classes/mail.C, src/classes/math.C, src/classes/memcached.C,
             src/classes/memory.C, src/classes/op.C, src/classes/reflection.C,
             src/classes/regex.C, src/classes/response.C,
             src/classes/string.C, src/classes/table.C, src/classes/void.C,
             src/classes/xdoc.C, src/classes/xnode.C, src/classes/xnode.h,
             src/include/pa_array.h, src/include/pa_base64.h,
             src/include/pa_cache_managers.h, src/include/pa_charset.h,
             src/include/pa_charsets.h, src/include/pa_common.h,
             src/include/pa_config_fixed.h, src/include/pa_config_includes.h,
             src/include/pa_dictionary.h, src/include/pa_dir.h,
             src/include/pa_exception.h, src/include/pa_exec.h,
             src/include/pa_globals.h, src/include/pa_hash.h,
             src/include/pa_http.h, src/include/pa_memory.h,
             src/include/pa_opcode.h, src/include/pa_operation.h,
             src/include/pa_os.h, src/include/pa_pool.h,
             src/include/pa_random.h, src/include/pa_request.h,
             src/include/pa_request_charsets.h, src/include/pa_request_info.h,
             src/include/pa_sapi.h, src/include/pa_socks.h,
             src/include/pa_sql_connection.h,
             src/include/pa_sql_driver_manager.h, src/include/pa_stack.h,
             src/include/pa_string.h, src/include/pa_stylesheet_connection.h,
             src/include/pa_stylesheet_manager.h, src/include/pa_symbols.h,
             src/include/pa_table.h, src/include/pa_threads.h,
             src/include/pa_types.h, src/include/pa_uue.h,
             src/include/pa_xml_exception.h, src/include/pa_xml_io.h,
             src/lib/gd/gif.C, src/lib/gd/gif.h, src/lib/gd/gifio.C,
             src/lib/ltdl/configure, src/lib/md5/pa_md5.h,
             src/lib/md5/pa_md5c.c, src/lib/memcached/pa_memcached.C,
             src/lib/memcached/pa_memcached.h, src/lib/punycode/pa_idna.c,
             src/lib/punycode/pa_idna.h, src/lib/sdbm/pa_file_io.C,
             src/lib/sdbm/pa_strings.C, src/lib/smtp/comms.C,
             src/lib/smtp/smtp.C, src/lib/smtp/smtp.h, src/main/compile.C,
             src/main/compile.tab.C, src/main/compile.y,
             src/main/compile_tools.C, src/main/compile_tools.h,
             src/main/execute.C, src/main/pa_base64.C,
             src/main/pa_cache_managers.C, src/main/pa_charset.C,
             src/main/pa_charsets.C, src/main/pa_common.C,
             src/main/pa_dictionary.C, src/main/pa_dir.C,
             src/main/pa_exception.C, src/main/pa_exec.C,
             src/main/pa_globals.C, src/main/pa_http.C, src/main/pa_memory.C,
             src/main/pa_os.C, src/main/pa_pool.C, src/main/pa_random.C,
             src/main/pa_request.C, src/main/pa_socks.C,
             src/main/pa_sql_driver_manager.C, src/main/pa_string.C,
             src/main/pa_stylesheet_connection.C,
             src/main/pa_stylesheet_manager.C, src/main/pa_symbols.C,
             src/main/pa_table.C, src/main/pa_threads.C, src/main/pa_uue.C,
             src/main/pa_xml_exception.C, src/main/pa_xml_io.C,
             src/main/untaint.C, src/main/helpers/simple_folding.pl,
             src/sql/pa_sql_driver.h, src/targets/apache/mod_parser3.c,
             src/targets/apache/mod_parser3_core.C,
             src/targets/apache/pa_httpd.h, src/targets/cgi/parser3.C,
             src/targets/isapi/parser3isapi.C, src/types/pa_junction.h,
             src/types/pa_method.h, src/types/pa_property.h,
             src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vbool.h,
             src/types/pa_vcaller_wrapper.h, src/types/pa_vclass.C,
             src/types/pa_vclass.h, src/types/pa_vcode_frame.h,
             src/types/pa_vconsole.h, src/types/pa_vcookie.C,
             src/types/pa_vcookie.h, src/types/pa_vdate.C,
             src/types/pa_vdate.h, src/types/pa_vdouble.h,
             src/types/pa_venv.C, src/types/pa_venv.h, src/types/pa_vfile.C,
             src/types/pa_vfile.h, src/types/pa_vform.C, src/types/pa_vform.h,
             src/types/pa_vhash.C, src/types/pa_vhash.h,
             src/types/pa_vhashfile.C, src/types/pa_vhashfile.h,
             src/types/pa_vimage.C, src/types/pa_vimage.h,
             src/types/pa_vint.h, src/types/pa_vjunction.C,
             src/types/pa_vjunction.h, src/types/pa_vmail.C,
             src/types/pa_vmail.h, src/types/pa_vmath.C, src/types/pa_vmath.h,
             src/types/pa_vmemcached.C, src/types/pa_vmemcached.h,
             src/types/pa_vmemory.h, src/types/pa_vmethod_frame.C,
             src/types/pa_vmethod_frame.h, src/types/pa_vobject.C,
             src/types/pa_vobject.h, src/types/pa_vregex.C,
             src/types/pa_vregex.h, src/types/pa_vrequest.C,
             src/types/pa_vrequest.h, src/types/pa_vresponse.C,
             src/types/pa_vresponse.h, src/types/pa_vstateless_class.C,
             src/types/pa_vstateless_class.h,
             src/types/pa_vstateless_object.h, src/types/pa_vstatus.C,
             src/types/pa_vstatus.h, src/types/pa_vstring.C,
             src/types/pa_vstring.h, src/types/pa_vtable.C,
             src/types/pa_vtable.h, src/types/pa_vvoid.C,
             src/types/pa_vvoid.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,
             src/types/pa_vxnode.C, src/types/pa_vxnode.h,
             src/types/pa_wcontext.C, src/types/pa_wcontext.h,
             src/types/pa_wwrapper.h: copyright, authors actualized
   
   2023-08-20  moko
   
           * tests/: 141.html, results/141.processed: test for ^math:uuid7[]
             commited (related to feature #1219)
   
   2023-08-16  moko
   
           * src/main/pa_random.C: replaced clock precision with monotonicity
             counter, good for Windows version with low clock frequency
             (related to feature #1229)
   
   2023-08-15  moko
   
           * src/: main/pa_random.C, types/pa_vstatus.C: win32 compatibility
             fixes related to feature #1229
   
           * src/: classes/math.C, include/pa_random.h, main/pa_random.C,
             types/pa_vstatus.C: ^math:uuid7 added, code provided by Sumo
             (implements feature #1229)
   
   2023-08-02  moko
   
           * tests/: results/417.processed, 417.html: test for empty string
             match after last char added (related to bug #1224)
   
           * src/main/pa_string.C: avoid prestart++ after last char on zero
             length match (related to bug #1224)
   
   2022-11-22  moko
   
           * tests/: 419.html, results/419.processed: test for L_URI and path
             removeal from filename added (related to bug #1204)
   
           * src/main/pa_request.C: bugfix: pa_filename was lost in 1.394
             commit (related to bug #1204), L_HTTP_HEADER is incorrect for
             attribute value, L_URI should be used
   
   2022-09-21  moko
   
           * src/targets/cgi/parser3.C: more clear error messages
   
           * src/targets/cgi/parser3.C: only SAPI_Info_CGI can read POST,
             SAPI_Info will return 0 in read_post and post_size !=
             content_length will be thrown
   
   2022-08-23  moko
   
           * src/types/pa_vmail.C: .tables addes as .raw contains only last
             header value
   
   2022-08-22  moko
   
           * tests/: 418.html, results/418.processed: test for
             ^hash_a.intersection[hash_b; $.order[self|arg] ] added (related
             to #1225)
   
           * src/classes/hash.C: keep old behavoir by default
   
           * src/classes/hash.C: ^hash_a.intersection[hash_b;
             $.order[self|arg] ] added (implements #1215)
   
   2022-03-21  moko
   
           * src/main/pa_charset.C: bugfix: +static xml_encoding_handlers as
             xmlInitCharEncodingHandlers is called in libxml static
             initializers before gc_substitute_memory_management_functions in
             pa_globals and thus gc may not see reference to our
             xmlCharEncodingHandler and free it.
   
   2022-01-26  moko
   
           * src/targets/cgi/parser3.C: argv[0] -> parser3_filespec
   
   2021-12-28  moko
   
           * tests/: 417.html, results/417.processed: test for empty string
             match added (related to bug #1224)
   
           * src/main/pa_string.C: empty string match now works (fixes bug
             #1224)
   
   2021-12-24  moko
   
           * tests/: 415_dir/29.p, results/415.processed: yet another test
   
   2021-12-23  moko
   
           * src/: classes/table.C, main/pa_request.C: warnings war
   
           * src/: include/pa_common.h, include/pa_http.h, main/pa_common.C,
             main/pa_http.C, targets/cgi/parser3.C: MSVC SOCKET warnings war
   
   2021-12-21  moko
   
           * tests/: 416.html, results/416.processed: test for ^break[] in
             ^hash/table.select[] (related to feature #1222)
   
           * src/classes/: hash.C, table.C: ^break[] support for
             ^hash/table.select[] (implements feature #1222)
   
   2021-11-30  moko
   
           * src/targets/cgi/parser3.C: default sock_ready interval changed to
             0.5 sec
   
   2021-11-10  moko
   
           * tests/results/415.processed: more syntax errors tests added
   
           * tests/415_dir/: 20.p, 21.p, 22.p, 23.p, 24.p, 25.p, 26.p, 27.p,
             28.p: minor syntax error tests
   
           * src/main/pa_exception.C: pa_strdup added for compatibility
   
           * src/classes/curl.C: hint to call ^curl:options[
             $.library[correct.libcurl.so.name] ] added if default load fails.
   
   2021-11-09  moko
   
           * src/main/compile.y: error message can be on stack
   
           * src/main/pa_xml_io.C: strcat replaced with pa_strcat
   
           * src/main/pa_charset.C: memcpy is more correct and efficient in
             this case then strncpy
   
           * src/: classes/image.C, types/pa_vrequest.C: pa_strdup used
             instead of strcpy where possible
   
           * src/: classes/op.C, main/pa_exception.C: "%s" format now can be
             used to avoid MAX_STRING limit in Exception comment
   
           * tests/results/415.processed: compiler exceptions are no longer
             limited to MAX_STRING
   
           * src/main/: compile.y, compile_tools.h: Parse_control uses const
             char * instead of fixed buffer
   
           * tests/: 415.html, 415_dir/01.p, 415_dir/02.p, 415_dir/03.p,
             415_dir/04.p, 415_dir/05.p, 415_dir/06.p, 415_dir/07.p,
             415_dir/08.p, 415_dir/09.p, 415_dir/10.p, 415_dir/11.p,
             415_dir/12.p, 415_dir/13.p, 415_dir/14.p, 415_dir/15.p,
             results/415.processed: tests for parser.compile exceptions added
   
   2021-11-08  moko
   
           * src/: classes/math.C, include/pa_common.h, main/compile.y,
             main/pa_common.C, main/pa_dir.C, main/pa_exec.C, main/pa_http.C,
             targets/cgi/parser3.C, targets/isapi/parser3isapi.C,
             types/pa_vdate.C: pa_strncpy added ans used to avoid strncpy
             drawbacks
   
   2021-11-06  moko
   
           * src/classes/inet.C: ^inet:hostname[] added by sumo@ patch
             (implements feature #1219)
   
           * tests/: 414.html, results/414.processed: test for
             ^hash.rename[from;to] added (related to feature #1144)
   
   2021-11-05  moko
   
           * src/classes/hash.C: ^hash.rename[ $.from[to] ... ] support added
             (related to feature #1144)
   
   2021-11-04  moko
   
           * src/: classes/hash.C, include/pa_hash.h: ^hash.rename[from;to]
             added (implements feature #1144)
   
   2021-10-19  moko
   
           * tests/: 413.html, results/413.processed: test for hash no longer
             is accepted as file parameter (related to bug #1218)
   
           * src/: classes/curl.C, classes/file.C, classes/image.C,
             classes/math.C, classes/xdoc.C, types/pa_value.C,
             types/pa_value.h, types/pa_vfile.h, types/pa_vmail.C: hash no
             longer is accepted as file parameter (fixes bug #1218)
   
   2021-07-19  moko
   
           * src/targets/cgi/parser3.C: waitpid in file::exec returned "No
             child processes" when SIGCHLD was SIG_IGN (fixes bug #1215)
   
   2021-04-16  moko
   
           * src/types/pa_vmail.C: message can be null when e-mail is broken,
             processing it leads to assertions.
   
   2021-03-25  moko
   
           * tests/: 412.html, results/412.processed: test to demonstrate bug
             #1213
   
   2021-02-12  moko
   
           * tests/: 360.html, results/360.processed, results/363.processed:
             parser method call in expression mode no longer differs from call
             in string mode (related to feature #1211)
   
   2021-02-11  moko
   
           * src/types/pa_vmail.C: mail parsing with Windows line endings
             fixed (bug #1212)
   
           * src/types/pa_vmethod_frame.h: no more difference inside @test[]
             when called $v[^test[]] vs $v(^test[]), numbers are converted to
             strings in both calls (implements feature #1211)
   
   2021-01-28  moko
   
           * buildall, etc/auto.p.in: to remove last patch in debian package
   
           * configure, configure.ac, src/include/pa_version.h: 3.4.6 ->
             3.4.7b
   
   2021-01-21  moko
   
           * src/main/pa_http.C: no alarm() in file::load when web server mode
             is MULTITHREADED
   
   2021-01-20  moko
   
           * src/targets/apache/mod_parser3.c: it is more correct to recommend
             'a2enmod mpm_prefork'
   
           * src/targets/apache/mod_parser3.c: prefork name is now
             'libapache2-mpm-itk'
   
           * src/targets/apache/mod_parser3_core.C: last regular malloc
             removed
   
           * src/targets/isapi/Makefile.am: -pa_threads.C
   
           * configure, configure.ac, src/include/pa_version.h: 3.4.6rc ->
             3.4.6
   
           * etc/auto.p.in: post_max_size 10Mb -> 64Mb. It's 2021 year now. :)
   
           * etc/auto.p.in: @config[result] added to simplify $cfg change in
             /httpd.p
   
           * etc/auto.p.in: httpd fine-tune: + @OPTIONS partial, +
             ^use[/httpd.p] + optional ^preprocess[] (related to feature
             #1203)
   
   2021-01-19  moko
   
           * buildall: --disable-parallel-mark added to avoid "number of
             processors" threads creation for heap marking as it conflicts
             with RLimitNProc in apache (on Linux setrlimit RLIMIT_NPROC
             limits threads)
   
   2021-01-16  moko
   
           * src/: classes/memory.C, include/pa_memory.h, lib/gc/include/gc.h,
             main/pa_globals.C, main/pa_memory.C,
             targets/apache/mod_parser3_core.C, targets/isapi/parser3isapi.C,
             types/pa_vhashfile.C: ^memory:auto-compact(N) added (implements
             feature #1209)
   
   2021-01-15  moko
   
           * configure, configure.ac, src/include/pa_version.h: 3.4.6b ->
             3.4.6rc
   
           * src/classes/json.C: get_delim added for delimiter caching (10%
             faster on large json)
   
   2021-01-14  moko
   
           * operators.txt: updated with 3.4.6 changes
   
           * tests/results/224.processed: test result modified after
             today(shift) implemented
   
           * tests/: 407.html, results/407.processed: test for ^hash.select
             option $.default(bool) added (related to feature #1172)
   
           * src/classes/hash.C: ^hash.select option $.default(bool) added
             (related to feature #1172)
   
           * tests/: 141.html, results/141.processed: test modified for
             feature #1185.
   
           * src/: classes/math.C, include/pa_random.h, main/pa_random.C:
             ^math:uuid options $.lower(bool) $.solid(bool), ^math:uid64
             options $.lower(bool) (implements feature #1185)
   
   2021-01-11  moko
   
           * src/classes/date.C: ^date::today(N) by gz@ (implements feature
             #1192)
   
           * tests/: 411.html, results/411.processed: test for ^date::today(N)
             added (related to feature #1192)
   
   2021-01-05  moko
   
           * tests/: 270.html, results/270.processed: test modified to work
             under Windows
   
           * tests/: 390.html, 395.html, results/395.processed: tests updated
             4 windows
   
           * tests/: 410.html, results/410.processed: test for
             $CLASS-GETTER-PROTECTED(false) added
   
   2021-01-04  moko
   
           * tests/: 409.html, results/409.processed, results/auto.p: test for
             $MAIN:LOCALS(true) added
   
   2021-01-03  moko
   
           * src/: main/pa_http.C, main/pa_request.C, types/pa_vclass.C,
             types/pa_vclass.h, types/pa_vstateless_class.C,
             types/pa_vstateless_class.h: @conf[] +CLASS-GETTER-PROTECTED,
             +LOCALS. $main -> $MAIN in exception texts (implements feature
             #1207)
   
   2021-01-02  moko
   
           * etc/auto.p.in: minor
   
           * src/main/pa_request.C: sending headers only after opening file to
             allow error reporting if file was not opened (foreign group,
             etc).
   
   2020-12-31  moko
   
           * src/: include/pa_request.h, main/pa_request.C,
             targets/cgi/parser3.C: ^httpd-main[] -> ^httpd:main[]
   
           * src/: classes/reflection.C, include/pa_request.h, main/execute.C,
             main/pa_request.C: get_class_ref added and used
   
           * etc/auto.p.in: @CLASS httpd added
   
           * etc/auto.p.in: @auto[] is now first
   
   2020-12-30  moko
   
           * tests/: 408.html, results/408.processed: test for bug #1166
             (windows only) added
   
           * src/main/pa_common.C: create_dir_for_file should not create dir
             for trailing / (fixes bug #1166)
   
           * tests/: 341.html, results/341.processed: tests for
             ^nameless_table.hash[] added (related to feature #1138)
   
           * src/classes/table.C: ^nameless_table.hash[0;1] now supported
             (implements feature #1138), extra fields in named tables no
             longer ignored (implements feature #1138)
   
           * tests/results/390.processed: updated after exception text change
   
   2020-12-29  moko
   
           * tests/: 407.html, results/407.processed: +$._default check
   
           * src/classes/hash.C: keep $_default in ^hash.reverse[]
   
           * tests/: 407.html, results/407.processed: test for ^hash.select[]
             and ^hash.reverse[] added (releated to feature #1172)
   
           * src/classes/hash.C:
             ^hash.select[key;value](bool-condition)[options hash] +
             ^hash.reverse[] added (implements feature #1172)
   
           * src/types/pa_vtable.h: warning war
   
           * src/include/pa_config_fixed.h: win32 fix
   
   2020-12-27  moko
   
           * tests/: 406.html, results/406.processed: test results updated
   
           * src/: classes/table.C, main/pa_request.C, types/pa_vmail.C,
             types/pa_vmemcached.C: fine tuning in ^table.rename[], minor
             spelling
   
   2020-12-26  moko
   
           * tests/: 406.html, results/406.processed: tests for
             ^table.rename[] added (related to feature #1148)
   
           * src/: classes/table.C, include/pa_table.h, main/pa_table.C:
             ^table.rename[column name from;column name to], ^table.rename[
             $.[column name from][column name to] ... ] added (implements
             feature #1148)
   
   2020-12-25  moko
   
           * src/: include/pa_request_info.h, targets/cgi/parser3.C:
             request_info now on stack to avoid yet another THREAD_LOCAL
             memory deallocation issue (now with cookies), explained in #1203
   
           * src/types/pa_vcookie.C: fields should be inited
   
   2020-12-24  moko
   
           * src/include/pa_stylesheet_connection.h: looks like
             xsltFreeStylesheet leads to memory double-free. If so, it's for
             sure libxml bug, but we have GC anyway, so we just remove this
             call and see...
   
             * thread #1, name = 'parser.parser3.cgi', stop reason = signal
             SIGABRT   * frame #0: 0x0000000801ab50fa libc.so.7`__sys_thr_kill
             + 10     frame #2: 0x0000000801ab5039 libc.so.7`abort at
             abort.c:65:8     frame #3: 0x00000000004da663
             parser.parser3.cgi`GC_freehblk(hbp=<unavailable>) at
             allchblk.c:878:9     frame #4: 0x00000000004cb8c4
             parser.parser3.cgi`GC_free(p=0x0000000808b34000) at
             malloc.c:617:9     frame #5: 0x0000000000577f0c
             parser.parser3.cgi`xmlHashFree(table=0x0000000806991a80,
             f=<unavailable>) at hash.c:356:2     frame #6: 0x000000000051a7c2
             parser.parser3.cgi`xsltFreeTemplateHashes + 50     frame #7:
             0x000000000050cfac parser.parser3.cgi`xsltFreeStylesheet + 124
              frame #8: 0x000000000050d35c
             parser.parser3.cgi`xsltFreeStylesheetList + 44     frame #9:
             0x000000000050d1fa parser.parser3.cgi`xsltFreeStylesheet + 714
              frame #10: 0x00000000004436e5
             parser.parser3.cgi`Stylesheet_manager::maybe_expire_cache()
             [inlined]
             Stylesheet_connection::disconnect(this=0x0000000804676c80) at
             pa_stylesheet_connection.h:62:3
   
   2020-12-23  moko
   
           * src/classes/image.C: ^image::measure[; $.video() ] option added
   
           * tests/: 395.html, 395_dir/4.mp4, results/395.processed: test
             ^image::measure[; $.video(true) ] added
   
           * src/main/pa_exec.C: not cleared automatically in multithreaded
             httpd mode for unknown reasons
   
   2020-12-22  moko
   
           * src/targets/cgi/parser3.C: added by PAF in rev 201 to "write to
             error_log uri of currently processed document", but never used
             and conflicts with how libgc stops threads on FreeBSD (#define
             SIG_SUSPEND SIGUSR1), thus removed.
   
   2020-12-21  moko
   
           * src/main/pa_request.C: +comment
   
   2020-12-20  moko
   
           * src/: include/pa_common.h, include/pa_memory.h, main/pa_common.C:
             it is more safe to have versions of pa_strdup with one and two
             arguments, as helper_length=0 not always mean that strlen()
             should be called, but means zero.
   
           * src/targets/isapi/parser3isapi.C: minor
   
           * src/main/pa_http.C: +valid_http_method
   
           * src/: include/pa_http.h, main/pa_http.C,
             targets/cgi/pa_sapi_info.h: SERVER_PORT now available
   
   2020-12-17  moko
   
           * tests/: 405.html, results/405.processed: test for split by regex
             added (related to feature #1160)
   
           * src/classes/string.C: split by regex implemented (feature #1160)
   
           * src/classes/string.C: minor
   
           * tests/: 404.html, results/404.processed: test for whitespace
             string is now OK for table argument (related to feature #1169)
   
           * src/: classes/image.C, classes/string.C, classes/table.C,
             types/pa_vmethod_frame.C: whitespace string is now OK for table
             argument (as with hash) (implements feature #1169)
   
           * src/classes/op.C: Exception.add_comment used to avoid MAX_LENGTH
             limit for comment (fixes bug #1102)
   
           * src/targets/cgi/parser3.C: +HAVE_TLS check
   
           * src/main/pa_http.C: no HAVE_TLS -> no multithreads mode
   
           * src/include/pa_config_includes.h: HAVE_TLS used
   
           * configure.ac: +TLS check
   
           * src/main/pa_http.C: content logging added
   
           * src/targets/cgi/: pa_sapi_info.h, parser3.C:
             clear_response_headers added
   
   2020-12-16  moko
   
           * buildall: as we now use threads, libatomic_ops still required for
             some OS.
   
           * src/main/pa_request.C: whitespace
   
           * src/: include/pa_request.h, main/pa_request.C:
             Request::Exception_trace::table extracted and used
   
           * src/main/pa_request.C: moving output_result call outside of try
             as network exceptions should not be handled by parser code
   
           * src/: include/pa_http.h, main/pa_http.C: HTTPD_DEBUG added for
             logging network exchange
   
           * src/targets/cgi/: pa_sapi_info.h, parser3.C: do not send error
             via network if it was network write error.
   
           * src/targets/cgi/parser3.C: log -> pa_log
   
           * src/targets/cgi/parser3.C: pa_get_thread_id() used for logging
   
           * src/main/pa_threads.C: getpid() if no gettid() found
   
           * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C:
             we need to ignore "void" connections from browsers (browsers open
             connections in advance and they will be empty if user does not
             request more pages)
   
   2020-12-15  moko
   
           * src/targets/cgi/parser3.C: avoid previous uri in logs
   
           * src/targets/cgi/: pa_sapi_info.h, parser3.C: global ::request and
             RequestController not needed in httpd mode
   
           * 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_base64.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_base64.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_threads.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/cgi/parser3.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 updated
   
           * src/main/pa_request.C: old compilers support
   
           * tests/: 362.html, results/362.processed: test updated after
             changes after upgrade to libxml2-2.9.9 were made (related to bug
             #1108)
   
           * src/: classes/xdoc.C, types/pa_vxdoc.h: xsltStylesheet_auto_ptr
             removed, as xsltFreeStylesheet has side effects on original doc.
             compiled stylesheet no longer cached as with libxml2-2.9.9 it was
             not updated after xdoc modification (part 3 of test 362).
             (related to bug #1108)
   
           * src/targets/isapi/parser3isapi.C: +pa_strcat
   
           * src/: classes/memory.C, include/pa_memory.h,
             targets/apache/mod_parser3_core.C, targets/isapi/parser3isapi.C:
             PA_GC_GCOLLECT used
   
           * src/include/pa_memory.h: +PA_GC_COLLECT
   
           * src/targets/cgi/parser3.C: msvs support fixes
   
           * src/lib/gc/include/gc.h: more cleanup
   
           * src/: include/pa_threads.h, main/pa_threads.C: win32 fixes
   
           * src/: include/pa_http.h, main/pa_http.C, main/pa_request.C,
             targets/cgi/parser3.C: $main:HTTPD.mode implemented
   
           * src/include/pa_config_includes.h: +HAVE_PTHREAD_H
   
           * configure.ac: pthread.h added to checked headers
   
           * src/classes/table.C: string stream is back :)
   
           * src/classes/memory.C: GC_generate_random_backtrace no longer
             exists
   
           * src/main/pa_globals.C: GC_dont_gc replaced
   
           * src/lib/gc/include/gc.h: major cleanup, only used functions are
             left to simplify adding new functions.  depricated GC_dont_gc
             replaced with GC_disable and GC_enable calls.
   
           * src/lib/cord/: cordxtra.c, include/cord.h: cleanup:
             CORD_from_file* not used and thus removed
   
           * src/lib/gc/include/gc_allocator.h: minor cleanup
   
   2020-12-14  moko
   
           * src/classes/: curl.C, memory.C, table.C: every TLS should be
             referenced elsewhere, or GC will collect it.
   
           * src/: include/pa_xml_io.h, main/pa_stylesheet_connection.C,
             main/pa_xml_io.C: bugfix: TLS variables should be referenced
             elsewhere, or GC will collect them (and we'll get GPF in
             multithreaded enviroment).  May be it can be also fixed by some
             GC call, not sure. But this fix costs nothing (but hours of
             debugging to find the issue :).
   
   2020-12-11  moko
   
           * configure.ac: gettid() check added
   
           * src/main/pa_threads.C: HAVE_GETTID used
   
           * src/include/pa_config_auto.h.in: +HAVE_GETTID
   
           * src/: include/pa_threads.h, main/pa_threads.C: now unified
             version for isapi/cgi/apache
   
           * buildall: threads are now required.
   
           * src/: targets/apache/ApacheModuleParser3Core.vcproj,
             targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj,
             main/main.vcproj: pa_threads.C moved to main
   
           * src/targets/: apache/pa_threads.C, cgi/pa_threads.C,
             isapi/pa_threads.C: pa_threads.C moved to main
   
           * src/: main/Makefile.am, targets/cgi/Makefile.am,
             targets/apache/Makefile.am: pa_threads.C moved to main
   
           * src/classes/xdoc.C: Stylesheet_connection_ptr changed a bit
   
           * src/: include/pa_stylesheet_connection.h,
             main/pa_stylesheet_manager.C: Stylesheet_connection_ptr simplfied
             and weird GPF in multithreaded httpd is gone
   
           * src/include/: pa_stylesheet_connection.h,
             pa_sql_driver_manager.h: whitespace
   
           * src/main/pa_sql_driver_manager.C: timeout 60 sec -> 10 sec
   
           * src/: include/pa_sql_connection.h, main/pa_sql_driver_manager.C,
             main/pa_stylesheet_manager.C: whitespace, warning war
   
           * src/: include/pa_threads.h, targets/apache/pa_threads.C,
             targets/cgi/pa_threads.C, targets/isapi/pa_threads.C:
             parser_multithreaded never used
   
           * src/main/pa_http.C: no ALARM in MULTITHREADED httpd server mode
   
   2020-12-10  moko
   
           * src/: include/pa_config_includes.h, include/pa_http.h,
             main/pa_http.C, targets/cgi/parser3.C: initial support for
             MULTITHREADED and PARALLEL httpd server modes
   
           * src/main/pa_globals.C: GC_java_finalization is depricated
   
   2020-12-09  moko
   
           * etc/auto.p.in: + @httpd-main
   
           * src/: include/pa_common.h, main/pa_request.C,
             targets/cgi/pa_sapi_info.h: Range Requests (rfc7233) now really
             work
   
           * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C:
             slow file_read_binary no longer used, send_range added
   
   2020-12-08  moko
   
           * src/main/pa_request.C: >4Gb support
   
           * src/targets/cgi/parser3.C: msvc warning war
   
           * src/: include/pa_config_includes.h, main/pa_http.C,
             main/pa_request.C: msvc warnings war
   
           * src/classes/image.C: warning war
   
           * src/classes/table.C: MSVC warning war
   
           * src/targets/cgi/parser3.C: msvc warnings war
   
           * src/targets/apache/mod_parser3_core.C: SYSTEM_CONFIG_FILE support
             added
   
   2020-12-07  moko
   
           * configure.ac: SYSTEM_LOG_FILE no longer required as cheat used to
             avoid logging beside system-wide auto.p
   
           * src/targets/cgi/parser3.C: SYSTEM_CONFIG_FILE used
   
           * configure, configure.ac, src/include/pa_config_auto.h.in:
             configure options added:
   
             --with-system-cfg=FILE  to specify system-wide auto.p
             --with-system-log=FILE  to specify system-wide parser3.log
   
           * Makefile.am: bin no longer exists
   
           * configure, configure.ac: auto.p moved to etc to simplify debian
             package
   
           * buildall: auto.p and parser3.charsets moved to their default
             location after install
   
           * etc/: Makefile.am, auto.p.in: auto.p moved to etc directory
   
           * aclocal.m4, configure: automake 1.15 -> 1.16.1
   
           * src/targets/cgi/parser3.C: locate_config call returned to
             original place as it requires pa_thread_request() under Windows
   
           * src/targets/cgi/parser3.C: renaming
   
   2020-12-06  moko
   
           * src/: main/pa_globals.C, targets/cgi/parser3.C: thread request
             check added
   
   2020-12-04  moko
   
           * src/: classes/image.C, include/pa_common.h, main/pa_common.C,
             main/pa_request.C: unified uint64_t lseek implemented to support
             >4Gb files under x86, including Windows
   
   2020-12-02  moko
   
           * src/main/pa_common.C: minor bugfix: $.limit() should be checked
             with max_file_size
   
           * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C:
             support for processing files sized >4Gb on 32 bit planforms
   
           * tests/399.html: file moved
   
           * src/: include/pa_string.h, main/pa_string.C: long long -> int64_t
   
           * src/targets/cgi/pa_sapi_info.h: warning war
   
           * src/: main/pa_http.C, targets/isapi/parser3isapi.C: windows
             warning war
   
   2020-12-01  moko
   
           * src/classes/image.C: mp4 extended size (>4Gb) support added
   
           * src/classes/image.C: for "size not found" exception to be shown
             if size not found until eof
   
           * src/classes/image.C: long -> off_t (which is 64 bits even on 32
             bit linux)
   
           * src/classes/image.C: ^image::measure[] now supports mp4 (feature
             #1188)
   
   2020-11-30  moko
   
           * src/classes/image.C: definitions moved closer to code
   
           * tests/: 395.bmp, 395.html, 396.html, 396.tiff, 395_dir/1.bmp,
             395_dir/2.tiff, 395_dir/3_VP8.webp, 395_dir/3_VP8L.webp,
             395_dir/3_VP8X.webp, results/395.processed,
             results/396.processed: tests for ^image::measure[] .webp support
             added, all image files moved into one directory (related to
             feature #1188)
   
           * src/classes/image.C: ^image::measure[] now supports webp (feature
             #1188)
   
   2020-11-29  moko
   
           * src/main/pa_request.C: CONF_OPTION added to unify @conf options
             processing, unnessesary defines removed
   
   2020-11-24  moko
   
           * tests/results/: 099.processed, 100.processed, 205.processed,
             309.processed, 310.processed: Content-Disposition: inline
             returned
   
           * tests/: 099.html, 237.html, 403.html, outputs/403.processed,
             results/auto.p: test for $response:body[ $.file[<file>] $.name[]
             ] added (related to bug #1204)
   
           * src/main/pa_request.C: $response:body[ $file[<file>.ext] $.name[]
             ] supported to avoid Content-Disposition: inline;
             filename="<file>.ext" but still set Content-Type for ext (related
             to bug #1204)
   
   2020-11-22  moko
   
           * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C,
             types/pa_vfile.C: pa_filename added to avoid useless rsplit
   
           * src/main/pa_request.C: content_disposition_inline returned.
   
   2020-11-17  moko
   
           * src/main/pa_request.C: empty main method name support
   
           * src/: main/pa_common.C, targets/cgi/parser3.C: httpd
             config_handler added, stdout flush added.
   
   2020-11-16  moko
   
           * src/targets/cgi/parser3.C: filespec_4log added, pa_strcat used.
   
           * tests/results/: 099.processed, 205.processed, 237.processed,
             309.processed, 310.processed: Content-Disposition: inline is not
             required and should not contain filename="<name>"
   
           * src/: include/pa_common.h, main/pa_common.C, main/pa_exception.C,
             targets/apache/mod_parser3_core.C, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C: pa_strcat implemented and used
   
   2020-11-14  moko
   
           * src/targets/cgi/parser3.C: spelling
   
           * src/targets/cgi/parser3.C: renaming
   
           * src/targets/cgi/parser3.C: args_skip removed, locate_config
             relocated
   
           * src/targets/cgi/parser3.C: execution_canceled was for sigpipe
             before request processing, which is weired
   
   2020-11-13  moko
   
           * src/main/pa_http.C: pa_recv added with timeout support, thus read
             copied in httpd.
   
   2020-11-12  moko
   
           * src/main/pa_http.C: ALARM code unified to be used in httpd
   
           * src/: include/pa_request.h, main/pa_request.C,
             targets/cgi/pa_sapi_info.h: pa_httpd_timeout added
   
           * src/main/pa_http.C: URI validation added
   
           * src/targets/cgi/parser3.C: filespec_to_process now variable,
             can't be empty but can be null.  httpd-main is now main method
             name for httpd mode
   
   2020-11-11  moko
   
           * src/main/pa_request.C: path_translated can be null in httpd mode
   
           * src/: classes/curl.C, classes/file.C, classes/hashfile.C,
             classes/image.C, classes/op.C, classes/string.C, classes/table.C,
             classes/xdoc.C, include/pa_request.h, main/execute.C,
             main/pa_request.C: r.absolute -> r.full_disk_path
   
           * src/targets/cgi/parser3.C: if filename to process is not
             specified, auto.p should be present.
   
   2020-11-03  moko
   
           * src/: classes/op.C, include/pa_request.h: unused argument removed
   
           * src/main/pa_request.C: content_disposition_inline is the default,
             not required.
   
   2020-10-29  moko
   
           * src/: classes/op.C, include/pa_request.h, main/pa_request.C:
             ^use[file; $.main(true) ] implemented for auto.p processing and
             path_translated changing to correct relative files path
             calculation in httpd mode
   
           * src/: include/pa_request.h, main/pa_request.C:
             fail_on_read_problem removed, as it allways true, as if should
             be.
   
           * src/: include/pa_request.h, main/pa_request.C,
             targets/apache/mod_parser3_core.C, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C: clearing config_filespec when
             config was not found, thus flag not required and removed.
   
   2020-10-28  moko
   
           * tests/: 402.html, results/402.processed: error reporting test
   
           * src/main/execute.C: better error reporting when
             $result[^hash::create[]] in @main.
   
           * src/main/: execute.C, pa_request.C: frame.result() should be used
             + minor optimization
   
           * src/: include/pa_request.h, main/execute.C, main/pa_request.C,
             main/pa_xml_io.C: execute_*_method simplified and unified
   
   2020-10-27  moko
   
           * tests/: 306.html, results/306.processed: a bit more testing. :)
   
           * src/: main/execute.C, types/pa_value.h, types/pa_vclass.C,
             types/pa_vclass.h, types/pa_vconsole.h, types/pa_vcookie.C,
             types/pa_vdate.C, types/pa_venv.C, types/pa_vform.C,
             types/pa_vhash.h, types/pa_vimage.C, types/pa_vmemcached.C,
             types/pa_vmethod_frame.h, types/pa_vobject.C,
             types/pa_vrequest.C, types/pa_vresponse.C, types/pa_vtable.C,
             types/pa_vxnode.C: optimization: PUT_ELEMENT_REPLACED_ELEMENT no
             longer used in object-prototype mode
   
           * src/: include/pa_sapi.h, targets/apache/mod_parser3_core.C,
             targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C, types/pa_venv.C, types/pa_venv.h,
             types/pa_vform.C, types/pa_vform.h: + $env:name[value] and
             $form:name[value] features
   
   2020-10-18  moko
   
           * src/targets/cgi/Makefile.am: + pa_sapi_info.h
   
   2020-10-15  moko
   
           * src/main/pa_http.C: url no longer needed as
             ALTER_EXCEPTION_SOURCE is used
   
           * src/: classes/curl.C, include/pa_common.h, main/pa_common.C,
             main/pa_http.C: check_file_size filespec is now optional
   
           * src/: classes/curl.C, include/pa_exception.h,
             main/pa_exception.C, main/pa_http.C: ALTER_EXCEPTION_SOURCE and
             ALTER_EXCEPTION_COMMENT added for better error reporting
   
           * tests/: 379-curl.html, 379.html, results/223-curl.processed,
             results/346-curl.processed, results/379-curl.processed,
             results/379.processed: test results updated as load now provides
             better error reporting + curl responses updated
   
   2020-10-14  moko
   
           * src/: classes/date.C, include/pa_string.h, main/pa_http.C,
             main/pa_string.C, targets/apache/mod_parser3_core.C,
             targets/cgi/parser3.C: pa_atoi / pa_atoui / pa_atoul usage
             checked. 10 is now default base, no hex autodetect by default
   
           * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C:
             connection socket closing in destructor + accept exception
             handling
   
           * src/targets/cgi/parser3.C: warning war
   
           * src/: include/pa_http.h, include/pa_sapi.h, main/pa_http.C,
             main/pa_request.C, targets/apache/mod_parser3_core.C,
             targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C: global try
             exception handling unified
   
   2020-10-13  moko
   
           * src/targets/isapi/parser3isapi.C: reverted to atoi to avoid hex
             autodetection
   
           * src/targets/apache/mod_parser3_core.C: reverted to atoi
   
           * src/: main/pa_http.C, targets/cgi/pa_sapi_info.h: warning war
   
           * src/main/pa_http.C: warning war
   
   2020-10-12  moko
   
           * src/: main/pa_request.C, targets/apache/mod_parser3_core.C,
             targets/cgi/parser3.C, targets/isapi/parser3isapi.C: excaption in
             unhandled exception code optimization
   
           * src/targets/cgi/parser3.C: request_info now global variable
   
           * src/main/pa_http.C: http_read_response moved to HTTP_response
             class
   
           * src/: include/pa_http.h, main/pa_http.C,
             targets/cgi/pa_sapi_info.h: read_post implemented
   
           * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C:
             [host:]port syntax support in httpd mode
   
           * src/: include/pa_http.h, targets/cgi/pa_sapi_info.h,
             targets/cgi/parser3.C: populate_env added
   
           * src/include/pa_hash.h: to make get(char *) compiling in
             HashStringString
   
   2020-10-10  moko
   
           * src/: classes/curl.C, include/pa_http.h, main/pa_http.C,
             targets/cgi/pa_sapi_info.h: ResponseHeaders -> HTTP_Headers
   
           * src/: include/pa_http.h, include/pa_request_info.h,
             main/pa_http.C, main/pa_string.C,
             targets/apache/mod_parser3_core.C, targets/cgi/pa_sapi_info.h,
             targets/cgi/parser3.C, targets/isapi/parser3isapi.C,
             types/pa_vrequest.C: initial httpd mode implementation
   
   2020-10-04  moko
   
           * src/targets/cgi/parser3.C: options together
   
   2020-09-30  moko
   
           * src/main/pa_http.C: renamed
   
   2020-08-14  moko
   
           * configure, configure.ac, parser3.sln, src/lib/Makefile.am,
             src/targets/cgi/Makefile.am: no httpd as separate library
   
   2020-08-13  moko
   
           * src/targets/cgi/parser3.C: SAPI::die used in exception in
             unhandled exception handler to report 500 instead of 200 it was
             before.
   
           * src/targets/apache/mod_parser3_core.C: minor cleanup
   
           * src/: include/pa_sapi.h, main/untaint.C,
             targets/apache/mod_parser3_core.C, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C: SAPI::abort was used only once,
             thus replaced with SAPI::die and removed
   
           * src/targets/: apache/mod_parser3_core.C, isapi/parser3isapi.C,
             cgi/parser3.C: whitespace
   
           * src/targets/cgi/parser3.C: locate_config() extracted, whitespace.
   
   2020-08-12  moko
   
           * src/targets/cgi/parser3.C: duplicate info in signal logging
             removed, whitespace was: SIGPIPE received while executing code.
             uri=/_tmp.html, method=GET, cl=0 [uri=/_tmp.html, method=GET,
             cl=0]
   
           * parser3.sln: + httpd.vcproj
   
   2020-08-11  moko
   
           * src/targets/cgi/Makefile.am: +libhttpd
   
           * configure.ac, src/lib/Makefile.am: +libhttpd
   
   2020-07-13  moko
   
           * tests/: 401.html, results/401.processed: test for hash key does
             not keep language, but tainted in foreach.
   
   2020-07-01  moko
   
           * tests/: 235.html, results/235.processed: test result updated as
             messages before attachments implemented (feature #1176)
   
   2020-06-27  moko
   
           * tests/: 400.html, results/400.processed: test updated to check
             ^return{code}
   
           * src/classes/op.C: bugfix: ^return{code} or ^return(expre+ssion)
             fixed
   
   2020-06-26  moko
   
           * tests/: 400.html, results/400.processed: test for OPTIMIZE_RESULT
             added (related to https://www.parser.ru/forum/?id=85319)
   
           * src/types/pa_vmethod_frame.h: bugfix: OPTIMIZE_RESULT failed,
             when $result assignment was last statement in the method
             (https://www.parser.ru/forum/?id=85319)
   
   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/<file> 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
   
           * 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 <space>=?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
             unsigned long long int support implemented (feature #1034)
   
           * src/: classes/math.C, include/pa_string.h, main/pa_string.C:
             pa_atoul added for unsigned long long int support
   
   2015-10-06  moko
   
           * src/types/pa_vdate.C: INT_MAX used
   
   2015-10-03  moko
   
           * tests/: 302.html, results/302.processed: test for bug #1023
             (\u2028, \u2029 escaping) added
   
           * src/main/untaint.C: \u2028, \u2029 are now escaped in
             json:string[] (fixes bug #1023)
   
   2015-09-29  moko
   
           * tests/305.html: try-catch added for OS without ipv6 support
   
           * src/lib/json/pa_json.C: more unique prefixes for Solaris
             compilation
   
           * src/: include/pa_opcode.h, include/pa_request.h, main/compile.y,
             main/execute.C, types/pa_value.h, types/pa_vhash.h,
             types/pa_vtable.C, types/pa_vtable.h: get_element4call
             implemented to distinguish ^hash.method from $hash.field
             (implements feature #1017)
   
           * src/lib/punycode/pa_punycode.c: warning war
   
           * src/include/pa_config_includes.h: warning war
   
           * src/include/pa_config_includes.h: pragma warning actualized a bit
   
           * src/include/pa_config_includes.h: warning war
   
           * src/include/pa_hash.h: clang compilation fix
   
   2015-09-27  moko
   
           * src/main/compile.tab.C: Bison 3 is now default
   
           * src/main/: compile.C, compile.y: Bison 3 compatibility fixed
   
   2015-09-25  moko
   
           * src/: classes/hash.C, include/pa_hash.h: parser now compiles and
             works with undefined HASH_ORDER (related to feature #196)
   
   2015-09-24  moko
   
           * tests/: 027.html, results/027.processed: test modified to test
             ^hash.sort (feature #196)
   
           * src/: classes/hash.C, include/pa_hash.h:
             ^hash.sort[key;value]{string-key-maker}|(numeric-key-maker)[[asc|desc]]
             added (implements feature #196)
   
           * tests/: 316.html, results/316.processed: Added test for bug #1025
             (exception handling in non-cached ^cache), plus for "it does not
             have logical value" and "$exception.handled value must be either
             boolean or string 'cache'" exceptions.
   
           * src/classes/op.C: ^cache: exceptions now handled in non-cached
             code (fixes bug #1025)
   
 2015-09-23  moko  2015-09-23  moko
   
         * src/classes/table.C: warning war          * src/classes/table.C: warning war
Line 733 Line 5363
           main/pa_stylesheet_connection.C: forgotten to be replaced            main/pa_stylesheet_connection.C: forgotten to be replaced
           XmlException is now replaced (once again closes issue #938)            XmlException is now replaced (once again closes issue #938)
   
 2013-10-19  misha  
   
         * bin/auto.p.dist.in: - more mime-types are added  
   
 2013-10-18  moko  2013-10-18  moko
   
         * buildall: disable clock_gettime detection to avoid librt linking          * buildall: disable clock_gettime detection to avoid librt linking
Line 1035 Line 5661
   
         * src/types/pa_vmemcached.C: LT_MODULE_EXT used          * src/types/pa_vmemcached.C: LT_MODULE_EXT used
   
         * bin/auto.p.dist.in: libpq.so -> libpq.  
   
         * src/classes/curl.C: LT_MODULE_EXT used          * src/classes/curl.C: LT_MODULE_EXT used
   
         * src/include/pa_config_fixed.h: LT_MODULE_EXT defined          * src/include/pa_config_fixed.h: LT_MODULE_EXT defined
Line 1155 Line 5779
   
 2013-07-07  moko  2013-07-07  moko
   
         * bin/auto.p.dist.in: windows-1251 commented to remove auto.p  
           dependense from $charsetsdir directory existance and content (and  
           UTF-8 is default allready)  
   
         * AUTHORS: + misha + moko. :)          * AUTHORS: + misha + moko. :)
   
 2013-07-06  moko  2013-07-06  moko
Line 1608 Line 6228
   
         * src/targets/apache/Makefile.am: updated for libtool usage          * src/targets/apache/Makefile.am: updated for libtool usage
   
         * bin/auto.p.dist.in: .cfg removed from charset names.  
   
         * buildall-without-xml: --with-included-ltdl added          * buildall-without-xml: --with-included-ltdl added
   
         * buildall-without-xml: sync with buildall-with-xml          * buildall-without-xml: sync with buildall-with-xml
Line 1703 Line 6321
           debian/patches/101_pcre.patch - local copy of pcre_internal.h            debian/patches/101_pcre.patch - local copy of pcre_internal.h
           extracts now used old trash removed            extracts now used old trash removed
   
         * bin/auto.p.dist.in: all charsets are listed, utf-8 by default,  
           rare charsets/drivers are commented, sql driver quessing removed  
           (debian/patches/103_auto_p.patch)  
   
         * etc/parser3.charsets/Makefile.am: charsets now in share          * etc/parser3.charsets/Makefile.am: charsets now in share
           (debian/patches/104_automake.patch) + all charsets are copied            (debian/patches/104_automake.patch) + all charsets are copied
   
Line 6268 Line 10882
   
 2007-02-20  misha  2007-02-20  misha
   
         * bin/auto.p.dist.in: - added lines for sqlite  
   
         * configure.in: - added some strings for sqlite detection          * configure.in: - added some strings for sqlite detection
   
 2007-02-19  misha  2007-02-19  misha
Line 6529 Line 11141
   
         * src/classes/file.C: - empty args in file::exec removed now          * src/classes/file.C: - empty args in file::exec removed now
   
 2006-09-11  misha  
   
         * bin/auto.p.dist.in: - 2 errors were fixed - table::set was  
           replaced to table::create - some changes in text/code formatting  
   
 2006-09-03  paf  2006-09-03  paf
   
         * src/classes/file.C: proper tainting of          * src/classes/file.C: proper tainting of
Line 7476 Line 12083
   
 2005-08-08  paf  2005-08-08  paf
   
         * bin/auto.p.dist.in: merged . apache bad 404 handling workaround  
           integrated  
   
         * bin/auto.p.dist.in: . apache bad 404 handling workaround  
           integrated  
   
         * src/main/: compile.tab.C, compile.y, compile_tools.C,          * src/main/: compile.tab.C, compile.y, compile_tools.C,
           compile_tools.h: merged + optimized constants in expressions            compile_tools.h: merged + optimized constants in expressions
           vstring->vdouble + optimized ^call(vdouble), no junction            vstring->vdouble + optimized ^call(vdouble), no junction
Line 8813 Line 13414
           main/main.vcproj, main/pa_globals.C, main/pa_xml_io.C: change:            main/main.vcproj, main/pa_globals.C, main/pa_xml_io.C: change:
           .xsl.stamp now not used, introducing dependencies timestamp check            .xsl.stamp now not used, introducing dependencies timestamp check
   
         * configure.in, bin/auto.p.dist.in: auto.p: @conf made relative          * configure.in: auto.p: @conf made relative
   
 2004-02-12  paf  2004-02-12  paf
   
Line 9372 Line 13973
         * src/types/: pa_value.h, pa_vfile.h: more C++ compatible [HP C++          * src/types/: pa_value.h, pa_vfile.h: more C++ compatible [HP C++
           failed]            failed]
   
         * bin/auto.p.dist.in: colno  
   
 2003-11-10  paf  2003-11-10  paf
   
         * src/types/pa_vconsole.h: flush          * src/types/pa_vconsole.h: flush
Line 13531 Line 18130
         * src/main/pa_string.C: string.replace fixed [were missing words on          * src/main/pa_string.C: string.replace fixed [were missing words on
           pieces boundaries]            pieces boundaries]
   
         * bin/auto.p.dist.in: strange \n  
   
         * configure, configure.in: .so now detected [can be .sl on hpux,          * configure, configure.in: .so now detected [can be .sl on hpux,
           .dll on cygwin, .so in other cases)            .dll on cygwin, .so in other cases)
   
         * configure, configure.in, bin/auto.p.dist.in: .so now detected          * configure, configure.in: .so now detected [can be .sl on hpux,
           [can be .sl on hpux, .dll on cygwin, .so in other cases)            .dll on cygwin, .so in other cases)
   
         * operators.txt, src/classes/hash.C, src/classes/table.C,          * operators.txt, src/classes/hash.C, src/classes/table.C,
           src/include/pa_globals.h, src/main/pa_globals.C: table.sql            src/include/pa_globals.h, src/main/pa_globals.C: table.sql
Line 13738 Line 18335
   
         * src/: main/execute.C, types/pa_vobject.h: fixed virtual calls          * src/: main/execute.C, types/pa_vobject.h: fixed virtual calls
   
         * bin/auto.p.dist.in, src/targets/cgi/parser3.C,          * src/: targets/cgi/parser3.C, types/pa_vfile.C, types/pa_vmail.C:
           src/types/pa_vfile.C, src/types/pa_vmail.C:  
           $mail.received.file.value.content-type fixed            $mail.received.file.value.content-type fixed
   
 2002-08-20  paf  2002-08-20  paf
Line 13936 Line 18532
           VAliased [redundant], moved $CLASS to VObject only [parser class            VAliased [redundant], moved $CLASS to VObject only [parser class
           instance]            instance]
   
         * bin/auto.p.dist.in: more like in dist on parser.ru  
   
         * bin/auto.p.dist.in: fixed sendmail default comment  
   
         * src/main/pa_request.C: $response:body[file] content-type check          * src/main/pa_request.C: $response:body[file] content-type check
           fixed [were bad when content-type is hash]            fixed [were bad when content-type is hash]
   
Line 14023 Line 18615
   
         * src/main/pa_request.C: case insensitive mime_type_of          * src/main/pa_request.C: case insensitive mime_type_of
   
         * bin/auto.p.dist.in: jpeg  
   
 2002-08-05  paf  2002-08-05  paf
   
         * src/types/pa_vxnode.C: xnode.childNodes  now 0... [were 1...]          * src/types/pa_vxnode.C: xnode.childNodes  now 0... [were 1...]
Line 14051 Line 18641
         * configure, configure.in, src/include/pa_version.h: release          * configure, configure.in, src/include/pa_version.h: release
           3_0_0005            3_0_0005
   
         * bin/auto.p.dist.in: unhandled_exception comments  
   
         * src/types/: pa_vclass.h, pa_vform.C, pa_vobject.h: opera          * src/types/: pa_vclass.h, pa_vform.C, pa_vobject.h: opera
           multipart post fixed            multipart post fixed
   
Line 14108 Line 18696
           types/pa_vstring.h, types/pa_vtable.C, types/pa_vtable.h,            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_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h,
           types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C,            types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C,
           types/pa_wcontext.h, types/pa_wwrapper.h: $Date$            types/pa_wcontext.h, types/pa_wwrapper.h: Date: now
   
         * src/: classes/classes.C, classes/classes.dsp, classes/classes.h,          * src/: classes/classes.C, classes/classes.dsp, classes/classes.h,
           classes/date.C, classes/double.C, classes/file.C, classes/form.C,            classes/date.C, classes/double.C, classes/file.C, classes/form.C,
Line 14279 Line 18867
   
         * src/main/pa_request.C: configure_admin forced if no @conf          * src/main/pa_request.C: configure_admin forced if no @conf
   
         * operators.txt, bin/auto.p.dist.in, src/classes/math.C,          * operators.txt, src/classes/math.C, src/types/pa_vmail.C:
           src/types/pa_vmail.C: ^math:crypt updated to generate random salt            ^math:crypt updated to generate random salt when needed and to
           when needed and to call system crypt() if not $apr1$ prefix            call system crypt() if not $apr1$ prefix
   
 2002-06-24  paf  2002-06-24  paf
   
Line 14360 Line 18948
   
 2002-06-20  paf  2002-06-20  paf
   
         * INSTALL, configure, configure.in, operators.txt, bin/Makefile.am,          * INSTALL, configure, configure.in, operators.txt,
           bin/auto.p.dist.in, src/classes/file.C, src/classes/op.C,            src/classes/file.C, src/classes/op.C, src/doc/doxygen.cfg,
           src/doc/doxygen.cfg, src/include/pa_globals.h,            src/include/pa_globals.h, src/include/pa_request.h,
           src/include/pa_request.h, src/main/execute.C,            src/main/execute.C, src/main/pa_request.C,
           src/main/pa_request.C, src/targets/cgi/parser3.C,            src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C,
           src/targets/isapi/parser3isapi.C, src/types/pa_vmethod_frame.h:            src/types/pa_vmethod_frame.h: marged latest HEAD updates, mainly
           marged latest HEAD updates, mainly file:justname&co &            file:justname&co & @auto/conf[filespec
           @auto/conf[filespec  
   
         * operators.txt, src/classes/file.C:          * operators.txt, src/classes/file.C:
           !^file:dirname[/a/some.tar.gz]=/a            !^file:dirname[/a/some.tar.gz]=/a
Line 14380 Line 18967
           main/pa_request.C, types/pa_vmethod_frame.h: introducing            main/pa_request.C, types/pa_vmethod_frame.h: introducing
           @conf/auto[filespec]            @conf/auto[filespec]
   
         * bin/auto.p.dist.in: <noindex>  
   
         * configure: parser3.conf renamed to auto.p autoconf changes          * configure: parser3.conf renamed to auto.p autoconf changes
   
         * INSTALL, configure.in, operators.txt, bin/Makefile.am,          * INSTALL, configure.in, operators.txt, src/doc/doxygen.cfg,
           bin/auto.p.dist.in, src/doc/doxygen.cfg,  
           src/include/pa_globals.h, src/targets/cgi/parser3.C,            src/include/pa_globals.h, src/targets/cgi/parser3.C,
           src/targets/isapi/parser3isapi.C: parser3.conf renamed to auto.p            src/targets/isapi/parser3isapi.C: parser3.conf renamed to auto.p
   
Line 14396 Line 18980
   
         * INSTALL: reflected .conf.dist dir change          * INSTALL: reflected .conf.dist dir change
   
         * Makefile.am, configure, configure.in, bin/Makefile.am,          * Makefile.am, configure, configure.in,
           etc/parser3.charsets/Makefile.am: parser3.conf.dist moved to bin,            etc/parser3.charsets/Makefile.am: parser3.conf.dist moved to bin,
           .in & *.am updated            .in & *.am updated
   
Line 14404 Line 18988
   
         * src/classes/file.C: strcasecmp          * src/classes/file.C: strcasecmp
   
         * bin/Makefile.am, etc/Makefile.am: bin/parser3.conf.dist [moved          * etc/Makefile.am: bin/parser3.conf.dist [moved from etc
           from etc  
   
         * src/classes/file.C: ^file::exec[script;$.bad error case          * src/classes/file.C: ^file::exec[script;$.bad error case
           insensitive check now            insensitive check now
Line 18196 Line 22779
           main/pa_hash.C, main/pa_pool.C, main/pa_request.C,            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_socks.C, main/pa_sql_driver_manager.C, main/pa_string.C,
           main/pa_table.C, main/untaint.C, targets/cgi/parser3.C,            main/pa_table.C, main/untaint.C, targets/cgi/parser3.C,
           targets/isapi/parser3isapi.C: static char *RCSId="$Id$";            targets/isapi/parser3isapi.C: static char *RCSId="Id";
   
         * src/main/: compile.y, compile_tools.h: $:name: == ${name}:          * src/main/: compile.y, compile_tools.h: $:name: == ${name}:
           $class:name: == ${class:name}:            $class:name: == ${class:name}:
Line 21011 Line 25594
   
         * src/include/: pa_pool.h, pa_string.h: pa_pool split          * src/include/: pa_pool.h, pa_string.h: pa_pool split
   
         * src/main/: main.dsp, pa_string.C: $Id$ check          * src/main/: main.dsp, pa_string.C: Id check
   
         * src/: main/pa_pool.C, main/pa_string.C, include/pa_pool.h: $Id$          * src/: main/pa_pool.C, main/pa_string.C, include/pa_pool.h: Id
           check            check
   
         * src/: include/pa_pool.h, main/pa_string.C: String prealloc &          * src/: include/pa_pool.h, main/pa_string.C: String prealloc &

Removed from v.1.95  
changed lines
  Added in v.1.201


E-mail: