| Version | Change log |
| Logtalk 10.0.0.1 Dec 17, 2025 | CLEANUP: Remove traces of GNU readline. |
| Logtalk 9.2.9.1 Nov 19, 2025 |
ADDED: Using the option --home=dir, set SWI_HOME_DIR. This ensures that sub processes can access Prolog's home and, when calling Prolog, execute the same Prolog system. TEST: Base saved-state tests on new prolog(Tool) option of process_create/3. FIXED: Allow swipl -o exe -c input.pl to pass --home=dir option. |
| Logtalk 3.96.0 Nov 18, 2025 |
Logtalk compiler and runtime: ADDED: Predicates logtalk::loaded_files_topological_sort/1-2 for sorting loaded files by their dependencies. IMPROVED: The implementation of the logtalk_make/0-1 predicates for the target all to avoid or minimize compilation warnings due to out-of-order loading of modified source files. See the make tool documentation for details. FIXED: Printing of the default flag values at startup to list the prolog_dialect flag as a read-only flag. FIXED: The linter warning for the use of Logtalk or Prolog top-level shortcuts as directives ignored the portability flag. Prolog adapter and integration files: CHANGED: Trealla Prolog adapter file to require version 2.84.29 or later. UPDATED: ECLiPSe adapter file to use the new read_term/3 predicate line/1 option introduced in version 7.2#5 for accurate read term starting lines. FIXED: CxProlog adapter file to workaround its implementation of the predicate_property/2 built-in predicate returning properties for unknown predicates. FIXED: Quintus Prolog adapter file to avoid some spurious suspicious call warnings when loading tools such as lgtunit. FIXED: Quintus Prolog adapter file missing expansions for some arithmetic functions. Documentation: ADDED: A “Known issues” section to the documentation of the make tool. UPDATED: The Handbook on finding an optimal file loading order using the new logtalk::loaded_files_topological_sort/1-2 predicates. Library: IMPROVED: The os::time_stamp/1 predicate implementation for SICStus Prolog, Trealla Prolog, XSB, and YAP. IMPROVED: Tests for the os library predicates. UPDATED: The format library linter checker to be aware of the ~W control sequence that uses two arguments. Tools: IMPROVED: The logtalk_doclet.sh script now kills all created child processes on exit. FIXED: Syntax error when loading the diagrams tool using the GNU Prolog backend. FIXED: The logtalk_doclet.sh and logtalk_tester.sh scripts to also check for the gnutimeout alternative name for the GNU cor |
| Logtalk 3.95.0 Oct 30, 2025 |
Logtalk compiler and runtime: ADDED: Predicate directive mode_non_terminal/2 to distinguish non-terminal mode declarations from predicate mode declarations. UPDATED: The logtalk built-in object to use the new mode_non_terminal/2 directive. Prolog adapter and integration files: UPDATED: The XSB adapter file with an implementation of the predicate that converts between internal and native file system paths. Documentation: UPDATED: Simplified page titles in the HTML versions of the Handbook and APIs documentation. Library: UPDATED: The grammars library to use the new mode_non_terminal/2 directive. Tools: CHANGED: The diagrams tool predicate_url_target_format/1 option to only accept sphinx and other values. IMPROVED: The diagrams tool generated diagram node links by encompassing just the relevant text. IMPROVED: The lgtunit tool lint checking of test assertions. UPDATED: The tutor tool to explain the new lgtunit tool linter warnings. UPDATED: The lgtunit tool to allow using failed_test_reason//1 as a public non-terminal to better support IDEs such as VSCode. UPDATED: The code_metrics, help, lgtdoc, and tutor tools for the new mode_non_terminal/2 directive. UPDATED: The dead_code_scanner tool for additional tests using use_module/2 directives. UPDATED: The diagrams tool to also load the Mermaid experimental support. FIXED: A lgtdoc tool bug when reporting missing predicate directives for declared non-terminals. FIXED: A lgtdoc tool bug when reporting missing predicate directives when the scope directive is found in an included file. FIXED: The lgtdoc tool logtalk.css file to avoid rendering issues when viewing documentation in VSCode. FIXED: The lgtdoc tool XSLT files for converting XML documentation files to (X)HTML files to correctly handle italic, bold, and monospaced text fragments. FIXED: The diagrams tool to exclude the default scratch directory on Windows (lgt_tmp) when generating diagrams for all sub-directories or sub-libraries. FIXED: The diagrams tool generate |
| Logtalk 9.2.9.1 Apr 26, 2025 |
ADDED: Support attvars in trie_gen_compiled/2,3 This patch also fixes an issue in trie_gen_compiled/3 that caused unintended variable sharing between the key and value. FIXED: Allow building with installed .QLF files when the VM changes. A VM mismatch raised a fatal error during boot. This is now relaxed to a normal exception. ADDED: Partial support for attributed variables in tries. This first step deals with inserting and generating. Trie compilation is not yet supported (crashes on unexpected key in the trie). FIXED: swipl qlf app: report incompatible .qlf files BUILD: Provide additional .qlf dependencies. FIXED: swipl qlf app: dependency warnings and clean subcommand FIXED: trie_gen_compiled/3: crash if value is cyclic or contains attributes. INSTALL: Enable compiling .qlf files by default. ENHANCED: swipl qlf app - info: by default list all info - list: add -u (--update) to only list out-of-data .qlf files Produce machine format if output is not a terminal. ENHANCED: Add macro expansion dependencies to .qlf files. ADDED: swipl qlf info to accept multiple files. ENHANCED: source_file_property/2 performance Speedup source_file_property(File, load_context(...)). ENHANCED: Distinguish different file dependencies in .qlf files. ENHANCED: Record included files in .qlf files with path translation. FIXED: source_file_property/2 to work without sources. FIXED: qlf_make/0 for out-of-date computation for aggregate .qlf files. FIXED: Allow for discontiguous autoload/1 and autoload/2 directives. FIXED: dicts_to_compounds/4 if dicts have non-atom tags. DOC: Singleton section was outdated. After comment by Jan Burse. PORT: Deal with dropped support for partial literals in phrase/2,3 MODIFIED: ISO: phrase/2,3: do not allow for partial lists as terminal FIXED: WASM: Missing (chr) dependency caused build to fail. WASM: Added table for mapping HTML attribute names to DOM attributes. FIXED: prolog_load_context/2 for file to work correctly for .qlf. FIXED: Only emit hyperlinks if h |
| Logtalk 3.91.0 Apr 8, 2025 |
Tools: FIXED: PowerShell script coding patterns that could trigger false positives when using some vendors security scanning tools. |
| Logtalk 3.90.1 Mar 27, 2025 |
Tools: FIXED: PowerShell script coding patterns that could trigger false positives when using some vendors security scanning tools. |
| Logtalk 9.2.9.1 Mar 12, 2025 |
WASM: Fixed abort handling. WASM: Fixed yieldable using Prolog.call() running in engine. ENHANCED: trap/1: stop trapping direct catch. Do not trap the debugger for catch(SytemPred, _, _). Such calls are very unlikely interesting to the debugger. |
| Logtalk 3.89.1 Feb 18, 2025 |
ADDED: The README.md file for the portable Docker image to the image (available as ~/README.md). UPDATED: The portable Docker image README.md file with VSCode and VSCodium usage instructions. UPDATED: The portable Docker image to provide a SSH server (not running by default). UPDATED: The portable Docker image to include Tau Prolog 0.3.4. UPDATED: The publishing scripts for the Docker images to also push the README.md files. |
| Logtalk 3.89.0 Feb 14, 2025 |
Documentation: ADDED: Glossary definitions for “before”, “after”, and “around” methods. ADDED: Alternative installation instructions for the developer tools Python dependencies. FIXED: Missing developer tools dependency requirements for Ubuntu. Tools IMPROVED: The packs tool describe/1-2 predicates now also inform if a pack archive is cached. IMPROVED: The packs tool to discard an existing pack archive and try to download it again in case of a checksum error while installing. UPDATED: The diagrams tool for the new d2 0.6.9 release, which is now the minimum version required. Examples: ADDED: New jupyter example illustrating how to write source files that can be interpreted as scripts and open as Jupyter notebooks using the Jupytext package. IMPROVED: Instructions on how to run the examples documentation as Jupyter notebooks. IMPROVED: The NOTES.md files of several examples for a better experience when open as notebooks. IMPROVED: The coinduction example to allow running with the XVM backend when the unify_applies_occurs_check flag is only set to true after startup. FIXED: Typos in the NOTES.md files of several examples that caused errors when open and run as notebooks. FIXED: Skip the interactive queries in the birds and lpa/faults examples if opening their documentation as notebooks. FIXED: The lambdas example benchmarks can also be run with Trealla Prolog and XVM. FIXED: The localizations example to not depend for its expected output on the report flag value. Installers and installation scripts: ADDED: Portable Docker image support for configuring the default Prolog backend to be used for Jupyter notebooks. IMPROVED: The Portable Docker image Dockerfile for smaller images. FIXED: Portable Docker image to install the Jupytext dependency required for opening examples documentation as Jupyter notebooks. FIXED: Portable Docker image to install d2 for use with the diagrams tool. FIXED: The Handbook and the release build scripts to work with both BSD and GNU |