Skip to content

Release 0.2.0 - #44

Merged
smb merged 1 commit into
mainfrom
release/0.2.0
Sep 4, 2026
Merged

smb merged 1 commit into
mainfrom
release/0.2.0

Conversation

@smb

@smb smb commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

Bumps the version to 0.2.0. The tag v0.2.0 on the merge commit triggers the unsigned native packages and the draft release.

A minor rather than a patch: the release carries a new editing stage, not only corrections.

Transform stage (#25, #27). A finished cut can be trimmed to a frame range, cropped for output and resized with the four mismatch modes, and the result canvas loops the transformed frames so the loop can be judged before rendering. The stored frames are never modified; the transform is a spec applied at encode time, so every step is reversible.

GPU segmentation on Windows (#20). The bundle ships ONNX Runtime with DirectML, covering NVIDIA, AMD and Intel through DirectX 12, and falls back to the CPU when a card cannot create or run the session instead of failing the job. matteloop --providers reports what the runtime actually offers.

Model namespace and outdated weights (#22, #24, #29). The pin moved to rembg 2.0.75, which invalidates every previously downloaded weight. Old weights are shown as outdated and can be deleted, or re-downloaded as a cancellable batch that removes each old copy only after its replacement verifies.

Fixes (#28, #36, #37, #23). A segmentation child that failed while preparing now reports why instead of a closed pipe. Every confirmation dialog was being read as a refusal, so nothing could be deleted at all. A model prepared once can be deleted again. The overall render progress counts the post-process stage, so the rate and the remaining time no longer freeze for a third of the run.

Known issue in this release

#32 is open: on Windows the model download can kill the interpreter with an access violation. It matters more for this release than the last, because the namespace move means every user re-downloads the whole set. The workaround, and a diagnostic branch, are in that issue. I will add a note to the draft release before it is published.

Test plan

  • uv sync --reinstall-package matteloop, then uv run matteloop --version prints 0.2.0.
  • uv run ruff check . && uv run mypy src && QT_QPA_PLATFORM=offscreen uv run pytest -q: 1781 passed, 4 skipped.
  • Guardrails pass.

🤖 Generated with Claude Code

A minor rather than a patch, because the release carries a new editing
stage rather than only corrections: a finished cut can be trimmed,
cropped for output and resized, and the result loops on screen so the
loop can be judged before rendering. The stored frames are never
touched; the transform is a spec applied at encode time.

Windows gets GPU segmentation. The bundle ships ONNX Runtime with
DirectML, which covers NVIDIA, AMD and Intel through DirectX 12, and
falls back to the CPU when a card cannot create or run the session
rather than failing the job. matteloop --providers reports what the
runtime actually offers, so a report about missing acceleration now
carries evidence.

The model namespace moved to rembg 2.0.75, which invalidates every
previously downloaded weight. Weights left behind under the old
namespace are shown as outdated and can be deleted, or re-downloaded as
a cancellable batch that removes each old copy only once its
replacement has been verified.

Three defects worth naming. A segmentation child that failed while
preparing exited silently, so the parent reported a closed pipe instead
of the real error. Every confirmation dialog was read as a refusal,
because Qt returns an int and the code compared identity, so nothing
could be deleted at all. And the overall render progress ignored the
post-process stage, freezing the rate and the remaining time for a
third of every run.

The version lives in src/matteloop/__init__.py and hatch reads it from
there. A local checkout needs uv sync --reinstall-package matteloop
after the bump: the editable install keeps the old dist metadata, and
the --version smoke test compares against exactly that.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@smb
smb merged commit 5fa34d0 into main Sep 4, 2026
11 checks passed
@smb
smb deleted the release/0.2.0 branch September 4, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant