Changelog
All notable changes to this project will be documented in this file. See Conventional Commits and Release Please (ADR 0004).
12.4.1 (2026-07-04)
Bug Fixes
12.4.0 (2026-07-04)
Features
12.3.0 (2026-07-04)
Features
12.2.0 (2026-07-03)
Features
- add ttfPostProcess hook to post-process generated TTF (#749) (#751) (90cf54f)
- expose centerVertically option to center glyphs vertically (#576) (#747) (e84f0b1), closes #746
12.1.1 (2026-07-03)
Bug Fixes
12.1.0 (2026-07-03)
Features
- add glyphContentTransformFn for stroke SVG icons (#144) (#712) (d673b44)
- encode TTF input to WOFF and WOFF2 (#13) (#706) (9e3a121)
- support multiple templates per run (#158) (#713) (22e27cf)
- svg: add opt-in SVGO optimization before font generation (#724) (#725) (df20252)
- svgTools diagnostics, ADR 0011, and browser entry stub (#198) (#715) (3e75307)
- template: enable liga CSS in built-in HTML preview by default (#726) (0193c4c)
- templates: add unicode-range to built-in @font-face (#322) (#722) (def7010)
- validate webfont options after config merge (#133) (#711) (b498708)
Bug Fixes
- cli: coerce round at SVG pipeline, keep string|number API (#569) (#701) (f15bdd3)
- ligatures: disable ligatures by default for performance (#558) (#731) (1cb0741)
- ligatures: warn on large fonts; document browser slowdown (#558) (#730) (372c10a)
- svg: reject empty glyph paths from stroke-only SVGs (#327) (#723) (40dfc9d)
- templates: separate fontFamily from font file basename (#331) (#727) (9e2ae00)
12.0.1 (2026-07-02)
Bug Fixes
12.0.0 (2026-07-02)
⚠ BREAKING CHANGES
- We removed support for Node.js 11 and Node.js 10 at this version. Please upgrade your environment to Node.js 12 or higher.
- Starting from version 10 stable, you should use webfont via named import, like this:
import { webfont } from "webfont".
Features
- add new transformation function (6a0c60c), closes #183
- add standalone glyphs data getter (0cfe581)
- add standalone options getter (13b8596)
- add support to base64 font strings on templates (2a56338)
- add support to ligatures and JSON template (f622c44)
- adding config option to prevent ligature unicode generation (642deb9), closes #457
- batch decompress and URL input for WOFF/WOFF2 (#691) (4bd4400)
- cli: add support to
template-cache-stringargument (ae8b050) - cli: create output folder if it's not present. (#280) (d66a0d4)
- convert WOFF/WOFF2 input to TTF or OTF output (#689) (7edf787)
- demo: update fonts with ligatures support (64b10d6)
- deps: upgrade cosmiconfig to 7.1.0 (d83a422), closes #572
- migrate all codebase to TypeScript (0b71779)
- standalone: add support to JSON template and cacheString (ad64421)
- strict TypeScript, CLI hardening, expanded tests, and docs (#670) (cc20bfc)
- templates: add cacheString support (f39d2c1)
- templates: add template for JSON (3b704b3)
- types: add
unicodekey toGlyphMetadata(33fa7cb) - types: allow
unicodekey and Promise asGlyphTransformFnoutput (a3bde0c)
Bug Fixes
- allow CommonJS in fixture config files for Biome (ef53ada)
- cli: fail clearly when destination directory is missing (#626) (7cf273c)
- deps: adapt p-limit v7 ESM for Jest and runtime (77f669f)
- deps: adapt ttf2eot adapter for v3 Uint8Array API (fb5316a)
- deps: bump svgicons2svgfont to 16.0.0 (c52d79c)
- deps: fix insecure dependency (59a9604)
- deps: fix security issue (3abc00a)
- deps: fixed 1 package vulnerability (feda633)
- deps: pin @types/nunjucks and document @types pinning (8f1a39b)
- deps: pin
svgicons2svgfontto10.0.1(87789d3) - deps: remove unsafe
eslint-plugin-markdowndep (dfa5251) - deps: switch out from latest versions in dependencies (67efe05), closes #464
- deps: upgrade
wawoff2dependency (69a8dfb) - deps: upgrade dependencies (d623b06)
- deps: upgrade nunjucks to 3.2.4 (090f737)
- exclude test files from production build output (#663) (de9954f)
- model filePath as result-only metadata (f557233)
- upgrade globby to 16.2.0 with named import (#664) (ae00488)
- upgrade xml2js to 0.6.2 (CVE-2023-0842) with security tests (#615) (df6ceb4)
Code Refactoring
- adopt named import/export system (31adbc7)
Continuous Integration
- remove Node.js 10 and 11 support (0f0dbf6)
11.5.21 (2026-07-02)
Bug Fixes
- allow CommonJS in fixture config files for Biome (ef53ada)
- model filePath as result-only metadata (f557233)
11.5.15 (2026-07-02)
Bug Fixes
- deps: pin @types/nunjucks and document @types pinning (8f1a39b)
- deps: upgrade nunjucks to 3.2.4 (090f737), closes #651
11.5.11 (2026-07-02)
Bug Fixes
11.5.9 (2026-07-02)
Bug Fixes
11.5.5 (2026-07-02)
Bug Fixes
- deps: bump svgicons2svgfont to 16.0.0 (c52d79c)
11.5.0 (2026-07-01)
Features
11.3.0 (2021-09-07)
Features
11.2.17 (2021-07-27)
Bug Fixes
11.2.0 (2021-06-22)
Features
- add new transformation function (6a0c60c), closes #183
- add standalone glyphs data getter (0cfe581)
- types: add
unicodekey toGlyphMetadata(33fa7cb) - types: allow
unicodekey and Promise asGlyphTransformFnoutput (a3bde0c) - add standalone options getter (13b8596)
Bug Fixes
- deps: fix security issue (3abc00a)
- deps: fixed 1 package vulnerability (feda633)
- deps: pin
svgicons2svgfontto10.0.1(87789d3)
11.1.1 (2021-05-13)
Bug Fixes
- deps: upgrade
wawoff2dependency (69a8dfb)
11.1.0 (2021-05-12)
Features
11.0.0 (2021-05-12)
⚠ BREAKING CHANGES
- We removed support for Node.js 11 and Node.js 10 at this version. Please upgrade your environment to Node.js 12 or higher.
ci
- remove Node.js 10 and 11 support (0f0dbf6)
10.1.0 (2021-05-12)
Features
Bug Fixes
- deps: upgrade dependencies (d623b06)
10.0.0 (2021-04-08)
⚠ BREAKING CHANGES
starting from version 10 stable, you should use webfont via named import, like this:
import { webfont } from "webfont".adopt named import/export system (31adbc7)
drop support for Node.js 8;
Features
- migrate all codebase to TypeScript (0b71779)
- add support to ligatures and JSON template (f622c44)
- cli: add support to
template-cache-stringargument (ae8b050) - demo: add styl file example (3aa5180)
- demo: update fonts with ligatures support (64b10d6)
- json template and template cache string: add json built-in template, and templateCacheString which defaults to unix timestamp. (1e43bba)
- ligatures: add ligature support (9106a13)
- standalone: add support to JSON template and cacheString (ad64421)
- templates: add cacheString support (f39d2c1)
- templates: add template for JSON (3b704b3)
- add stylus template (588a753)
- allow adding a hash in generated font file name (@brunoroux) (1913c9a)
- allow to add a hash in generated font file name (6ca0d9e)
- respect
formatsoption when using external config (29769b0)
Bug Fixes
- cli: use
fsinstead offs-extrafor writing files (e7bf9f5) - demo: adopt
font-display: blockfor a little better icon font loading (0f9dbc0) - deps: [Snyk] Fix for 1 vulnerabilities (6e08d33), closes #197
- deps: [Snyk] Fix for 1 vulnerable dependencies (6e9e243), closes #188
- deps: [Snyk] Security upgrade meow from 5.0.0 to 6.1.0 (b5f9021), closes #195
- deps: fix insecure dependency (59a9604)
- deps: fix/sort deps and scripts after
npm audit fix(cf5cfc4), closes #209 - deps: fix/sort deps and scripts after
npm audit fix(4118fcf) - deps: pin/upgrade eslint dependencies, fix some errors (9206e72), closes #225
- deps: sort/upgrade dependencies after npm audit fix (0f976a9), closes #220
- deps: sort/upgrade dependencies after npm audit fix (a1ba509)
- deps: upgrade
eslintdependencies and plugins (1e5a5ca) - templates: adopt
font-display: blockfor better icon font loading (4669891) - .snyk, package.json & package-lock.json to reduce vulnerabilities (2e387cc)
- package.json & package-lock.json to reduce vulnerabilities (b02f52f)
- package.json, package-lock.json & .snyk to reduce vulnerabilities (c805812)
- package.json, package-lock.json & .snyk to reduce vulnerabilities (791e5f4)
- package.json, package-lock.json & .snyk to reduce vulnerabilities (8f037d5)
9.0.0 - 2019-04-19
- Changed: drops support for Node.js 6.
- Feat: improve basic templates (see templates).
- Feat: use wasm package for generate woff2
8.2.1 - 2018-12-28
- Chore: update dependencies.
8.2.0 - 2018-11-13
- Added:
sortoption (and--no-sortflag for CLI). - Chore: update dependencies.
8.1.4 - 2018-06-05
- Chore: minimum require
svgicons2svgfontversion is now^9.0.3(this fix compatibility withnodejs@10).
8.1.3 - 2018-04-25
- Chore: minimum require
meowversion is now^5.0.0. - Chore: minimum require
cosmiconfigversion is now^5.0.3. - Chore: minimum require
fs-extraversion is now^6.0.1. - Chore: drop
merge-deepin favorlodash.merge.
8.1.2 - 2018-04-23
- Fixed: deterministic output (i.e. each glyph in font have same unicode in font).
8.1.1 - 2018-03-22
- Fixed: always configure
nunjucksfor template path.
8.1.0 - 2018-03-22
- Feat: export
configpath when he is using (inresult.config.filePath).
8.0.0 - 2018-03-21
- Added:
demodirectory (thanks for @shogo). - Changed: export
glyphsDatainsteadfoundFiles(glyphsDatacontain all information about any glyph). - Changed:
result.stylesrename toresult.template(for API). - Changed:
destby defaultprocess.cwd(). - Changed: rename
dest-stylesCLI option todest-template. - Changed: rename
cssTemplateClassNametotemplateClassName. - Changed: rename
cssTemplateFontPathtotemplateFontPath. - Changed: rename
cssTemplateFontNametotemplateFontName. - Changed:
glyphTransformFnshould always return glyph metadata. - Changed: minimum required
nodejsversion is now6.9.5(see svgicons2svgfont. - Changed: use
globby@8(based onfast-glob, it is better perf). - Chore: minimum used
svgicons2svgfontpackage is now^9.0.2 - Chore: minimum used
cosmiconfigpackage is now^4.0.0 - Fixed: don't use
globbyfor getting build-in tempalte (better perf). - Fixed: always add trailing slash to
templateFontPath.
7.1.4 - 2017-05-24
- Fixed: use
copyright,tsandversionwith null value by default, it is avoid problems when your use long term caching. - Fixed: options for
ttffont generation now correctly handles.
7.1.3 - 2017-04-13
- Fixed: search config if not present in CLI arguments.
7.1.2 - 2017-04-12
- Fixed:
templateoption now respected from config.
7.1.1 - 2017-03-29
- Fixed: potential crash with memory allocation when using
fsfor read files.
7.1.0 - 2017-01-24
- Added:
glyphTransformFnoption for transform glyph metadata before transferred in style template.
7.0.2 - 2016-12-22
- Fixed: exit code can be not number.
7.0.1 - 2016-12-20
- Fixed: arguments for svgicons2svgfont (missing font prefix).
- Chore: improved output of help in
CLI.
7.0.0 - 2016-11-09
- Added:
templateoption insteadcss,cssFormat,srcCssTemplate. - Added:
destStylesoptions insteaddestCssTemplate. - Added:
stylesproperty to result. - Fixed: throw error on empty
svgfiles. - Removed:
cssoption. - Removed:
cssFormatoption. - Removed:
srcCssTemplateoption. - Removed:
cssproperty from result. - Removed:
destCssTemplateargument fromcli. - Tests: improved tests (relative and absolute path to template).
6.0.4 - 2016-11-08
- Fixed: regression bug with passed arguments to template.
6.0.3 - 2016-11-08
- Fixed: validate
xmlof glyphs. - Chore: minimum required
eslint-plugin-avaversion is now^2.2.0. - Chore: minimum required
eslint-plugin-itgalaxyversion is now^26.0.0. - Chore: minimum required
eslint-plugin-jsx-a11yversion is now^3.0.0. - Chore: minimum required
eslint-plugin-reactversion is now^6.6.0. - Chore: refactoring code.
6.0.2 - 2016-11-07
- Fixed: use
rejectinsteadPromise.rejectin glyphserrorcallback. - Fixed: use callback
finishinsteadendforsvgicons2svgfontstream. - Tests: improve tests on bad examples.
6.0.1 - 2016-11-07
- Fixed: add
errorevent toglyphstream. - Fixed: don't create
new Errorwhere this is not necessary. - Chore: minimum required
nunjucksversion is now^3.0.0. - Chore: minimum required
eslintversion is now^3.9.1. - Chore: minimum required
eslint-plugin-avaversion is now^4.0.0. - Chore: minimum required
eslint-plugin-itgalaxyversion is now^25.0.0. - Chore: minimum required
eslint-plugin-nodeversion is now^3.0.0. - Chore: minimum required
eslint-plugin-promiseversion is now^3.3.0. - Chore: minimum required
eslint-plugin-reactversion is now^6.5.0. - Tests: improve tests on bad examples.
6.0.0 - 2016-10-26
- Added: support
nodejs7. - Added:
verboseargument for verbose output. - Remove:
quiteargument. - Chore: improve
README.md. - Chore: improve
descriptioninpackage.json.
5.0.0 - 2016-10-24
- Fixed: wrong
CSSsyntax when not all format are selected. - Chore(SEMVER-MAJOR): rename extension for all templates from
nunjuckstonjk.
4.0.1 - 2016-10-19
- Fixed: CLI
fontNameandformatsarguments bug. - Chore: minimum required
ajv-cliversion is now^1.1.0. - Chore: minimum required
remark-preset-lint-itgalaxyversion is now^2.0.0. - Chore: minimum required
nunjucksfrom2.0.0to2.5.0. - Chore: minimum required
eslint-plugin-importversion is now^2.0.0. - Chore: minimum required
eslint-plugin-promiseversion is now^3.0.0. - Chore: minimum required
eslint-plugin-lodashversion is now^2.1.0. - Chore: rename
eslint-plugin-xotoeslint-plugin-unicorn. - Chore: minimum required
eslint-plugin-unicornversion is now^1.0.0. - Chore: minimum required
eslint-plugin-itgalaxyversion is now^23.0.0. - Chore: minimum required
cosmiconfigversion is now^2.0.0.
4.0.0
- Changed: all style templates for font now have
nunjucksextension. - Chore(package): remove extra
filesfrompackage.json. - Chore(package): install all
peerDependenciesforeslint-plugin-itgalaxy. - Chore(package): update a minimal version
avafrom0.15.0to0.16.0. - Chore(package): update a minimal version
eslint-plugin-avafrom2.5.0to3.0.0. - Chore(package): update a minimal version
npm-run-allfrom2.3.0to3.0.0. - Chore(package): update a minimal version
eslint-plugin-itgalaxyfrom8.0.0to11.0.0. - Chore(package): update a minimal version
nycfrom7.0.0to8.0.0. - Chore(package): remove
nycsettings, now fine works without their. - Chore(package): use
^instead~frombabel-preset-stage-0. - Chore(package): use
remark-preset-lint-itgalaxyinsteadremark-lint-config-itgalaxy. - Chore(package): use right version for
eslint-plugin-*andeslint. - Chore: improved
README.md. - Chore: fix glob pattern for
lint:remarkscript command.
3.0.1
- Fixed:
--css-template-font-pathnow get also fromcosmiconfig.
3.0.0
- Added: support
cosmiconfig. - Changed: change function arguments in
standalone. - Chore: refactoring.
- Chore: sorting alphabetically
dependenciesanddevDependencies. - Chore: remove unused
eslint-*plugins fromdevDependencies. - Chore: update minimal version
eslint-plugin-itgalaxyto8.0.0. - Chore: check is valid fonts in tests.
- Chore: add more tests.
- Chore: sharable config for
remark-lint. - Chore: add
nodejsv5 to.travis.yml.
2.0.3
- Chore: improved
descriptionandkeywordsinpackage.json.
2.0.2
- Fixed:
svg2ttfnow correctly generatesttffont. - Fixed:
ttf2eotnow correctly generateseotfont. - Fixed:
ttf2woffnow correctly generateswofffont. - Fixed:
svg2ttfnow correctly accepts option. - Chore: more readable name tests.
- Chore: rename extension
templates.
2.0.1
- Chore: update
globbyto6.0.0. - Chore: update minimal version
babel-clito6.11.0. - Chore: update minimal version
babel-coreto6.11.0. - Chore: update
eslint-plugin-itgalaxyto6.0.0.
2.0.0
- Added:
--src-css-templateagument. - Added:
--css-template-class-nameargument. - Added:
--css-template-font-pathargument. - Added:
--css-template-font-nameargument. - Changed: remove
--css-template-formatargument, now format is taken from--dest-css-template. - Changed: remove
--cssargument, css now generated if you use--dest-css-templateargument. - Changed: rename
--css-template-destargument to--dest-css-template. - Remove:
--css-templateargument.
1.0.1
- Fixed: get
fontIdfromfontName, iffontIdisnullorundefined.
1.0.0
- Initial release.