Did you know ... Search Documentation:
Title for pldoc(default)
Branch: stable (switch to development),
version to version

SWI-Prolog Changelog from version 9.2.4 to 9.2.5

[May 20 2024]

  • FIXED: Generating variable names may conflict with user variables.
  • FIXED: Links to FAQ pages.

[May 15 2024]

  • FIXED: Enabled pre-check for left-shift of large integers This both avoids possible GMP exceptions and allocating huge amounts of memory.
  • ENHANCED: Clarify shifting negative integers This patch also avoids relying on undefined C behavior.
  • FIXED: shift (<< and >>) of zero.

[May 14 2024]

  • DOC: Add `--sigalert=NUM to swipl --help`.

[May 13 2024]

[May 12 2024]

[May 4 2024]

  • CLEANUP: Avoid UBSAN error Test for arity > 0

[May 3 2024]

  • CLEANUP: workaround for an UBSAN error UBSAN complained about a left shift of -1
  • CLEANUP: avoid UBSAN error in mkvmi.c The error is raised because we have e5 -= 0 for e5 == NULL

    else-branch of if ( !e4 || (is_vmh && !e5) ) <=> e4 && !(is_vmh && !e5) <=> e4 && (!is_vmh || e5)

    Consequence is e4-- (which is fine) and e5 -= is_vmh which is either a noop* for is_vmh == 0 or fine for is_vmh != 0 && e5 != NULL.

    The noop case raises the error if e5 == NULL. * CLEANUP: Use unsigned int for variable table bitmap. This avoids an officially undefined shift in C.

  • FIXED: Possibly undefined too large shift
  • FIXED: bf_set_si for -INT_MIN avoid undefined behavior raised by UBSAN

[May 2 2024]

  • PORT: !1269 Deal with the type z_crc_t used by minizip zlib This works around a type conflict over get_crc_table(). Some headers define this as returning `z_crc_t*` without defining this type while others (Fedora 40) defines the function as `uint32_t*` and defines z_crc_t. This patch makes CMake check for the z_crc_t type and, if defined, use this definition.

[Apr 30 2024]

  • DOC: write_term/2: document interaction between portrayed and numbervars
  • FIXED: Do not name binding variables if the answer options to not handle '$VAR'(N)

Package clib

[May 5 2024]

  • CLEANUP: Use unsigned integers for bitmaps Avoids undefined shifts and makes the code more readable.

Package http

[May 19 2024]

  • DOC: Server-sent events support

[May 17 2024]

  • ADDED: Support for server-sent events These patches allow for streaming output which is enabled by default if the content-type is text/event-stream. Still needs documenting.

[May 12 2024]

[Apr 29 2024]

  • MODIFIED: json_write/3 and friends: no spacing with width(0). If the option width(0) is provided, do not emit a space after a "," delimiting object fields. This implies spacing is minimal. This is a requirement for signing JSON documents.
  • DOC: http_post_data/3: document string([Type], String) data

Package jpl

[May 16 2024]

  • TEST: Search for junit.jar as well as junit4.jar. Fedora only ships with junit.jar. We'll assume version 3 and older have died by this time.

Package pldoc

[May 1 2024]

  • ADDED: plDoc: support __text__ and **text** for strong.
  • ADDED: Support [Label](mailto:me@example.com) links in PlDoc

Package swipy

[May 21 2024]

  • ENHANCED: Context manager for janus.query() + tests for doc examples

[May 17 2024]

  • FIXED: #9 PrologError exceptions cannot be caught as janus.PrologError
  • FIXED: py_is_object/1: Need to grab the GIL

Package xpce

[May 5 2024]

  • CLEANUP: Avoid relying on too big integer shift Also document that the save format is not 64-bit robust. I do not know the consequences. Probably it just limits the size of some objects.