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

SWI-Prolog Changelog from version 7.7.9 to 7.7.10

[Feb 16 2018]

  • PORT: Make our portability layer for accessing shared objects available from libswipl to simplify the portability of library(ffi).
  • PORT: Added libffi to the MinGW prerequisites, preparing future Windows builds.

[Feb 17 2018]

  • DOC: CLP(B): Add usage example for cardinality constraint.

[Feb 16 2018]

  • FIXED: Lazy restart of "gc" thread. This notably causes the test_gc_thread_startup.pl test suite to fail. As stopping this thread is not commonplace this only causes problems in extreme use cases.

[Feb 13 2018]

  • FIXED: indexing of dynamic predicates used during compilation.
  • FIXED: predicate_property/2: last_modified_generation property for thread-local predicates. Also fixes (rather theoretical) integer overflow for counted clauses.

[Feb 8 2018]

  • DOC: DCG basics processes upper- and lowercase hexadecimal digits.

[Feb 7 2018]

  • DOC: Improve description of the new mitigate_spectre flag. In particular, note that the ability to run subsets of Prolog code, let alone arbitrary Prolog code, is not a necessary condition for Spectre attacks. It suffices that sensitive data is speculatively accessed, and that this data can be leaked. Also trusted code may be vulnerable to this if it contains branches that are dependent on untrusted data.

    Decreasing the resolution of timers does not reliably prevent Spectre attacks. Full mitigation may require compiler support to disable speculative access to sensitive data.

    See https://github.com/SWI-Prolog/roadmap/issues/54 .

  • SECURITY: allow reduced timer resolution to mitigate Spectre, notably

in Pengine (SWISH) server.

  • FIXED: PL_get_nchars() to raise an error of CVT_EXCEPTION and

REP_ISO_LATIN_1 are give and the input contains characters > 255.

[Feb 6 2018]

  • DOC: CLP(B): Shorten pigeons example.

Package pengines

[Feb 16 2018]

  • FIXED: Properly return on a syntax error.
  • FIXED: Instantiation error if no template was provided.

[Feb 13 2018]

  • FIXED: Move parsing ask and template options for a remote Pengine create to the pengine. This is needed as we first need to prepare the source to get access to the relevant operator declarations.
  • ENHANCED: improve determinism of pengine_property/2 by swapping arguments.

[Feb 7 2018]

  • SECURITY: Enable the mitigate_spectre flag.