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/el6https://pike.lysator.liu.se/download/pub/pike/all/8.0.1738/el7https://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-x…
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).