Ann: SWI-Prolog 7.1.7

Jan Wielemaker <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
Hi,

I have uploaded SWI-Prolog 7.1.7.  Highlights:

   - Settle a number of issues in the new pengines package: modified some
     naming, fixed module issues, resolved various security issues,
     partly in the library(sandbox).

     The pengines interface is added as a configuration option to
     ClioPatria, by default only providing access from localhost.

   - Quite a few changes to PlDoc to enhance support for the new website.

   - Fixed two crashes: one related to dict memory management and one to
     avoid passing too large exponentiation to GMP.

   - Fixed a possible deadlock in signal processing (all versions except
     for Windows).

	Enjoy --- Jan

P.s.    It seems that the sandboxing library is getting important to the
	system.  If you are interested in these issues, please review
	this library and search for holes.


========================================
SWI-Prolog Changelog since version 7.1.6
========================================

  * ADDED: Sanity check for sandbox safety declarations.

  * ADDED: safe_call/1

  * SECURITY: safe_goal/1 now verifies that explicitly qualified goals
    (e.g., some_module:some_predicate(...)) can only call exported or
    public declared predicates.  This avoids fetching privacy sensitive
    information from web services such as cookies through the new pengines
    interface.

  * FIXED: Garbage collection and stack overflow issues with dicts

  * FIXED: setting/2 in the mode setting(-,?).  Anne Ogborn.

  * DOC: Updated INSTALL, README.git and various other details in the
    description for building the system. After feedback from Anne Ogborn.

  * ADDED: Declare the aggregate family from library(aggregate) safe.

  * FIXED: Make sure safe_goal/1 is really det and only throws errors if
    the goal is not safe.

  * ADDED: nb_setarg/3 to safe predicates

  * FIXED: Must qualify ^ and // meta-arguments

  * FIXED: Make safe_foal/1 det.

  * ADDED: library(sandbox): atom_number/2, number_codes/2 and
    number_chars/2.

  * DOC: Document variable_names order of read (Ulrich Neumerkel).

  * FIXED: Possible crash resulting from
    786402392f3ff2c7d68db9c81b22cf304e4b4153

  * FIXED: Use atomic instructions for managing the thread signal
    mask. Using a mutex (as it was) can lead to a deadlock if raiseSignal()
    is interrupted by a signal.

  * FIXED: Avoid getting into the GMP danger zone with
    exponentiation. Ulrich Neumerkel.

  * MODIFIED: Colour infrastructure now emits =structured_comment=
    token for PlDoc comments.  Dependent code may handle this the same
    as =comment=.

  * ENHANCED: Make pack_upgrade/1 ignore HTML parsing errors from the
    download page.  Nicos Angelopoulos.

  * FIXED: Raise an error on pack_info/1 if argument is not an atom.

  * DOC: interactive options for pack_install.  Nicos Angelopoulos.


=============
Package bench
=============

  * PORT: Compensate for V7 list functor and terminator.

  * PORT: Avoid dependency on ` being a symbol character

============
Package http
============

  * ADDED: Bug#159: http_open/3: support for method(put).  Raivo Laanemets

===========
Package nlp
===========

  * ADDED: Sandbox declarations

================
Package pengines
================

  * ADDED: HTTP CORS (cross domain scripting) support.

  * FIXED: Sometimes the test no_more_pengines/0 fails due to asynchronous
    behaviour.

  * FIXED: pengine_event_loop/2 is only safe if the called closure is safe.

  * FIXED: Safe execution of the probe(Guard) goal.

  * MODIFIED: Renamed =paging= option into =chunk=.

  * MODIFIED: Run client code in the module =pengine_sandbox=.  Document
    how code can be made available to clients.

  * FIXED: Complete meta_predicate declarations

  * FIXED: Maintain determinism of remote call.

  * ENHANCED: pengine_rpc/3: use term_variables/2 to create a template
    and reduce network traffic.

  * ADDED: src_predicates(+List) option to transfer predicates from the
    local Prolog to the remote one.

  * CLEANUP: No longer export pengine_find_n/4.

  * CLEANUP: No longer export pengine_src_* predicates.

  * FIXED: Apply expand_goal/1 before running the goal.

  * ADDED: allow_from and deny_from settings to do IP-based access control.

  * MODIFIED: Generalized =allow_multiple_session_pengines= into
    =max_session_pengines= and do not enforce this is session handling
    is disabled.


=============
Package pldoc
=============

  * FIXED: /pldoc/doc_for?object=dict_create/3.  Wouter Beek.

  * FIXED: Finding the library from manual documentation for predicates
    documented in subsections.

  * CSS: More conventional line numbers in source view

  * ADDED: Source view: alternate between formatted and plain PlDoc
    comments.

  * FIXED: Unwanted non-determinism in is_structured_comment/3.

  * ENHANCED: Get an anchor id="name/arity" at the first definition of
    a predicate in an HTML source listing.

  * ADDED: id=Name/Arity attribute to the first head of a predicate.

  * FIXED: prolog:doc_object_summary(section(ID), ...).  Needed for tagged
    sections on the website.

  * FIXED: Serving image files for the package documentation.

==============
Package semweb
==============

  * ADDED: Sandbox declarations

============
Package xpce
============

  * FIXED: Menu entries to edit Prolog customization file.  Bob Minors.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.