Skip to content

v0.36.1 — The converter comes back

Choose a tag to compare

@donkanishka donkanishka released this 02 Sep 15:42
· 22 commits to main since this release
afb5022

A hotfix. 0.36.0 shipped with no working font converter, and with three sections missing from every Google family's editor. Both were introduced by that release.

Fixed

  • The WebAssembly module could not load in a browser at all. woff2_dec.cc calls assert() and the encoder sources never did, so compiling the decoder in gave the binary a sixth import, __assert_fail, which the glue leaves undefined at -sASSERTIONS=0. A browser refuses to link a module whose import is not callable, so it died on boot and took the converter, the WOFF2 decoder and the metrics reader with it. Rebuilt with -DNDEBUG: the asserts compile out, the import goes with them, five imports again. Verified in a real browser worker on a real WOFF2 — 132,444 bytes decoded, fvar intact, metrics 100 / 30 / 0.
  • The build's smoke test could not have caught it. It runs in Node, which instantiated the same module happily and reported success on a binary that was dead everywhere it actually runs. It now inspects the import object before instantiating and fails if any value is not callable, which is the browser's own check and does not care where the test runs.
  • Generated CSS, Variants and Add variant were missing from every Google family's editor. googleSection() still referenced a variable 0.36.0 had removed, so render() threw partway and everything after the Google Fonts heading was never appended. Uploaded families never enter that code, which is why it survived testing.
  • The panel restyled its own headings. 0.36.0 stopped the server sending page rules to the builder, and the panel went on injecting the whole stylesheet into the builder document, undoing it on the client. The canvas still gets the stylesheet, because the canvas is a page; the builder document does not, and faces reach the panel through the font set instead.
  • Etch's settings-bar tooltips were buried. Raising the manager to z-index: 950 to clear a third-party overlay at 900 also put it over the bar's tooltips at 102. Back to 60, and that overlay is hidden while the manager is open instead.
  • Apply to was hard to type in. Its warnings were refreshed by re-rendering the whole pane — specimen, variants table and CSS preview included — between keystrokes. It now writes to the three nodes that change, which is what the axis sliders already did.
  • A font read that could not answer waited two minutes, on a timeout written for compression. Reads get twenty seconds, so a failure says so rather than sitting on "Loading".

Changed

  • Override theme styles stays visible and goes disabled when Apply to is empty, rather than disappearing. It only ever acted on that rule, but a control that vanishes reads as a control that broke.
  • A family's typography role is an accent badge on its card rather than plain muted text, so Body text no longer sits at the weight of a caption.

Everyone on 0.36.0 should take this one. Full detail in CHANGELOG.md.