Release Notes: ErgoAI 2.1 (Mozi)
What’s new in ErgoAI 2.1
The 2.1 release includes bug fixes as well as a number of new, powerful features, including an interface to MiniZinc constraint solver, a C-to-Ergo interface, and new calendar functions for the date and dateTime data types. A detailed list of changes follows.
- The 32 bit version of ErgoAI has been retired.
- In the Ergo-to-Java package (\e2j), sending messages to Java previously worked only in the terminal window. Now it works in the IDE as well.
- This package now also has a new API call setJavaCP, which allows one to expand the static CLASSPATH used by the Java instance with which the \e2j package interacts. This is different from:  the addJar method, which loads Jars dynamically, but works only with Java 8 and not with 9+. The method addJar is now deprecated.
- Interface to the MiniZinc constraint solving system, which enables dealing with complex constraint optimization problems, like job-shop scheduling, production planning, etc. See the Guide to ErgoAI Packages, the chapter on “Constraint Solving with MiniZinc.”  Also see examples in the ErgoAI Example Bank.
- Support for the C-to-Ergo interface, i.e., invocation and querying of Ergo from within C and C++.  This is described in a detailed example in the ErgoAI Example Bank.
- A new meta-programming feature: the primitive copy2mod allows to create copies of Ergo statements, like frames, predicates, and rules, in a different module.  See ErgoAI Reasoner User’s Manual, the chapter on “Meta-Programming, Meta-Unification, and Copying.”
- A new primitive save{...}, which lets one save the rules and facts of any module in a file.
- Enhancements in the \date and \dateTime datatypes, which enables linking dates to weeks. This makes it possible to talk about things like “Tuesday two weeks ago” or the “10th week of the last year.” Additional methods to simplify working with dates and times.
- Added support for local (zone-agnostic) time to the data types \date, \dateTime, \time. 
- Fast loading of large amounts of data: now uses indexing on multiple arguments, making querying fast-loaded data much more efficient.
- Improvements in the manuals, both in the Guide to ErgoAI Packages, ErgoAI Reasoner User’s Manual, and also in the ErgoAI Studio Manual.
- Enhancements in aggregate functions sum, avg, and count: they now support fine control over duplicate elimination.
- The package persistentmodules has been enhanced: one can now save and retrieve rules in/from databases.
- A number of bug fixes and smaller enhancements.
Notes for the earlier releases can be found here: