Pike 8.0 release 15 (8.0.1738) now available

[email protected] Tue, 01 Mar 2022 18:47:36 -0500
Newsgroups gmane.comp.lang.pike.user
Message-ID <[email protected]>
Hello, Friends of Pike!

The Pike development team is pleased to announce the 15th release of 
Pike 8.0: build 8.0.1738. I’m in the process of submitting updates for 
homebrew and pkgsrc, so the new version should appear there in the near 
future.
As always, bug reports, comments and suggestions are welcome!

Bill

----

Source:
    
https://pike.lysator.liu.se/pub/pike/all/8.0.1738/Pike-v8.0.1738.tar.gz

Binary builds:
    https://pike.lysator.liu.se/download/pub/pike/all/8.0.1738/

RPMs for RHEL/CentOS:
    https://pike.lysator.liu.se/download/pub/pike/all/8.0.1738/el6
    https://pike.lysator.liu.se/download/pub/pike/all/8.0.1738/el7
    https://pike.lysator.liu.se/download/pub/pike/all/8.0.1738/el8

Windows Installer:
   
https://pike.lysator.liu.se/pub/pike/all/8.0.1738/Pike-v8.0.1738-Windows7-x86.msi

Changes since Pike 8.0.1116 (release 14)

New Features
------------

o Calendar
   Updated to use tzdata2021e.

o Parser.XML.Tree
   Added set_text() to update the contents of a text node.

o Sql.Sql
   Add query_db() to API.

o SSL.SSLFile
   Add {query,set}_timeout(). This adds an API to set an optional timeout 
to be
   used for blocking operations. When the timeout expires it is handled 
as if
   the peer sent a fatal internal error alert.

o Standards.PEM
   Added helper methods, including: get_certificates() , 
get_private_keys(),
   get_private_key() and decrypt_fragment().

o Runtime and EFUNS
   - describe_backtrace() now reports cpu time --with-profiling.
   - decode_value can be called with codec -1, which disables decoding of
     functions, objects, programs and types.

Bug Fixes
---------

o crypt
   Fixed a bug which caused crypt() with a random salt to sometimes 
return
   "*0" instead of an encrypted password.

o Concurrent
   - The future generated by ->timeout() would not necessarily resolve 
with
     the fullfilled or rejected values if the original Promise/Future was
     resolved or rejected before hitting the timeout.
   - If the original promise resolves or rejects, we now attempt to
     unschedule the timeout call_out from the backend we scheduled it in,
     not the one (now) configured in the Future.

o Critbit
   - Fix a number of memory and behavior errors.

o Inotify
   add_watch() now returns -1 for filsystem-related failures
   that may be due to the filsystem being in flux.

o Image.BMP
   Improved size check better detects malformed BMP images.

o Image.GIF
   - Improve detection of malformed LZW bit sizes.
   - Improve detection of malformed LZW dictionary extensions.

o Image.ILBM
   - Guard alloca() allocations with check_c_stack().
   - Improved length accounting in unpackByteRun1().

o Image.JPEG
   - Do not over-allocate memory for decoded image.
   - Limit decoded size of images to 2 GB.

o Image.PCX
   Improved size checks better detect malformed PCX images.

o Image.PNG
   Improved size check better detects malformed PNG images.

o Image.PSD
   Improved size check better detects malformed PSD images.

o Image.TGA
   - Improve detection of malformed TGA images.
   - Correctly update pointer when horizontal or vertical flipping is
     requested by the TGA image.

o Image.TIFF
   Improved size checks in image decoding

o Image.TIM
   Improved size checks better detect malformed TIM images.

o Image.WBF
   Improved size check better detects malformed WBF images.

o Image.X
   Guard alloca() allocations with check_c_stack().

o Image.XCF
   Fixed to properly initialize the layer mask structure.

o Image.XWD
   Improved size check better detects malformed XWD images.

o Protocols.LDAP.client
   LDAP connections secured with TLS/SSL now timeout if the server does 
not
   respond within 10 seconds.

o Sql.mysql
   Improved character set handling

o Sql.pgsql
   Numerous bug fixes.

Building & Tools
----------------

o Improved check for stack direction to also report correct results when
   compiling with Clang 11.

o _TIME_BITS is now set to 64, to get a 64-bit time_t on 32-bit systems
   running glibc 2.34 or newer.

o Improvements to building and installer code signing on macOS.

o Fixes to better support building with future versions of GNU make.

o Use updated FFI API in Java module, to better support recent libffi.

o Fix testsuite generation for BSD m4 users; POSIX systems must continue
   to use GNU m4 (gm4).