- 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}
becomesTruthValue.{True_,False_}
HeuristicType.{True,False}
becomesTruthValue.{True_,False_}
async
and yield becomesasync_
andyield_
- improve python API documentation
- use cmakes
find_python
module - update to clasp version 3.3.5
- 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 _to_c 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
- 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
- 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)
- 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)
- 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 functions because FFIs of some languages do not support this
- fix cleanup function
- numerous other bugfixes not listed here
- fix thread id to start with one in propagator.undo in lua
- fix version macro in clingo.h
- fix added missing methods to get thread id to model in lua/python
- fix child_key property in python ast
- 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)
- 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
- fixed bug when creating multiple Control objects (affects lua only)
- fixed bug when trying to configure more solvers than in portfolio (affects python only)
- fixed #disjoint constraints
- improved build scripts
- added option to keep facts in normal rules
- fixed regression w.r.t gringo 4.4 in translation of conditional literals
- fixed projection in incremental programs
- fixed bug with (double) negative literals in minimize constraints
- fixed memory leak in python API when enumerating models
- updated to clasp version 3.1.3
- ground term parser returns None/nil for undefined terms now
- added warning if a global variable occurs in a tuple of an aggregate element
- added auto detection of libraries
- changed option --update-domains into API function Control:cleanup_domains
- fixed domain cleanup when used with minimize constraints
- fixed grounding of recursive disjunctions (regression in 4.5.0)
- fixed Control.stats in lua bindings
- fixed a bug in clingo that would print 0-ary classically negated atoms wrongly
- fixed grounding of recursive aggregates
- fixed usage of lua_next
- fixed bug when applying constant definitions
- updated underlying clasp to version 3.1.1
- added support for negation in front of relation literals
- added option --update-domains to cleanup gringo's domains using clasp's top-level assignment when solving incrementally
- added domain inspection to scripting interface
- added term parser to scripting interface
- added support for python 3 (experimental)
- added support for one elementary tuples
- added support for unary - operator in front of functions and symbols
- added support for recursive nonmonotone aggregate via translation
- added program reify to reify logic programs
- added option to rewrite minimize constaints for use with reify
- changed inbuilt iclingo mode (breaks backwards compatibility)
- changed handling of pools, intervals, and undefined operations according to AG (breaks backwards compatibility)
- changed handling of ==, it is treated like = now
- changed SolveFuture.interrupt to SolveFuture.cancel (breaks backwards compatibility)
- updated underlying clasp to version 3.1.0
- this version brings numerous fixes regarding incremental solving
- scripting API changes
- ground takes a list of programs to ground now and immediately starts grounding (breaks backwards compatibility)
- asolve has been renamed to solveAsync (breaks backwards compatibility)
- the solver configuration is better integrated now (breaks backwards compatibility)
- solver statistics are a property now (breaks backwards compatibility)
- added a method to add clauses during solving
- added load method to load files
- added solveIter method to iterate over methods without using a callback
- added optional assumptions to solve/solveAsync/solveIter method
- enableEnumAssumption became a property
- added library that can be imported in python
- rules with fact heads where not simplified in all cases
- fixed grounding of recursive aggregates
- fixed translation of aggregates with multiple guards
- fixed bug with incremental parameters in minimize constraints
- fixed handling of empty tuples
- fixed translation of conditional literals
- fixed translation of factual body aggregates
- fixed bug not properly recognizing aggregates as non-monotone
- fixed bug not properly grounding recursive head aggregates
- fixed bug with recursive negated aggregates
- fixed bug with head aggregates with multiple elements
- improved handling of conditional literals
- added method to get optimization values of model in scripting language
- clingo uses clasp 3.0 now
- fixed bug in simplification of aggregates
- fixed bug with raw strings in macros
- fixed compilation issues with older glibc versions
- fixed output for enumeration of cautious consequences
- fixed bugs in clasp library
- fixed race in parallel model enumeration
- fixed incremental optimization
- fixed cleanup up of learnt constraints during incremental solving
- workaround for libstdc++'s bad choice for hash<uint64_t> on 32bit arches
- added clingo
- supports very flexible scripting support
- can cover iclingo and oclingo functionality now
- added stack traces to lua error messages
- added support for incremental optimization
- improved python error messages
- renamed gringo.Function to gringo.Fun
- removed luabind dependency
- removed boost-python dependency
- consistently use not instead of #not as keyword for negation
- fixed translation of conditions in head aggregates
- fixed replacement of constants
- fixed grounding of recursive head aggregates
- fixed translation of head aggregates
- fixed show statements for CSP variables (condition was ignored)
- fixed plain text output of body aggregates
- added a ton of new bugs
- added scripting languages python and lua
- added -c option to define constants
- added constraints over integer variables
- linear constraints
- disjoint constraints
- show statements for constraint variables
- (experimental and subject to change)
- improved translation of disjunctions
- fixed include directives
- fixed preprocessing of definitions
- fixed lparse translation of optimization constructs