Dear Prolog user,
SWI-Prolog 8.1.5 is ready for download. This release is the result of an
unusual number of new patch contributers. A growing active community is
really great news! I think Anne Ogborn deserves a big applause for her
courses, publicity in conferences, social media and much more!
Highlights:
-
FreeBSD portability by Michael Figiel.
-
Improved MacOS support, notably for the app/bundle: fixed font and
settings menu issues, make swipl-ld work much better. The lastest
bundle is built on MacOS 10.14.3. The Java interface (JPL) was built
against OpenJDK 11, which replaces Oracle Java as it is no longer
possible to download the Oracle Java SDK without without registering
with Oracle. I expect this still allows people to use other Java VMs.
Qt, used for the app window is upgraded to 5.12.3. This cause a
significantly larger installer.This was made possible by http://SDLT.ai, a startup that donated me a brand
new MacBook, so I can discontinue my +/- 2006 IMac that refused to
update beyond El Captain. -
Anne Ogborn contributed support for SameSite attributes to session
cookies, closing some security issues. -
library(archive) patches to deal elegantly with short (incomplete)
archives. -
Fix to tabling answer subsumption, introduced by recent changes to
achieve local scheduling. Needed for several of the probabilistic
extensions by Fabrizio Riguzzi. -
Further fix dealing with thread-local predicates in temporary (SWISH)
modules (crashed). -
Several, mostly contributed, documentation fixes and clarifications.
Enjoy — Jan
SWI-Prolog Changelog since version 8.1.4
-
DOC: updated the calc foreign example.
-
PORT: MacOS: When running as bundle, report the Frameworks directory
of the bundle as the location for the dylibs. -
PORT: On MacOS use
cc
andc++
as compilers inswipl-ld
.
The CMake compiler is a specific version from XCode while we should
rely on the general Xcode cli tools. -
FIXED: Component merging for answer subsumption. Fabrizio Riguzzi.
-
TEST: Tabling answer subsumption test by Fabrizio Riguzzi.
-
PORT: Fixup Info.plist for MacOS version. See
https://github.com/SWI-Prolog/issues/issues/84 -
FIX: fixes a suplus dot in a test
-
PORT: fixes 91f03daf6, FreeBSD headers Contrary to my claim in
91f03daf6, pthread.h doesn’t pull in the files necessary to consume
sys/cpuset.h, but sys/param.h does. -
DOC: Updated README.md
-
DOC: Locale initialization
-
PORT: adds checks and ifdefs for FreeBSD headers and cpuset_t The
cmake checks the system for sys/cpuset.h headers and the typedef from
commit ec92f5cbe via check_c_source_compiles, because the sys/cpuset.h
can’t be used on it’s own (it needs sys/cdefs.h and sys/types.h,
which are both included by pthread.h anyways, so that’s what’s used
in the checks).Symbols defined: HAVE_SYS_CPUSET_H : sys/cpuset.h exists and defines
CPU_ZERO HAVE_CPUSET_T : type cpuset_t exists HAVE_PTHREAD_NP_H :
pthread_np.h exists -
DOC: PL_chars_to_term() after request on forum.
-
FIXED: verify_safe_declaration/1 leaves a choicepoint
-
FIXED: clause_info/2: possible too native unification can lead to
incorrect results. Alan Baljeu. -
BUILD: Clarified some issues in
CMAKE.md
. -
FIXED: Cleanup of thread-local procedures in temporary modules
failed if the localization was only effectuated in a high thread id.
This patch refines 81b1c29e0b98c05fd0ca6db6dffbe246e8546408. -
MAINTENANCE: Make
-DMAKE_BUILD_TYPE=Sanitize
work on Fedora. -
ADDED: xref_callers/5 which includes caller’s line number
Package archive
-
FIXED: error return and avoid compiler warning.
-
FIXED: Error handling when hitting end-of-file while skipping an
archive entry. Also made error reporting more robust. -
ENHANCED: Print more human friendly messages from archive errors.
Package clib
-
DOC: intro for UDP sockets updated.
-
ENHANCED: Make UDP inbound thread restart automatically if it dies
Package http
-
ADDED: a json:json_write_hook/4 hook to allow for end-user control
over objects -
DOC: Fixed a minor typo.
-
FIXED: Issue#91: mime_pack/3: lacking cut causes bad behaviour on
backtracking. -
SECURITY: Add
SameSite
attribute to session cookies using the
default settinglax
. This protects against Cross Site Resource
Forgery(CSRF) exploits.
Package paxos
- ADDED: paxos_admin_key/2 to get supported access to changes to the
quorum and nodes considered dead. Also fixes some mistakes in the
documentation.
Package pcre
- FIXED: Issue#91: re_match/3:
anchored(true)
was not processed.
Package pldoc
- FIXED: Avoid exception looking for non-existing file in wiki text.
Package readline
-
PORT: FreeBSD: fixes warnings about implicit declarations of readline
funcs The readline/history.h was neither found nor included on FreeBSD,
but the readline library was, so the comiler generated warnings about
the read_history and write_history being implicitly defined.Adding Readline_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES fixes the
discovery process.
Package zlib
- FIX: fixes zlib test, gzip_utf8 The test failed, because of missing
encoding(utf8) term.