Subject: CVS commit: pkgsrc/lang/qore
From: Niclas Rosenvik
Date: 2017-10-12 20:17:46
Message id: 20171012181746.971CEFBC7@cvs.NetBSD.org

Log Message:
Updated lang/qore to version 0.8.13.

New features in Qore:

* Input/Output stream APIs
* Vastly improved type system with complex type support
* Improved operators; list, string, binary slice operators,
  the ".." range operator, improved new, cast<>, and instanceof
  operators, lazy evaluation of functional and list operators
* Improved encryption support including AES encryption,
  encryption/decryption streams, support for AAD and MACs
* Improved HTTPS and SSL security support with addition X.509
  certificate support including automatic certificate
  verification in client and server contexts
* Universal connection API
* Support for binding output placeholder buffers for result sets
  that return an SQLStatement object for more efficient piecewise
  processing of DB stored procedure/function calls that return
  very large result sets
* Strong encapsulation support (ex: private:internal)
* Deterministic garbage collection performance improvements with
  large cycles
* Debugging support and APIs including remote network debugging
* Language Server Protocol support for Qore in the new astparser
  module for rich language support in IDEs such as the
  Visual Studio Code Qore Extension

Bug Fixes in Qore:

* fixed a bug causing AbstractQuantifiedBidirectionalIterator not
  being available (issue 968)
* BulkSqlUtil module fixes:
    -fixed the module to work properly even with DB drivers that
     do not support parameter array binding (issue 1154)
* CsvUtil module fixes:
    -fixed a bug in an error message validating input data
     (issue 1062)
    -added an exception when detected headers do not match the
     fields option (issue 2179)
* HttpServer module fixes:
    -added logic to attempt to mask passwords in log messages
     (issue 1086)
* HttpServerUtil module fixes:
    -fixed a bug where the msg arg to AbstractAuthenticator::do401()
     was ignored (issue 1047)
* RestHandler module fixes:
    -added logic to allow sensitive data to be masked in log messages
     (issue 1086)
* SqlUtil module fixes:
    -fixed a bug in update and upsert statement generation when the
     given data does not have enough columns to use the unique index
     found, an error message is generated that contains all the
     columns names instead of just the column names required by the
     index (issue 1013)
* WebSocketClient module fixes:
    -fixed a thread lock starvation race condition (issue 2130)
* UTF-16 fixes:
    -fixed a bug comparing strings in UTF-16 encodings (issue 1579)
    -fixed Qore::substr() and <string>::substr() with strings in
     UTF-16 encodings (issue 1586)
    -fixed Qore::trim(), Qore::ltrim(), Qore::rtrim() and the trim
     operator with strings with UTF-16 encodings (issue 1775)
* fixed a bug where break and continue statements were accepted
  outside of loops (issue 976)
* fixed a bug compiling on Solaris SPARC with g++ where
  MPFR_DECL_INIT() is compiled incorrectly with -O1 or greater
  (issue 958)
* fixed a bug causing an infinite loop in decompression functions
  (issue 966)
* fixed an issue where an internal C++ API
  (QoreProgram::parseCmdLineDefines()) performed a needless copy
  of a data structure (issue 1099)
* fixed a stack corruption bug with asynchronous I/O on UNIX
  systems with ReadOnlyFile methods (issue 1106)
* fixed bugs with inconsistent conversions of int, float, and
  boolean values to date/time values, now they are all converted
  uniformly to relative date/time values (issue 1156)
* fixed a bug where Qore allowed code to be declared both public
  and private without a warning (issue 1187)
* fixed a bug where the instanceof operator would return True with
  objects that did not publically inherit the given class or where
  the given class is not accessible (issue 1191)
* fixed a bug in qpp support of the 'final' class flag (issue 1222)
* fixed a bug where the + operator provided access to private
  members from outside the class (issue 1209)
* fixed a bug where different overloaded method variant resolution
  rules were used at parse time (best match in hierarchy) and
  runtime (best match in first matching class) in a class hierarchy
  (issue 1229)
* fixed a bug where exceptions in base class constructor calls did
  not reflect the actual source location (issue 1230)
* fixed a bug where runtime function/method variant matching was
  incorrectly biased towards default matches for missing arguments
  (issue 1231)
* fixed bugs where calls to Socket::upgradeClientToSSL() and
  Socket::upgradeServerToSSL() were ignored with no exception
  thrown if the socket was not connected (issue 1258)
* fixed a bug where a closure created in an object scope could not be
  called if the object had been deleted, even if the closure did not
  refer to the object (issue 1303)
* fixed a bug where ord() would return negative numbers for bytes
  with the high bit set with compilers where char is the same as
  signed char (issue 1385)
* fixed a bug where int(number) returned rounded value instead of the
  integer part (while int(float) behaved correctly; also
  cf. initializing a softint value from a number vs. from a float)
  (issue 1463)
* File::read() now uses character semantics for the length argument
  (issue 1548)
* fixed a bug with strongly-typed lvalue assignments with classes
  created in different Program objects (issue 1551)
* fixed a bug where an ASCII string and the same string in a different
  encoding and with diacritics could incorrectly be marked as equal
  (issue 1579)
* fixed bugs in HTTPClient methods where string message bodies were
  not converted to the object's character encoding before transmission
  (issue 1813)
* fixed a bug in the reference and *reference assignment restrictions;
  previously any value was accepted, now only references are accepted
  as the initial assignment values (issue 1819)
* fixed a bug in handling the SqlUtil::BLOB type in the FreetdsSqlUtil
  module (issue 1852)
* fixed a bug in overloaded call variant matching where missing
  arguments were counted towards the match (issue 1897)
* fixed many bugs where parse-time errors could be reported at an
  incorrect source location; parse-time error location reporting has
  been completely overhauled and reimplemented for correctness
  (issue 1930)
* fixed a bug where code signatures would accept parameter variables
  without "$" signs even when %allow-bare-refs was not in effect
  (issue 1941)
* fixed memory leaks in the scanner related to EOF conditions
  (issue 1976)
* rewrote Qore functions gethostbyname(), gethostbyname_long() and
  gethostbyaddr() to use standard C functions getaddrinfo(3) and
  getnameinfo(3) internally instead of the deprecated gethostbyname(3)
  and gethostbyaddr(3) (issue 1952)
* fixed cmake builds on Darwin (issue 1980)
* fixed a bug where immediate date-time values were not marked with
  their type at parse time (issue 2001)
* fixed a bug where the *data type restriction would allow all types
  to be assigned at runtime (issue 2002)
* Qore::RangeIterator::constructor(int) and Qore::xrange(int) were
  updated; the second arguments were removed to avoid ambiguity with
  the other overloaded variants (issue 2016)
* fixed a bug where Qore::replace() could get in an infinite loop
  with arguments with embededed nulls (issue 2098)
* fixed a bug in regular expression extraction where an infinite loop
  could occur (issue 2083)
* fixed a bug where a call reference to an object method that crosses
  Program boundaries could result in a core dump when called due to an
  error managing thread-local data (issue 2145)
* fixed crashes in scanner due to EOF in comments (issue 2175)

Files:
RevisionActionfile
1.15modifypkgsrc/lang/qore/Makefile
1.7modifypkgsrc/lang/qore/PLIST
1.10modifypkgsrc/lang/qore/distinfo