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

SWI-Prolog Changelog from version 9.2.8 to 9.2.9

[Dec 19 2024]

  • ADDED: trap/1: aliases for e.g. type_error -> type_error(_,_) So one does not need to remember the number of arguments.

[Dec 18 2024]

  • FIXED: Preserve incremental property when creating a saved state.

[Dec 13 2024]

  • BUILD: Add CMake option -DSWIPL_SO_VERSIONS to remove SOVERSION properties.

[Dec 12 2024]

  • DOC: statistics/2 lost the keys globallimit, locallimit and traillimit. Reported by Jelmer Jellema.

[Dec 10 2024]

  • FIXED: print_term/2: proper handling of operators(Ops) Needs to be kept consistent with write_options([... ignore_ops(IgnOps)]). Implemented consistency and deprecated the option. Reported by Mike Elston.

[Dec 9 2024]

[Dec 4 2024]

  • ENHANCED: pack_info/1: use colours and indicate autoload status.
  • MODIFIED: pack_install/2 option autoload(true) If present, the pack is installed as autoload pack regardless of autoload option in the meta-data. If the option is not present, the system asks the user to install as autoload library if the meta-data contains autoload(true).

    If autoloading is not enabled, the INDEX.pl file that may appear in the pack is removed.

    This patch also adds swipl pack install --autoload ...

  • FIXED: Make packs that provide an autoload library work again.

[Dec 3 2024]

  • FIXED: cmake/TestSignalType.c for C++
  • PORT: Make cmake test for signal handler compatible with c23

[Nov 27 2024]

  • FIXED: explain/1 to report the same predicate multiple times. This happens if the predicate is imported into multiple modules.

[Nov 25 2024]

[Nov 24 2024]

  • FIXED: Pass command line arguments in class Prolog.

[Nov 22 2024]

[Nov 21 2024]

  • FIXED: Use of undefined options in the toplevel. This makes the toplevel unusable if the Prolog flag iso is set to true.
  • PORT: WASM: Get rid of deprecated allocate, ALLOC_NORMAL and ALLOC_STACK
  • FIXED: WASM: Query.next() to set done to true on last answer. This must be false when used as iterator.

[Nov 20 2024]

  • FIXED: WASM: for(x of prolog.query(...)) lost last answer

[Nov 28 2024]

[Nov 17 2024]

[Nov 16 2024]

  • ADDED: format/2: support ~:D The colon modifier for D forces the use of Prolog digit grouping using _.

[Nov 13 2024]

  • TEST: Added ISO ambiguous operator tests. Marked two tests as blocked as these currently fail.

[Nov 8 2024]

  • FIXED: #1331 Module issue in SICStus block/1 emulation. This patch also reformats the file, removes some dead code and remove the outdated restriction that it does not work on dynamic or foreign predicates.

[Nov 5 2024]

  • FIXED: libary(prolog_pack): detection of valid download URLs.

[Nov 4 2024]

  • FIXED: Installing a pack should attach the pack itself. This incorrectly registered the directory of the pack as a directory that provides packs instead.
  • ENHANCED: explain/1 to enumerate all instances of a non-qualified predicate.

[Nov 3 2024]

  • BUILD: plunit requires clib package.

[Oct 31 2024]

[Oct 24 2024]

  • BUILD: Make sure to clear DISPLAY when running xpce steps (one more)

Package bench

[Nov 13 2024]

  • FIXED: Avoid division by zero if no tests are executed.

Package cpp

[Nov 2 2024]

  • DEPRECATED: Officially deprecate version 1 of the C++ interface. For now, we will keep SWI-cpp.h in the distribution. We do not plan any updates to keep it in sync with changes to SWI-Prolog or the C++ standard. Users of this old interface are strongly encouraged to update their program.
  • DOC: removed all "(version 2)"
  • DOC: Delete documentation for version 1 of the C++ interface

Package http

[Dec 16 2024]

[Nov 20 2024]

  • DOC: Fixed example code for apropos with HTML output.

Package jpl

[Nov 22 2024]

  • TEST: #104 prolog_in_java test fails if multiple copies of junit*.jar are found. Now first search for junit*4*.jar. On success, use first, else search for junit.jar. On success, use first.
  • TEST: Cache JUNIT_JAR in CMake. This provides better cmake performance and easier inspecting the configuration result.

[Nov 14 2024]

  • TEST: Fix finding hamcrest on Fedora 41

Package mqi

[Oct 25 2024]

  • TEST: Specify encoding in test_prologserver.py [Oct 24 2024]
  • TEST: Specify encoding in test_prologserver.py Fixes a problem for MSYS2. I hope my ad hoc fix is harmless.
    * ERROR: test_variable_attributes (test_prologserver.TestPrologMQI.test_variable_attributes) ---------------------------------------------------------------------- Traceback (most recent call last): File "c:/msys64/home/c7201178/swipl-devel/packages/mqi/python/test_prologserver.py", line 95, in setUp self.initialProcessCount = self.process_count("swipl") ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:/msys64/home/c7201178/swipl-devel/packages/mqi/python/test_prologserver.py", line 123, in process_count output = subprocess.check_output(call).decode() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 237: invalid start byte [Oct 2 2024]
  • COMPAT: Support both old and new abort exception

Package plunit

[Nov 6 2024]

  • ENHANCED: PlUnit message for tests that succeed with a choicepoint.

[Oct 31 2024]

  • FIXED: Report generator state on failing forall(Generator) test. This was completely broken. Format has been changed to print the generator goal rather than just the variables.

Package ssl

[Nov 17 2024]

  • PORT: Extended our BIO_ctrl() callback. In Fedora 41, OpenSSL 3.2.2, it appears we need to implement the BIO_ctrl() methods BIO_C_FILE_TELL and BIO_C_FILE_SEEK for properly loading keys from files.

[Oct 2 2024]

  • COMPAT: Support both old and new abort exception

Package swipy

[Dec 11 2024]

  • FIXED: Allow using the janus module from Prolog when loaded as Python module.

[Dec 10 2024]

  • FIXED: When loading janus_swi into Python, use janus.pl from Python package.

[Nov 25 2024]

  • BUILD: Honour environment variable SWIPL for `pip install .`
  • DOC: Document creating the Windows binary wheel in scripts/README.md