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

SWI-Prolog Changelog from version 9.2.5 to 9.2.6

[Jul 24 2024]

  • BUILD: Added CMake options SWIPL_CC and SWIPL_CXX This selects the defaults for the c_cc and c_cxx flags. Distributions should normally set these to the common C and C++ compiler of the platform. Local builds typically leave them default, setting these flags to the same as used to build SWI-Prolog.

[Jul 23 2024]

  • FIXED: #1300 Modify prefix block operator to plain term if there is no argument.

[May 16 2024]

  • CMAKE: Fixed -DCMAKE_BUILD_TYPE=Sanitize Defaults to -fsanitize=address.

[Apr 26 2024]

  • BUILD: Extended scripts/configure to include termux

[Jul 23 2024]

  • FIXED: using big integers as trie value when using LibBF

[May 29 2024]

  • ADDED: PL_api_error() to signal invalid use of the API

[Jul 23 2024]

  • ADDED: Dummy PL_free_term_ref()

[Jul 22 2024]

[Jul 19 2024]

  • FIXED: qlf app to not import the compiled library into user. This leads to conflicts.

[Jul 18 2024]

[Jul 12 2024]

  • FIXED: swipl pack install . to install using a symlink.

[Jul 11 2024]

  • PORT: Another iteration trying to tame MacOS.
  • PORT: Deal with wcsxfrm() nor immediately returning required size

[Jul 10 2024]

  • FIXED: Type for PL_get_intptr_ex(). Breaks on Win32

[Jul 9 2024]

  • CLEANUP: Make all code clean for clang-18 -fsanitize=undefined

[Jul 5 2024]

  • ENHANCED: Added 'c_cxx' flag and env SWIPL_CXX for packs

[Jul 8 2024]

  • FIXED: #1292: possible stack corruption in exception handling. Probably can only be triggered if SECURE_GC is enabled which wipes the unused parts of the stacks in trimStacks().
  • SANDBOX: Allow for term_singletons/2

[Jul 1 2024]

  • FIXED: #1292 Possible stack corruption after exception.

[Jun 7 2024]

[Jun 3 2024]

  • ENHANCED: make/0: no longer try to update the indices of system libraries. These libraries are properly maintained by the build and installation process while the time stamps are often wrong after the installation process.

[Jun 1 2024]

  • DOC: time/1: we do support per thread CPU time on MacOS.

[May 31 2024]

  • FIXED: Properly export environment_frame in foreign predicate redo. The incorrect setting causes problems in the new consistency checks for term_t as well as confusing backtraces.
  • WASM: SWIPL() initialization changed in Emscripten Where SWIPL(Module) used to return a Promise that would complete returning the same Module, it now returns a new module object that is independent from the agument passed.

[May 30 2024]

  • FIXED: =@=/2: attributed variables must be handled as normal variables.

[May 28 2024]

  • FIXED: Determine file exports under conditional conditional compilation.
  • FIXED: Process multiple predicates from export/1 directives. To determine file exports, we considered only a single predicate for export/1.
  • FIXED: '$open_xterm'/5: raise exeption if we cannot run xterm. Used to hang, waiting for output from the xterm process.
  • MODIFIED: Renamed open_xterm/5 as private '$open_xterm'/5. open_xterm/5 was not documented. This patch removes the implementation completely if the OS lacks the required POSIX pty support and renames the predicate to '$open_xterm'/5 if xterm consoles can be supported. In addition, this patch adds conditional compilation to console support in library(threadutil) if neither the Windows support nor the xterm support can be provided.

[May 27 2024]

  • FIXED: Build dependency of documentation on utf8proc package
  • ENHANCED: call_in_thread/2 error handling.

[May 24 2024]

  • TEST: test_interrupt: skip test if alert signals are required but they are disabled.

[May 25 2024]

  • DOC: fix typo and improve cmake instructions

[May 24 2024]

  • FIXED: thread_create/3: handling of c_stack option. While the size was documented to be in K-bytes, it actually is in bytes. Updated the docs for that. Allow for c_stack(0) to use the mininum.

[May 22 2024]

Package clib

[Jun 21 2024]

  • PORT: Proper ip6 support detection for OpenBSD

[May 25 2024]

  • DOC: change example to use stream pairs

Package cpp

[Jul 23 2024]

  • TEST: Disable scoped term tests for 9.2.x

[Jul 1 2024]

  • ENHANCED: Use read mutex for AtomMap::find()

[Jun 30 2024]

  • ENHANCED: added move constructor to PlRecord to support make_pair()

[Jun 29 2024]

  • FIXED: base class visibility

[Jun 28 2024]

  • DOC: fix some obsolete function names

[Jun 21 2024]

  • ENHANCED: convenience methods in PlRecordExternalCopy

[Jun 14 2024]

  • ENHANCED: Experimental PlTermScoped API
  • DOC: PlTail is now PlTerm_tail + fix examples

[Jun 21 2024]

  • PORT: OpenBSD does not have malloc header

Package http

[Jul 23 2024]

  • DOC: Fix building docs in single threaded version.

[May 28 2024]

[May 27 2024]

  • FIXED: Failure to serve data with unknown mime type.

Package jpl

[Jun 7 2024]

  • TEST: removed Garbo.java This file uses the deprecated finalize() method and does not seem to be used anywhere.

[May 31 2024]

  • TEST: Find hamcrest needed for JPL tests on Fedora

[May 30 2024]

  • FIXED: Illegal use of SWI-Prolog API Code as modifying predicate arguments.

Package ltx2htm

[May 31 2024]

  • FIXED: Avoid overwriting predicate argument

Package pengines

[Jun 7 2024]

[Jun 6 2024]

  • ADDED: Add support to collate multiple output events. This extends the HTTP protocol to wait for more output, sending multiple output events as one chunk. The chunk is ended if no more output is timely available, the max of (currently 100) output events is collected, or a non-output event is found.

Package plunit

[Jun 3 2024]

  • FIXED: run_tests/0-2: correctly report combined CPU usage.

Package protobufs

[Jun 15 2024]

  • CLEANUP: tests now run outside the build

[Jun 10 2024]

  • TEST: Use cmake's built swipl executable where possible

[Jun 9 2024]

  • DOC: examples+tests using updated protobuf-compiler package

Package semweb

[Jul 11 2024]

Package sgml

[May 29 2024]

  • FIXED: Avoid referencig an invalid term_t

Package ssl

[Jul 11 2024]

  • CLEANUP: Abstract from OpenSSL/LibreSSL versions and use more CMake

[Jun 28 2024]

  • PORT: Fix building with modern LibreSSL versions LibreSSL 3.5.0. Most structs that were previously defined in the following headers are now opaque as they are in OpenSSL 1.1: bio.h, bn.h, comp.h, dh.h, dsa.h, evp.h, hmac.h, ocsp.h, rsa.h, x509.h, x509v3.h, x509_vfy.h

[May 30 2024]

  • FIXED: Illegal use of SWI-Prolog API

Package swipy

[Jun 8 2024]

  • FIXED: accept string(Text) as input Added tests for extended py_string_as().

[Jun 7 2024]

  • ADDED: support for py_string_as() option with codes or chars

Package xpce

[Jul 23 2024]

  • PORT: Make compile on Windows after switching to getaddrinfo()

[Jul 22 2024]

  • PORT: #1299 Replace deprecated gethostbyname() by getaddrinfo()
  • PORT: Initialization of builtin_names. This used two structs, one for initialization (bname) and one for access (name) due to the lack of support for designated initializers in old C. We can now do it cleanly.

[Jul 19 2024]

  • PORT: Work around MacOS 15 (beta) pulling socket.h with sys/ioctl.h

[Jul 9 2024]

  • CLEANUP: Use offsetof() where applicable This avoids runtime errors when using -fsanitize=address