# Ann: SWI-Prolog 8.2.4 (stable)

**URL:** <https://swi-prolog.discourse.group/t/ann-swi-prolog-8-2-4-stable/3526>\
**Category:** Releases\
**Created:** [January 27, 2021, 8:24am UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-8-2-4-stable/3526 "2021-01-27T08:24:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [January 27, 2021, 8:24am UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-8-2-4-stable/3526/1 "2021-01-27T08:24:30Z")

</div>

Dear SWI-Prolog user,

SWI-Prolog 8.2.4 (stable) is ready for download. This version backports  
the relevant stability fixes from the development version. There are no  
real _highlights_.

```
Enjoy --- Jan

```

# SWI-Prolog Changelog since version 8.2.3

- FIXED: Various small issues that allow using []/N (notably []/3)  
as a predicate. After report by Rick Workman.

- DOC: Remove reference to -L, -G and -T options.

- FIXED: Issue#767: print\_term/2 for printing zero-argument compounds.  
Wouter Beek.

- FIXED: Possible crash when creating a dict from a list if the list  
contains an invalid key.

- FIXED: Crash when creating a dict from an invalid key.

- FIXED: Issue#763: Attempt to create cycle import module dependency  
exception was not handled correctly. Reported by David Tonhofer.

- FIXED: Windows swipl-win.exe console: check input messages before  
handling output such that e.g., Control-C works when the output  
is flooded.

- MODIFIED: Allow processing interrupts in Windows when in critical  
state.

- FIXED: Possible deadlock when passing Control-C from swipl-win.exe.

- FIXED: possible race in swipl-win.exe output handling.

- FIXED: sleep/1: interrupt processing for Windows.

- FIXED: Issue#758: unify\_with\_occurs\_check/2: possible false success  
when attributed variables are involved. Possibly may also involve  
cases where no attributed variables are involved. Reported by  
Jan Burse.

- CLEANUP: Issue#128: silence maybeUnregisterDirtyDefinition() message  
for release build. Fabrizio Riguzzi.

- BUILD: Issue#704: skip building the HTML docs if some dependency  
is missing.

- FIXED: Possible crash of the debugger on the call port. We need  
to set PC to the new predicate before the trace callback or  
clearUninitialisedVars() may reset wrong variables.

- FIXED: Issue#751: call\_with\_depth\_limit/3 with limit -1. David  
Tonhofer. This patch also cleans up mixed types for handling the  
limit and possible limit overflows.

- FIXED: Issue#747: Windows: expand\_file\_name/2 Unicode issues.

- FIXED: We cannot catch a delimited continuation through a  
findall/3. Raise an error and give better messages for attempts to  
table this way.

- DOC: Fixed a type, added commas and needed spaces.

- FIXED: is\_git\_directory/1 for submodules.

- FIXED: Reloading library(git) due to operator conflict.

- FIXED: is\_git\_directory/1 for submodules.

- ENHANCED: Detection of Emacs inferior mode. Now sets up tty on  
Windows as we have no way to detect.

- FIXED: library(simplex): calling wrong predicate.

- FIXED: Backport of 06e3e152a83ec786a689085274d49da1e56b9287 from devel:  
FIXED: Possible race condition in retract/1 generation management.

- FIXED: atomic\_list\_concat/3: possible double free, corrupting memory.

- FIXED: Issue#722: premature reclaim of a clause reference in retract/1.

- FIXED: Make library(prolog\_codewalk) work with `name()` predicate  
heads.

- FIXED: Do not set a Prolog flag if the hook dealing with the side  
effect fails.

- ENHANCED: halt if we tried to handle exit from a thread twice.

- ADDED: library(sandbox): declare nonground/2 as safe.

- DOC: Avoid duplicate section label.

- FIXED: Consistent answer count admin for answer subsumptive  
tabling. Resulted in “OOPS: trie\_property/2: counted %zd values,  
admin says %zd\n” messages.

- FIXED: Handling of the Prolog flag `compile_meta_arguments`.

## Package bench

- ADDED: Answer subsumption benchmark.

## Package clib

- FIXED: handle pipe(Stream, Options) encoding correctly. @dgelessus

- ADDED: process\_create/3: SICStus 4 compatible pipe(Pipe,Options)  
option supporting type(Type) and encoding(Encoding).

- FIXED: Issue#33: environment variables may not be passed. This shows  
on MacOS, but can happen on any system.

- FIXED: Issue#33: NULL pointer dereference in  
`process\_create(’/usr/bin/printenv’, [], [environment([])]).

## Package http

- ADDED: `gone 410` to list of status replies

- ADDED: Define http\_open/map\_method/2 as multifile so we can support  
non-RFC HTTP methods.

- COMPAT: Parse cookie values more flexible. Keri Harris.

## Package jpl

- PORT: Apple java\_home program doesn’t accept `-d64`

- BUILD: Avoid “Value of JAVA\_HOME contained a newline” warning on MacOS.

## Package pldoc

- ADDED: Hook prolog:doc\_object\_footer//2 to add per-object examples.

- FIXED: Export new HTML output routines.

- DOC: Typo fix

## Package semweb

- FIXED: Issue#737: Although unlikely, computed garbage may be \< 0  
due to asynchronous computation of the different garbage components.  
As this figure is only used for statistics we just report \< 0 as 0  
instead of raising an assertion error.

## Package ssl

- TEST: Issue#159: OpenSSL 1.1.1i changed sequence for `unknown_issuer`  
certificate reporting. Patch by Kurt Roeckx.

## Package tipc

- FIXED: tipc\_paxos\_replicate/1 called non-existing predicate. Removed.

## Package xpce

- FIXED: Cross-reference GUI: handle `name()` definitions.

- FIXED: Issue#19: Possibly buffer overflow and incorrect error message  
if XPCE cannot connect to the given display.
