Skip to content

v1.2.1 — leaner bundles, quieter startup

Choose a tag to compare

@pacnpal pacnpal released this 10 May 20:20
· 37 commits to main since this release

FloppyBootCD v1.2.1 — leaner bundles, quieter startup

A small follow-up to v1.2.0. No app behavior changes — just smaller downloads, cleaner startup, and zero spurious warnings.

🪶 Smaller bundles

Three changes to the PyInstaller build pipeline drop the size of every prebuilt artifact on every platform:

  1. Explicit --exclude-module for unused PySide6 submodules. We only import QtCore, QtGui, and QtWidgets. --collect-all PySide6 otherwise pulls in SQL drivers, QML, QtQuick, Multimedia, WebEngine, 3D rendering, Charts, PDF, Speech, Bluetooth, NFC, Sensors, and a dozen more. All now excluded by name.
  2. Post-PyInstaller prune step that deletes:
    • PySide6/Qt/translations/ — 30+ locale .qm files (app is English-only)
    • PySide6/Qt/qml/ — QML import tree (no QtQuick/QtQml in the app)
    • PySide6/typesystems/, include/, glue/, support/ — Shiboken compile-time inputs, never read at runtime
    • pyside6-rcc, pyside6-uic, pyside6-deploy, shiboken6*, qmllint, qmlformat, qmltyperegistrar, qmlimportscanner — dev/CLI tools the running app never invokes
    • Qt/plugins/{sqldrivers,multimedia,position,geoservices,texttospeech,webview,networkinformation,tls,canbus,sensors,gamepads,designer,renderers,qmltooling,scxmldatamodel,assetimporters} — plugin dirs PySide6's PyInstaller hook re-adds even when the Python module is excluded
  3. No more "Library not found" warnings during the macOS build from PyInstaller — the offending plugins (libqsqlmimer.dylib, libqsqlodbc.dylib, libqsqlpsql.dylib, QtQuickShapesDesignHelpers) referenced host-only system libs (/usr/local/lib/libmimerapi.dylib, /opt/homebrew/opt/libiodbc/..., /Applications/Postgres.app/...) that aren't on the CI runner and aren't on user machines either. Gone now.

CI logs print before/after du -sh dist for each platform so the savings are visible per build.

🔇 Faster, quieter startup

QFont.setFamily("Menlo, Consolas, monospace") told Qt to look for a single font named literally "Menlo, Consolas, Monospace", then spend ~60 ms at app launch populating font-family aliases trying to find it, and print:

qt.qpa.fonts: Populating font family aliases took 66 ms.
Replace uses of missing font family "Menlo, Consolas, Monospace" with one that exists.

Switched both log views (main window + burn dialog) to QFont.setFamilies(["Menlo", "Consolas", "monospace"]) — Qt's actual fallback API since 5.13. Same intended preference order (Menlo on macOS, Consolas on Windows, monospace on Linux), no warning, ~60 ms faster cold start.

📦 Downloads

Same 12-artifact lineup as v1.2.0 (macOS/Windows/Linux × x86_64/arm64 + AppImage/.deb/.rpm/.tar.gz for Linux). See the v1.2.0 release notes for the WinImage .imz support, CD-R capacity meter, Linux packaging, and the GUI crash fix.

Or upgrade in place: uv tool upgrade floppybootcd.

Full Changelog: v1.2.0...v1.2.1