Program D Release Notes

maintainer: Noel Bush
previous authors: Noel Bush, Kim Sullivan, Thomas Ringate, Pedro E. Colla
Last updated: 12 Mar 2006

The latest version of this document can always be found at http://aitools.org/programd/docs/release-notes.html. Probably.

Versions documented here:

4.6

This is a highly-recommended release which preserves AIML functionality, introduces some interesting perforamnce improvements, fixes a number of important bugs, and brings some major architectural improvements—most notably, Program D can now be deployed as a .war file to a web application server, and can interact with a web client using "Ajax" technologies.

What's New

Release Candidate Notes

Here are notes about the release candidates.

Important Notes on System Requirements

Program D requires JDK 5.

If you want to build Program D from the source distribution, you can easily import it into a Java IDE such as Eclipse. Or you can use the included Ant buildfile, which is the same file used to create the binary distributions. You will need to have Ant installed.

To use Program D with a web interface, you will need to run a web application server. Some free/open source suggestions are: Tomcat, JBoss, or Jetty. For quick start instructions, see the Readme file.

Significant Open Issues

4.5

This is the first release of Program D in three years. During this time, Program D has remained the most widely used open source / free AIML interpreter in the world. It has been employed in numerous projects, from personal-sized art projects to large, enterprise level deployments. The stability and consistent performance achieved in version 4.1.5 have proven enduring and reliable, despite the hiatus in available support.

This new release focuses on updating the Program D technology to take advantage of progress in technologies available as part of the core Java platform. Core functionalities such as XML parsing, logging, and various architectural matters are now handled in a fashion that heightens stability, performance and maintainability.

We have finally addressed the issue of component orientation: Program D can now be easily included into any application framework as a simple "core" object, without ever involving any undesired interfaces (servlet container, IM interface, etc.). On the other hand, these optional interfaces now use a more flexible and better defined API to connect to the Core, and we are confident that additional interfaces may now be provided with far more ease than before.

Every line of code of Program D has been reviewed, and "refactored" as appropriate. The program still passes all of the AIML 1.0.1 test cases published with the previous version, as well as a few more.

Following are details of what has been addressed. Please note that, as of the final release, items originally found only under the Release Candidate Notes section have been included here, when appropriate.

What's New

Release Candidate Notes

Here are notes about the release candidates and the final release.

Important Notes on System Requirements

Program D requires JDK 5. See above for the reasons why. The benefits available from this new release far outweigh the problem that JDK 5 is not yet available for all platforms. If you are a user of a platform that does not yet have JDK 5 support, you are strongly encouraged to get involved in hastening the day when it does.

If you want to build Program D from the source distribution, you can easily import it into a Java IDE such as Eclipse. Or you can use the included Ant buildfile, which is the same file used to create the binary distributions. Starting with 4.5(rc3), you will need to have your own copy of Ant installed.

Significant Open Issues

4.1.5

The saga continues. Thanks for contributions, tips, assistance with this release to Anne Kootstra, Jonathan Roewen, Sven Seelig, Denis Sheynihovich, Kim Sullivan, Andrew Teal and Richard Wallace.
- Noel

What's New

This release of Program D is significant for stability and important functionality improvements. Here is a list of highlights:

Important Notes on System Requirements

Program D 4.1.5 requires a JVM or JRE that is compatible with the Java 2 Platform version 1.4. If you do not intend to modify the source code, you can download just the JRE (Java Runtime Edition), which is significantly smaller than the SDK (about 9MB as compared with ~40!).

The current reason for the Java upgrade requirement is an internationalization-related issue that may not pertain to all users. If the upgrade is onerous for you, post to the alicebot-developer mailing list for assistance with learning the necessary steps to build a version that will be compatible with JDK 1.3.

Significant Open Issues

4.1.4

Bug fixes and miscellany by Noel Bush.

Functional fixes

Functional improvements

Code improvements, changes

Other notable changes

4.1.3

Major cleanup and optimization work by Noel Bush. User authentication implementation sponsored by Artificial Solutions AB.

Functional improvements

Code improvements, changes

4.1.2

Finally it's here -- the final reference version of Program D! Big thanks to Tom and Pedro, who have taken upon themselves the difficult task of bringing the reference implementation as close to the AIML 1.0 specification as possible. Their work has finished now -- the server is fully under the GPL, and you can safely use version 4.1.2 as a reference base for further development. If it's good, your work may even be incorporated into the next release!
-Kim, Tom and Pedro

4.1.1

Another update of the reference version by Thomas Ringate and Pedro E. Colla. It features a rewrite of the template parser, support for stack variables, re-added some lost features (scripting, substitutions). The way bot properties are handled also changed. For instructions on how to set up the server, see _readme.txt.
- Kim, Tom and Pedro

4.1.0

This is the 'reference' version Thomas Ringate and Pedro E. Colla have been working on. It is intermediate work in progress, with the goal to make Program D AIML 1.0 compliant. Currently, in version 4.1.0 ref, the support for AIML 1.0 is partial and achieved thru quick fixes. For the most part, AIML 0.9 is yet supported.

Don't use this release as a base for further development, there will yet be major changes in the code. The next release 4.1.1 will hopefully adress the above issues within the next 2 weeks.
-Kim, Tom and Pedro

4.0.2

Now comes WITHOUT any AIML, you must install an aiml set manually and configure it in the SERVER.properties file (pointers are in the bots/readme.txt file), otherwise you will get a 'FileNotFoundException'. You can get some AIML files (as well as the latest server release) here:
http://www.alicebot.org
ftp://ftp.alicebot.org/pub/builds
-Kim

4.0.1

First release out of the CVS, included Jon Baer's AIML set.
-Kim

Valid XHTML 1.0!