Pan Compiler v9.3 Released

14 November 2012

After two release candidates, the final 9.3 version of the pan language compiler has been released. The major changes in this release include better support for multiple output formats and streamlined parameters from the command line, ant task, and maven plugin.

The older command line interface is still available as panc-old. Similarly, the old parameters for the ant task are still available, so current build files will still work correctly. However, the old command line interface and ant parameters are deprecated and will be removed in v9.4. Please update your configurations and tools.

In addition to the standard bug fixing and streamlining of the compiler, the next release will concentrate on removing the need for the escape and unescape functions. All of the currently deprecated features will be removed for v9.4.


Please report any issues or feature requests via the GitHub issue tracker. Open request in the SourceForge trackers will be migrated to GitHub shortly.


The source code is hosted in GitHub. Please download the sources from there.

The packaged versions of the compiler are available from SourceForge as usual, although this will be the last pan compiler release that is pushed there.

These packages can also be downloaded from GitHub. This will be the default location for future releases.


  • (SF Bug #3585672) Permit both lower and upper case strings for warnings flag in ant and maven tasks.
  • (SF Bug #3585346) Misleading deprecation message for debug element
  • (SF Bug #3582159) Uncaught exception when creating XML transformation
  • (SF RFE #3581805) Remove support for XMLDB format.
  • (SF RFE #3581801) Change dependency file extension from *.xml.dep to *.dep.
  • (SF RFE #3535682) Allow multiple output formats to be generated from CLI.
  • (SF Bug #3535413) Check timestamps of all requested output file formats.
  • (SF Bug #3529737) Non-object templates can be accessed via value().
  • (SF Bug #3579769) Tests failed because of change in TreeSet contract in Java 1.7.
  • (SF Bug #3579770) Shell scripts use bash syntax. Explicitly use bash in she-bang lines.
  • (SF Bug #3581163) Invalid replacement string in replace() raises uncaught exception.
  • (SF RFE #3489988) Allow negative values in range expressions.
  • The include syntax without required braces is now allowed.
  • The panc command no longer includes the possibility to process annotations. This functionality is now in a separate command panc-annotations.
  • The panc command now uses a streamlined set of options that are not compatible with the previous one. The previous one can be invoked with the panc-old command.