Skip to content

v0.33.0

Latest

Choose a tag to compare

@manykarim manykarim released this 14 Apr 19:39

What's Changed

Bug Fixes & Hardening — Riskstorming v1 Mitigations (#138)

Address critical, high, and medium risks identified in the riskstorming report across 9 areas:

  • Fix datamatrix ignore-area y: key typo that caused masking failures downstream in get_image_with_ignore_areas().
  • Remove dead code from IgnoreAreaManager (methods crashed on non-existent self.opencv_images).
  • Rewrite Downloader with proper URL parsing, GitHub blobraw URL conversion, scheme validation (http/https/ftp), 100 MB size limit, and HTML content sniffing to warn on redirected login/error pages.
  • Fix PostScript grammar (PrintJobTests) to accept generic DSC comments, optional setup sections, and trailer data lines. Mock-based parser tests were replaced with real-fixture parsing tests.
  • Replace 97 print() calls with robot.api.logger / logging across all modules for proper Robot Framework log integration at correct log levels.
  • Narrow exception handling — 4 bare except: replaced with specific types; 33 remaining broad handlers documented.
  • Add CapabilityCheck module with environment preflight detection for 7 capabilities (tesseract, ghostscript, ghostpcl, imagemagick, pymupdf, pyzbar, openai) and a Check DocTest Environment Robot Framework keyword.
  • Add 34 LLM mock tests covering all decision branches (approve / reject / flag / error / timeout / missing-deps) with no real API calls.
  • Add 11 performance benchmarks for load time, comparison speed, and memory management.

Test suite: 393 → 510 tests (+117), 0 failures, 3 skipped.

Full Changelog

v0.32.0...v0.33.0