Recent Releases of clingo

clingo - v5.8.0

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. First install either Anaconda or Miniconda or Miniforge and then run:
    • conda create -n potassco -c conda-forge clingo for the latest stable package from the conda-forge channel
    • conda create -n potassco -c potassco clingo for the latest stable package from the Potassco channel
    • conda create -n potassco -c potassco/label/dev clingo for the latest development package from the Potassco channel
    • We recommend to use conda-forge together with Miniforge as it provides a wider range of packages targetting more platforms. Choose the Potassco channel if you are interested in the latest development packages.
    • If you have and ARM-based Apple system and want to use conda-forge, run pip install cffi --force in the potassco environment to workaround a bug in libffi.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • extend API to read/write aspif programs (#530)
  • extend API to remove project and minimize statements (#527)
  • fix cffi issues with python 3.12 (#486)
  • fix comment enum in Python API (#507)
  • bump cmake requirement to 3.10 (#541)
  • update clasp fixing various issues (#528)

- C++
Published by rkaminsk 11 months ago

clingo - v5.7.1

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run: conda install -c potassco clingo.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • fix comparison of theory elements (#485)
  • fix manifest (#484)
  • update cibw to also produce Python 3.12 wheels

- C++
Published by rkaminsk about 2 years ago

clingo - v5.7.0

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run: conda install -c potassco clingo.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • add AST node for comments (#417)
  • add function to change undo mode (#409)
  • add function to access priorities to API (#406)
  • add Model::is_consequence to API (#423)
  • add option to preserve facts (#457)
  • improve hash table performance (#441)
  • extend addtheoryatom method of backend (#461) (breaks backward compatibility of the API)
  • add contribution guidelines (#465)
  • fix add_theory_atom_with_guard in Python API
  • fix AST bugs (#403)
  • fix parsing of hexadecimal numbers (#421)
  • fix assignment aggregates (#436)
  • fix build scripts for Python 3.12 (#452)
  • fix overflows in IESolver (#462)
  • make sure clingo_control_ground is re-entrant (#418)
  • update clasp and dependencies

- C++
Published by rkaminsk about 2 years ago

clingo - v5.6.2

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run: conda install -c potassco clingo.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • fix AST comparison (#394)
  • fix handling of n-ary comparisons in AST (#396)

- C++
Published by rkaminsk over 3 years ago

clingo - v5.6.1

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run: conda install -c potassco clingo.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • fix symbolic atom iterator (#389)
  • build wheels using cibuildwheel (#391, #392) (this adds additional architectures)

- C++
Published by rkaminsk over 3 years ago

clingo - v5.6.0

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run: conda install -c potassco clingo.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • add support for parsing files in ASPIF format (#387) (breaks C API)
  • add theory related functions to backend (#381)
  • add support for comparisons with more than one relation (#368)
  • extend safety by computing intervals from comparisons (#375)
  • add and ground base part by default in Python API (#378)
  • remove experimental CSP extensions (#367)
  • require at least MSVC 15.0 to build on Windows
  • large code refactoring (#376)
  • replace internal hash set implementation by external one (#386)
  • update to clasp version 3.3.9

- C++
Published by rkaminsk over 3 years ago

clingo - v5.5.2

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run: conda install -c potassco clingo.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • fix parse_files in C++ API
  • fix adding clauses during enumeration (#359)
  • fix incremental projection with backend (#362)
  • update clasp

- C++
Published by rkaminsk almost 4 years ago

clingo - v5.5.1

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run: conda install -c potassco clingo.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • extend theory class to get version information
  • improve performance of Model.symbol (#296)
  • tidy up clingo.hh header regarding C++17 deprecations (#344)
  • fix error handling while solving in Python API (#334)
  • fix various other bugs

- C++
Published by rkaminsk over 4 years ago

clingo - v5.5.0

Packages

  • The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run: conda install -c potassco clingo.
  • Ubuntu users can install packages from our Ubuntu PPA.
  • Clingo's Python module is available on PyPI.
  • Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
  • For Mac OS X, clingo packages are available in homebrew and macports.

Changes

  • allow for using not as a theory operator (#193)
  • improve parsing of disjunctions (#171)
  • rename max_size to size in APIs and remove previous size method (breaks backward compatibility but makes things consistent)
  • refine cmake configuration variables (#283) (package maintainers might have to pay attention here)
  • extend clingo API (#236, #231, #228, #227, #187, #171, #174, #183)
  • add type annotations and add stub files for type checkers (#212)
  • reimplement Python API using CFFI (#253) (breaks backward compatibility regarding the AST and some details)
  • add remove_watch and freeze_literal to propagate_init (#285)
  • add support for Lua 5.4
  • add options to select specific Lua/Python versions
  • add single-shot solving option (#269) (see installation instructions)
  • rename clingo.Tuple to clingo.Tuple_ (to avoid name clashes with typing.Tuple)
  • fix propagator initialization (#166)
  • fix cleanup function and handling of theory (#169)
  • fix shifting of disjunctions (in clasp) (#173)
  • fix handling of pools in externals (#179)
  • fix logger in Python API (#175)
  • fix memory bugs regarding strings (#196)
  • fix undo function (#191)
  • fix adding literals in propagate init (#192)
  • fix handling of undefined arithmetics (#218)
  • fix incremental grounding (#248)
  • fix/improve handling of classical negation (#268)
  • update to clasp version 3.3.6 fixing various issues

- C++
Published by rkaminsk almost 5 years ago

clingo - v5.4.1

This minor release fixes a small build issues with Python 3.8 and later.

Existing clingo 5.4.0 binaries can be reused and packages that already apply this patch do not have to be updated.

- C++
Published by rkaminsk about 5 years ago

clingo - v5.4.0

Packages

Changes

  • add extension to implement custom heuristics
  • add const modifiers to C API
  • add flags to external and const statements to match API functions
  • fix python memleaks
  • make compatible with msvc 15
  • C ABI changes
    • extended propagators
  • C++ API changes
    • unify usage of ProgramBuilder and Backend
  • python API changes
    • TruthValue.{_True,_False} becomes TruthValue.{True_,False_}
    • HeuristicType.{True,False} becomes TruthValue.{True_,False_}
    • async and yield becomes async_ and yield_
  • improve python API documentation
  • use cmakes find_python module
  • update to clasp version 3.3.5

- C++
Published by rkaminsk over 6 years ago

clingo - clingo version 5.3.0

Packages

Changes

  • change C API to use numeric instead of symbolic literals
    • affects assumptions and assigning/releasing externals (breaks backward compatibility)
    • added overloads to C++, python and lua API to support both numeric and symbolic version (preserves backward compatibility for most code)
  • the python, C and C++ APIs now allow for customizing clingo by implementing a custom main function but reusing the rest of the application including the standard output
  • add API function to detect conflicting programs
  • add message logger to python and lua interface
  • add support for primes in the beginning of identifiers and variable names
  • add per solver registration of watches during propagator initialization
  • add a directive to selectivel suppress undefined atom warnings
  • add support for user defined statistics
  • add toc functions for python API to be able to call C functions from python
  • only create ground representations for requested program parts when grounding (#71)
  • improve program observer (#19)
  • support for binary, octal, and hexadecimal numbers (#65)
  • the backend has to be opened/closed now
  • release python's GIL while grounding (#82)
  • TruthValue.{True,False} becomes TruthValue.{_True,_False} in python API
  • improve API and it's documentation

- C++
Published by rkaminsk over 7 years ago

clingo - clingo version 5.2.3

Packages

Changes

  • update to clasp version 3.3.4
  • really fix --pre option
  • fix link to potassco guide (#74)
  • fix location printing (#78)
  • fix linking problems (#79)
  • fix modulo zero (#100)
  • fix web builds (#103)
  • fix addding clauses after a model has been found (#104)
  • fix python program observer bindings (#105)
  • expose exponentiation operator in APIs
  • improve python docstrings (#101, #102)
  • add option to build python and lua modules against an existing libclingo

- C++
Published by rkaminsk over 7 years ago

clingo - clingo version 5.2.2

Packages

Changes

  • update to clasp version 3.3.3
  • use GNUInstallDirs in cmake files to simplify packaging
  • fix --pre option
  • fix swapped clingo_assignment_size and clingo_assignment_max_size
  • fix docstrings
  • fix incremental mode
  • fix sup and inf in python/lua bindings
  • fix reified format term tuples
  • fix wrong use of python API (causing trouble with python 3.6)
  • fix compilation problems on 32bit linux (missing libatomic)

- C++
Published by rkaminsk over 8 years ago

clingo - clingo version 5.2.1

  • update to clasp version 3.3.2
  • fix handling of istop in incmode programs
  • fix handling of undefined ** operations
  • fix preprocessing of disjunctions with undefined operations (regression in clingo-5)
  • fix segfault during preprocessing (regression in clingo-5)

- C++
Published by rkaminsk over 8 years ago

clingo - clingo version 5.2.0

  • switch to MIT license
  • improve compatibility with abstract gringo
  • switch build system from scons to cmake
  • improve windows compatibility
  • make tests and examples python 3 compatible
  • bison and re2c are no longer required to build source releases
  • update to clasp 3.3.0
  • the CLINGOPATH environment variable can be set to control from where to include files in logic programs
  • propagators can add variables while solving now
  • refactor interfaces (breaking backward compatibility)
    • there is just one solve function now
    • in the C API do not pass structs by value to callbacks because FFIs of some languages do not support this
  • fix cleanup function
  • numerous other bugfixes not listed here

- C++
Published by rkaminsk almost 9 years ago

clingo - clingo version 5.1.0

  • update to clasp 3.2.1
  • add interface to add variables during propagation
  • add interface to inspect ground rules (C/C++ only)
  • add experimental interface to access clasp facade (C/C++ only)
  • fixed smodels output (--output=smodels)

- C++
Published by rkaminsk over 9 years ago

clingo - clingo version 5.0.0

  • gringo is no longer released separately, instead it is part of this and upcoming clingo releases
  • cleanup of python and lua API (breaks backwards compatibility)
  • added new aspif output format replacing the old smodels format
  • added input language support for clasp features
    • #edge directives to add acyclicity constraints
    • #project directives for enumeration of projected models
    • #heuristic directives to steer clasp's search
  • added theory atoms to write aggregate like constructs
  • added stable C API documented with doxygen
  • added experimental C++ API based on C API
  • added theory propagator interface to clingo APIs
  • added support for compilation with Visual Studio 2015
  • improved data structures to reduce memory consumption on typical input
  • updated to clasp version 3.2.0 + patches

- C++
Published by rkaminsk over 9 years ago