Skip to content

Bgbgone

v0.1.20 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Fixed background removal regression when --feather > 0 was silently disabled.

Full changelog

Critical bugfix

--feather > 0 silently disabled background removal in v0.1.16–v0.1.19. MaskPostProcess.featherMask ran the alpha matte through CIGaussianBlur and returned an sRGB CGImage. CGContext.clip(to:mask:) only treats the input as an alpha mask when it is DeviceGray with no alpha; with an sRGB input the clip degenerated to "no clipping", so the entire input flowed through unmodified. Visible symptom: bgbgone in.jpg --feather 8 -o out.png produced in.jpg verbatim, no cutout.

Fixed by rasterising the blurred mask back into an explicit 8-bit DeviceGray context before returning. Regression test added: --feather 0/8/16 corner pixel must have alpha 0 across all three radii.

Dropped unsupported names

The CLI used to accept --algo vn-remove, --algo sky, and --to webp and only fail at framework level (claiming they were "reserved spellings"). Removed — they were premature-optimisation fluff that documented features that did not exist. The parser now rejects all three with exit code 2 (unknown flag). --help, --check, the README, and design.md only list what actually works.

Supported on this SDK:

  • --algo auto | vn-mask | person | saliency
  • --to png | jpg | heic | avif | tiff

Release-process change

make release is the new — and only — release path. It runs tests, installs to /usr/local/bin, regenerates every showcase image via the freshly-built binary (was using stale bgbgone from PATH before), and packages the tarball. CLAUDE.md spells out: never tag a release without it. Image regeneration is now part of release because the README is the user's primary surface; the v0.1.16 colour-space and feather bugs would have surfaced visibly if every release regenerated.

Tests

64 unit + 59 integration (was 56).

Install

brew tap Arthur-Ficial/tap
brew upgrade bgbgone

Or:

curl -L https://github.com/Arthur-Ficial/bgbgone/releases/download/v0.1.20/bgbgone-0.1.20-arm64-macos.tar.gz | tar xz
mv bgbgone /usr/local/bin/

SHA-256: e56f5c417237761aabc300ec9e11692aa887d8ff6cc2738a5f4c97e50bd3efc2

Breaking Changes

  • --algo vn-remove, --algo sky, and --to webp are removed and now cause an unknown flag error (exit code 2).

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Bgbgone

Get notified when new releases ship.

Sign up free

About Bgbgone

All releases →

Related context

Beta — feedback welcome: [email protected]