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

SWI-Prolog Changelog from version 10.1.0 to 10.1.1

[Dec 31 2025]

  • ENHANCED: edit/1: if multiple hits are in the same file, take most specific. Thus, if both the file and some object inside the file match, use the object. Also xpce classes are more specific that the module they are contained in.

[Dec 25 2025]

  • FIXED: edit/1 for normal predicates. Broken after integrating foreign predicates.

[Dec 23 2025]

  • FIXED: UBSAN: Calling event handler with too many arguments.

[Dec 22 2025]

  • UBSAN: Avoid offset to NULL pointer
  • UBSAN: Possible increment of NULL pointer This is benign, but officially undefined.
  • FIXED: Type handling for PL_thread_at_exit(). Resulted in reported undefined behaviour due to non-matching function prototype.

[Dec 18 2025]

  • CLEANUP: Unconditionally use fpclassify() This is available on any system providing C99 and we already demand C11.

[Dec 17 2025]

  • PORT: Make compile using Emscripten

Package json

[Jan 2 2026]

  • FIXED: Server side handling for methods without parameters. Now accepts omitted params field as well as ""params: {} as valid input for such a method.
  • FIXED: Correctly call methods that take no parameters

[Dec 29 2025]

  • ADDED: json_call/4: option async(:Goal) Extends async(true) to get an asynchronous reply.
  • FIXED: json_method/1: Avoid discontiguous messages
  • ADDED: Print a warning if the server receives a non-implemented notification.

[Dec 25 2025]

[Dec 24 2025]

  • ADDED: JSON RPC server: set json_rpc_stream global variable while dispatching. This variable provides access to the underlying stream. This may be used to identify the connection.

Package libedit

[Jan 5 2026]

  • FIXED: Build on Windows for enhanced background write handling.

[Jan 3 2026]

  • ENHANCED: Refreshing the terminal on background writes.

Package utf8proc

[Dec 23 2025]

  • FIXED: #1 UBSAN: adding to NULL pointer.

Package xpce

[Dec 31 2025]

  • ENHANCED: editor->align: minimize the change This reduces change/undo info and keeps the buffer marked clean if no change happens.
  • FIXED: Collecting LSP change message could corrupt edit modifications.
  • ADDED: Broadcast pce_emacs(saved(Buffer)) when a buffer was saved. Can be used to trigger an LSP didSave() event, automatically recompile, etc.

[Dec 29 2025]

  • FIXED: Avoid undefined @nil->update in bookmark handling.

[Dec 25 2025]

  • ENHANCED: Only display output from help/1 in GUI when invoked from the gui.

[Dec 24 2025]

  • ADDED: error->feedback type backtrace to force errors to dump a backtrace.

[Dec 23 2025]

  • FIXED: Avoid memory corruption when ->initialise fails. The partial object may have references. If so, leave its final destruction to the reference count dropping to zero.

[Dec 18 2025]

  • CLEANUP: Replace all calls to sprintf() with snprintf()
  • FIXED: Thread monitor. Broken due to changes to class image. New code is simplified by using image->fill and num rather than int|real type.
  • FIXED: image->fill to accept a colour. Filling with images is currently not supported.