diff --git a/CHANGES b/CHANGES index 308f00609e7247c302189ed7d1eedd549d383aa3..dfa4ad108889130a3e6d6a449ad4fe4bef975150 100644 --- a/CHANGES +++ b/CHANGES @@ -53,6 +53,46 @@ o Concurrent Concurrent.race(connect(host1, port1), connect(host2, port2)) ->then(make_requet, query); +o Debug.Inspect + + Allows for interactive debugging and live data structure inspection + in both single- and multi-threaded programs. + + Example: + In the program you'd like to inspect, insert the following one-liner: + Debug.Inspect("/tmp/test.pike"); + + Then start the program and keep it running. + Next you create a /tmp/test.pike with the following content: + void create() { + werror("Only once per modification of test.pike\n"); + } + + int main() { + werror("This will run every iteration\n"); + werror("By returning 1 here, we disable the stacktrace dumps\n"); + return 0; + } + + void destroy() { + werror("destroy() runs just as often as create()\n"); + } + + Whenever you edit /tmp/test.pike, it will automatically reload + the file. + +Bug fixes +--------- + +o ADT.Heap + + Fixed heap corruption when the same object is pushed more than + once. It will now be considered as calling adjust(). + +o FSEvents + + EventStreamMonitor now works with other backends. + o Filesystem.Monitor - Reduced initialization latency. @@ -82,109 +122,98 @@ o Filesystem.Monitor - Fixed symlink issue with InotifyMonitor. -o Sql.pgsql +o Inotify - Sped up BEGIN/COMMIT statements. - Preserve the initial error message in case of multiple error messages - during the same transaction. - Flush out unseen error messages upon connection close to stderr. + Addressed an issue where the backend might be stuck in pending + indefinitely. -o Sql.SQLite - - When using query bindings, strings are now always stored as strings; - previously, 8-bit strings were stored as binary objects (BLOBs) and - wide strings were stored as unicode strings, which caused 8-bit strings - to be unequal (and thus not returned) when used in a standard string query. +o mappings - Binary values may be stored as BLOBs using bindings by wrapping the - binary string in a multiset. For example, to store the value "myBinary" - as a BLOB value using a binding, use: (<"myBinary">). + Fixed an off by one error in random(mapping) that randomly caused + values of type PIKE_T_FREE from the freelist to be exposed to Pike. -o Debug.Inspect +o Nettle.Hash - Allows for interactive debugging and live data structure inspection - in both single- and multi-threaded programs. + Fixed NULL-dereference in Nettle.Hash()->crypt_hash(). - Example: - In the program you'd like to inspect, insert the following one-liner: - Debug.Inspect("/tmp/test.pike"); +o Parser.HTML - Then start the program and keep it running. - Next you create a /tmp/test.pike with the following content: - void create() { - werror("Only once per modification of test.pike\n"); - } + Fixed a condition where Pike would run out of stack space for large + documents. - int main() { - werror("This will run every iteration\n"); - werror("By returning 1 here, we disable the stacktrace dumps\n"); - return 0; - } +o Search - void destroy() { - werror("destroy() runs just as often as create()\n"); - } + Fixed a race condition when updating the database. - Whenever you edit /tmp/test.pike, it will automatically reload - the file. +o Sql.pgsql -Bug fixes ---------- + - Sped up BEGIN/COMMIT statements. -o Search + - Preserve the initial error message in case of multiple error messages + during the same transaction. - Fixed a race condition when updating the database. + - Flush out unseen error messages upon connection close to stderr. -o Parser.HTML + - Closed a prepared-statement-cache race when the same statement + is offered multiple times before it finalises the cache entry. - Fixed a condition where Pike would run out of stack space for large - documents. + - Fix sync errors with the database in case of multiple running + statements on a single connection that generate multiple errors. -o ADT.Heap + - Eliminate spurious sync errors on pipe-lined transactions + (multiple transactions in flight on a single file descriptor). - Fixed heap corruption when the same object is pushed more than - once. It will now be considered as calling adjust(). + - CancelRequests (to cancel running queries) caused sync errors with + the database when multiple queries were in flight. -o Inotify + - Eliminate transient error messages on database restarts. - Addressed an issue where the backend might be stuck in pending - indefinitely. +o Sql.SQLite -o FSEvents + When using query bindings, strings are now always stored as strings; + previously, 8-bit strings were stored as binary objects (BLOBs) and + wide strings were stored as unicode strings, which caused 8-bit strings + to be unequal (and thus not returned) when used in a standard string query. - EventStreamMonitor now works with other backends. + Binary values may be stored as BLOBs using bindings by wrapping the + binary string in a multiset. For example, to store the value "myBinary" + as a BLOB value using a binding, use: (<"myBinary">). o Standards.BSON - Fixed incorrect encoding/decoding of Binary data. + - Fixed incorrect encoding/decoding of Binary data. + + - Bugfixes for the decoding of Binary values of subtype 2, Binary + values of subtypes above 0x7f and Datetime values with negative + values. + +o Standards.JSON + + Fixed integer overflow in decode() on 64-bit platforms. o Stdio.Buffer - Fixed a crash when attempting to create a rewind key on a buffer - returned by read_buffer(). + - Fixed a crash when attempting to create a rewind key on a buffer + returned by read_buffer(). -o mappings + - Fixed integer overflow in read_json(). - Fixed an off by one error in random(mapping) that randomly caused - values of type PIKE_T_FREE from the freelist to be exposed to Pike. +Building +-------- -o Sql.pgsql +o Configure - Closed a prepared-statement-cache race when the same statement - is offered multiple times before it finalises the cache entry. - Fix sync errors with the database in case of multiple running - statements on a single connection that generate multiple errors. - Eliminate spurious sync errors on pipe-lined transactions - (multiple transactions in flight on a single file descriptor). - CancelRequests (to cancel running queries) caused sync errors with - the database when multiple queries were in flight: fixed. - Eliminate transient error messages on database restarts. + Attempt to detect the tool prefix depending on ABI. -o Standards.BSON + Improves detection of pkg-config. + +o Java + + Detect system installation of JavaVM framework on MacOS X. + +o Stdio - Bugfixes for the decoding of Binary values of subtype 2, Binary - values of subtypes above 0x7f and Datetime values with negative - values. + Improved support for NetBSD. Changes since Pike 8.0.404 (release 8)