Skip to content

v1.1.0 — the full UX upgrade

Choose a tag to compare

@spilloid spilloid released this 23 Sep 17:51
· 47 commits to main since this release
e1f6567

v1.1.0 — The full UX upgrade

Printer setup now uses one printer file from capture to deployment, several
printers travel as one ordinary .zip, copies bring their drivers, and an
unreachable printer no longer sends you back to the beginning.

One printer file, one printer set

  • A .ssb is one printer. Capture, copy, save, edit, inspect, apply and package
    the same file. Saved setups can carry the same verified driver payload as
    copied printers.
  • A printer set is a plain .zip whose entries are .ssb files at its root:
    no index file, and the optional note is the zip comment. Selecting .ssb
    files in Explorer and choosing Compress to ZIP file makes a valid set.
    SpoolSmith refuses sets with files inside folders, non-.ssb entries, unsafe or duplicate
    names, or more than 1,000 printers.
  • copy --all [printers.zip] writes one set (default
    SpoolSmith-printers-<date>-<time>.zip) instead of a folder. Duplicate names
    get -2, -3 suffixes, a failed printer doesn't stop the others, an existing
    file is never replaced, and stopping the copy saves no set. The desktop's
    Copy all printers asks where to save the set as a .zip, and its Copy results
    button copies a plain-text report.
  • apply <set.zip> walks the set: each printer gets its own plan and its own
    confirmation, never one confirmation for several. --member <name> picks one
    printer; --plan-hash with a multi-printer set needs --member.
    bundle inspect lists a set's printers.
  • On the desktop, Add a printer's Open a printer file... opens either shape;
    a set opens a Printer set list where each printer is reviewed on its own.
  • Saved-setup Export all and Import all (profile export-all/import-all) use
    .zip sets and now carry embedded drivers. The review shows each file,
    whether it carries a driver, and destination conflicts; a file or set that
    changes after review is refused.

Drivers come along by default

  • copy, copy --all and the desktop's Copy to a file and Copy all printers
    now include each printer's Windows driver whenever it can be exported. When it
    can't (not running as administrator, the export fails, or the package is above
    the 1 GiB limit), that printer is still saved with its settings only and the
    result says why and which driver the other PC will need.
  • Opt out with --settings-only, or clear the desktop's driver checkbox.
    --include-driver is now unnecessary; it is accepted as a no-op with a note.
  • A driver exported from another PC is checked before it is installed: apply
    verifies every payload file against the SHA-256 in the bundle, and Windows'
    catalog signature check gates staging through pnputil. A payload that fails
    either is not installed. The hashes detect corruption and edits, not who made
    the file, so trust a copied driver as much as the PC it came from.

Upgrade note: existing .ssb bundles remain supported. Bare-JSON profiles
and JSON library exports from older releases are no longer read. Preserve them
for reference; recreate setups by copying installed queues or capturing their
addresses and driver names. Renaming the old files does not convert them.
Scripts that pass copy --all a folder should pass a .zip name instead, and
scripts that relied on copies being settings-only by default should add
--settings-only. Existing Windows printers are unaffected.

Keep working when the printer is unavailable

  • Applying a saved printer automatically falls back to offline setup when the
    printer is unreachable or cannot confirm its identity after retrying. The
    plan explains the fallback before confirmation. A live identity mismatch
    still stops setup.
  • Copying an unreachable queue still saves its Windows settings, clearly marks
    identity unconfirmed, and reports that result for each queue in a bulk copy.
  • Canceled probes stop installation instead of triggering offline fallback.
    Explicit --offline remains available to skip probing from the start.

Clearer desktop and website

  • A sidebar replaces the desktop's top tab strip and the tab strip nested inside
    Tools. It lists every page in the order the work happens — This PC, Add a
    printer, Review and apply — with Intune package, Inspect, Driver catalog and
    Action log grouped below under Tools. "Catalog" is now "Driver catalog".
  • Intune packaging has its own sidebar page that explains what the package
    contains and what it never does, instead of a button at the foot of the old
    Tools tab.
  • The Intune wizard is now two numbered steps instead of tabs: Package settings,
    then Review and export. Only "Validate and preview package" reaches the review,
    and "Back to settings" discards it, so an unvalidated package cannot be exported.
  • SpoolSmith's own dialogs share the main window's blue header band. Message
    boxes and file pickers remain standard Windows.
  • The main window opens at 1060×720 and can shrink to 960×640 (previously 820×620)
    to make room for the sidebar.
  • Copying without elevation still works and saves settings only; the driver
    controls say administrator access is needed to include the driver.
  • Cleaner review wording and readable Windows errors make the next action clearer.
  • Refreshed product site, current command examples, an upgrade guide and new
    screenshots captured from the real Windows app.
  • Intune exports use a valid settings-only .ssb for status, installation and
    removal, and reject older incompatible CLIs. Exported files are tested with
    the real CLI as well as the script lifecycle harness.
  • Intune packaging remains local, with optional .intunewin creation through
    Microsoft's Content Prep Tool. Upload and assignment remain manual.

Distribution and limits

The Windows x64 ZIP includes the CLI and desktop app, both Authenticode-signed,
plus README and license. A SHA-256 checksum accompanies the download.

Printer sets and default driver export are covered by automated Go tests; they
have not yet been exercised against real printers or between two PCs, and the
desktop test suite and screenshots are pending a re-run for the new set dialogs.
The desktop Inspect page reads a single .ssb; use Open a printer file... or
bundle inspect to list a set's printers. Intune packages one printer .ssb at
a time, not a set. Automatic driver downloads, USB/shared-queue setup and
IPP/LPR setup remain outside this release. Physical two-PC transfer, broader
printer hardware and display/accessibility coverage remain documented
validation priorities in the roadmap.

Validation: release record.