github rizsotto/Bear 4.1.2

one day ago

What's Changed

Features

  • Wrapper mode: compiler env vars with embedded flags: accept CC="gcc -std=c11" / CXX="clang++ -stdlib=libc++" style values (GNU Make convention) - the first token resolves as the compiler, trailing tokens become flags
  • Wrapper mode: masquerade compiler resolution: bare names like cl, gcc, cc now resolve through PATH before wrapper registration, with case-insensitive matching on Windows (#686)
  • Output: drop invalid entries with a warning instead of aborting the whole pipeline (#692)
  • Install script: install binaries to /usr/libexec instead of /usr/share (FHS-compliant, fixes packaging in distros)

Bug Fixes

  • fix(msvc): handle all per-warning cl.exe options - /wd, /we, /wo with space-separated value, plus previously-unsupported /w1-/w4 and /Wv[:version] (#690)
  • fix(install): correct script for distro packaging (#685)
  • fix(output): return "." from relative_to for self-referential paths
  • fix(intercept): apply review findings for masquerade-wrapper handling

Internal

  • Refresh dependency pins and consolidate into the workspace
  • Bump rand 0.9.2 -> 0.9.4
  • Rewrite preload and wrapper interception requirement specs; document output pipeline
  • Tag existing tests with the requirements they protect
  • Substantial new test coverage: output transformation rules, atomic-write success/failure, canonical/relative path formats, duplicate-detection match fields, wrapper-mode .bear/ lifecycle, mid-compile signal interruption, MSVC glued/clang-cl inheritance

Documentation

  • INSTALL.md: document lld requirement on Linux
  • bear.1: document compiler env vars with embedded flags
  • Replace AGENTS.md with topic-scoped CLAUDE.md files
  • Add RELEASE.md capturing the release process

Closed Issues

  • #647 - hangs during dotnet restore (verified fixed with 4.1.x)
  • #685 - install.sh wrong
  • #686 - Windows wrapper mode masquerade compiler resolution
  • #690 - MSVC per-warning option handling
  • #692 - channel disconnect when using a format option

Thanks

Full Changelog: 4.1.1...4.1.2

Don't miss a new Bear release

NewReleases is sending notifications on new releases.