Version | Change log |
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 |
Logtalk 9.2.9.1 Dec 20, 2024 | ADDED: trap/1: aliases for e.g. type_error -> type_error(_,_) So one does not need to remember the number of arguments. |
Logtalk 9.2.8.1 Dec 19, 2024 | BUILD: Add CMake option -DSWIPL_SO_VERSIONS to remove SOVERSION properties. |
Logtalk 3.86.0 Dec 18, 2024 |
Logtalk compiler and runtime: ADDED: Experimental logtalk::message_prefix_file/6 hook predicate to the message printing mechanism. FIXED: False left-recursion warning when compiling a grammar rule for a multifile non-terminal that calls a local non-terminal with the same indicator. Prolog adapter and integration files UPDATED: Ciao Prolog adapter file to pretend that modules are supported to allow loading libraries and examples that require file use_module/1 directives. Documentation: ADDED: Notes on encrypting applications using XVM. FIXED: Multiple Handbook grammar and spelling typos. FIXED: Multiple man pages grammar and spelling typos. Library: FIXED: The os::sleep/1 predicate for XSB to also accept floats. Tools: CHANGED: The lgtunit tool test compilation warning and error messages to include the file context for better integration with other developer tools. CHANGED: The diagrams tool now uses a Unicode glyph for the magnifying lens instead of a PNG image. CHANGED: The diagrams tool now uses a Graphviz box shape for Prolog modules instead of a tab, which is now only used for directories and libraries. REMOVED: Deprecated lgt2svg.js script from the diagrams tool. ADDED: Experimental diagrams tool support for the d2 graph language. UPDATED: The diagrams tool to support graph languages such as d2 where the node identifiers are not global. UPDATED: The diagrams tool to also support the PearAI, Windsurf, PyCharm, and IDEA text editors when generating diagrams with local file links. UPDATED: The tutor tool to also explain duplicated predicate/non-terminal reference linter warnings. UPDATED: The tutor tool to call the new logtalk::message_prefix_file/6 hook predicate to support VSCode displaying warnings and errors augmented with explanations. UPDATED: The help tool for the new logtalk::message_prefix_file/6 hook predicate. FIXED: The diagrams tool to also generate an instance/class caption for metaclasses. FIXED: Bug in the diagrams tool where repeated nodes could b |
Logtalk 9.2.8.1 Nov 18, 2024 |
FIXED: Handling return values in stack expansion. Introduce more bool to correctly distinguish functions returning true/false/*_OVERFLOW from those raising exceptions and only returning true/false. FIXED: prolog_trace_interception/4: setting up the hook good crash. |
Logtalk 3.85.0 Nov 12, 2024 |
Logtalk compiler and runtime: CHANGED: The logtalk_load_context/2 built-in predicate to type-check the key argument. CHANGED: Attempting to define an entity/predicate alias equal to the original entity/predicate is now a compilation error instead of simply a warning. CHANGED: Reclassified the underscore_variables flag as a backend flag instead of a linter flag. ADDED: New meta-flag, linter, to manage the values of all the linter flags as a group. ADDED: New linter flag, encodings, to control source file text encoding warnings. ADDED: New linter flag, general, for warnings that are not controlled by a specific flag. IMPROVED: Print a linter warning on redundant entity qualification in predicate directives. IMPROVED: Detect and report as compilation errors use_module/1-2 and uses/1-2 directives when compiling a protocol. IMPROVED: Report as compilation errors instead of compilation warnings use_module/1-2 directives when not compiling a module as an object while using a backend that doesn’t support modules. IMPROVED: Report as compilation errors export/1 and reexport/2 directives when not compiling a module as an object. FIXED: The compiler to prevent trying to compile a Prolog use_module/1 directive as a Logtalk directive when compiling a module as an object. FIXED: Detection of a file trying to recursively load itself to not throw a permission error when reloading a file that previously failed to load. FIXED: Misleading error when compiling dynamic/1, discontiguous/1, and multifile/1 directives with arguments with redundant entity qualification. Prolog adapter and integration files UPDATED: Trealla Prolog adapter file to require version 2.59.21 or later. Documentation: IMPROVED: Documentation of the issue_creator tool. IMPROVED: The Handbook documentation on performance, adding a section on circular references. IMPROVED: The Handbook documentation on the logtalk_make/0-1 built-in predicates. UPDATED: The Handbook documentation on the underscore_variables flag. Lib |
Logtalk 9.2.8.1 Oct 24, 2024 |
BUILD: Make sure to clear DISPLAY when running xpce steps While the build works without a DISPLAY variable, an invalid variable causes the build to fail. TEST: Disable collation_key/2 test for MacOS Macos Sequoia (15) wcsxfrm() returns garbage. |
Logtalk 3.84.0 Oct 22, 2024 |
Logtalk compiler and runtime: ADDED: New fails_if key to the info/2 predicate directive for documenting predicate fail conditions. Adopted from ECLiPSe similar fail_if key. IMPROVED: Detect and report when a uses/2 directive references the object that contains it. IMPROVED: Detect and report when a use_module/2 directive references the module (being compiled as an object) that contains it. IMPROVED: Detect and report when an alias/2 directive references the entity that contains it. IMPROVED: Detect and report when a source file attempts to load itself. IMPROVED: Error reporting when a source file attempts to include itself. FIXED: Prevent using grammar rules to try to redefine the (;)/2, (->)/2, and (*->)/2 control constructs. Documentation: IMPROVED: Handbook glossary entries for “predicate”, “method”, “sender”, and “this”. IMPROVED: Handbook section on running parallel Logtalk processes. IMPROVED: Documentation of the packs tool on working with packs using git archive URLs, signing packs, and encrypting packs. Library: CHANGED: The library object hook_pipeline/1 to not use default expansions and pass as-is any terms and goals not expanded by a hook object to the next hook object. This library object now calls the expanding protocol predicates directly instead of using the expand_term/2 and expand_goal/2 built-in methods. CHANGED: The library object hook_set/1 to call the expanding protocol predicates directly instead of using the expand_term/2 and expand_goal/2 built-in methods. ADDED: Predicates delete_directory_and_contents/1 and delete_directory_contents/1 to the os library. ADDED: Additional tests for the dictionaries library. IMPROVED: Documentation of the dictionaries library predicates. FIXED: The library object type to properly load the SWI-Prolog unicode module library when running with this backend. Thanks to Alex Kouznetsov for the bug report. FIXED: The definition of the os::delete_file/1 library predicate for YAP. FIXED: Bug in t |
Logtalk 9.2.7.1 Sep 26, 2024 |
DOC: Update 32/64 bit notes FIXED: #1317 thread_exit/1 can crash after changes to thread_signal/2. APPLE: Add code signing for creating the .dmg image The image is signed if $CODESIGN_ID is set to the certificate id to be used with codesign -s. Unfortunately, this is not the whole story. As a result, we can no longer load shared object that are not part of the disk image, which means we cannot use Xquartz, Python or Java. |