Skip to content

v0.12.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 22:51
· 144 commits to main since this release
v0.12.1
802fe29

Upgrading to v0.12.1

Behaviour changes

  • error-swallowing (looser): A Python handler that catches only parse errors and does nothing but continue (a loop skipping lines that do not parse) is Unparseable Input Skipped, a warning at most, instead of a blocking Empty Error Handler Added. A bare return in a handler followed by a failing statement after the try is the expect-this-to-raise idiom and is no longer reported. Migration: None.
  • C/C++ (looser (assertion counts); stricter (code in C++ headers and guarded C headers is now read)): Same-file helpers are followed up to three calls deep (was one), a recursive helper counted once; abort, exit, std::terminate and __builtin_trap count as fatal assertions; extern "C" guards under #ifdef __cplusplus no longer leave error regions in C headers; a .h header the C grammar cannot read is re-read as C++ when that leaves fewer error regions. Migration: A C or C++ header can receive findings it did not before.
  • error-swallowing (looser): A handler whose try body ends in a statement that always fails (assert False, raise, pytest.fail(...), JUnit fail(...)) is the expect-this-to-raise idiom and is no longer reported. Migration: None.
  • error-swallowing (looser): A Python except for KeyboardInterrupt, SystemExit or GeneratorExit alone is no longer Empty Error Handler Added: these are stop and exit requests, not errors. Mixed with an error type, or as BaseException, it is still reported. Migration: None.
  • config-integrity, command, test-floor, --policy-from base (looser): A --config path outside the repository no longer exits 2 (repo path ... should be relative): the base side falls back to the base discipline.toml, and config-integrity notes that it compares nothing for an operator's file the change cannot edit. Migration: None.

The full ledger is in docs/ROADMAP.md.

What's Changed

  • fix(config): a --config outside the repository no longer exits 2 by @orieg in #189
  • fix(error-swallowing): a Python handler for a stop or exit signal alone is not reported by @orieg in #190
  • fix(c,python): helpers three calls deep, C header guards, C++ headers, expect-raise try bodies by @orieg in #191
  • feat(error-swallowing): a loop skipping unparseable input is a warning; return-then-fail is expect-raise by @orieg in #192
  • chore(release): bump version to 0.12.1 with its ledger rows by @orieg in #193

Full Changelog: v0.12.0...v0.12.1