Pike 8.0.438 beta/release candidate:
https://pike.lysator.liu.se/pub/pike/beta/8.0.438/Pike-v8.0.438.tar.gz
Other builds:
https://pike.lysator.liu.se/pub/pike/beta/8.0.438/Pike-v8.0.438-Darwin-15.4.... https://pike.lysator.liu.se/pub/pike/beta/8.0.438/Pike-v8.0.438-win32-oldlib...
Changes since Pike 8.0.404 (release 8) ----------------------------------------------------------------------
New Features ------------
o Calendar
Updated Calendar to use timezonedata from tzdata2017a.
o GL & GLUT
Prefer Quartz implementation on systems that have it (OS X).
o GTK2
- Add -x objective-c for Darwin.
- Support linking against other implementations than X11.
o Protocols.HTTP
Connecting to HTTP proxies over HTTPS is now supported.
o Web.decode_jwk()
Support decoding of symmetric (ie HMAC) keys.
o Web.encode_jws() and Web.decode_jws()
Added simplified API for dealing with JSON Web Signature values.
Bug fixes ---------
o Runtime
- Variant dispatcher
Improved string range checking.
Fixes mismatches due to te lazy string range (ed string(8bit)) exceeding the typed string range (eg string(7bit)) for narrow strings.
o mkpackage
Support multiple sub-packages with the same name.
Gnu-tar doesn't like being asked to extract the same file multiple times from the same tar-file. It claims that the second file doesn't exist in the archive.
This can happen when a sub-package has been replaced with a fixed version.
o smartlink
Don't override MACOS_DEPLOYMENT_TARGET if it's been specified.
This should prevent "compiled against version x but linking against version y" warnings.
o Arg & ADT.Struct
Survive use by old (ie 8.0.232) pike binaries.
Roxen 6.0.130 uses a Pike 8.0.232 binary with current modules.
o Backend.PollDeviceBackend
Make set_signal_event_callback() optional.
This fixes the warning "An expression of type function({ Backend = object(implements _static_modules.Builtin()->defaultBackendClass) } : void) cannot be assigned to a variable of type function({ Backend = object(implements _static_modules.Builtin()->Backend) } : void).".
o bool
Make sure that 0 is part of the range for the bool type.
o Charset
Fixed encoding errors for two characters in the GSM-03.38 charset.
o Debug
Fixed typo in mask in check_callback_chain().
Fixes infinite loop in circularity detection.
o Gdbm
Support building with gdbc 1.13.
Fixes obscure compilation error when building with gdbm 1.13 due to a symbol clash with the symbol "fatal" used as an argument in the macro definition of gdbm_set_errno().
o Mapping
Removed extraneous and conflicting prototype.
Fixes linking issues on NT.
o Protocols.HTTP
- Fixed do_async_proxied_method() losing the timeout during TLS negotiation.
- Now fails immediately if Query is unable to open a socket, instead of waiting 120 seconds for a time out.
- Allow connection reuse also when the server is a hostname.
o Thread.Mutex
- Perform a thread yield on mutex onlock in an attempt to reduce thread starvation.
o Sql.pgsql
- Added an extra synchronisation condition, and increased parallelisation to resolve all detected race conditions (which in rare circumstances (many parallel queries on a single filedescriptor) could have resulted in a deadlock).
pike-devel@lists.lysator.liu.se