Skip to content

Releases: kostub/iosMath

iosMath 2.5.0

Choose a tag to compare

@kostub kostub released this 13 Jul 20:46

What's new in 2.5.0

  • LaTeX array environment: \begin{array}{lcr}…\end{array} with per-column alignment, | column rules, and \hline row rules (#251, #253, #254).
  • More matrix & alignment environments: smallmatrix, gathered, and alignedat (#246, #248).
  • TeX-faithful brace grouping: {…} now forms a true group for scripts and spacing (#177).
  • \cancel family: \cancel, \bcancel, \xcancel, and \sout (#259, #260).
  • New symbols: relations, operators, and ordinaries \lt, \gt, \frown, \smile, \bowtie, \longmapsto, \bigcirc, \bigtriangleup, \bigtriangledown, \diamond, \surd, \flat, \natural, \sharp (#36, #63, #101, #147, #153).
  • \textcolor as a two-argument alias of \color (#252).

Full changelog: 2.4.0...2.5.0

iosMath 2.4.0

Choose a tag to compare

@kostub kostub released this 30 Jun 09:51

What's new in 2.4.0

  • Box commands for spacing and overlap control: \phantom, \vphantom, \hphantom (reserve space without drawing), \smash (draw without reserving vertical space), and the lap family \llap, \rlap, \clap, \mathllap, \mathrlap, \mathclap (#244).
  • Over/under stacking commands: \overset, \underset, \stackrel, and \stackbin (#219).
  • Explicit-dimension spacing commands with em/mu units: \kern, \hspace, \hskip, \mkern, and \mskip (#243).

Security & hardening

Recursion-depth cap in the parser to prevent stack overflow on deeply nested input, heap allocation in place of input-sized stack VLAs, thread-safe global symbol/lookup tables, and a safe style fallback for unknown glyphs instead of crashing (#225, #226, #227, #228).

Bug fixes

Correct Unicode glyphs for \Uparrow/\Downarrow/\Updownarrow and the angle-bracket delimiters; \color/\colorbox now validate hex input, expand #RGB shorthand, and receive proper inter-element spacing; error instead of mis-parsing \over/\atop/\choose in a single-character script slot; raise an error on non-ASCII literal input; plus fixes to MTMathListRange union, MTFontManager font loading, MTFraction serialization, and an infinite loop in glyph assembly on degenerate extenders (#221, #222, #223, #229, #230, #231, #232, #233, #234, #235, #239).

Full changelog: 2.3.1...2.4.0

iosMath 2.3.1

Choose a tag to compare

@kostub kostub released this 07 Jun 11:48

What's New

  • Fix SPM consumer build: public headers in render/ used bare #import of siblings in lib/, which only resolved via target-internal header search paths and failed when downstream packages built the iosMath Clang module. Qualify the cross-directory imports so the module builds in consumer projects (#215).
  • Lower deployment targets from iOS 18+ / macOS 15+ back down to iOS 13+ / macOS 10.15+. The earlier raise was a toolchain-cleanup pass, not driven by any actual API requirement (#214).

iosMath 2.3.0

Choose a tag to compare

@kostub kostub released this 31 May 17:56

What's New

  • Breaking: Removed latinModernFontWithSize:, xitsFontWithSize:, and termesFontWithSize: from MTFontManager. Use fontWithName:size: with the new MTFontName* constants instead (defaultFont is unchanged — Latin Modern Math at 20pt).
  • Add five new OpenType MATH fonts: New Computer Modern Math, TeX Gyre Pagella Math, STIX Two Math, Fira Math, and Noto Sans Math; update XITS Math to v1.302.
  • Add AMSMath fraction commands: \dfrac, \tfrac, \cfrac (with optional [l|c|r] numerator alignment), \dbinom, and \tbinom.
  • Add multi-integral operators: \iint, \iiint, \iiiint, \oiint, \oiiint, \fint, \varointclockwise, and \ointctrclockwise.

iosMath 2.2.0

Choose a tag to compare

@kostub kostub released this 16 May 05:58

What's New

  • Add \text{}, \textrm{}, \textbf{}, \textit{}, \textsf{}, \texttt{} for rendering non-Latin text alongside math — supports CJK, Devanagari, Arabic, Hebrew, Cyrillic, and any other script handled by CoreText system-font cascade.
  • Add prime shorthand: f' parses as f^{\prime}, f'' as f^{\prime\prime}, etc.
  • Add ~100 new symbols from amssymb: negated relations (\nleq, \ngeq, \nmid, \nparallel, …), harpoon and extended arrows (\rightleftharpoons, \upharpoonright, \hookleftarrow, \twoheadrightarrow, …), boxed/circled operators (\boxplus, \circledast, \barwedge, …), and logic/set-theory/suit symbols (\vdash, \therefore, \because, \lozenge, \complement, …).
  • Add aliases: \implies, \impliedby, \dotsc, \dotsb, \dotsm, \dotsi, \square, \vartriangle, \restriction.

iosMath 2.1

Choose a tag to compare

@kostub kostub released this 09 May 19:32

What's Changed

  • Add support for explicit-size big delimiters: \bigl, \bigr, \Bigl, \Bigr, \biggl, \biggr, \Biggl, \Biggr.
  • Add over/under accent commands: \overrightarrow, \overleftarrow, \overbrace, \underbrace, and relatives, backed by a new generic MTMathStack atom.

Full Changelog: 2.0.0...2.1.0

iosMath 2.0

Choose a tag to compare

@kostub kostub released this 14 Apr 18:46

What's Changed

Upgraded tool chain. Support for Swift as the primary mechanism.

Full Changelog: 0.9.5...2.0.0