Dear SWI-Prolog user,
SWI-Prolog 8.5.15 is ready for download. Highlights:
-
@anionic provided patches to JPL that allows exchanging
deeply nested terms between Java and Prolog. -
@oskardrums provided a GraphQL module as an extension to
the HTTP client framework. -
@mgondan1 and @peter.ludemann provided several portability
and documentation enhancements. - setarg/3 semantics has been simplified and documented better based on discussion here.
- A couple of fixes to the Windows handling for high (>0xffff)
unicode characters.
No regression from the big changes to support Windows enhanced
Unicode support have been reported
Enjoy --- Jan
SWI-Prolog Changelog since version 8.5.14
-
ADDED: PL_get_stream_from_blob()
-
PORT: config/win32.h and config/win64.h have been removed.
-
DOC: Various updates to blob API (notably flags).
-
FIXED: Issue#1015: Small memory leak
-
CLEANUP: Windows: move config parameters to common CMake infrastructure
instead of using the dedicated hard-coded values. -
BUILD: Determine architecture from
CMAKE_SYSTEM_PROCESSOR
and
CMAKE_SYSTEM_NAME
rather than theirHOST
counterparts. -
DOC: setarg/3: point at arg/3.
-
FIXED: setarg/3 to unify always when the first argument is a
variable. Abramo Bagnara. -
TEST: Do not run cyrillic file tests if the
text
encoding cannot
represent them. -
TEST: Set UTF-8 encoding.
-
DOC: setarg/3 if the designated argument is a variable.
-
ENHANCED: C version of nth0 to be more consistent with the Prolog
implememtation and allow for interupts. -
ENHANCED: performance for nth0/3 in mode (+,+,?)
-
PORT: Issue#1009: Avoid conflict between Qt and swipl-win target.
-
PORT: Suppress uninit warning in msys2 I think this can safely be
initialized to FALSE -
FIXED: user_or_explicit autoload mode not working
-
FIXED: make_library_index/1 to use the
xref
flag while reading the
file header. Avoids unwanted term expansion. -
PORT: WASM version: statistics/2
cputime
now actually returns
walltime since the start of Prolog. This allows for basic performance
evaluation on CPU based tasks. WASM does not provide primitives to
access the actual CPU time usage. -
PORT: Make compile again in WASM. Reported by Jos de Roo
-
FIXED: string_bytes/3 to
ascii
: avoid crash and raise an exception
if the text cannot be represented using ASCII. -
FIXED: string_bytes(+,-,octet) (crashed on assertion error)
-
FIXED: write/1 for strings using UTF-16 encoding (Windows).
Package http
-
FIXED: Also escape line terminators when writing graphql strings…
…as per GraphQL -
ADDED: library(http/graphql) implementing a GraphQL reader and QQ
Package jpl
-
TEST: simplify & tidy unit tests Tidier, simpler JUnit tests, removing
dead code and duplicated stuff, with reduced noise from succeeding
tests (still available via REPORT flag, but now quieter by default). -
ENHANCED: non-recursive Term.getSubsts reimplementation This
fixes another term-depth-limited issue with JPL’s public API by
reimplementing Term.getSubsts() non-recursively