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.