Aquí hi ha 21 versions de SWI-Prolog, des de 27 de gener del 2021 fins a l’actual, 10.0.2. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
21 versions en 5 anys · unes 4,1 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 10.0.2Darrera versió | 15 de març del 2026 | 36,1 MB | 64 bits EXE (NSIS) 36,1 MB |
| 10.0.1 | 18 de febrer del 2026 | 36,1 MB | 64 bits EXE (NSIS) 36,1 MB |
| 10.0.0 | 5 de desembre del 2025 | 36,8 MB | 64 bits EXE (NSIS) 36,8 MB |
| 9.2.9 | 23 de desembre del 2024 | 14,3 MB | 64 bits EXE (NSIS) 14,3 MB32 bits EXE (NSIS) 14,0 MB |
| 9.2.8 | 23 d’octubre del 2024 | 13,9 MB | 64 bits EXE (NSIS) 13,8 MB32 bits EXE (NSIS) 13,9 MB |
| 9.2.7 | 3 de setembre del 2024 | 13,9 MB | 64 bits EXE (NSIS) 13,8 MB32 bits EXE (NSIS) 13,9 MB |
| 9.2.6 | 24 de juliol del 2024 | 13,8 MB | 64 bits EXE (NSIS) 13,8 MB32 bits EXE (NSIS) 13,8 MB |
| 9.2.5 | 22 de maig del 2024 | 13,8 MB | 64 bits EXE (NSIS) 13,8 MB32 bits EXE (NSIS) 13,8 MB |
| 9.2.4 | 27 d’abril del 2024 | 13,8 MB | 64 bits EXE (NSIS) 13,8 MB32 bits EXE (NSIS) 13,8 MB |
| 9.2.3 | 5 d’abril del 2024 | 13,8 MB | 64 bits EXE (NSIS) 13,8 MB32 bits EXE (NSIS) 13,8 MB |
| 9.2.2 | 29 de febrer del 2024 | 13,8 MB | 64 bits EXE (NSIS) 13,6 MB32 bits EXE (NSIS) 13,8 MB |
| 9.2.1 | 16 de febrer del 2024 | 13,8 MB | 64 bits EXE (NSIS) 13,6 MB32 bits EXE (NSIS) 13,8 MB |
| 9.2.0 | 31 de gener del 2024 | 13,8 MB | 64 bits EXE (NSIS) 13,6 MB32 bits EXE (NSIS) 13,8 MB |
| 9.0.4 | 27 de gener del 2023 | 13,2 MB | 64 bits EXE (NSIS) 13,2 MB32 bits EXE (NSIS) 13,2 MB |
| 9.0.3 | 18 de desembre del 2022 | 13,2 MB | 64 bits EXE (NSIS) 13,2 MB32 bits EXE (NSIS) 13,2 MB |
| 9.0.0 | 24 de novembre del 2022 | 13,2 MB | 64 bits EXE (NSIS) 13,2 MB32 bits EXE (NSIS) 13,2 MB |
| 8.4.3 | 21 de juny del 2022 | 12,9 MB | 64 bits EXE (NSIS) 12,9 MB32 bits EXE (NSIS) 12,9 MB Notes de la versió[Jun 15 2022]
- FIXED: Issue#114: Windows getenv/2 may return additional garbage (typically an extra \u0000 character at the end of variables of 1023 bytes or longer because the 0-byte is not added. Paul Singleton.
[Apr 23 2022]
- FIXED: Several issues to consistently deal with buffer sizes in os/windows/uxnt.c.
[May 23 2022]
- FIXED: Sfprintf(): handling of ENC_WCHAR() encoding.
- ENHANCED: Sfprintf(): allow Unicode characters for %c
[Jun 15 2022]
- ENHANCED: PL_record_external() deal with records > 2Gb on 64 bit platforms.
[Jun 12 2022]
- FIXED: write_term/2 and friends handling of embrace of operants that are operators for partial writes.
- FIXED: no space is required between a space and (.
[Jun 11 2022]
- FIXED: write_term/2 and friends: do not embrace writing a single atom if this is an operator and the priority(Priority) option is given.
[Jun 9 2022]
- DOC: Create links for S*() function references
[Jun 8 2022]
- DOC: Started documenting SWI-Stream.h
- FIXED: Sgets() handling of non-0-terminated output from Sfgets().
[Jun 2 2022]
- DOC: ord_intersection/2 is semidet.
- DIST: Fixed rmd160 generation for scripts/update-macports
[Jun 1 2022]
- FIXED: write_term/2 with numbervars and variable_names (#866)
- FIXED: Issue#993: possible deadlock when loading a module. Reported by Sean Leather.
[May 23 2022]
- FIXED: eliminated a spurious choice-point in sub_atom/5 Reported in https://swi-prolog.discourse.group/t/careful-with-sub-atom-5-and-feature-request-last-sub-atom-5/5422
[May 17 2022]
- DOC: enhance documentation for det/, $/1 and $/0, describing the exceptions and how trap/1 can be used to make the debugger act quickly.
[May 15 2022]
- FIXED: explain/1: hide references from called/5
- FIXED: Have breakpoints cleared in the UI when the clause that holds them is removed during a reload of the file.
[May 14 2022]
- FIXED: breakpoint_property/2: fixed character_range property
- ENHANCED: Issue#17: reverse/2 to be deterministic if second argument is a proper list. Ulrich Neumerkel.
[May 13 2022]
- TEST: Added STO restriction as this test involves rational trees.
[May 12 2022]
- FIXED: Issue#122: dif/2: or-node simplification.
- FIXED: Possible deadlock enumerating predicates from a source file.
[May 10 2022]
- FIXED: Avoid Unicode quote in library(aggregate) comment
[May 6 2022]
- FIXED: LaTeX conflict preventing building the PDF docs
[Apr 21 2022]
- FIXED: Possible race condition importing into a module. Can lead to termination on a system error.
[Apr 19 2022]
- FIXED: Make source layout handling aware that debug/3 and assertion/1 may be removed by the optimizer.
[Apr 17 2022]
- ADDED: Sopen_iri_or_file() API to allow foreign code to access the resources.
[Apr 15 2022]
- ENHANCED: require/1 to simply import if the target module is already loaded. Reduces startup time.
[Apr 13 2022]
- FIXED: fd_degree/2 and fd_set/2 for constant integer arguments.
[Apr 12 2022]
- DOC: added cross-references from absolute_file_name/3 to file_search_path/2.
[Apr 8 2022]
- ADDED: library(sandbox): allow declaring prolog flags as safe.
[Apr 7 2022]
- ADDED: open/4 option newline(Mode).
[Apr 5 2022]
- DOC: Updated clause/2.
- FIXED: Memory leak reading Unicode queries at the toplevel. Peter Ludemann.
- ADDED: library(sandbox): support predicate_property/2
- DOC: PL_atom_wchars(): wrong types
[Apr 4 2022]
- ADDED: library(sandbox): functor/4.
[Apr 3 2022]
- FIXED: Possible wrong Windows drive letter normalisation.
[Apr 2 2022]
- PORT: msys2, detect libdb-6.0.dll from libdb.a
[Apr 1 2022]
- PORT: Msys2/clang64
- PORT: MSYS2/clang64 the dll name appears several times in the ".a" file, select the first appearance
- FIXED: swipl-ld didn't pass -I for SWI-Prolog.h any more.
[Mar 30 2022]
- PORT: Sopenmem() to use SIO_NL_POSIX. All internal strings use POSIX \n to delimit lines. @mgodan1.
[Mar 29 2022]
- FIXED: copy_term/4 to handle cyclic terms for the first argument. Also proper recovery in case of a memory overflow.
[Ma |
| 8.4.2 | 10 de febrer del 2022 | 12,5 MB | 64 bits EXE (NSIS) 12,5 MB32 bits EXE (NSIS) 12,5 MB |
| 8.4.1 | 16 de novembre del 2021 | 12,5 MB | 64 bits EXE (NSIS) 12,5 MB32 bits EXE (NSIS) 12,5 MB Notes de la versió[Nov 16 2021]
- FIXED: Saved state handling of a dict whose first key value (in the internal order) and tag are both avoid variables. This patch is less invasive than 4de9114a76cd44659591296627e999cf1072d744.
[Nov 15 2021]
- FIXED: Saved state handling of a dict whose first key value (in the internal order) and tag are both avoid variables. Reported by Matt Lilley.
[Nov 12 2021]
- FIXED: Be more relaxed about existence of the current predicate when pushing and popping the compilation context.
[Nov 11 2021]
- ENHANCED: Get version info into the Prolog flag. Now uses CMake rather than a shell script and provides a new Prolog flag `cmake_build_type`.
[Nov 10 2021]
- DOC: meta_predicate/1: updated mode declarations.
[Nov 8 2021]
- EHNACED: pack_rebuild/1,2 for CMake based packages to use `cmake --build `and` cmake --install` for the build and install steps rather than calling `make`, `ninja`, etc. directly. Suggested by Wouter Beek.
- MAINTENANCE: Possible segv in retract/1 when compiled using O_DEBUG.
[Nov 7 2021]
- FIXED: Possible race conditions between the various ways a thread can be joined.
- FIXED: Do not start a new thread to join garbage collected threads while shutting down the system.
- MAINTENANCE: On a system error we only go into interactive mode if both stdin and stderr are connected to a terminal. Otherwise we print the message, C and Prolog stack and abort.
- MAINTENANCE: Use of guarded C-stack using `sigaltstack()` doesn't go with ASAN. Results in the error below. Disabled guarding the C stack when compiling using address sanitizer. ` =`101190`=ERROR: AddressSanitizer failed to deallocate 0x2000 (8192) bytes at address 0x6250000b1900 =`101190`=AddressSanitizer CHECK failed: ../../../../src/libsanitizer/sanitizer_common/sanitizer_posix.cc:60 "(("unable to unmap" && 0)) != (0)" (0x0, 0x0)
[Nov 3 2021]
- FIXED: CMake packs must use environment variables.
- ADDED: Support `ninja` builds when using CMake
- FIXED: pack_install/1,2: If we use CMake for configuration, we should also build in the CMake directory.
- TEST: Signalled thread may already be dead.
[Nov 2 2021]
- ADDED: pack_install/1,2: provide `pack_install(.)` to add the local directory to the pack registry and build it. Also add option `link(true)` and `rebuild(When)` to provide more fine control over the build.
- FIXED: pack_install/1,2: do not remove contents if the package registered as a symbolic link.
- FIXED: memberchk/2 for partial lists where the unbound part is constrained. Reported on Discourse by Abramo Bagnara.
- BUILD: Avoid GCC-11 warning
[Oct 31 2021]
- ENHANCED: Protect assertz/1 and friends (compiler) against C-stack overflows.
- ENHANCED: Use `setjmp()` instead of `sigsetjmp()` to reduce the overhead of the C-stack guarding.
- MAINTENANCE: Updated C calltree analysis for CMake build and new coding style and conventions.
[Oct 30 2021]
- FIXED: Fallback to find a place for packages to install executables.
- FIXED: Hash consistency on pointer sided integers for 64-bit bigendian machines. Only affects consistency of term_hash/2 over platforms.
- FIXED: Checking that an uncaught exception is caught in an outer environment, i.e., nested C<->Prolog callback.
[Oct 28 2021]
- FIXED: Make C-stack guarding work in threads.
- ENHANCED: Use C-stack guarding for read/1 and friends.
- FIXED: format/2,3: Term printing using ~[kpqw] did not propagate exception.
[Oct 27 2021]
- ENHANCED: Handle C-stack overflows gracefully on POSIX targets with `sigaltstack()`.
[Oct 26 2021]
- ADDED: argv_options/3: allow including longer descriptions as header, usage and footer in the usage message.
- ADDED: argv_options/3: Allow the user to redefine the bindings for help. Suggested by @swi.
- PORT: Alignment on ppc64el. Better version than df1f0bf795a16edd313a2a25f0678ce044a4a71d
- PORT: Alignment on ppc64el (Debian). See https://github.com/SWI-Prolog/issues/issues/104
[Oct 25 2021]
- FIXED: `pl_get_uint64()` for GMP numbers on 32-bit systems.
- ADDED: argv_o |
| 8.4.0 | 30 de setembre del 2021 | 12,5 MB | 64 bits EXE (NSIS) 12,5 MB32 bits EXE (NSIS) 12,5 MB |
| 8.2.4 | 27 de gener del 2021 | 11,8 MB | 64 bits EXE (NSIS) 11,8 MB32 bits EXE (NSIS) 11,5 MB Notes de la versió[Jan 20 2021]
- FIXED: Various small issues that allow using []/N (notably []/3) as a predicate. After report by Rick Workman.
[Jan 13 2021]
- DOC: Remove reference to -L, -G and -T options.
[Jan 11 2021]
- 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.
[Oct 5 2020]
- FIXED: Crash when creating a dict from an invalid key.
[Jan 8 2021]
- FIXED: Issue#763: Attempt to create cycle import module dependency exception was not handled correctly. Reported by David Tonhofer.
[Jan 4 2021]
- 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.
[Jan 2 2021]
- 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.
[Dec 30 2020]
- CLEANUP: Issue#128: silence `maybeUnregisterDirtyDefinition()` message for release build. Fabrizio Riguzzi.
[Dec 27 2020]
- BUILD: Issue#704: skip building the HTML docs if some dependency is missing.
[Dec 24 2020]
- 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.
[Dec 23 2020]
- 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.
[Dec 21 2020]
- FIXED: Issue#747: Windows: expand_file_name/2 Unicode issues.
[Dec 18 2020]
- FIXED: We cannot catch a delimited continuation through a findall/3. Raise an error and give better messages for attempts to table this way.
[Dec 16 2020]
- DOC: Fixed a type, added commas and needed spaces.
[Dec 15 2020]
- FIXED: is_git_directory/1 for submodules.
- FIXED: Reloading library(git) due to operator conflict.
- FIXED: is_git_directory/1 for submodules.
[Dec 14 2020]
- ENHANCED: Detection of Emacs inferior mode. Now sets up tty on Windows as we have no way to detect.
[Dec 13 2020]
- FIXED: library(simplex): calling wrong predicate.
[Dec 11 2020]
- FIXED: Backport of 06e3e152a83ec786a689085274d49da1e56b9287 from devel: FIXED: Possible race condition in retract/1 generation management.
[Dec 7 2020]
- FIXED: atomic_list_concat/3: possible double free, corrupting memory.
[Dec 5 2020]
- FIXED: Issue#722: premature reclaim of a clause reference in retract/1.
[Dec 3 2020]
- 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.
[Dec 1 2020]
- ADDED: library(sandbox): declare nonground/2 as safe.
[Nov 30 2020]
- DOC: Avoid duplicate section label.
[Nov 27 2020]
- FIXED: Consistent answer count admin for answer subsumptive tabling. Resulted in "OOPS: trie_property/2: counted %zd values, admin says %zd\n" messages.
[Nov 25 2020]
- FIXED: Handling of the Prolog flag `compile_meta_arguments`. |