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

SWI-Prolog Changelog from version 9.3.32 to 9.3.33

[Oct 24 2025]

  • FIXED: Install of non-qlf json compatibility wrappers.
  • ADDED: packages/json

[Oct 23 2025]

[Oct 21 2025]

  • DOC: term_size/2: cells are always 8 bit in recent versions.

[Oct 20 2025]

  • ENHANCED: Messages for managing spy points.

[Oct 14 2025]

  • ENHANCED: listing/0,1,2 to respect the terminal width. If the output is a terminal, tty_size/2 is used to determine the line width.

[Oct 12 2025]

Package clib

[Oct 20 2025]

  • DOC: Document some types for lirary(uri).

Package http

[Oct 24 2025]

  • PACKAGE: Remove JSON files from this package The JSON support is moved into a new package json

[Oct 17 2025]

  • ADDED: Support HttpOnly and Secure cookie properties in http_session.pl http_set_session_options/1 now supports the http_only(true) and secure(true) options, adding these properties to the session cookie. Both default to false for compatibility reasons.

    Suggested by Mohammed Almutawah to mitigate XSS scripting in SWISH.

Package libedit

[Oct 23 2025]

  • ENHANCED: Support thread signal processing while reading from Epilog. This is required to prevent the Debug menu of Epilog from deadlocking the application. It also allows e.g., timers to function in Epilog consoles. Note that signal processing already worked in non-Windows environments.

[Oct 17 2025]

  • ADDED: el_version/1 to get the version of the editline library used.

Package xpce

[Oct 24 2025]

  • FIXED: Use-after-free graphical->unlink destroys its `<-layout_interface`, i.e., the table_cell. Using a code reference delays the actual deallocation.

[Oct 23 2025]

  • ENHANCED: Avoid deadlocking Epilog if thread is not sensitive to signals.
  • MODIFIED: Windows: open Epilog pipe in client using FILE_FLAG_OVERLAPPED This patch must be combined with updating the libedit package.
  • FIXED: Thread-safety for passing raw Prolog terms through xpce

[Oct 22 2025]

  • FIXED: Erroneous transfer for xpce references.
  • FIXED: Allow frame->wait to be called from any thread.
  • FIXED: Make the AnswerStack thread local.

[Oct 21 2025]

  • FIXED: Invalidate source location cache after reloading a file. Broken after introduction of atomic reconsult that preserves clauses as much as possible.
  • FIXED: Memory management for `frame<-confirm` and friends.
  • ADDED: GUI Tracer to show details and copy constraints Cycles and constraints displayed in the Bindings sub-window now support the Details and Copy functionality.

[Oct 20 2025]

  • ENHANCED: do not trace switching the GUI tracer on/off.
  • ADDED: Epilog: Debug menu.
  • ENHANCED: Epilog message capturing. swipl-win: make sure all messages printed to the main thread end up in an Epilog window.
  • FIXED: Possible use-after-free
  • FIXED: Possible use-after-free

[Oct 16 2025]

  • FIXED: Read beyond the end of local array. May lead to invalid UTF-8 sequences and corrupted terminal output.
  • FIXED: Possible memory corruption.

[Oct 12 2025]

  • FIXED: Epilog: correctly handle \e[@. This escape sequence is used for inserting into the commandline. Its default should be 1 rather than 0. This fixes inserting into the commandline, notably on Windows.
  • FIXED: Various encoding issues in class file.