MathML Recommendation Version History


MathML was introduced in 1998 as the first application of XML. Since that time, the web has seen a tremendous amount of change. Among those changes is the inclusion of MathML into HTML5. As the following version history shows, MathML has been remarkably stable and the vast majority of the original features are still present today.

MathML 1.0

07 April 1998

This was in fact the first definition of an XML vocabulary, coming just two months after the publication of the XML recommendation. It predates the XML namespace Recommendation so does not use XML Namespaces, but otherwise defines the core MathML features that are immediately recognizable today.

It also introduced the set of character entity names, still used in MathML and HTML. At this point the majority of them were defined in terms of private use areas of Unicode, based on the codepoints used in the STIX submission to Unicode for the inclusion of mathematical characters.

MathML 1.01

7 July 1999

This version made editorial corrections to the initial draft and also completed the DTD.

The element select was renamed to selector to avoid a clash with an element of the same name in HTML.

Completely revised and reformatted the MathML character tables to reflect changes in the STIX submission to Unicode

The document itself also took on a different form, switching to the style for W3C Recommendations that is still in use for all W3C Recommendations today, and also the build system for the MathML Documents was switched to an XML input form (the xmlspec markup also used for the XML Recommendation) and an XSLT based production pipeline (although XSLT was not published as a Recommendation until later that year).

MathML 2.0

21 February 2001

A fairly major update to MathML 1, with editorial revisions throughout the document.

The MathML namespace was introduced, and the MathML DTD refactored using the mechanisms developed for XHTML Modularization, to allow Namespace prefixes to be specified.

Presentation MathML extended with a discussion of bidirectional layout, introduction of new math style attributes mathvariant, mathsize, mathweight, and mathcolor and linebreaking attributes on mspace. New elements mglyph,menclose and mlabeledtr were added. Control over the layout of fractions was improved with new attributes beveled, numalign and denomalign on mfrac.

A fairly major extension to Content MathML: reln and fn deprecated in favour of consistent use of apply, several new elements added: csymbol domain, codomain, image, domainofapplication, arg, real, imaginary, lcm, floor, ceiling, equivalent, approx, divergence, grad, curl, laplacian, card, cartesianproduct, momentabout, vectorproduct, scalarproduct, outerproduct, integers, reals, rationals, naturalnumbers, complexes, primes, exponentiale, imaginaryi, notanumber, true, false, emptyset, pi, eulergamma, infinity, piecewise, piece andotherwise.

A complete description of a Document Object Model (MathML DOM) was introduced.

Completely revised and reformatted the MathML character tables to reflect changes in Unicode since MathML 1.01 and to replace the private use area codepoints with codepoints proposed for Math Characters in the drafts of Unicode versions 3.1 and 3.2.

MathML 2.0 (Second Edition)

21 October 2003

Extensive editorial changes and enhancements throughout the specification.

Completely revised and reformatted the MathML character tables to reflect the final character assignments in Unicode versions 3.1 and 3.2.

XML Entity Definitions for Characters

01 April 2010

This specification essentially removed the character entity definitions from MathML and updated them to reflect changes in Unicode (up to version 5.1) and to make them compatible as possible with (mutually incompatible) definitions used in HTML and in common XML formats such as DocBook. Originally intended to also be a draft of an update to ISO 9573-13 defining the ISO Entity sets (which did not have mappings to Unicode in the existing ISO definitions). However ISO/IEC SC34 later decided instead to withdraw the ISO 9573-13 and ask the Math Working Group to maintain the Entity definitions going forward. So this was published (just) as a W3C Recommendation. It does however list definitions for all the ISO entity sets, as well as the entities used in MathML and HTML.

MathML 3.0

21 October 2010

A major overhaul of MathML:

The attribute href added to the common MathML attributes, to allow hypertext links without relying on XLink.

Presentation MathML extended with finer control over bidirectional layout, following the earlier note detailing use of MathML for Arabic mathematical typesetting. New attributes controlling linebreaking, both explicit and automatic were added. New elements mstack, mlongdiv, msgroup, msrow, mscarries, mscarry, and msline added for elementary math layouts for multiplication and long division etc.

Content MathML extended and restructured, making the links with OpenMath more explicit. New elements bind, share, cerror, cs and cbytes added.

A new chapter specifying MathML clipboard formats was introduced.

The MathML DOM previously specified, was dropped as a section of MathML, it may be re-introduced as a separate document if needed.

A MathML for CSS Profile

07 June 2011

This document shows one way of implementing a restricted subset of MathML just using the features available in CSS 2.1. It has been used as a basis of an implementation of MathML, but its main use is really to formalize the features missing from CSS that mean that it is hard to define Math formatting purely in terms of CSS layout.

MathML 3.0 (Second Edition)

10 April 2014

Editorial revision of MathML3, with no schema changes other than some minor bug fixes. The main focus of the revision was to accommodate the use of MathML within HTML as opposed to XML (XHTML) documents, as specified in HTML5. This required minor rewordings throughout the specification removing assumptions about XML parsing.

The lists of character entities were removed and are now defined by reference to the XML Entity definitions specification. As a related change some entities such as & previously only defined in HTML, are now also allowed in MathML.

XML Entity Definitions for Characters (2nd Edition)

10 April 2014

An editorial revision with no changes to the defined entities. In the non normative parts of the document the two main changes were updating the files to match Unicode 6.3, in particular the inclusion of Arabic Mathematical alphabets (which were added to Unicode at version 6.1 based on the proposed Arabic alphabet forms in MathML 3) and updating the text to reflect the fact that the entities defined here are now used in HTML (the definitions are copied into the HTML5 document rather than being defined by reference, but taken from these source files).