All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.
0.10.0 (2024-09-23)
- Everything is relicensed. All previous contributors signed off ages ago so old code can now be used under either terms and future contributions will be only under the GPL.
- rules: Make output compression more easily configurable (72c5ea7)
- action: Args passed to Docker must be an array even if all you want is a string (a1cabd2)
0.9.6 (2024-09-20)
- actions: Make it easier to override input arguments from workflows (8150a90)
- rules: Output detected family names to GitHub Actions (73cc0c6)
- rules: Update method of passing GitHub CI variables to current API (fe277e4)
0.9.5 (2024-09-19)
- docker: Rebuild Docker images with updated gftools dependencies (c41be73)
0.9.4 (2024-09-19)
- docker: Supply stat to Docker entry point for UID detection (30377dc)
0.9.3 (2024-09-19)
- build: Inform autotools of the new location for packaged shell scripts (0d15eb8)
0.9.2 (2024-09-17)
0.9.1 (2024-09-16)
- build: Package all source files in distribution tarball (38b93e9)
0.9.0 (2024-09-16)
- cli: Overhaul UI, friendlier to both CI/scripts and interactive use (517a46b)
- rules: Allow extension of rules after Fontship loads (b7df1fd)
- build: Avoid the perceived need for an extra automake cycle in dist tarball (7b72816)
- build: Swap unportable ‘cp -bf’ for ‘install’ (41ed637)
- cli: Avoid Unicode direction isolation marks in CLI output (bbae252)
- rules: Use python protobuf, our protoc is too new for gftools (fc0e4f2)
0.8.2 (2021-05-14)
- build: Replace all spaces in font family when deriving project id (da4fa72)
0.8.1 (2021-05-14)
- actions: Run GitHub Action workflows with prebuilt containers (3dd5443)
0.8.0 (2021-04-17)
- cli: Add check to not run from Fontship source tree (2812ead)
- cli: Reset file modification timestamps on setup (f3785fd)
- docker: Publish images to GHCR (9f0d551)
- sfd: Automatically glean intstance names from sources (4afa1bc)
- sfd: Include a default (sfd2ufo) way to build FontForge projects (d5ab565)
- build: Correct detection of completions dir on systems with pkg-config (b33a11e)
- build: Correct dist vs. nodist source lists (a9238cb)
- build: Handle version file for out-of-source builds (b874172)
- deps: Update Python APIs used to fetch meta data (08c263b)
- docker: Switch to BuildKit and make Docker Hub cooperate (6e770e8)
- docker: Work around archaic host kernels on Docker Hub (f3cf345)
0.7.6 (2021-01-31)
- build: Detect system dependencies and allow substitution at build time (f61fb30)
- build: Finish up renameable build support (b304140)
- cli: Detect fontship.mk file as project specific rules (b03d563)
- docker: Extend renameable build support to Docker (c59d0ff)
- cli: Avoid tripping up on filnames with brackets (5b464e1)
0.7.5 (2021-01-09)
- rules: Exclude excess version info from tagged dist packaging (c1beed7)
0.7.4 (2021-01-09)
- build: Distribute aux script used in configure (8149664)
- build: Run autoupdate to fix autoconf syntax issue (d87441a)
0.7.3 (2021-01-09)
- docker: Force update to catch gftools package rebuild (46eba88)
0.7.2 (2020-12-18)
- cli: Pass through output of special debug target (0f6471f)
- cli: Detect project name from local Git repo too (b7c3197)
- cli: Disallow quiet flag if debug or verbose enabled (97a3a49)
- ufo: Use best available family name, not legacy (368201e)
- rules: Stop iteratively reading every value on every use (01eea8d)
0.7.1 (2020-11-18)
- actions: Repair detection of project name in GitHub Actions (bc859de)
0.7.0 (2020-11-17)
- rules: Complete deprecation of using rules without CLI
- cli: Add setup operation to normalize SHA lengths (4945f53)
- cli: Rebuild .gitignore on setup (527a0ed)
- rules: Add .gitignore file builder (57c0925)
- ufo: Bring variable UFO sources inline with Glyphs (1680e29)
- rules: Complete deprecation of using rules without CLI (e138edf)
0.6.2 (2020-10-29)
- actions: Don't capture strings read by GHA (27a8494)
- cli: Don’t use backticks to unbreak zsh compdef (#108) (50c9a53)
- cli: Return error code if make itself dies (7197ac5)
0.6.1 (2020-10-26)
- build: Configure release script to bump lock file to match releases (71f1a77)
0.6.0 (2020-10-26)
- cli: Deprecate direct inclusion of rule files (non-CLI based usage)
- build: Allow name transformations during build (0fc24d6)
- build: Package CLI built from Rust instead of Python sources (58ce700)
- cli: Capture STDOUT/STDERR from make subprocess (07c4e0e)
- cli: Deprecate direct inclusion of rule files (non-CLI based usage) (7dfd6c1)
- cli: Generate shell completion routines (#101) (3ce84dd)
- rules: Wrap make targets in shell scripts with hooks (9989776)
- actions: Manage GH Actions builds where no version info available (a74480d)
- build: Add used but undefined error function (cc48078)
- rules: Account for locating projects that don't have local rules (12ce56c)
- rules: Remove the same TMP file we create, not a different one (#92) (a01fba3)
- rules: Use more robust value quoting/escaping method (85c7061)
0.5.0 (2020-10-08)
- woff: Generate webfonts from OTF if possible, fallback to TTF (#85) (dfcc300)
- Add logo svg files (cc9a213)
- Add source logo vector file (62d4e9f)
0.4.3 (2020-09-17)
- glyphs: Enumerate all instances from sources even with spaces (4b68de8)
- glyphs: Map all instance names back to source files (a4d3fce)
0.4.2 (2020-09-14)
0.4.1 (2020-08-29)
0.4.0 (2020-08-27)
- rules: Split makefile into init & actually processing (0f43201)
- sfd: Allow passing options or otherwise changing sfdnormalizer (fd8a872)
- sfd: Detect family names in FontForge sources (8d3f645)
- ufo: Add variable TTF output (25cb71b)
- ufo: Build interpolated instances from designspace (2b8d41f)
- ufo: Detect variable fonts via designspace file (28247ce)
- ufo: Hint VF builds using VTT hints if sources present (8808bc6)
- ufo: Iterate instances defined in designspace (22b20bc)
- designspace: Disambiguate instances (statics) from masters (variables) (1c178c6)
- rules: Move BUILDDIR variable to make default accessible to projects (60b2f26)
- rules: Use ‘,’ not ‘#’ as delimiter in sed expression (#69) (66f3aa3)
- sfd: Keep normalizer from touching sources unless we ask (a46138e)
- ufo: Catch multi-word instance names (1d5d1ee)
- ufo: Detect base package-directory names (f53bd43)
- ufo: Use configurable source directory (13215d1)
0.3.4 (2020-08-22)
- build: Correct typo in Github release workflow (7fb84cb)
- docker: Add a way to deduce the repository name inside remote CI (c563b1c)
0.3.3 (2020-08-21)
- glyphs: Deduce instance names from since source (9eaff99)
- glyphs: Expand family names from from file names (5c3a202)
- glyphs: Fix usage of user-configurable source directory (d61fadc)
- rules: Correct syntax error blocking UFO/Glyphs canonical projects (dab64e3)
0.3.2 (2020-08-18)
- docker: Allow Docker in GH Actions usage with default arguments (7133452)
- otf: Add CFF subroutinizer to processing chain (978a88c)
- build: Expect sanitized version string in version file (ab25d46)
0.3.1 (2020-08-17)
- docker: Add missing dependency or sfdnormalize (c296acf)
- rules: Keep last-commit file from being part of dependencies (68742ae)
- sfd: Keep normalizer from running except when changes present (761a619)
- tooling: Work around bug in standard-version (3f62f3a)
0.3.0 (2020-08-17)
- docker: Distribute Dockerfile so people can build containers locally (0033b9a)
- Add check target to confirm normalization (628a633)
- Add recipe to normalize SFD sources (8ae2299)
- Allow multiple family-names per project (b11fdca)
- Allow projects to toggle output formats (00bde20)
- Make source dir easily configurable and default to 'sources' (819dc58)
- Use templates to allow overriding how instances get built (4e614b2)
- build: Use correct she-bang in bootstrap file (a7d17c6)
- Change GPG key server so key fetch works in Docker (fe53280)
0.2.1 (2020-08-14)
- Fix automation so builds posted to Github Releases are automatic again.
0.2.0 (2020-08-14)
- Setup separate build paths for different canonical sources (Glyphs, UFO, Fontforge, etc.). This is a lot more flexible than assuming fonts being build from any source need the same fixup treatment along the way. Also it gives a place to hook into and use Fontship's overall machinery while using a completely custom set of rules to do the actual font generation if for some reason the default commands aren't right.
- Add basic rules to generate from single instance UFO sources.
- Expand the CLI options a little bit with some output control. For example try
fontship -q make
for a much less noisy build cycle. - Make sure local system installations check for the tools that will be needed at runtime (not used for Docker, etc. but useful for system installations).
- Add basic repository detection to
fontship status
. - Leverage more
gftools fix-*
routines to cleanup generated fonts.
0.1.1 (2020-08-14)
- Cleanup files generated during build process and tidy them away into a build dir.
- Allow local projects to and their own project local rules file.
- Package any found documentation or license files in distribution archives.
- Flesh out CI usage documentation.
- Suppress some unnecessary verbosity during build process.
- Make all system tools configurable.
- Update to latest Python font tooling available upstream.
- Fix parallel build issues.
- Allow building fonts in groups by either format (ttf, otf, etc.) or type (static, variable).
0.1.0 (2020-08-14)
- Make it usable as a Github Action
- Cleanup layout of distribution archives
0.0.5 (2020-08-14)
- Rename Font Name → Family Name to match use in font ecosystem tooling.
- Document how to set the Family Name for Docker builds (temporary, but works).
- Fix issues with Docker dependencies.
0.0.4 (2020-08-14)
- Add dependencies such as fonttools, fontmake, gftools, ttfautohint, some Python stuff, etc.
- Add stubs for more CLI commands.
- Refactor CLI for more future versatility.
- Allow use of Glyphs as canonical source
- Add rules to build TTF, OTF, WOFF, WOFF2, and variable TTF artifacts.
0.0.3 (2020-08-14)
- Document Arch Linux install.
- Work around Docker Hub kernel issues.
0.0.2 (2020-08-14)
- Split makefiles for things we package vs. what we are.
- Add status functions.
- Add some basic font format conversion rules.
- Setup CLI as dispatcher.
- Document dependencies.
- Add CI tooling to generate releases.
0.0.1 (2020-08-14)
- Setup Docker image.
- Expand documentation (as project spec).
- Allow usage of Python scripts from any location.
0.0.0 (2020-08-14)
- Start project boilerplate.