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

SWI-Prolog Changelog from version 6.6.4 to 6.6.5

[Apr 25 2014]

  • FIXED: Prepare to update git submodules

[Apr 22 2014]

  • GIT: Avoid directory names in git submodules to facilitate github Conflicts: .gitmodules
  • FIXED: Reading one byte after static array (innocent).

[Apr 18 2014]

  • FIXED: possible signed overflow when creating stand-alone resource archives. Very unlikely to occur in practice

[Apr 17 2014]

  • PORT: Avoid dependency on 8-byte atomic operations on 32-bit platforms. Allows compiling on ARMv6 (e.g., the Raspberry Pi)

[Jan 30 2014]

  • 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.

[Apr 17 2014]

[Apr 16 2014]

  • FIXED: print_message/2: do not worry if user_outout does not exist (is flushed before writing to user_error to ensure proper ordering of buffered output).
  • ADDED: create_prolog_flag/3: option keep(true) to keep the flag at its current setting if it is already defined.
  • ENHANCED: Do not generate an error if the commandline history cannot be written.

[Apr 11 2014]

  • FIXED: source location of syntax errors

[Apr 9 2014]

  • FIXED: previous patch left is_resource_error() undefined
  • FIXED: Implement outOfStack() using more low level primitives, avoiding term references. This saves stack space (which may be scarce) and avoids overwriting body terms written by ARGP, which may crash GC.
  • FIXED: library(prolog_colour): Deal with incomplete position information
  • SECURITY: Windows: update OpenSSL dependency to 1.0.1g.

[Apr 7 2014]

  • PORT: Avoid looking for clock_gettime() on MinGW because we have our replacement and it clock_gettime(CLOCK_REALTIME) returns bogus on MinGW4.8 on Win32.
  • MINGW: Fixed detection of pthread_getw32threadhandle_np() vs pthread_gethandle()

[Apr 6 2014]

  • CLEANUP: Avoid some benign type conversion warnings
  • PORT: Updated README.mingw to document compilation on Ubuntu 14.04/MinGW 4.8
  • PORT: PL_atom_generator(): fixed thread-specific data handling (0 is a valid key).
  • MINGW: Make NSIS script deal with different thread models.
  • MINGW: Pass detected pthread library to Makefile and NSIS
  • MINGW: Deal with versions that needed pthread-win32 and recent versions that have that bundled.
  • MINGW: Do not install SSL documentation as the .pod file do not process in Ubuntu 14.04 and we do not need these for building.
  • PORT: Install proper support libraries
  • PORT: Allow using MinGW 4.8 default pthread emulation

[Apr 5 2014]

  • PORT: Avoid undefined timespec_to_double()
  • PORT: Be prepared that dtoa and strtod are macros
  • PORT: Avoid dependency on ms_snprintf() in pl-stream.c
  • FIXED: library(prolog_stack): avoid error if source location is incomplete.

[Apr 4 2014]

  • FIXED: library(prolog_colour) to color quasi quotations that produce a goal term. Conflicts: library/prolog_colour.pl
  • FIXED: possible crash when reading very large multibyte characters
  • FIXED: possible crash when using excessively large character codes with atoms

[Apr 3 2014]

  • ENHANCED: Make PL_chars_to_term() process a plain number by bypassing the while Prolog machinery. This allows for (relatively) fast parsing of e.g. large integers.

[Apr 2 2014]

  • FIXED: off-by-one error in signal handlers
  • ENHANCED: Avoid tracing into arithmetic expansion

[Apr 1 2014]

  • FIXED: Possible non-termination in code walker due to incomplete source information.

[Mar 31 2014]

  • FIXED: Feedback output of commandline tracer in Windows swipl-win.exe was broken. Grishma Jena.

[Mar 30 2014]

[Mar 28 2014]

  • FIXED: Some enhancements to listing/1. Notably make listing(module:_) list all predicates in module. Jan Burse.

[Mar 27 2014]

[Mar 26 2014]

  • FIXED: Also need to check we have a thread in the libunwind version. Keri Harris.
  • FIXED: Missing break; in ar_pow, leading to an assertion error. Markus Triska.

[Mar 25 2014]

  • ENHANCED: CLP(FD): Stronger exponentiation. Previously:
    %?- A^2 #= C, C in 253..257, A #> 0.
    %@ A in 15..16,
    %@ A^2#=C,
    %@ C in 253..256.

    Now:

    %?- A^2 #= C, C in 253..257, A #> 0. %@ A = 16, %@ C = 256.

  • FIXED: save_backtrace() if threads are not yet initialized.

Keri Harris.

[Mar 23 2014]

  • FIXED: Integer size issues with creating saved states. Roberto Bagnara.
  • FIXED: Max stack-size warning for 64-bit platforms
  • FIXED: Possibly listing of predicates multiple times due to changed semantics of list_to_set/2.
  • FIXED: Handling of {G} in //-annotated arguments. Samer Abdallah

Package debian

[Apr 3 2014]

  • FIXED: Debian/Ubuntu packages: install static library also in /usr/lib. With help from jon judge and Eugeniy Meshcheryakov.

Package archive

[Apr 23 2014]

  • FIXED: Release archive stream when closing archive
  • FIXED: Avoid access to archive after closing
  • FIXED: archive_next_header/2: Raise a permission error if the previously opened entry has not been closed.

[Mar 20 2014]

  • PORT: Omit filter property for older libarchive versions. Carlo Cappelli.

Package clib

[Apr 13 2014]

  • FIXED: Bug#174: uri_encoded/3 should encode IRIs and %. Raivo Laanemets.

[Apr 5 2014]

  • FIXED: cgi_get_form/1 to use Prolog's parser for numbers. This avoids locale issues and supports unbounded integers.

[Apr 3 2014]

  • FIXED: possible off-by-one error when processing URIs

[Apr 2 2014]

  • FIXED: possible hang when processing invalid query string

[Mar 31 2014]

  • FIXED: Allow for tcp_bind(localhost:Port), i.e., bind to an interface, but leave the port to the system.
  • DOC: Updated tcp_bind/2 docs

Package http

[Apr 16 2014]

[Apr 5 2014]

[Mar 31 2014]

  • TEST: Added test to verify that the server closes the connection if requested to by the client.
  • FIXED: Make sure http_server(http_dispatch, localhost:Port) is documented and works.
  • FIXED: Bug#172: connection(close) is ignored for requests that are handled through exceptions. This results in waiting for the server keep-alive timeout for clients that assume that the server will close the connection. Raivo Laanemets.

[Mar 29 2014]

  • FIXED: Bug#170: http_open/3 with empty server response causes confusing error message. Raivo Laanemets

[Mar 27 2014]

  • FIXED: Bug#168: json_read/2 can fail on illegal input. Should be det and throw an exception. Raivo Laanemets.

[Feb 21 2014]

  • FIXED: Json convert rule ordering if last properties are ignored.

[Feb 12 2014]

  • UPDATED: library(mimetype): Mime type for Turtle, added n-triples and nquads.

[Feb 8 2014]

[Feb 4 2014]

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

[Jan 24 2014]

  • ENHANCED: Do not print somewhat alarming messages on normal termination of HTTP handler threads.

[Jan 22 2014]

[Jan 19 2014]

  • DOC: Add PlDoc module comments to remaining files.

[Jan 17 2014]

  • ADDED: directory_index//2 to library(http/http_dirindex) to allow for embedded listings. Also added options for sorting files.
  • ADDED: library(http_dirindex): pass page style dir_index(Dir, Title) to allow for styling the page.

[Jan 16 2014]

  • FIXED: Parsing of "Status NNN Comment" from CGI replies.

Package nlp

[Apr 3 2014]

  • FIXED: tokenize_atom/2 now uses PL_chars_to_term() to translate recognised numbers into Prolog integers. This implies: - Numeric tokens are not locale sensitive - Integer tokens profit from unbounded arithmetic

Package odbc

[Mar 28 2014]

  • FIXED: possible memory leak when reading large strings from database
  • FIXED: possible crash when reading large strings from database

Package plunit

[Apr 2 2014]

  • ENHANCED: Avoid trapping the tracer on the test internals.

Package semweb

[Apr 25 2014]

  • FIXED: Make erase_triple() thread-safe. This is called concurrently when asserted triples are erased for discarding a transaction.
  • ENHANCED: Better message if the Turtle empty prefix is not defined.

[Apr 24 2014]

  • FIXED: library(semweb/rdf_library) to find input that has a .gz (or other registered storage extension). Chris Dijkshoorn, Jacco van Ossenbruggen.

[Apr 22 2014]

  • FIXED: MD5 computation of qualified literals may crash.

[Apr 16 2014]

  • FIXED: Attach to a read-only database is supposed to raise only a warning

[Apr 2 2014]

  • FIXED: Include <stdio.h> to get swprintf().

[Apr 1 2014]

  • FIXED: Use defferred finalization to get rid of predicate clouds. Fixes an early free when closing a query.
  • TEST: Start random tests from printed seed, so we can replay them.
  • TEST: Fixed replaying of failed rdfs:subPropertyOf sequences
  • FIXED: Literal reference count was 24 bits and not checked for overflow. Now 32-bit with assert-based overflow checking.
  • FIXED: We must always lock queries.write.lock when removing a triple in GC, both to update the hash chains and to ensure consistent update of triple->linked.

[Mar 28 2014]

  • FIXED: Use atomic inc/dec to make sure the count for the number of triples per graph is accurate.

[Mar 27 2014]

  • ADDED: Media types for ntriples and nquads

[Mar 24 2014]

  • OOPS: Revert "CLEANUP: library(rdf_ntriples): synchronise iriref reading" This reverts commit c58c0d2ff233e41e478dfbfe11365507ec221d9a. I mistakingly though that the iriref was synchronised between Turtle and ntriples. This does not seem to be the case.
  • CLEANUP: library(rdf_ntriples): synchronise iriref reading
  • MODIFIED: library(rdf_ntriples): synced character classification with Turtle. Effectively makes detection of language tags and blank nodes compatible with the RDF 1.1 spec.

Package sgml

[Apr 14 2014]

  • ADDED: Warning when trying to use SYSTEM entities if this is not allowed.
  • FIXED: possible crash while reporting markup syntax errors
  • SECURITY: provide a max_memory/1 option to load_structure/3 to stop entity-expansion blowup
  • SECURITY: disable SYSTEM entity expansion by default

Package ssl

[Apr 24 2014]

  • FIXED: Avoid reading past end-of-string for time conversion.
  • FIXED: Convert subject/issuer fields to UTF-8, so the appear as proper Unicode names in Prolog.

[Mar 28 2014]

Package xpce

[Apr 23 2014]

  • FIXED: X11: possible curruption of window administration.

[Apr 22 2014]

  • FIXED: Wrong detection of changed device. Performs read access to xpce Int array one past end of local array (this is innocent).

[Apr 16 2014]

  • ENHANCED: Only set the message_ide flag if it was not set before.
  • ENHANCED: Be silent about errors saving PceEmacs bookmarks

[Apr 7 2014]

  • FIXED: Handling of type 1.2..2.4 in locales that do not use . for decimal point.

[Mar 30 2014]

  • ENHANCED: Avoid a non-terminating loop of errors if (some component of) xpce cannot be found. It is very hard to recover cleanly from this condition, so we just terminate the process :-(