Skip to content

QuartzControl 1.0.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@boxi-os boxi-os released this 21 Sep 12:25
· 482 commits to main since this release

The first release candidate. What is here is meant to become 1.0 once nobody finds anything more.
Since beta 2 mostly things changed that do not show at first glance — how the app handles fonts,
templates and updates, and what it says while doing so. Feedback is welcome — an issue is the
easiest way.

Before anything else: several machines

If you edit a project on more than one machine (Git sync), update every machine first and only
then open the project with the new version.
The first save on the Styles page renames the markers
in custom.scss (Quartz-GUI:managed: → QuartzControl:managed:). Beta 2 no longer recognises
them afterwards: it shows no variables, no included files and no font block, and a click there can
break the build.

What changed since 1.0.0-beta.2

New projects

  • The basic template replaces the example template as the built-in package: the same measured
    design, one or two components per plugin, and twenty short pages in two languages instead of
    someone else's 300-page handbook. All 31 stylesheets still travel, so switching on a component
    that is off gets it designed.

Fonts

  • Every Google font in one list that scrolls and filters; the preview shows the file the build
    really loads.
  • "Serve fonts locally" fetches the fonts into the project — the site asks Google nothing
    afterwards. Japanese, Korean and Chinese families included.
  • Included fonts nothing uses any more are named, with an offer to remove them. A file is only
    deleted when no stylesheet of the project names it.
  • Sites under a sub-path (a project's GitHub Pages) find their fonts again: the next build in
    the app rewrites the addresses from /static/fonts/… to relative ones.
  • Screen readers hear every entry of the font list by name, and the number of matches while
    typing.

Setup and design

  • The content folder sits at the top of the configuration's Website tab; the tab is now five
    cards like the other pages.
  • A quartz.config.yaml with a syntax error is reported as one instead of being half read.
  • Saving on the Styles page writes every tab, whichever is in front.
  • The layout board and the frame builder can be dragged by keyboard, with announcements for
    screen readers — including when a drop moves nothing or is refused.

Templates

Applying a template package with "Template wins" now leaves the project picture you chose in the
app alone, keeps the Google fonts the project serves itself, and removes the font files of the
replaced rules that no rule names any more. The preview says so beforehand, the result afterwards.

Build and preview

  • Build and dev server no longer share the output folder. "Build now" is refused while the
    preview holds the same folder; "Start" waits for a running build and says what it waits for.

Maintenance

  • The Quartz update regenerates package.json and package-lock.json instead of merging them,
    so a project's own packages no longer block it. An update that fails halfway is a state of its own
    and the next run finishes it.
  • "Abort merge" says what it does — also what it would discard, and why it refuses when it
    refuses.

The app itself

  • The handbook lives online only (https://boxi-os.github.io/QuartzControl/) and no longer ships
    inside the app — the macOS download is about 32 MB smaller than beta 2's. Every screen still links
    to its page.
  • On a Linux too old for the bundled git the app says so and suggests a git from the package
    manager instead of a reinstall.

Which file

System File
macOS, Apple Silicon QuartzControl-1.0.0-rc.1-arm64.dmg — or .zip
macOS, Intel QuartzControl-1.0.0-rc.1-x64.dmg — or .zip
Linux, x86_64 QuartzControl-1.0.0-rc.1-x86_64.AppImage or quartzcontrol_1.0.0-rc.1_amd64.deb
Linux, arm64 QuartzControl-1.0.0-rc.1-arm64.AppImage or quartzcontrol_1.0.0-rc.1_arm64.deb
Flatpak QuartzControl-1.0.0-rc.1-x86_64.flatpak or …-aarch64.flatpak

Linux needs glibc 2.34 or newer for the bundled git — Ubuntu 22.04, Debian 12, RHEL 9,
Fedora 35 and later. On an older system the app starts and says it cannot use its own git; a git
from the package manager gets you going. The Flatpak does not raise the question.

Before the first start

macOS. The app is ad-hoc signed and not notarised; there is no Developer ID certificate, so
macOS refuses the first launch. Allow it under System Settings → Privacy & Security → Security →
"Open Anyway"
, within about an hour of the refused launch. Or clear the quarantine flag:

xattr -dr com.apple.quarantine /Applications/QuartzControl.app

Linux. Make the AppImage executable and run it, or install the deb with
sudo apt install ./quartzcontrol_1.0.0-rc.1_amd64.deb. For the Flatpak:

flatpak install --user QuartzControl-1.0.0-rc.1-x86_64.flatpak

--filesystem=home is set, so projects under your home directory work as they are. A content
folder on another drive needs a one-off flatpak override --filesystem=<path>.

What is inside every package

  • Node and npm — Electron's own runtime (Node 24.18.1, npm 11.17.0), exposed as three shims on
    the PATH. Nothing to install.
  • git 2.53.0 — used only when the machine has none that answers; otherwise the system's own wins.
  • The basic template — for creating a project when there is no network.

Known limits

  • Not notarised on macOS, as above. No self-update: the start screen reports a newer
    version and links to it. No Windows, deliberately; the reasons are in the README.
  • Not started on its own kind of machine: the macOS Intel build (there is no Intel Mac here),
    and Linux with a system git older than 2.38. Both are built; neither was run on such a machine.
  • A YAML error in the frontmatter of a single note stops the dev server. That is Quartz; the
    app shows the server as crashed.

Checksums (SHA-256)

cd35176eb322a32f74ed25c3505d9341a923424fbdacaa91d1c68cf5e43d827d  QuartzControl-1.0.0-rc.1-arm64.dmg
95a71b8e05ce44c3d34039faf8289914ae82b1c755582146e355afe6cb2ee0bb  QuartzControl-1.0.0-rc.1-arm64.zip
6d6bb609de59fb1dc9165b66791c345dd1ce73a0fa5ecb56d7adb11cd53e4fa1  QuartzControl-1.0.0-rc.1-x64.dmg
0f089d759414d79665bc5720c4359c96dfda271c3e59cc07624a8b202edfdcc1  QuartzControl-1.0.0-rc.1-x64.zip
4c8c9054026768d59025c1b4ed1b2abb4152ee8a8b87fd468253e94b301f7347  QuartzControl-1.0.0-rc.1-arm64.AppImage
dbd4296520e3fc424962df22210ab0c8ae6b0d97820b26fb1b8b21580c488edd  QuartzControl-1.0.0-rc.1-x86_64.AppImage
7eb152e181d93a38df824b7c0fc98357265ceb2f51523c6369f083d74d6b6ae2  quartzcontrol_1.0.0-rc.1_arm64.deb
e95b66d94e02f8cf0cdd7b5be3276b81aced35b1f5ed02908495c647197c5af7  quartzcontrol_1.0.0-rc.1_amd64.deb
5b7ce09d04247862779e7f71db23320b2aee941cd676224db5d33dc3af1f5049  QuartzControl-1.0.0-rc.1-aarch64.flatpak
4c8a1f7273f8320f7a4297e4721a45752dd416cbbd85ed1bda9f85c702aaa334  QuartzControl-1.0.0-rc.1-x86_64.flatpak