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

SWI-Prolog Changelog from version 9.2.3 to 9.2.4

[Apr 26 2024]

  • PORT: Fix case conversion for Unicode characters on Windows.
  • TEST: Disable case test for u00ff on Windows. towupper(0xff) returns 0x9f on Windows.
  • FIXED: prolog_walk_code/1: no matching rule from goals reached from a :- initialization.

[Apr 25 2024]

  • PORT: Include Ubuntu 24.04 (Noble Nombat) in PPA builds
  • PORT: Use -funwind-tables on ARM systems with glibc, also for clang

[Apr 24 2024]

  • PORT: Deal with Android android-execinfo library.

[Apr 17 2024]

  • FIXED: generation of swipl.pc pkg-config file Now uses LIBSWIPL_DIR to get the correct -L flag when the system is installed as global library.

[Apr 16 2024]

  • FIXED: Reconsult when the loaded code sets the trace flag on a predicate. This was due to a conflict over the predicate flags. As the flags field was widened, we can avoid these problems.

[Apr 10 2024]

  • FIXED: WASM: fix fid arg position in this.query call in __call_yieldable
  • FIXED: #1262 upcase_atom/2 and friends on ISO -> wide If input is ISO-Latin-1 and the converted character requires wide characters the system trapped an assertion error. Now correctly converts to wide characters.
  • FIXED: Clang handling of max_integer_size Clang cannot handle setjmp()/longjmp in PL_next_solution(), but it can in the simple evalExpression() function. This does not have measurable impact on performance, so we enabled this as default. This fixes limiting the integer size for WASM and Clang builds on Linux. This problem did not surface on the MacOS version.

[Apr 8 2024]

  • FIXED: comparison of MPZ and MPQ with 64 bit integers if long is 4 bytes
  • FIXED: Normalize LibBF numbers created from 64 bit integers on VS2022 VS2022 does not support 128-bit integers and therefore we must use 32-bit "limbs"

[Apr 6 2024]

  • COMPAT: Introduce abstract types for PL_new_hash_table() and friends Rather than hard coded void* we now use table_key_t and table_value_t. These types are also introduced in the development series, where the type changes.

Package cpp

[Apr 2 2024]

  • MODIFIED: PL_get_integer() no longer accepts floats

Package http

[Apr 24 2024]

  • MODIFIED: library(http/http_load) to verify certificates This library allows for loading files from http/https URLs. It used to skip certificate checking. Checking is now enabled and the Option argument may be used to disable it (using the cert_verify_hook option).

[Apr 11 2024]

Package sweep

[Apr 10 2024]

  • FIXED: workaround Emacs incompatibility with certain locales The Emacs Elisp reader only works with locales that have "." as their decimal separator, but Prolog initialization sets up the locale according to the environment variables. Therefore we need to reset the locale after initializing Prolog in case the environment prescribes a locale with a different decimal separator, such as fr_FR. See also https://github.com/SWI-Prolog/packages-sweep/issues/1

Package swipy

[Apr 23 2024]

  • DOC: janus.query() etc optional arguments is called inputs

[Apr 16 2024]

  • FIXED: Memory leak when generating a Prolog dict from a Python dict

[Apr 6 2024]

  • FIXED: Wrong Python refcount update. Reported by Jerry James as !8. That is is not entirely correct though.