Repository navigation
Releases: lakeday-org/perch
Releases · lakeday-org/perch
Release list
v0.4.3
v0.4.2
0.4.2 (2026-10-08)
Features
- perch coverage finds low-value tests and real coverage gaps (#317) (767a4e4)
- perch coverage finds tests in every language scan reads (#331) (0c27493)
- perch coverage makes every mutant of a method, fourteen kinds (#337) (7f88076)
- perch coverage predicts which mutants your tests kill (#320) (73fc9bf)
- PERCH_BASE_URL can point at OpenAI's Decisions API (#335) (e122e6d)
Bug Fixes
v0.4.1
0.4.1 (2026-10-02)
Features
Bug Fixes
- a repository with no code scans its file rules instead of failing (#250) (bba684d)
- perch scan --filter rule= hid perch.yaml parse errors (#264) (879944b)
- perch scan asked again about unchanged methods when lines above them moved (#310) (7f6967d)
- perch scan failed on defect readings barely over 50% (#303) (613c4c4), closes #302
- perch sent a model more questions per request than it accepts (#265) (07d38ca)
- Rust super imports resolved to no module or the wrong one (#287) (32ecb54)
v0.4.0
0.4.0 (2026-09-30)
⚠ BREAKING CHANGES
- report scans to Perch Cloud and replace local answer reuse (#170)
- A scan asks one broad bug question,
has_bug, alerting at 60%, andkindnames what it found. The 15 specific bug checks are gone: on held-out bug pairs they added false alerts without ranking bugs any better. Security is asked only with--filter type=securityorsecurityinscan_types. It asks the 2025 CWE Top 25, less CWE-20, plus six more classes, filtered by language: 21 checks for Python, JavaScript and TypeScript, 22 for Java and Go, 28 for Rust, 30 for C and C++. Security findings use labels such assql_injectionandmissing_authorization, so filters and closures written against the old labels no longer match. See the benchmark results.
Features
- one bug question, and security checks chosen by CWE and language (#172) (9398517)
- Optimize bug questions (#228) (3f15291)
- perch scan --force asks Perch Cloud again instead of using cached answers (#233) (f90c379), closes #232
- report scans to Perch Cloud and replace local answer reuse (#170) (268f9e1)
- scan with Liquid AI decision models (#230) (0157f09), closes #229
Bug Fixes
- a Choice names at most 128 lines, which is what Perch Cloud's bug model accepts (#243) (43cf831)
- a method or file needing more than 64 requests was skipped instead of read (#179) (0f3269c)
- a request that meets a login refreshed under it is sent again with the new token (#247) (0d8181f)
- a scan that could not read some methods exits 1 instead of passing (#249) (0f6a33e)
- code outside a named function was never scanned (#214) (93844c7)
- ignore dir/** skipped only the directory's top level (#216) (63ffd5d)
- parser downloads are retried and happen on first use, so a GitHub error no longer stops a scan (#245) (dc538f2)
- perch check never asked mentions or callers-of rules (#209) (66a6999)
- perch issues <id> printed documented NaN% on a default scan (#165) (b50eb63)
- perch no longer asks which line a defect or broken rule is on; a finding points at its method (#248) (389d15a)
- perch scan <path> read nothing when ignore covered it (#177) (eaa137b)
- perch scan flagged code outside functions as misnamed (#224) (0a71e83)
- perch scan kept rule answers about edited comments and deleted tests (#213) (c4ef3c1)
- pull requests ran Perch twice (#211) (3903626)
- security questions no longer treat the operator's own arguments as untrusted (#241) (2256b58), closes #240
Performance Improvements
v0.3.5
0.3.5 (2026-09-24)
Bug Fixes
- a method whose neighbourhood did not fit the budget was never read (#103) (182b5a4)
- a reading over the request allowance was sent partway before being dropped (#104) (5754679)
- a request could carry more questions than the gateway accepts (#121) (6a399b7)
- a scan target reached through a symlink read no methods (#146) (69b519d)
- a scan with no API credits reported nothing to report and exited 0 (#145) (a6c5960)
- a scan with only method rules still read every file's source (#148) (05b46d6)
- a syntax error anywhere in a file dropped every method in it (#140) (f0acade)
- Improve large document scanning (#102) (5500d69)
- large scans repeatedly rewrote every previous answer (#116) (37822e3)
- perch rules could not add to, edit or remove from a split rule file (#100) (9a2dbd8)
- question batches were capped at 128 when System One limits tokens (#152) (014fc18)
- reference extraction rejected non-ASCII names and misread TypeScript imports (#147) (9e0d66c)
- unqualified Go calls searched every file in the repository (#127) (159dbec)
Performance Improvements
v0.3.4
0.3.4 (2026-09-21)
Features
Bug Fixes
- a scan could hang, crash, or pass on an unread file (#93) (06d577b)
- allow custom API endpoints and models (ba775a9)
- dependency and build directories were entering scans across languages (#92) (b4ad713)
- file rules skip the files method scanning excludes (#88) (77aee23)
- large files were skipped or exceeded Jev's request limits (#89) (aa3f08c)
- minified JavaScript variants stay out of scans (#82) (2d2fded)
- write .perch/.gitignore instead of editing .git/info/exclude (#76) (f494ffe)