Skip to content

Releases: KaTeX/KaTeX

v0.10.0

29 Oct 04:23
Compare
Choose a tag to compare

KaTeX has a new domain, website, and documentation at https://katex.org!

For the full list of changes since v0.9.0, see CHANGELOG.md.

Added

Changed

Fixed

  • Remove duplicate defineFunction invocation for \mathop (#1701)
  • Fix tag positioning to live within katex-html parent (#1721)
  • Fix \mathit font and italic correction (#1700)

v0.10.0-rc.1

22 Aug 17:51
Compare
Choose a tag to compare
v0.10.0-rc.1 Pre-release
Pre-release

Same as v0.10.0-rc, but fixes #1652 non-transpiled ES6 module being an entry point.

v0.10.0-rc

19 Aug 16:29
Compare
Choose a tag to compare
v0.10.0-rc Pre-release
Pre-release

Possible breaking changes:

  • The folder structure of archives (tarball and zip) has been changed: files now reside at the root.
  • Only "http", "https", "mailto", and relative URLs are allowed in \href and \url by default.

Bug fixes:

  • Update fonts to remove \neq and \notin glyphs (#1499)
  • Phantom text (#1449)
  • Fix arrowheads for mhchem <--> (#1451)
  • Set documentFragment.style to empty object (#1471)
  • Remove tree cloning before building HTML (#1470)
  • Fix \operatorname to support general math functions (#1461)
  • Use \not character without left side-bearing correction (#1267)
  • Remove codes that require expensive polyfill (#1469, #1563, #1591, #1597)
  • Fix \not vertical alignment (#1497)
  • Comments without terminating newlines, \href fixes, \url support (#1529)
  • Fix \textdaggerdbl (#1539)
  • Fix \neq (#1548, #1574)
  • Fix wide characters (#1549)
  • Fix \fbox (#1550)
  • Fix \Large roots (#1485)
  • index.html: replace font, make responsive, improve demo (#1547, #1577, #1615, #1601)

New features:

Other changes:

  • Port to @flow: buildMathML, parseNode (#1486, #1534, #1541, #1542, #1551, #1552, #1554, #1559, #1606, #1609, #1612, #1637)
  • Online screenshot diff/generation using CircleCI (#1187)
  • Add display/displayMode toggle on test page (#1193)
  • Change CDN links (#1243)
  • Changelog for KaTeX (#1322)
  • Move test helpers into common modules (#1318)
  • Add regenerate option to the screenshotter (#1220)
  • Upgrade to webpack 4 (#1337, #1435)
  • Automatic submodule updating via husky tool (#1391)
  • Refactor test helpers (#1336)
  • Change build directory to dist and cleanup NPM scripts (#1500, #1610)
  • Switch from nomnom to commander (#1496)
  • Add test job to CircleCI (#1235)
  • Switch npm to Yarn (#1522, #1528)
  • Improve release script & enable versioning documentation (#1521, #1603)
  • Enable stylelint-config-standard, lint CSS files (#1575)
  • Rename Screenshotter -> screenshotter (#1573)

v0.10.0-beta

11 Jun 17:36
Compare
Choose a tag to compare
v0.10.0-beta Pre-release
Pre-release

Bug fixes:

  • Cleanup MathML <mrow>, <mtext>, <mn> (#1338)
  • Add missing v prefix to the size badge URL (#1342)
  • Fix lap vertical alignment. (#1162)
  • Update contrib READMEs to jsdelivr v0.10.0-alpha (#1362)
  • Fix nested \tfrac (#1370)
  • Fix coloneq etc (#1372)
  • Fix wide character spacing (#1371)
  • Enable output modules to be used in browser or Node (#1401)
  • Fix auto-render \[…] bug (#1375)
  • Rewrite spacing commands as macros, improving MathML rendering (#1156)
  • Implement \neq and \notin via macros like LaTeX's (#1400)
  • Improve \cancel (#1398)
  • Fix ligatures vs. \tt (#1379)
  • Add min-height to \rule (#1417)
  • Automatic mrel/mbin spacing for \boldsymbol (#1388)

New features:

  • Add regenerate option to the screenshotter (#1220)
  • \def support (and \gdef and \global\def) (#1348)
  • Support Unicode ⟂ ¬ ⊨ ‼ ∌ (#1377)
  • Support Unicode ≲ ⩽ ⪅ ≶ ⋚ ⪋ (#1389)
  • Change maxExpand limit to 1000 (#1383)
  • Support \cfrac (#1392)
  • Support \arraystretch as a macro definition (#1381)
  • Add ability to create a dashed vertical line in arrays, using ':' (#1395)
  • Add vertical kern to \vdots (#1402)
  • Support \widecheck (#1406)
  • Support \hdashline (#1407)
  • Implement \colon as amsmath does (#1410)
  • \newcommand, \renewcommand, \providecommand (#1382)
  • [plugin system] Add a utility function (setFontMetrics) to extend builtin fontMetrics (#1269)

Other changes:

  • Move infix operator handling into functions/genfrac.js. (#1328)
  • Move environment delimiter handling to functions/environment.js. (#1329)
  • Move "raisebox" into functions/raisebox.js. (#1331)
  • Move "xArrow" into functions/arrow.js and add flow types. (#1327)
  • Move "horizBrace" into functions/horizBrace.js. (#1332)
  • Move HTML and MathML builders for symbol groups into src/functions/{symbolsOp,symbolsOrd}.js (#1334)
  • Move "spacing" builders to functions/symbolsSpacing.js. (#1335)
  • Move "ordgroup" and "tag" builders into functions/*. (#1339)
  • Update dependencies: less(-loader), uglifyjs-webpack-plugin, request (#1343)
  • Export htmlBuilder from accent, horizBrace, and op for supsub. (#1349)
  • Move "supsub" handers into functions/supsub.js and add flow types. (#1359)
  • Correct (type-wise) raisebox's usage of sizing's buildHtml. (#1361)
  • Update flow version and address type errors. (#1369)
  • Upgrade to webpack 4 (#1337)
  • Update dependencies to enable Greenkeeper 🌴 (#1368)
  • Make ParseNodeTypes more regular (#1373)
  • Enforce consistent object brace spacing (#1376)
  • Update package-lock.json (#1378)
  • Separate parsing of \left and \right for improved type safety. (#1386)
  • Make letter tests strict (#1385)
  • Update function handlers to return a ParseNode (#1393)
  • Update webpack-cli to the latest version 🚀 (#1397)
  • Replace ParseNode<*> with a more accurate AnyParseNode and fix flow errors (#1387)
  • Automatic submodule updating via husky tool (#1391)
  • chore(package): update flow-bin to version 0.74.0 (#1414)
  • Remove redundant \lbrack and \rbrack (#1416)
  • Edit \lbrack and \rbrack (#1420)
  • Port buildHTML to @flow. (#1408)

v0.10.0-alpha

20 May 01:04
Compare
Choose a tag to compare
v0.10.0-alpha Pre-release
Pre-release

Bug fixes:

  • Nested Math in Non-Default Text Fix (#1111)
  • Fix contenteditable mode (#1179)
  • Work around negative space bug in Chrome (#1194)
  • Fix \nobreakspace, refactor "regular space" checking (#1200)
  • Fix cli.js: add nomnom dependency, add -u option (#1218)
  • Add metrics for \S and \P (#1224)
  • Fix anchor.toMarkup (#1246)
  • Specify height for SVG elements (#1252)
  • Include Bold-Italic fonts for \boldsymbol (#1257)
  • Fix space width in \texttt (#1261)
  • Fix \underset (#1277)
  • Switch makeGlue from .mord .rule to .mspace (#1295)
  • Stop throwing ParseError when throwOnError is false (#1169)
  • Fix extensible arrow sup vertical alignment (#1256)
  • Adjust \underset alignment and spacing (#1290)
  • Revert frac-lines to borders (#1249)
  • Fix underbrace (#1304)
  • Strict setting controls \newline display-mode behavior; fix MacroExpander space handling (#1314)

New features:

  • unicodeTextInMathMode setting (#1117)
  • Support Unicode ° (#1203)
  • Add \yen support to text mode (#1208)
  • Support Unicode delimiters (#1207)
  • Support ( and fix instant mode switching for $, (, \text (#1213)
  • More Unicode letters (#1260)
  • Support Unicode \ll and \lll (#1273)
  • Add defineSymbol to the main katex object (#1263)
  • Greek caps (#1283)
  • Add version to katex object (#1279)
  • Support Unicode ≘≙≚≛≝≞≟ (#1274)
  • Support some Unicode Mathematical Alphanumeric Symbols (#1232)
  • \copyright, \textregistered, \textcircled support (#1073)
  • Tilde \textasciitilde and fix ~ in \verb (#1286)
  • Line breaks for inline formulas (#1287)
  • Support \hline (#1306)
  • Support for top-level \newline and \ in inline math (#1298)
  • Implement strict mode (replacing unicodeTextInMathMode) (#1278)
  • Allow all Unicode symbols in nonstrict mode (#1217)
  • Support \tag, \tag*, and \gdef (#1309)

Other changes:

  • Add tests for __* internal interface (#1170)
  • Port delimiter.js to @flow. (#1177)
  • Add unicode-fonts as submodule (#1182)
  • Port spacingData and unicodeSymbols to @flow. (#1195)
  • Online screenshot diff/generation using CircleCI (#1187)
  • Implementing analyze script (#1197)
  • Add display/displayMode toggle on test page (#1193)
  • Format buildHTML groupType definitions in preparation for adding types (#1206)
  • Treat svg-wrapping spans differently from DOM-wrapping spans. (#1239)
  • List react-katex in Libraries (#1236)
  • Change CDN links (#1243)
  • Type correction to allow documentFragment to be children of span. (#1247)
  • Add size badge (#1253)
  • Fix typo in release.sh (#1280)
  • Alternate approach to capital Greek letters (#1285)
  • Remove special \verb space handling now that space is in Typewriter-Regular (#1258)
  • move retrieveBaseFontName and retrieveFontStylesName into retrieveTextFontName (#1300)
  • Update texcmp (#1297)
  • Document new error handling behavior (renderOnError) (#1302)
  • Make ParseNode value payload and defineFunction handler functions tpe-safe (#1276)
  • Cleanup domTree.js to re-use code (#1305)
  • One strut instead of two (#1307)
  • throwOnError documentation bug fix (#1308)
  • Documenting String.raw (#1198)
  • Make htmlBuilder and mathmlBuilder params type-safe. (#1312)
  • changelog for KaTeX - complete w/ links (#1322)
  • Move test helpers into common modules (#1318)
  • Move the rest of the ops from functions.js to functions/ops.js. (#1323)
  • Move "mclass" node logic to functions/mclass. (#1325)
  • Specify flow output types for htmlBuilder and mathmlBuilder. (#1324)

v0.9.0

18 Feb 22:01
Compare
Choose a tag to compare

Bug fixes:

  • Improve JS spacing (#1103)
  • Fix handling of Unicode characters ð, Å, å (#1157)
  • Padding over \sqrt and Paths for frac-line (#1143)

New Features:

  • Italic Greek capital letters (#1118)
  • Add support for \mathring (#1125)
  • add support for unicode angle brackets, single vertical bar, double vertical bar (#1123)
  • Enable spacing functions in text mode (#1139)
  • Support Reaction Arrows (#1078)
  • Add \nobreakspace (#1145)
  • Support Unicode colon equals (#1151)
  • Support \underline in text mode (#1159)

Other Changes:

  • add perf tests, fixes #1053 (#1054)
  • extract sizing and styling implicit functions (#1116)
  • move katex.less into src (#1120)
  • extract font functions and implicit color function (#1119)
  • Set webpack-dev-server host to 0.0.0.0 (#1122)
  • Enable hot module replacement(HMR) (#1100)
  • set up code coverage (#1140)
  • Remove Makefile and migrate to NPM scripts (#1135)
  • Update NPM scripts and documentation (#1146)
  • move metrics to katex-fonts submodule (#1134)
  • add .codecov.yml and disable patch coverage (#1164)
  • Add a paragraph about injection safety (#1161)

v0.9.0-beta1

29 Jan 04:47
Compare
Choose a tag to compare
v0.9.0-beta1 Pre-release
Pre-release

New features:

  • Add support for \aa, \AA, \lq, \rq, \lbrack, \rbrack (#1069)
  • Support more scripts in \text{} environments. (#1076)
  • add Main-BoldItalic font to allow nesting of \textit and \textbf
  • add \S and \P (#1110)

Bug fixes:

  • Don't inherit SVG style properties from the environment. (#1089)
  • Update fonts and metrics so that accents are positioned correctly (#1094)
  • Fixes #1093 (non-portable use of String method .includes) (#1097)
  • use correct spacing with tight styles (#1106)

Other:

  • Add katex-ruby to the libraries list (#1067)
  • Move auto-render-spec.js to ./test (#1071)
  • Use webpack to build files and webpack-dev-server for testing (#1068)
  • extract handling of implicit leftright groups (#1047)
  • extract accent and accentunder into their own files (#1048)
  • Export ES6 module in fontMetricsData.js (#1072)
  • Fix undefined devServer.app in screenshotter (#1085)
  • Use JS for spacing between atoms instead of CSS (#1070)
  • Add a screenshot test to ensure that we don't inherit svg-only CSS properties (#1092)
  • remove symlink to support devs using Windows (#1090)

v0.9.0-beta

14 Jan 22:50
Compare
Choose a tag to compare
v0.9.0-beta Pre-release
Pre-release

Breaking Changes:

  • Change \xLongequal to \xlongequal (#997)

New features:

  • \kern fixes, \hskip support, \TeX, \LaTeX, \KaTeX (#974)
  • Support Unicode middle dot (#1015)
  • Exposing the build tree. (#1017)
  • Added support for bold italic symbols (#1011)
  • Add buildHTMLTree (#1022)
  • Implement \TextOrMath, @secondoftwo (#1024)
  • add \i and \j for text mode (#1029)
  • add \ae, \AE, \oe, \OE, \o, \O, \ss with unicode support for those characters in text mode (#1030)
  • Add basic support for Indic scripts in addition to CJK. (#1060)
  • Unicode accents (#992)

Bug fixes:

  • Avoid negative space in \bmod. (#984)
  • Stacking text commands (#1009)
  • Fix \vec (#1018)
  • Make accents zero width (#1033)
  • Fix frac-line (#1025)
  • Implement correct macros for liminf and limsup, fixes #111 (#887)
  • \kern generates right-margin instead of left-margin. Fix #995 (#1019)

Other:

  • extract overline, underline, and rule into their own files (#999)
  • extract color and text commands into their own files in functions subdirectory (#998)
  • cache node_modules on travis-ci, fixes #1001 (#1002)
  • replace dockers/MathJaxFonts with KaTeX/katex-fonts submodule (#891)
  • delimiter.js: Don't assign sizeMultiplier to span in prep for porting to flow (#1006)
  • add glyph widths to fontMetricsData.js (#1032)
  • Removing katex-logo css, as it's no longer used. (#1037)
  • Add a 'common issues' section to the README (#1034)
  • add package-lock.json so our builds are repeatable
  • Update testing infrastructure NPM packages (#1044)
  • flow typings for parser.js (#1041)
  • extract sqrt, enclose, and verb into their own files (#1040)
  • Remove support for .eot font files, fixes #893 (#1051)
  • Make a more working example in README. Fix #1049 (#1050)
  • Browserify hotfix (#1057)
  • Add read/write file cli parameters (#882)

v0.9.0-alpha2

26 Nov 23:45
Compare
Choose a tag to compare
v0.9.0-alpha2 Pre-release
Pre-release

New features:

  • Support Unicode relations (#933)
  • Implements the alignedat environment for flexible math spacing (#930)
  • Support Unicode Binary Operators (#951)
  • Implements \mathchoice command (#969)
  • Support Unicode Negated Relations (#952)
  • Support Unicode Arrows (#947)
  • Support Unicode Big Operators (#961)
  • Implemented \href command (#923)
  • Single-character macros like active characters (#973)
  • Support Unicode Symbols (#950)
  • \hspace*, \@ifstar, \@ifnextchar, \@FirstOfTwo (#975)
  • Adds \notni character ∌ (#710)
  • Support Unicode ∴ and ∵ (#991)
  • Support Unicode \mid (#993)

Bug fixes:

  • Fix the spacing between columns in the {aligned} environment (#942)
  • Fix issue where the {aligned} environment skips the last line if the first column is empty (#949)
  • Append ApplyFunction to math functions in MathML (#960)
  • Change \undertilde to \utilde (#948)
  • Change frac-line from border to full span (#976)

Other:

  • Change buildCommon.makeVList params to struct for better type-safety (#940)
  • Migrate genfrac, lap, smash, op, mod, and katex into their own files in src/functions (#871)
  • Added ng-katex link to readme.md (#959)
  • Port stretchy to @flow. (#934)
  • Port mathMLTree to @flow. (#957)
  • Fix linefeed test (#964)
  • Output port number of server, and lint fixes (#980)
  • Fix node_modules exclusion in webpack server (#981)
  • Port domTree and buildCommon to @flow. (#938)
  • Simplify HTML generation logic for \cancel, \bcancel, \xcancel. (#988)
  • "use strict" in ss_data.js (#986)
  • Port katex, buildTree, parseTree to @flow. (#989)

v0.9.0-alpha1

15 Oct 21:31
Compare
Choose a tag to compare
v0.9.0-alpha1 Pre-release
Pre-release

Bug fixes:

  • Fix space handling (#912)
  • Prevent disappearing fraction lines. (#931)

Other changes:

  • webpack server: add disableHostCheck option (#915)
  • Convert nested SVGs to single-level SVGs (#909)
  • Edit link to Function Support page (#922)
  • Lint .less files with stylelint (#925)
  • Simplify get() now that we don't need it to ignorespaces (#928)
  • Export svgGeometry to @flow. (#936)
  • Port utils to @flow. (#935)