Pike 8.0.358 Release notes
Changes since Pike 8.0.276 (release 4)
New features
Calendar
Updated Calendar to use timezonedata from tzdata2016i.
Crypto.ECC
Zero-pad short signature integers.
Protocols.HTTP.Server.HeaderParser
It is now possible to enable non-normalization on the entire object, and not just on a per call basis. It is also possible to disable support for folded headers, as per IETFs latest specification.
CompilerEnvironment()->lock()
This is a class that exposes the compiler internal lock.
Gz.deflate()->clone()
This allows for testing compression.
gdb_backtraces()
gdb_backtraces() is now available even –without-debug.
ADT.Heap()->low_pop()
This function is analogous to low_peek().
Protocols.WebSocket
Parse query variables in WebSocket Requests.
Bug fixes
cpp
Fixed stringify operator on strings containing escaped double quotes.
mkpackage
Support $EXTRA_PLATFORM_TEST.
Threads.Condition
Fixed double free at cleanup on exit.
Fixed multiple issues with cleanup on exit.
Whitefish
Fixed wrong signedness.
Standards.EXIF
Improved robustness of the EXIF parser.
Protocols.HTTP.Session
Ignore malformed expiry dates in cookies.
Protocols.WebSocket
Fixed handling of truncated frames.
_Roxen
Backported multiple fixes from Pike 8.1.
Compiler
Fixed broken range optimization.
Removed optimization that considered the hostname() constant.
Don’t reference count direct cyclic references via mixed variables.
MasterObject
Protect against the same file being compiled concurrently in multiple threads.
Cast to program and cast to object should now be thread-safe.
Survive RESOLV_DEBUG being enabled.
Stdio.FakeFile
Improved sendfile compatibility.
Process.create_process
Improved behavior under high signal pressure.
Sql.pgsql
Improved robustness against stray destructs and exceptions.
Standards.BSON
Fixed circular dependency.
Mappings
Multiple optimizations in m_delete() and friends.
Added flag MAPPING_FLAG_NO_SHRINK.
Calendar
Updated timezone data to tzdata2016h.
Building
Nettle
Since there are distributions that have removed nettle_secp_192r1 and nettlesecp_224r1 from the nettle library, these curved are now disabled by default. Enable them by compiling with –with-weak-curves.