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

SWI-Prolog Changelog from version 9.3.8 to 9.3.10

[Aug 23 2024]

  • DEPRECATED: file search from a source file relative to CWD Searching relative to CWD when loading a source file was supported up to version 9.3.8. 9.3.9 disabled this, but the implications appear too severe. This patch re-enables the old behaviour with a warning. The Prolog flag source_search_working_directory can be set to false to disable searching the working directory.

[Aug 17 2024]

  • FIXED: possibly early GC of arguments for call_cleanup/2 Also affects '$bags':cleanup_bag/2. The early GC can happen if a signal arrives when these predicates are being called and the signal handler calls GC.

[Aug 15 2024]

  • FIXED: use_module(M, [Pred as Alias]) for meta-predicates

[Aug 14 2024]

[Aug 6 2024]

  • FIXED: print_term/2 to add a space behind : when printing dicts vertically. This avoids syntax error due to symbol glueing and looks prettier.

[Aug 1 2024]

  • FIXED: Handle "apps" from packs

[Jul 25 2024]

  • FIXED: Handling of indirect data types in delimited continuations.

[Jul 24 2024]

  • BUILD: Added CMake options SWIPL_CC and SWIPL_CXX This selects the defaults for the c_cc and c_cxx flags. Distributions should normally set these to the common C and C++ compiler of the platform. Local builds typically leave them default, setting these flags to the same as used to build SWI-Prolog.

[Jul 23 2024]

  • FIXED: #1300 Modify prefix block operator to plain term if there is no argument.

[Jul 22 2024]

[Jul 19 2024]

  • FIXED: qlf app to not import the compiled library into user. This leads to conflicts.

[Jul 18 2024]

  • MODIFIED: drop library(checkselect) and library(checklast). These modules help debugging reordered arguments for select/3 and last/2 from old non-(de-facto)-standard to common practice long ago.
  • DOC: Improved docs for prolog_alert_signal/2.

[Jul 12 2024]

  • FIXED: swipl pack install . to install using a symlink.

[Jul 11 2024]

  • MODIFIED: absolute_file_name/3 relative to source Up to this patch, predicates that used absolute_file_name/3 (including load_files/2, use_module/1, etc) interpreted plain non-absolute names relative to the source and on failure, relative to the working directory. As of this patch we only consider files relative to the source.
  • PORT: Another iteration trying to tame MacOS.
  • PORT: Deal with wcsxfrm() nor immediately returning required size

Package clib

[Aug 24 2024]

[Aug 23 2024]

  • ADDED: is_uuid/1 to test that an atom is a valid UUID

[Jun 21 2024]

  • PORT: Proper ip6 support detection for OpenBSD

Package cpp

[Jul 23 2024]

  • TEST: Disable scoped term tests for 9.2.x

Package http

[Aug 21 2024]

  • FIXED: http_open/3 using keep-alive connections When multiple threads are connecting to the same host, it may give the same connection to multiple threads if a connection was already closed by the peer.

[Aug 20 2024]

  • FIXED: http_open/3 using Keep-alive This lead to errors if the number of cached connections was exceeded (fixed). The library now defines the cache parameters as settings, such that applications can change them.

[Jul 23 2024]

  • DOC: Fix building docs in single threaded version.

Package pengines

[Aug 21 2024]

  • FIZED: pass SSL Options when destroying pengines
  • FIXED: pass SSL options (such as client certificate) to probe. Needed to make pengines work in a 2-way SSL setup.

Package semweb

[Jul 11 2024]

Package ssl

[Jul 11 2024]

  • CLEANUP: Abstract from OpenSSL/LibreSSL versions and use more CMake

[Jun 28 2024]

  • PORT: Fix building with modern LibreSSL versions LibreSSL 3.5.0. Most structs that were previously defined in the following headers are now opaque as they are in OpenSSL 1.1: bio.h, bn.h, comp.h, dh.h, dsa.h, evp.h, hmac.h, ocsp.h, rsa.h, x509.h, x509v3.h, x509_vfy.h

Package xpce

[Aug 24 2024]

  • PORT: Be more critical on the reported physical dimensions of the screen.
  • SCALE: Scale stepper/combobox indicator for class text_item and related.
  • SCALE: Properly scale caret in class text and text_item.

[Aug 22 2024]

  • SCALE: Several dimensions concerning widgets
  • SCALE: Make GUI tracer margin scale with bitmaps.

[Aug 19 2024]

  • SCALE: Wrong default for image.scale Using display<-size rather than display<-dpi

[Aug 18 2024]

  • ENHANCED: Use Xrandr extension to get DPI resolution of the display This seems to provide more reliable results.

[Aug 17 2024]

  • SCALE: Specify default arrow dimensions in mm rather than px.
  • FIXED: Compute the GUI tracer stack layout based on the font.
  • FIXED: Compute thread-monitor dimensions based on the font
  • FIXED: Make sure `image<-size` of built-in images respect the scale
  • FIXED: #34 Allow for @display?dpi if there is no display. This notably allows for building xpce when there is no DISPLAY.

[Aug 16 2024]

  • MODIFIED: Default scale for fonts and images now depends on DPI This implies that one should get a reasonable default if the X server provides the right DPI value. If not, setting e.g.
    display.dpi: 200

    in Defaults may be used. Subsequently, font.scale and/or image.scale may be used to fine tune the sizes.

[Aug 14 2024]

  • ADDED: Better support hir-res screens. This patch provides `@display<-dpi`, image.scale and some additional features to allow scaling images and general sizes. It should work fully automatically on systems where the DPI can be computed properly. Otherwise the DPI of the display can be overruled in the resource file.

[Aug 7 2024]

  • ENHANCED: Use screen resolution to scale text cursor

[Aug 8 2024]

  • ADDED: Provide support to get and overrule the screen resolution (DPI)

[Aug 7 2024]

  • ADDED: Modifiable resolution (DPI).
  • ADDED: implement `display<-dots_per_inch` for X11

[Jul 23 2024]

  • PORT: Make compile on Windows after switching to getaddrinfo()

[Jul 22 2024]

  • PORT: #1299 Replace deprecated gethostbyname() by getaddrinfo()
  • PORT: Initialization of builtin_names. This used two structs, one for initialization (bname) and one for access (name) due to the lack of support for designated initializers in old C. We can now do it cleanly.

[Jul 19 2024]

  • PORT: Work around MacOS 15 (beta) pulling socket.h with sys/ioctl.h