Branch: development (switch to
stable),
SWI-Prolog Changelog from version 9.3.33 to 9.3.34
[Nov 3 2025]
- MODIFIED: Use
bool types for profiling API Should have low impact.
Used by xpce.
- FIXED: Disable Epilog if threads in single threaded version.
- MODIFIED: halt/1: forward to main thread. If halt/1 is initiated
from a thread other than
main, main is signalled to terminate
the process. If the main thread does not do so within the time
specified by the Prolog flag halt_grace_time (default 1 second),
the process is forcefully terminated.
[Nov 2 2025]
- MODIFIED: Commandline history handling. Comandline history handling
used a double administration, both saving command as Prolog facts and
in the commandline editor. Now the commandline editor is in charge.
Visible changes to the user:
- If library(editline) is not available, there is no history.
- Without any settings, the history depth is 100. The fact that
the history is enabled is shows using numbers in the prompt.
- Substitution using e.g., `!!`, `!<num>`, etc. are always enabled.
- Setting the Prolog flag
history to 0 or false disables the
history. An integer value sets the depth.
[Oct 27 2025]
- COMPAT: Use new message_action/2
- ADDED: message_action/2 hook. This separates side effects on
messages from printing messages, allowing side effects to take place
even if an earlier print hook suppresses the message.
- FIXED: Use library broadcast to tell other components of modified
break-points.
- TEST: Do not run the "unprotected" tests if
protect_static_code
is set.
- FIXED:
'$clause_from_source'/4, used for setting break-points.
[Oct 26 2025]
- DOC: Do not run test_installation twice
- ENHANCED: xref_source/2: emit warning on late meta_predicate/1 This
directive must appear before the predicate is being used (called).
[Oct 24 2025]
- PPA: Added Ubuntu 25.10 (Questing Quokka)
Package chr
[Oct 27 2025]
Package http
[Oct 27 2025]
Package libedit
[Nov 3 2025]
- FIXED: Signal handling Detecting this is the main stdin we are reading
from failed since we use
dup() on the file handles to avoid closing
them. We now add this fact to the context, initiated before the dup().
[Nov 2 2025]
[Nov 1 2025]
- ADDED: Extended el_history/2 with more actions. This allows for
querying individual events, setting the notion of current, and
searching the history.
[Oct 31 2025]
- ENHANCED: Read old
swipl-win.exe history data in current version.
- MODIFIED: el_read_history/2 to raise an error if the history file
is invalid.
[Oct 29 2025]
- PORT: Compile if H_SAVE_FP is lacking
[Oct 28 2025]
Package pldoc
[Nov 3 2025]
- FIXED: Load when threads are disabled.
[Oct 27 2025]
Package plunit
[Oct 27 2025]
Package xpce
[Nov 4 2025]
- ENHANCED: Start Epilog file dialog in working directory.
- ENHANCED: Make Quit Prolog the default button for confirming close
with open windows.
- ADDED: Allow inspecting the GUI hierarchy from Epilog.
- ADDED: pce_show_visual_tool/0 to
library(man/v_visual). This allows
showing the GUI inspector stand-alone.
- FIXED: Block other Prolog threads while a window is being redrawn.
Modifying graphics while a redraw is in progress may result in
inconsistent graphics or crashes.
[Nov 3 2025]
- FIXED: Thread specific module and context object. These two global
variables are used in the xpce interface predicates to keep track of
the context. As xpce allows access from multiple threads they must
be thread specific.
- FIXED: Exclude files that require threads for single threaded version.
[Nov 2 2025]
- FIXED: Ensure Prolog exceptions are propagated through xpce.
- FIXED: Epilog: save history in all scenarios This covers closing the
main window using the menu, window close button, Ctrl-D, Shift-Ctrl-W.
[Oct 31 2025]
- ENHANCED: Epilog: use native file dialog
[Oct 30 2025]
- ADDED:
frame<-open_file and frame<-save_file: use OS dialog
to prompt for a file. These new methods use SDL3's interface to file
dialog windows to ask for a file for reading or writing. Tested to
work on MacOS, Windows and Fedora using Gnome.
[Oct 28 2025]
- ENHANCED: Do not load theme based on
display<-theme if a theme was
already loaded.
- FIXED: Use-after-free in
frame<-confirm Also allows this method to
run from any thread.
[Oct 27 2025]
- ENHANCED: Show fragment icons vertically aligned in the line.
- COMPAT: Use new message_action/2
- FIXED: Show breakpoints in PceEmacs and GUI tracer No longer rely
on messages. There is a problem with the message system where
user:message_hook/3 is both used to redirect messages and to act
on messages. The latter are hooks that fail, the first are hooks
that succeed. It might be better to have two hooks.
- FIXED: Possible use-after-free
[Oct 26 2025]
- MODIFIED: Epilog terminal to follow links on Ctrl-click Used
to be simple click. This causes too much unintended actions.
Using Ctrl-click is consistent with other terminal emulators.