| Version | Change log |
| Logtalk 3.97.1 Dec 31, 2025 |
Logtalk compiler and runtime: FIXED: Typo in the declaration of an internal runtime predicate in the workaround for a gplc limitation when dealing with multifile predicates. Thanks to Daniel Diaz for the bug report. IDEs, text editors, and syntax highlighters support: UPDATED: The Context7 MCP server context7.json support file to claim the logtalk3 project ownership. Installers and installation scripts: CHANGED: Build the macOS installer using Apple’s official productbuild and pkgbuild command-line utilities instead of using MacPorts for compatibility with macOS 15.x and later versions. UPDATED: The portable Docker image to create the alternative GNU Prolog native code backend (gplgtnc). FIXED: Typo in the declaration of an internal runtime predicate in the embedding scripts for Ciao Prolog. |
| Logtalk 3.97.0 Dec 22, 2025 |
Logtalk compiler and runtime: FIXED: Expansion of source file arguments to the logtalk_compile/1-2 and logtalk_load/1-2 built-in predicates to avoid spurious file redefinition warnings when the file paths contain ‘.’ or ‘..’ segments. Documentation: UPDATED: The Handbook documentation of the include/1 directive with a mention of the limited support for nested included files. UPDATED: The man page for the logtalk_allure_report.sh script. UPDATED: The settings-sample.lgt file with initialization code for defining the help tool preferred browser. Library: ADDED: New ccsds library for parsing and generating CCSDS (Consultative Committee for Space Data Systems) Space Packets following the CCSDS 133.0-B-2 standard (Space Packet Protocol). ADDED: New toon library implementing the TOON (Token-Oriented Object Notation) format proposal. Tools: CHANGED: The debugger tool silent messages for the current unification ports to include the head of the clause. CHANGED: The help tool to use a terminal-based browser or the default browser to open documentation for all features. Removed support for browsing the Texinfo versions of the documentation due to issues with recent Texinfo and Sphinx versions. CHANGED: The diagrams tool directory and library dependency diagrams to always output the root directory and library nodes. CHANGED: The logtalk_allure_report scripts to update the previous report while preserving the tests run history when the allure-report directory already exists. ADDED: Support to the lgtdoc tool for converting XML documenting files to HTML 5 files. FIXED: The lgtunit tool to correctly report the location of tests defined in included files. FIXED: Removed redundant goal in the diagrams::all_files/0-1 predicates implementation. FIXED: Removed redundant goal in the tools_doclet example. FIXED: Removed redundant tests for the diagrams and lgtdoc tools while keeping the same code coverage. Examples: ADDED: Locked doors puzzle to the searching example. UPDATED: Th |
| 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. |