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

SWI-Prolog Changelog from version 9.3.23 to 9.3.24

[Apr 25 2025]

  • ENHANCED: Windows: use native fonts for bold and support bold+underlined.
  • ADDED: Freedesktop.org Desktop integration files. This patch adds a directory desktop with icons and desktop integration files. A particular version can be activated as desktop application using
    swipl sys desktop [--global] install

    The activation canbe removed using

    swipl sys desktop [--global] remove
  • ADDED: Windows swipl-win.exe: support underlined fonts Support \e[4m to print underlined text.

[Apr 23 2025]

  • ADDED: Windows: swipl-win.exe : support hyperlinks. This patch enables terminal escape sequences to embed hyperlinks. file:// links are then mapped to edit/1 and other links are opened in the browser.

    This patch also fixes several issues and provides cleanup to the swipl-win.exe console code.

  • FIXED: Report correct number of clauses when loading .qlf files Reported 0 (zero) clauses for all .qlf files.
  • FIXED: ?- edit(file('myname.pl')). to create a new file.
  • FIXED: Do not precompile several files This patch stops precompiling the libraries win_menu, threadutil and check_installation. The sources are full of conditional compilation that also depends whether or not swipl or swipl-win is started.

    Using runtime conditionals is possible, but would lead to many undefined predicate warnings.

  • FIXED: Create menu in Windows and Qt consoles. Broken due to conditional compilation that excluded the call to init_win_menus/0 from the .qlf file.
  • BUILD: prohibit building in the source directory.

[Apr 22 2025]

  • TEST: Include clpfd test with tabling.
  • DOC: Constraints and tabling

[Apr 21 2025]

  • TEST: Merge XSB attributed variable tests. This updates several of the tests, documents what tests cannot be executed due to incompatibilities and extends the XSB dialect emulation to deal with a later part of the attributed variable interface.

    The tests both deal with basic attribute handling and with (simple) tabling that involves attributes.

[Apr 22 2025]

  • FIXED: Support attributed variables in "fastheap" terms. These are used by tabling and delimited continuations.

[Apr 21 2025]

[Apr 18 2025]

  • XSB: Added basic attributed handling to emulation Library machine now exports get_attr/3, put_attr/3, del_attr/2 and install_verify_attribute_handler/4.
  • ADDED: library(prolog_profile): Prolog flags for defaults - profile_ports provides the default "mode", now true - profile_sample_rate provides the default sample rate (200)
  • DOC: clause/3: describe properties of clause references.
  • DOC: retractall/1 and logical update view section.
  • DOC: Moved some sections in the "Database" section of the manual.
  • BUILD: Better support for cmake < 3.20
  • PPA: Updated releases - Added Plucky Puffin (25.04) - Removed Focal Fossa (20.04) and Bionic Beaver (18.04)

    The latter two fail to build the Janus interface due to too old Python versions.

Package pldoc

[Apr 21 2025]

Package swipl-win

[Apr 25 2025]

  • FIXED: win_message_box/2: crash if image option cannot be found Now shows the box without image and throws an exception afterwards.

Package xpce

[Apr 25 2025]

  • MODIFIED: WM_CLASS handling Recent desktop environments such as Gnome 46 and later ignore the _NET_WM_ICON property to set an icon for a frame (toplevel window). We can set the icon through a .desktop file using StartupWMClass where all windows of a process are bundled under the same icon. But, xpce set WM_CLASS from the xpce class name.

    This patch adds `display<->wm_class` to set the WM_CLASS for all toplevel windows. The default is SWI-Prolog. By setting this to @default, the old behavior is restored.

[Apr 23 2025]

  • FIXED: emacs/1: allow non-existing file. This also fixes ?- edit(file(File)) to create a new file as advertised.

[Apr 18 2025]

  • FIXED: Profiler IDE: link to website. Renamed "exit" to "quit", removed "statistics" (is shown anyway) and "about" (useless).