Skip to content

v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Sep 05:21
70d05c8

0.2.0 (2026-09-14)

Features

  • adopt cairn as the tracker, and plan the browser as four sprints (#126) (38b96ad)
  • cli: --lang, a language facet, and the two claims kept apart in info (#102) (178057d)
  • cli: --mono and --proportional, and a spacing facet (#103) (c7411ea)
  • cli: --script repeats, --script-min asks how much, and the facet leads with depth (#100) (d366f1e)
  • cli: a configuration file that can only change what you leave out (#93) (c1a2ae7)
  • cli: a specimen says how many licensed fonts it is carrying (#139) (f147de7)
  • cli: accept the address a listing prints, and test a collection at last (#132) (c9f7f8d)
  • cli: collection export --bundle, a collection you can hand over (#85) (bd35bb2)
  • cli: fontina tag sync, in one direction at a time (#89) (e0f7c94)
  • cli: fontina variants, the score and the metrics side by side (#105) (af1dd4d)
  • cli: read targets from standard input, so programs can pipe in (#91) (8d806d0)
  • cli: s writes a specimen for the selection and opens it (#90) (002e039)
  • cli: say how many builds hide under one PostScript name (#188) (df4da37)
  • cli: say the licence and the warranty disclaimer in --version (#63) (5abc416)
  • cli: say what a variable font can be set to, in the table and in the facets (#95) (f187ee1)
  • cli: say whether a font is free, and let the browser filter on it (#55) (57de821)
  • cli: the command line prints in one colour and one width (#175) (516859e)
  • core: a table for script coverage, with the depth it always counted (#99) (74362b5)
  • core: a table for the languages a face claims, and which claim each one is (#101) (405c743)
  • core: five more health checks, and stop the documented list drifting (#60) (8fa215a)
  • core: Index::related, a question about one face rather than a stored grouping (#104) (a8a3b8d)
  • core: lay the specimen out so the type can actually be judged (#195) (1ddb3a4)
  • core: let a collection export travel with its fonts (#83) (ec352ae)
  • core: read what a font says it is, and rank pairings on it (#180) (4b1f35e)
  • core: report when a font's advances disagree with its own isFixedPitch (#174) (5f92dfd)
  • dist: manifests for Homebrew, Scoop, winget and the AUR (#116) (e8f33e4)
  • platform: an optional login agent that puts activations back (#64) (f795ae7)
  • platform: read and write the operating system's own file tags (#88) (dae8a98)
  • site: a design system in system sans, with the tool shown running (#74) (28282c8)
  • site: a landing page, a manual, and navigation in three tiers (#113) (a02043b)
  • site: a session that ends in proof, and a browser that narrates itself (#145) (e390992)
  • ui: a filter bar that takes the command line's own flags (#166) (2158c27)
  • ui: a filter line, and the facets as a panel with a name (#168) (9030d0e)
  • ui: as many panes as the terminal can carry, and no more (#147) (4bd41ff)
  • ui: every command the program has, listed where the reader is (#155) (2a04e12)
  • ui: faces ranked against this one, with the numbers behind it (#173) (3432046)
  • ui: mark many faces, act on them once (#153) (3abc2b4)
  • ui: one box, one bar, one left edge (#179) (984dbcf)
  • ui: one palette, resolved against what the terminal can show (#146) (89f32f6)
  • ui: take back the last thing that changed the index (#154) (4579667)
  • ui: what else in the library is nearly this font (#171) (a96ff0f)
  • ui: who can set this text (#172) (2ddc2a6)

Bug Fixes

  • acceptance: ask fontina where the copy went rather than guessing (#133) (3bdaaff)
  • ci: keep-current blocked the merges it exists to enable (#182) (228f629)
  • cli: "no conflicts" has to mean somebody looked (#136) (f1b5418)
  • cli: a path is the answer, so print all of it (#129) (54b3b87)
  • cli: a transition gives up the state it leaves (#121) (5495617)
  • cli: describe every --json output in schemas/cli-output.json (#119) (aaf7d9b)
  • cli: draw the preview, keep the file name, and reject nonsense colours (#66) (87e045b)
  • cli: end quietly when a pipe closes, like every other Unix program (#58) (854fdfc)
  • cli: keep the searched-for character on the glyph map, and stop an overflow (#86) (5ead289)
  • cli: name a maintainer in the .deb, as Debian Policy requires (#72) (9bcb4b3)
  • cli: pad table columns by terminal columns, not by characters (#123) (056ac89)
  • cli: say what the index cannot see once, not on every activation (#144) (2f3ea34)
  • cli: the licence column carries the licence, not SPDX's namespace (#138) (b44c370)
  • cli: the two latent traps the browser tests wrote down (#131) (c991cd4)
  • cli: two filters that silently answered a different question (#106) (9b57f60)
  • cli: what a review of tag sync found, before it can lose anyone's tags (#97) (e8d5ad0)
  • core: a vendor id padded with NUL is text a person can type (#137) (1d3064b)
  • core: an empty cmap no longer hides the rest of a font's report (#57) (dee1c5c)
  • core: clip a preview instead of smearing it, and stop the rasteriser overflowing (#82) (882fe20)
  • core: contain the WOFF2 decoder, which panics on a file it is given (#114) (3893cef)
  • core: count the characters a font has no glyph for (#125) (eaea3b8)
  • core: find a variable font at every weight it spans, not only its default (#94) (b73413c)
  • core: let the script filter use its index (#107) (cc0e993)
  • core: quote and encode what goes into a stylesheet (#120) (0e52ea9)
  • core: say which fonts a scan walked past (#141) (07d2445)
  • core: stop retrying an index that will never open (#127) (2a67a10)
  • core: the M4 review's four smaller findings (#111) (c14a51b)
  • core: the watcher keeps up with what people do to a font directory (#115) (e077868)
  • core: two processes can create the same index at the same instant (#108) (f97fc98)
  • platform: one lock for every test that touches the environment (#185) (69e10d3)
  • platform: the login agent touches only files fontina wrote (#122) (ba75807)
  • site: stick the masthead, fix its alignment, and tidy the releases page (#225) (56eaca4)
  • site: the navbar never said where you were (#220) (cdf974e)
  • the deadline I set fired on honest work within the hour (#215) (ac53c9e)
  • ui: a filter that matches nothing keeps the row that undoes it (#163) (d8ca2ac)
  • ui: say what a pseudo-script is, rather than spelling its code (#169) (43340bd)
  • ui: the search worker took a request off its channel and dropped it (#167) (74c7a6d)
  • what a review of M2 as a whole found (#76) (ac8bce1)
  • wt: catch a branch whose pull request was closed without merging (#205) (955dbd1)

Performance Improvements

  • cli: buffer the face table, and state the list budget for the machine that checks it (#61) (a69731d)
  • ui: a pane builds the rows it draws, not the rows it holds (#149) (a57a30f)
  • ui: a repaint budget, and the property behind it, in scripts/bench (#151) (4048313)
  • ui: say what the preview cache costs, and prove what it saves (#150) (40340ba)
  • ui: the listing queries leave the thread that draws (#152) (95ce83d)