Changes Report

Release History

VersionDateDescription
10.2.02007-03-21
10.1.22006-02-24
10.1.12006-02-21
10.1.02005-04-11
10.0.02005-02-19
9.9.02004-11-07
9.8.02004-08-24


Release 10.2.0 - 2007-03-21

TypeChangesBy
removeTemporarily removed SVG support as the Apache License is not compatible with the GPL. As soon as I find a GPL compatible alternative I'll reinstate this functionalitymoya
addImplemented Serializable for all classes are based on MillScript-Util functionalitymoya
fixFixed an issue with embedded XML which caused an exception when an attribute value was not a stringmoya
fixFixed an off by one error in the subrange function(used by the subrange syntax [X..Y ] )moya
updateUpdated to use new AlertReporter interface from MillScript-Alertmoya
removeRemoved the Excel file loader, this can now be found in the MillScript-Excel package, which uses the new plugin system to add the loader into an installation.moya
fixAdded a simple plugin infrastructure, which scans for plugin configuration files on startup.moya
fixFixed the HTML renderers emtpy element tag set to match the HTML specification, i.e. an IFRAME is no longer considered an empty element, but the non-standard BGSOUND, SPACER and WBR tags are. Fixes 1468394.moya
addAdded XML namespace support to MillScript, via XML files in an inventory, but not within the MillScript language(which will come later) Fixes 1282047.moya
addAdded support for fat strings, i.e. strings t hat can span multiple lines. Fat strings are intended to bridge the gap between single line strings and autoloadable text files, i.e. medium length strings. Fixes 1290070.moya
addAdded support for chained relational expressions, e.g. x < y < z, where each expression is evaluated once and only if required. Fixes 1252595.moya
addAdded support for loading Excel spreadsheets. This is strictly limited to spreadsheets with text, numbers and very simple formulas(e.g. simple arithmetic and no floating point). Upgrades to this support are planned :-) Fixes 1252591.moya
fixEnsure method's report their name, rather than pretending to be anonymous. Fixes 1183623.moya
fixAdded a properties file renderer and function, so you can now easily write Java properties files. Fixes 1292776.moya
addMigrating to Java 5 - added generics type information, annotated for overrides and suppressing warnings and added enumerationsmoya
updateSimplified name resolution code.moya
updateMigrated Map(and List, etc) functionality from the Java Collections API to the new MillScript-Util one. This unifies Lists and Maps at the Java level, rather than the MillScript one.moya
fixFixed the bug stopping you from updating an list when indexing with negative indicies. Fixes 1279571.moya
addinterfaces and implementations where appropriate. Fixes 1181446.moya
addMigrated the template loaders to use the SAX API rather than transforming a DOM object. Fixes 1181446.moya
addAdded te-common library for command line argument parsing. Added a Java implementation of the website and status commands. More will follow. Fixes 1159833.moya
addAdded serialVersionUID's to serializable classes, to enable version handling when serializing. Fixes 1201307.moya
addAdded a TrueType font loader, so you can now put TrueType fonts in your inventory and load them. When we have a graphics API you'll be able to use these to draw onto images. Fixes 1182211.moya

Release 10.1.2 - 2006-02-24

TypeChangesBy
fixFixed a bug in the standard package that caused autoloadable items in the standard inventory to be ignored. Fixes 1438074.moya

Release 10.1.1 - 2006-02-21

TypeChangesBy
update. Fixes 1433496.moya

Release 10.1.0 - 2005-04-11

TypeChangesBy
updatefunction.moya
addWe now use JLine for the interactive sessions, unfortunately we have to use a customised version as the st andard distributed JAR at the moment as it contains bugs. Fixes 1154554.moya
addfunction to take one or two arguments. The single argument case is unchanged from the existing function, but in the two argument case the second argument is the value to use if the cache file cannot be found or read. Fixes 1176938.moya
fixinterface, and the package autoloader now traps alerts and sets the origin if something goes wrong during the autoloading process. So you now know which template the error occurs in!moya
fixvariable from within a template. Fixes 1120745.moya
fixXML renderer has been modified to be XML 1.0 compliant. XML 1.0 has a restriction on the range of valid characters, which the renderer now respects. Illegal characters will by default be silently stripped from the document. There is a configuration function which can be used to switch on a warning message when an illegal character is encountered. Fixes 1146166.moya
fixCorrected use of backslashes in the java.util.regex.support package. After the change to native support, you no longer need to escape backslashes when constructing a regex. Fixes 1164356.moya
addAdded a new CDATA datatype. This allows you to include CDATA sections in XML files. The renderers have been updated to render these sections appropriately.moya
addAdded da tafile, text and lines renderers. This updates all output file functions to use renderers, rather than custom code. Now all output functions benefit from consistent character set handling and more importantly buffering. e.g. 40Mb datafiles will no longer require 2-3 times that much memory to write.moya
updateRefactored renderers, to reduce memory usage, clean up code and allow for CDATA sections in HTML and XML files. We now only buffer 16k of data rather than the entire file. Fixes 1104649.moya
removeRemoved the CharSetSupport utility class. This class held the current output character set as a static variable, and has been replaced by a non-static in the Configuration class.moya
fixWhen a Java method is invoked using the javaFunction function, an InvocationTargetException is no longer reported as an internal fault. Fixes 1060175.moya
updateThe Machine now implements its own value, call and doing stacks. This should provide a significant performance boost for all applications. I've also changed various other methods to make use of the new machine changes.moya

Release 10.0.0 - 2005-02-19

TypeChangesBy
updateConsolidated the for loop Iterators and ForIterators to remove the unneeded plain Iterator methods. In most cases we had a ForIterator wrapping a normal Iterator and we never used the plain versions.moya
addAdded a new configuration syntax to replace the previous Apache style one. It is now based on a subset of MillScripts own syntax, where the previous configuration directives are now normal MillScript functions. The configuration pa rser understands booleans, numbers, strings and the use of parenthesis.moya
fixFixed a bug which caused an infinite loop in the tokenizer if the last thing in a file is an end of line comment.moya
add.moya
addThe precedence of "." and "[" has been switched to correct a problem exposed when changes were made to function application parsing. Fixes 1024272.moya
removehierarchy, which should be obsoleted by the new VFS.moya
addQuietly introducing the virtual filesystem. This has become the main way to provide input to MillScript, with only the console interpreter and configuration file loaders using a different system(temporarily)moya
addRaster and SVG images are now cloneable(and hence now useful!).moya
fixFixed the isElement recogniser function, to recognise instances of the correct class, now they've moved into the datatypes package. All recognisers have been made into built-in functions.moya
addAdded XML templates and skeleton files, using the extensions .xml.tp and .xml.sk respectively. The special elements are now kept in their own namespace, so any other namespaces and tags can be used. Fixes 1024252.moya
addkeyword to allow you call the initialiser of a parent class from within a child classes ini tialiser. Fixes 1069469.moya
removeSwitched over to using the external Alert in commons and removed the original built-in alert codemoya
update. Fixes 1069482.moya
add. It's fairly simple and doesn't offer all the protection it should, but at least we have it now! Fixes 1069469.moya
addAdded an API for using regular expressions. With this addition the old java.util.regex MillScript package has become obsolete and will be removed in a future version. Fixes 1069482.moya
fixCopied invocation target mishap improvements from the java method invoking code, to the java constructor invoking code. Fixes 1060175.moya
fixCorrected error message when parsing an XML attribute name, so it now says "Invalid attribute name" or "Attribute name expected". Fixes 1060177.moya
updateImproved error messages generated from input sources.moya
updateImproved error message issued when an unmappable character in encountered when writing an HTML, XML or XSLT file. Fixes 1104062.moya
update. This removes unneeded references from thes e classes.moya
fixFixed bug where using the dot syntax for function application could cause the parser to read too much syntax as the function arguments. This same fix was also applied to the this syntax, for the caret operator. Fixes 1024272.moya
addSerialization of Page objects. This allows you to save Page objects into a cache file and load them back. While saving should not generate any problems, loading might. Consider if you save a Page to a cache file, start a new instance of MillScript, make a new Page in the same location with the same file name, then try to load your cache file... The Page has already been made, so the one that's loaded isn't unique anymore, and can't be loaded. Fixes 1024263.moya
fix. It was a mistake to change it's name in the first place, as the function returns a Page object representing one "page" in the script output folder.moya
fixRefactored AbsFolderFunction and CoreFolderFunction into AbstractOutputFunction and AbstractOutputFileFunction, to better indicate their intended purpose. As a result all output file functions now have a concept of a default file extension, rather than always using ".html".moya
fixand Checkstyle changes from changes to MillScripts class system.moya
updateRefactored procedure parsing code to reduce duplication. I've improved the function header parsing error messages at the same time. This also includes a f ew tests for parsing function headers.moya
updateAll procedures now share a common syntax class, with improved error messages for function headers.moya
addis the dispatch object.moya
add) is available to copy the contents of the static resource folder to the current output folder.moya
fixFixed a problem with error reporting in MillScript files interpreted via the Package.interpret(File) method. It caught any Exception and wrapped it as a "Can't open file" alert, including any already handled AlertExceptions! This lead to some rather confusing error messages when packages don't exist.moya
fixRemoved Integer casts in favour of using CastLibrary where appropriate. Now we don't get a ClassCastException if you try to add a string to an integer!moya
addJavadoc's everywhere, covering almost every class.moya
removeRemoved unnecessary XMLCommentAction and XMLCommentExpr, as they simply duplicate the functionality of ConstantExpr and ConstantAction.moya
addwith the help of Stephen Leach.moya
addis any valid traditional regular expression. e.g. Supported by Java's java.util.regex.Pattern. Note - there is no API for using regular expressions yet. Thanks to Stephen Leach for helping with this implementation.moya
addlibrary. To abstract the difference between a raster and SVG image, I've created an Image class for MillScript. This Image class will be the basis of all future image processing in Millscript.moya
fixalerts which where never getting thrown. This crept in when the alerts were re-written in the new system.moya
addfunction will display an image in a plain window.moya
fix, you no w get a function needed mishap.moya
addClass with slots! You can now define classes with slots. The slots can be updated. Currently you can only have a default constructor, which is defined for you, and there are no methods yet.moya

Release 9.9.0 - 2004-11-07

TypeChangesBy
addsection of the documentation for more details.moya
updateImproved logging level support and configuration directive handling. Verbose and quiet options for build command are properly handled again.moya
fixCorrected class name for reverse function, so it now works again. Fixes 1024264.moya
fixdoesn't return any results. Fixes 1046358.moya
fixHopefully all alerts are now decorated with an origin/line number. This involved shuffling a bit of code around to get it all inside try/catch blocks.moya
fixFixed "Unexpected symbol" mishap, so that it now reports an origin and line numbers! It makes these errors much easier to debug now.moya
addInitial version of session classes, a utility for creating a working MillScript engine and configuration. Needs work to be more useful for general purporse code.moya
addsection of the documentation for more details.moya
addAll configuration files have been changed to use an Apache style syntax. We now have a hand-coded tokenizer and parser for these files, which has allowed for improved mishap messages. Unfortunately this has lead to changing the name of the configuration files to be consistent.moya
addFunctions are now configured via an internal configuration file.moya
addLoaders are now configured via an internal configuration file.moya
addAdded Configuration classes to replace Prefs. This is to allow us to configure an Engine in a standard way.moya
updateAdded a tools package to contain generic utilities that don't fit anywhere else.moya
fixAll the Java unit tests have been updated to work with the MillScript API. They run successfully from Maven and within Eclipse.moya
addNew standard engine and package classes for general use. These define the standard set of functions and variables that make up a basic MillScript environment.moya
addWe now have a basic API for using MillScript from within other Java programs. This API is provided by Engine, Package and FunctionCall. It basically works and will be refined in the short term.moya
fixi18n message directory structure source now matches millscript layout. This allows us to build the code properly in eclipse.moya
updateRefactored a few of the remaining files into their new packages. Specifically Ident, GlobalIdent, LocalIdent and Ref.moya
updatemoya
updateRefactored alert, datatype, render and virtual machine code into respective alert, datatypes, render and vm pacakges.moya
updateRefactored remaining function and loader code into functions and loaders packages.moya
updateRefactored expression,action and syntax code into new packages org.millscript.millscript.expr, org.millscript.millscript.action and org.millscript.millscript.syntax.moya
fixMaplet indexing fixed. It is now 1 indexed, where it was previously 2 indexed!moya

Release 9.8.0 - 2004-08-24

TypeChangesBy
addAdded support for database lockfiles, to avoid connecting to a database during synchronisation. This should probably b e handled by master/slave database arrangments, rather than dumping, dropping and restoring, but it's a handy feature regardless.moya
fixImproved javadoc generation. Should now link to Java 1.4.2 API docs at http://java.sun.com/j2se/1.4.2/docs/api/moya
addAdded mishaps for operations trying to update immutable lists. This still needs more work for even better error reports.moya
add.moya
addvalue. Previous a NullPointerException was thrown.moya
addAdded mishaps for indexing operations. This doesn't include subrange operations.moya
addSignificant number of MillScript classes now have some javadoc, it may not be brilliant but at least it gives the general idea, if not the exact.moya