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.