Changes Report (from 1.1.0-beta1 onwards)

Release History

Version Date Description
1.2.2 2010-05-24 Version 1.2.2 (SVN revision 584)
1.2.1 2010-04-02 Version 1.2.1 (SVN revision 545)
1.2.0 2010-02-04 Version 1.2.0 (SVN revision 533)
1.2.0-beta1 2009-11-26 Version 1.2.0-beta1 (SVN revision 518)
1.1.0 2009-06-19 Version 1.1.0 (SVN revision 428)
1.1.0-beta2 2009-06-16 Version 1.1.0-beta2 (SVN revision 415)
1.1.0-beta1 2009-06-08 Version 1.1.0-beta1 (SVN revision 390)
1.0.1 2009-01-09 Version 1.0.1 (SVN revision 228)
1.0.0 2008-08-18 Version 1.0.1 (SVN revision 216)

Release 1.2.2 - 2010-05-24

Type Changes By
update Updated to JEuclid 3.1.9 davemckain
fix The UpConversionExampleFragmentServlet now detects and deals with double-encoded query strings, which I was finding from certain search engines. davemckain
add Added a trivial CommandLineRunner class to the samples package, which lets you run SnuggleTeX from the command line, giving access to most (but not all) XML and web output options. The snuggletex-core.jar now has this listed as its Main-Class, so the JAR can now be executed directly. davemckain
add Added a couple of new overloaded versions of SnuggleSession.writeWebPage() that let you specify what should be done with the OutputStream once the content has been written. Previously the stream was automatically closed; you can now choose between closing it, flushing it or doing nothing. davemckain
fix Fixed bug in the Content MathML to Maxima XSLT that was causing tunnel parameters not to be passed on in certain cases. This appears to have been quite obscure as I've never seen it before. Added an additional regression test for future. davemckain
fix Handling of the XHTML serialisation method and the usingNamedEntities output property was not working as advertised when there was no XSLT 2.0 processor available. Instead of failing, SnuggleTeX now silently downgrades XHTML output to XML and ignores usingNamedEntities when running on XSLT 1.0. davemckain
update Changed system for XHTML + MathML back to identifiers to the value it had before 1.2.0, at the advice of the validator, which seems to have changed behaviour again! davemckain
fix Added an expansionLimit property to the SessionConfiguration class that specifies how deep to go when expanding out user-defined commands and environments. This provides simple protection against possible infinite recursion, which can arise in a number of ways and is not easy to test for due to the highly dynamic nature of LaTeX input. There is a new error code for this - TTEU00. This subsumes the role of the previous TTEUE4 error code, which has been removed. Fixes 2998211. davemckain
fix Fixed minor bug that caused certain verbatim-related error messages not to be included in the resulting DOM (when generated in this way). davemckain
fix User-defined commands and environments now have their #n references checked to make sure they're in the correct range. This makes detection of this issue happen at definition time, rather than evaluation time. New error codes TTEUCA, TTEUE5 and TTEUE6 are used to flag these issues. davemckain
fix Tidied up code that substitutes arguments into user-defined commands/environments, so that \#n is now correctly handled. davemckain
update Updated the ASCIIMathML input and up-conversion demo to use the final version of all of the code from MathAssessEngine. Also added in a real-time preview of the resulting source MathML, and fixed a couple of minor bugs. davemckain
update Improved structure of full ZIP bundle davemckain
fix Added support for \not|, which continues through to generation of Content MathML Fixes 2807101. davemckain
fix Minor fix to the output of the Math Input demo davemckain
fix Renamed *_en.properties as *.properties so as to avoid startup Exception in non-EN locales. This was a silly error on my behalf. Thanks to Konstantin Rybakov for pointing this out. davemckain
fix Fixed output of \neq, which was previously generating a "not in" character. Thanks to Konstantin Rybakov for pointing out this silly mistake! davemckain

Release 1.2.1 - 2010-04-02

Type Changes By
add Added 'applyingFirefox3SemanticsWorkaround' property to DOMOutputOptions that wraps annotated MathML inside an additional wrapper to work around rendering issues in Firefox 3. davemckain
fix Fixed minor issue with the handling of whitespace at the start and end of Text tokens in MATH mode. davemckain
fix Fixed the output of Math styling constructs like \textrm{} so that an empty is generated instead of an empty , as the latter is not valid. davemckain
fix Line endings in input are now normalised to a single newline when building XML outputs. This prevent extraneous carriage returns appearing in some situations when running on Windows. davemckain
fix The content of \textrm{...} and friends is now correctly parsed in LR mode, instead of PARAGRAPH mode. davemckain
fix Fixed unbelievably silly reversed logic that would try to use an XSLT 2.0 processor when asking for an XSLT 1.0 processor, and vice versa. This would have prevented the examples from working. davemckain

Release 1.2.0 - 2010-02-04

Type Changes By
fix Error Tokens recorded due to using environments in an incorrect mode were being lost, even though the errors themselves were being recorded correctly. This is now fixed. Fixes 2945869. davemckain
update Tidied up the ASCIIMathML input demo a bit so that the JavaScript helper code can be more easily reused by people. (Also cut down ASCIIMathML.js to remove the optional extra stuff included inside it, such as LaTeXMathML.js and ASCIIsvg.js.) davemckain
fix Fixed bug in handling of \verb and \verb* when the ending delimiter is not found. Fixes 2926914. davemckain

Release 1.2.0-beta1 - 2009-11-26

Type Changes By
add Added ErrorGroup interface and implementations to group related ErrorCodes together. Error Codes documentation page updated to use this concept. davemckain
update Added support for $f^{-1}$ and $f^2$ in Content MathML to Maxima up-conversion stylesheet. davemckain
fix WebPageOutputOptionsTemplates now sets content type correctly when generating MOZILLA pages. davemckain
update Web page builder now always adds xml:lang attribute when generating XHTML or XML outputs. davemckain
update Changed public/system identifiers to -//W3C//DTD XHTML 1.1 plus MathML 2.0//EN and http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd when generating web pages of type CROSS_BROWSER_XHTML. davemckain
fix SnuggleTeX was incorrectly creating 'accent' attributes instead of 'accentunder' attributes when creating munder elements. davemckain
update Extracted the parts of XMLStringOutputOptions pertaining to XML serialization to an interface called SerializationOptions, with a "standalone" implementation that replaces and simplifies the various overloaded serialization methods in MathMLUtilities and friends. Most of these existing methods have been kept for the time being, but marked as deprecated. Also did some further tidying to StylesheetManager, moving some code previously in XMLUtilities here where it can be more easily managed. Finally, the demo webapp now outputs named entities in MathML source fragments, which is more useful for demonstration purposes. davemckain
fix Fixed overly permissive handling of extraneous '$' characters when parsing math mode. Fixes 2831470. davemckain
fix Fixed the Unicode characters emitted within the resulting MathML for \cdot, \bullet, \diamond and \frown. davemckain
add Added TransformerFactoryChooser interface that allows users with exacting requirements to control the choice of XSLT 1.0 (and 2.0, where required) processors. A default implementation is provided that uses the standard JAXP TransformerFactoryImpl search, and there's also one which picks Saxon 9.X in all circumstances. davemckain
update Improved the mechanism for adding custom built-in commands and environments. The old DefinitionMap has been renamed as SnugglePackage and moved to top package. Each SnugglePackage can have its own error codes and message bundles. A "core" package now provides the functionality for the core module, and the old ErrorCode enumeration has been split into an interface of the same name and a CoreErrorCodes enumeration. The up-conversion functionality and error codes have been moved into a separate package, which can be accessed via the UpConversionPackageDefinitions class. davemckain
update W3C-related constants have been moved out of the Globals class and now use either the standard XMLConstants or new W3CContants classes. davemckain
add Added first cut of new \assume command that will be used to control aspects of the up-conversion process. davemckain
add Enhanced DOMOutputOptions to allow caller to specify whether to use namespace prefixes for XHTML and SnuggleTeX XML elements. davemckain
add Added very simple mechanism for getting and setting variables, which will be used for "assume" functionality to make up-conversion more customisable. davemckain
update Renamed SnuggleSession.getCommandByTeXName() as getBuiltinCommandByTeXName(), and similarly the version for environments. These methods are likely to have been used by very few people. davemckain
add Added new XMLStringOutputOptions Object, sitting between DOMOutputOptions and WebPageOutputOptions. New versions of SnuggleSession.buildXMLString() have been added to reflect this; the existing ones are now deprecated and will be removed at the next major release. davemckain
add Math Input Demo now shows both MathML rendering and XHTML+CSS/image renderings of the results, which might be useful for comparison purposes. davemckain
add Added support for the AMS-LaTeX cases, matrix, pmatrix, bmatrix, Bmatrix, vmatrix and Vmatrix environments. davemckain
fix Up-conversion process now generates MathML using the same namespace prefix as the original Presentation MathML produced by SnuggleTeX. davemckain
add Changed the characters for left and right angle brackets to U+2329 and U+232A respectively. davemckain
add Added missing support for '\left.' and '\right.' Fixes 2814534. davemckain
add Internal refactoring of the Interpretation class hierarchy, to make it easier for commands and tokens to have multiple meanings. The old MathMLOperator enumeration has been replaced with a more general set of constants defining various MathML symbols. (Note that if you have been defining your own BuiltinCommand and BuiltinEnvironment instances, then you will need to change them slightly. The vast majority of users will not have been doing this as the process is not documented - contact me for help if this is not the case for you and you can't work out what to do!) davemckain
add Up-conversion process now includes an XPath expression within the element to help locate where the failure occurred. davemckain
add Filled in gap in support for optional arguments in user-defined commands and environments. Fixes 2810332. davemckain

Release 1.1.0 - 2009-06-19

Type Changes By
update Improved structure of the "full" distribution bundle, also fixing a couple of issues with the way Maven was assembling it. davemckain
update Renamed UCExxx and UMExxx error codes as UCFxxx and UMFxxx respectively, to reflect the fact that they are not handled as errors in the normal way. davemckain
update Improved logging in the demo/documentation webapp. davemckain
update Further updates and improvements to documentation. davemckain
update "Error Codes" page now groups related codes together. davemckain

Release 1.1.0-beta2 - 2009-06-16

Type Changes By
add Added Maven "changes" plugin to reporting process davemckain
fix Fixed issue with handling of certain comments introduced when removing them from the parse tree for 1.1.0-beta1. Fixes 2801656. davemckain
fix Fixed bug in grouping of sub-expressions for left associative infix operators in the up-conversion process. davemckain
add Documentation and demonstration web application improved significantly. davemckain
add ZIP bundles now include snuggletex.css. This disappeared when moving to new output structure in 1.1.0-beta1. davemckain
update Improvements and additions to User Guide material. davemckain

Release 1.1.0-beta1 - 2009-06-08

Type Changes By
update See old release notes at http://www.ph.ed.ac.uk/snuggletex/documentation/release-notes.html davemckain

Release 1.0.1 - 2009-01-09

Type Changes By
update See old release notes at http://www.ph.ed.ac.uk/snuggletex/documentation/release-notes.html davemckain

Release 1.0.0 - 2008-08-18

Type Changes By
update See old release notes at http://www.ph.ed.ac.uk/snuggletex/documentation/release-notes.html davemckain