Skip to content

Releases: latentspacelabs/cadmium-oss

v1.5.11

Choose a tag to compare

@github-actions github-actions released this 06 Oct 09:08

What's new — Windows reliability

  • Fixed: "sidecar exited" crash on older Windows PCs. The on-device inference server crashed at startup on processors older than ~2013 (pre-Haswell Intel, older AMD). It now uses Microsoft's ONNX Runtime build, which runs on any 64-bit x86 CPU.
  • Fixed: wrong colors, then every colorize failing until restart (NVIDIA GPUs). On some NVIDIA GPUs (confirmed on a 16 GB Tesla T4; GeForce RTX 20 / GTX 16 cards are likely affected too), the GPU ran out of working memory after closing line gaps. The first colorize then returned wrong colors, the GPU stopped responding, and every later request failed until Cadmium was restarted. Gap closing now uses much less GPU memory. If the GPU is ever lost anyway, Cadmium switches colorize to the CPU and keeps working instead of failing.
  • Faster on laptops with two GPUs. Cadmium now asks Windows for the high-performance (discrete) GPU instead of whichever adapter comes first, which was often the slower integrated one.
  • PCs without a real GPU (e.g. virtual machines) now run on the CPU instead of trying an emulated display adapter.
  • More detailed Debug Log (Support → Debug Log): GPU and CPU details, which processor (GPU or CPU) handled each step, per-step timings, and plain-English explanations when the inference server stops. If something goes wrong, please send us this log.

macOS: no user-facing changes in this release.

v1.5.10

Choose a tag to compare

@github-actions github-actions released this 20 Sep 03:51

⚠️ macOS users on 1.5.7–1.5.9: download this version manually (one time)

Auto-update cannot install this release on macOS if you're on 1.5.9 or older — clicking "Install and restart" will appear to do nothing. This is a one-time hop: download the .dmg below, drag Cadmium to Applications to replace the old copy, and every future update will install automatically. Your projects and settings are untouched.

Why?

macOS refuses to install an update whose code signature doesn't match the running app's. Older Cadmium builds each carried a unique throwaway signature, so no update could ever match — updates downloaded but silently failed to install. Starting with 1.5.10, all builds share one stable signature, which fixes auto-update permanently — but the running old app still has a throwaway signature, so this last hop has to be manual.

Windows auto-update is unaffected — update normally.

What's new

  • macOS auto-update fixed: builds are now consistently code-signed, so in-app updates install correctly from this version onward. (First-launch behavior is unchanged: macOS still shows the "unidentified developer" prompt — allow it via System Settings → Privacy & Security → "Open Anyway".)
  • Update failures are now visible: if an update can't be installed, Cadmium shows a dialog with a link to the downloads page instead of failing silently.
  • Model optimization progress: the one-time "Optimizing for this computer" step now shows a live progress bar — in Server Settings, as a small chip in the navigation bar, and as a note on the colorize overlay if you start a run before it finishes (runs still work during optimization; they're just slower).
  • Debug Log panel (Support → Debug Log, or Cmd/Ctrl+Shift+D): live stream of app and inference-server logs for troubleshooting.
  • Menu cleanup: the Help menu is now Support (search field removed); "Reset Embedded Backend…" moved there from Server Settings.
  • Server Settings: the local backend option is now labeled simply "On device".

Install

  • macOS (Apple Silicon): Cadmium-1.5.10-arm64.dmg — first launch of a fresh download needs System Settings → Privacy & Security → "Open Anyway"
  • Windows (x64): Cadmium Setup 1.5.10.exe — at the SmartScreen prompt, click "More info" → "Run anyway"

v1.5.9

Choose a tag to compare

@github-actions github-actions released this 19 Sep 16:13

Unsigned builds (since v1.5.7): a fresh install will warn on first launch — macOS: System Settings → Privacy & Security → "Open Anyway"; Windows SmartScreen: More info → Run anyway. Auto-updates apply without any prompts. Same code, same repo, built by the same public CI — the latest*.yml files carry sha512 checksums for every artifact.

What's new

  • Model optimization now shows real progress — the one-time "Optimizing for this computer" step (macOS) has a live progress bar in Server Settings, plus an "Optimizing NN%" indicator in the navigation bar while it runs (click it to open Server Settings). The routine backend start now correctly says "Starting up (~20 s)" instead of claiming a multi-minute optimization on every launch.
  • Colorizing during optimization is signaled — you can still colorize while the one-time optimization runs (it uses the CPU meanwhile), but the progress screen now says so: "The AI backend is still optimizing (NN%) — this run is slower than usual."
  • Support menu — the Help menu is now Support (without the macOS search field), and Reset Embedded Backend moved there from Server Settings, with a confirmation dialog. The Debug Log lives there too (Cmd/Ctrl+Shift+D).
  • Debug Log improvements — the panel now stays visible and usable above the colorize/analyze progress screen, and shows the optimization state in its header.
  • Fixes — several races that could freeze or misreport the optimization status (stuck "Optimizing" indicators, progress moving backwards, stale state after a backend restart); optimization indicators no longer appear for users on a hosted backend or during exports; the backend picker option is now called "On device".

Notes

  • Auto-update from v1.5.8 applies normally. No model re-download — models and compiled caches are untouched.

v1.5.8

Choose a tag to compare

@github-actions github-actions released this 19 Sep 03:04

Unsigned builds (since v1.5.7): a fresh install will warn on first launch — macOS: System Settings → Privacy & Security → "Open Anyway"; Windows SmartScreen: More info → Run anyway. Auto-updates apply without any prompts. Same code, same repo, built by the same public CI — the latest*.yml files carry sha512 checksums for every artifact.

What's new

  • Debug Log panel — Help → Debug Log (or Cmd/Ctrl+Shift+D) opens a live stream of the local AI backend's activity: server starts, crashes and auto-restarts, the backend's own log output, and hardware-acceleration changes — including why inference fell back to CPU, the most common cause of "colorization is slow". The header shows the current acceleration per capability at a glance. The panel docks below the canvas (nothing is covered), follows the newest lines until you scroll up, and has Copy (paste the log straight into a bug report) and Log File (reveal the on-disk log, which survives restarts). If the backend ever misbehaves, this is the first place to look — and the first thing to attach when filing an issue.

Notes

  • Auto-update from v1.5.7 applies normally. No model re-download this time — models and caches are untouched.

v1.5.7

Choose a tag to compare

@github-actions github-actions released this 18 Sep 13:57

Heads-up: builds are now unsigned. Cadmium is a free open-source project and no longer pays for code-signing certificates, so your OS will warn on first launch. This is expected:

  • macOS — "Apple cannot check it for malicious software": open System Settings → Privacy & Security, scroll down, click "Open Anyway", then launch again. (Pre-macOS 15: right-click the app → Open.)
  • Windows — SmartScreen's "Windows protected your PC": click More info → Run anyway.

Same code, same repo, built by the same public CI as before — only the certificates are gone. The attached latest*.yml files carry sha512 checksums for every artifact.

What's new

  • Windows GPU gap-closing fixed — the embedded backend now ships a modern DirectML.dll, so AI gap closing (and colorization) actually run on the GPU instead of silently falling back to CPU. Multi-second gap closes drop to well under a second on a discrete GPU.
  • Faster restarts after model updates (macOS) — compiled CoreML caches are now keyed per model (models-v2), so a model update no longer forces the ~107 s colorizer re-optimize unless the colorizer itself changed.
  • "Optimizing for this computer" now clears when the one-time optimization finishes — it used to stick until the app restarted.
  • The app icon is back — the dock/taskbar shows the Cadmium logo instead of the default Electron icon.
  • Server Settings button in the navigation bar — manage the backend, models, and hardware acceleration from one place.
  • Fixes — analyzing a drawing with more than 255 segments now shows the proper error instead of failing later; older .cdm files no longer load with wrong defaults for some analysis settings; various internal cleanups.

Notes

  • After updating, the app fetches models from the new models-v2 release on first use. On macOS the two CoreML models re-download once (~1.9 GB) followed by a one-time re-optimize; Windows models are unchanged.
  • Auto-update from v1.5.6 should apply normally; if it doesn't, just download this version manually — settings and projects are untouched.

Model artifacts (embedded backend) — models-v2

Choose a tag to compare

@evancasey evancasey released this 04 Sep 15:25

ONNX model artifacts for the embedded serving backend. Same weights as models-v1; the two CoreML bucket models now carry a COREML_CACHE_KEY metadata stamp (graph bit-identical — see serving/onnx/stamp_coreml_cache_key.py). Pinned by app/src/util/model-manifest.js — do not replace assets in place; publish a new tag instead.

v1.5.6

Choose a tag to compare

@evancasey evancasey released this 23 Jul 10:39
Release v1.5.6: fix color-import-without-line analyze hang

Ships the Electron-32 File.path regression fix (canny from the in-memory
data URI, never-settling promise removed, overlay cleared in finally,
webUtils path re-attachment) plus the docs consolidation (todo.md as the
single home for open work).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Model artifacts (embedded backend) — models-v1

Choose a tag to compare

@evancasey evancasey released this 23 Jul 08:38

ONNX model weights for Cadmium's embedded serving backend — this is a model store, not an app download. The desktop app fetches these on demand into its models directory when you enable local (embedded) processing.

Assets (pinned by size + sha256 in app/src/util/model-manifest.js, verified on download):

  • ant_v2_fp32.onnx — AnT v2 colorizer (dynamic shapes)
  • ant_v2_fp32_bucket.onnx — bucket-pinned colorizer (CoreML fast path; optional)
  • gap_closer_fp32.onnx — GapCloser (fp32 parity anchor)

Versioning: this tag is immutable — a model retrain publishes a new models-vN, and each app version pins the exact tag + hashes it was validated against.

App installers (.dmg / .zip / .exe) live in the v* releases, not here.

Torch checkpoints (parity anchors) — checkpoints-v1

Choose a tag to compare

@evancasey evancasey released this 23 Jul 09:53

Torch checkpoints for the shipped models — the parity anchors behind the
models-v1 ONNX exports. Training code is not part of this repo; these
weights are what the export and golden-dump scripts load.

Asset What it is Consumed by
ant_v2_tb-aug-7750.tar.gz AnT v2 colorizer checkpoint (v2-encoder-pretrained-large-tb-aug-7750/: config.json + pytorch_model.bin; optimizer state stripped) serving/onnx/export_ant_v2.py, serving/onnx/parity_corpus.py, serving/tools/dump_*_goldens.py via AnTV2Pipeline.from_pretrained(checkpoint=<unpacked dir>)
gap_close_v1_1229.ckpt GapCloser UNet Lightning checkpoint, byte-identical to the file that produced the shipped GapCloser ONNX serving/onnx/export_gap_closer.py

sha256:

3133d41fa6a4afdc275a1e5ef652a27544ba10ce2e0a7fa820167fc481b94a3a  ant_v2_tb-aug-7750.tar.gz
1984b21a534333ec3446d9792404663f3ee224872ffdb012be118a7d35a95336  gap_close_v1_1229.ckpt

Notes:

  • Both files are pickle-based formats (.bin / .ckpt) — load them only in
    a trusted environment. safetensors conversions may follow.
  • Released under the repository's Apache-2.0 license.
  • Like models-v1, this release must never be marked "Latest" — the in-app
    updater must only ever resolve app releases there.