Skip to content

v0.57.0

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:20
· 1 commit to main since this release
fd4f153

What's Changed

  • fix(ui): close contract gaps for hosts that deploy separately from the UI package by @RaghavChamadiya in #3566
  • feat(health): order Fix first by the function's own change history by @RaghavChamadiya in #3565
  • docs(readme): hosted and Foresight near the top, with one way in to each by @RaghavChamadiya in #3574
  • feat(health): say what a Break up split buys in its reason by @RaghavChamadiya in #3581
  • fix(jvm): resolve Kotlin imports of top-level functions and properties by @Aman-goel-04 in #3407
  • fix(jvm): flag Java and Kotlin public API for published modules (#3504) by @rishu685 in #3577
  • fix(core): recognize literal Python lazy exports by @z2Ace0107 in #3570
  • feat(health): a complexity map for Swift by @ybai08 in #3450
  • fix(dataflow): a grouped Go var declares its names by @ybai08 in #3472
  • docs(health): update class metrics availability for Dart, F#, and Obj-C by @AlaminSaifullah in #3479
  • fix: name keyless upgrade commands in init, status, and get_answer by @Aman-goel-04 in #3143
  • fix(health): lead a Fix first finding with the stored plan its first step lifts by @RaghavChamadiya in #3582
  • feat(refactoring): test commands for Go, Rust, JVM and Ruby plans by @RaghavChamadiya in #3585
  • feat(health): hold back layers measured below the precision bar per language by @RaghavChamadiya in #2921
  • feat(refactoring): run a plan's C# tests with dotnet test by @RaghavChamadiya in #3583
  • feat(refactoring): leave the Extract Method helper's name to the person applying the plan by @RaghavChamadiya in #3588
  • fix(health): bind the catch variable as a def in Java, C# and C++ dataflow dialects by @Aman-goel-04 in #3483
  • fix(health): state the performance queue's reason on every finding and settle example-path contexts by @RaghavChamadiya in #3612
  • fix(graph): bind Kotlin alias imports by alias and drop the fake wildcard module by @swati510 in #3607
  • fix(graph): type Kotlin constructor properties and Swift stored properties as receivers by @swati510 in #3609
  • feat(graph): type Dart call receivers from fields, parameters and locals by @swati510 in #3610
  • fix(graph): a module alias reaches only the module's top-level declarations by @swati510 in #3617
  • fix(swift): a subscript read is not a call by @swati510 in #3618
  • fix(graph): give Java same-arity overloads and enum-constant methods their own node by @swati510 in #3616
  • fix(swift): an extension is not a constructible class by @swati510 in #3619
  • fix(graph): type Java call chains, inherited fields, super and cast receivers by @swati510 in #3623
  • fix(jvm): the same-package tier no longer offers another class's method by @swati510 in #3620
  • fix(graph): an overload tie never lands on an overload that can't take the call's arguments by @swati510 in #3625
  • fix(index-scope): stop reporting a keyless index as upgrading by @swati510 in #3634
  • fix(tests): ignore type-only conftest imports when narrowing test selection by @swati510 in #3633
  • fix(health): let a production origin keep example-named packages in Fix first by @swati510 in #3629
  • fix(tests): count only the base side of the index gap by @swati510 in #3628
  • fix(change-risk): count only fixes from before the change in the line-overlap block by @swati510 in #3632
  • fix(graph): give Java anonymous-class and Kotlin object-expression methods their own node by @swati510 in #3624
  • feat(graph): link Spring routes to their handler methods by @swati510 in #3650
  • chore(deps): bump tree-sitter-swift to 0.7.4 by @swati510 in #3647
  • fix(graph): resolve Java's qualified S.super.m() through the super walk by @swati510 in #3671
  • fix(health): classify Dart codegen, minified bundles and webpack chunks as generated by @swati510 in #3637
  • fix(dead-code): read generated files as unindexed users by @swati510 in #3639
  • fix(dead-code): say why a safe-only view is empty by @swati510 in #3646
  • fix(health): stop counting a try block as a nesting level by @swati510 in #3648
  • fix(mcp): name git when get_change_risk cannot find it on PATH by @swati510 in #3659
  • fix(graph): type Python receivers through properties and returned objects by @swati510 in #3666
  • fix(graph): make a Java @interface and its elements symbols by @swati510 in #3670
  • fix(mcp): resolve Class.method and Class::method targets with no file by @swati510 in #3635
  • fix(health): withhold the headline band when most code files are unanalysed by @swati510 in #3641
  • fix(dead-code): a module with a program main is run, not a zombie or unused export by @swati510 in #3645
  • fix(tests): run @SpringBootTest integration tests with every selection by @swati510 in #3636
  • fix(mcp): complete reference edit sets for Go, Java and Kotlin packages by @swati510 in #3642
  • fix(health): roll anonymous-class members up to their named owner by @swati510 in #3643
  • fix(graph): let Kotlin, Swift and Dart parameters shadow a bare call by @swati510 in #3679
  • fix(graph): bind a bare Kotlin call to an extension only with its receiver in scope by @swati510 in #3681
  • fix(mcp): name the nearest symbols when a get_context target misses by @swati510 in #3638
  • fix(health): name one worst file on every surface by @swati510 in #3653
  • fix(dead-code): Gradle and Android entry roots for convention plugins, test modules and manifests by @swati510 in #3657
  • fix(mcp): read freshness and live files from the served checkout by @swati510 in #3644
  • fix(doctor): note a Claude Code MCP entry that serves another repo by @swati510 in #3649
  • fix(tests): let next see tests that reach a file through a package barrel by @swati510 in #3651
  • fix(why): say when the index has no accepted decisions or the path is missing by @swati510 in #3654
  • fix(why): cap git_log at five and state history provenance once per block by @swati510 in #3655
  • fix(health): word ownership_risk by the arm that fired, cap small files at low, rank test-file findings last by @swati510 in #3656
  • fix(health): hold a flat boolean chain at low in complex_conditional by @swati510 in #3665
  • fix(health): count a language-gated unit once in queue counts by @swati510 in #3667
  • fix(distill): honour git log -n and keep each commit's author by @swati510 in #3660
  • fix(health): make get_health cards, gap and count fields agree with the score by @swati510 in #3683
  • fix(security): stop raising high findings on fixtures, scripts and bundles by @swati510 in #3685
  • fix(graph): choose Java overloads by literal argument types and by arity against inherited overloads by @swati510 in #3672
  • fix(graph): let a Java member type shadow a same-named import or package type by @swati510 in #3669
  • fix(health): keep sweep commits and inheritance out of hidden coupling by @swati510 in #3686
  • fix(dead-code): a co-change edge is not an importer in JVM, Go and C++ reachability by @swati510 in #3658
  • fix(graph): keep name-only call tiers inside the caller's build by @swati510 in #3682
  • fix(graph): never offer a Kotlin or Swift property as a bare call's callee by @swati510 in #3680
  • fix(security): exempt __html type keywords only in type positions by @swati510 in #3687
  • fix(health): record no hotspots as null in the trend, not 10.0 by @swati510 in #3684
  • fix(perf): drop perf rows that are the recommended idiom or stated intent by @RaghavChamadiya in #3611
  • refactor(refactoring): store JS/TS test commands in validation.test_runs by @RaghavChamadiya in #3613
  • feat(health): flag Spring Data repository and MyBatis mapper calls in Java loops by @RaghavChamadiya in #3615
  • docs(benchmarks): rewrite the page for readers new to repowise, with October scores by @swati510 in #3640
  • fix(dead-code): state the withheld unused_internal reason as a measurement by @swati510 in #3668
  • fix(dead-code): Compose previews and Dagger/Hilt modules are framework-loaded by @swati510 in #3661
  • fix(health): keep Fix first item detail about the item itself by @swati510 in #3693
  • fix(risk): lead change risk with the size percentile, not a review priority by @swati510 in #3664
  • fix(change-risk): split include_paths given as a string and key the cache on it by @swati510 in #3698
  • fix(mcp): stop used_by and search notes contradicting their own payload by @swati510 in #3699
  • fix(graph): bind Dart named constructors and type chained calls by return type by @swati510 in #3701
  • fix(graph): choose Java overloads by the declared types of named arguments by @swati510 in #3704
  • fix(graph): resolve Kotlin extension calls on a typed receiver by @swati510 in #3707
  • fix(change-risk): read the indexed commit through one resolver and stamp it from one head by @swati510 in #3708
  • fix(answer): extract a value only for the constant the question names by @swati510 in #3700
  • fix(change-health): match findings by identity across renames, line shifts and centrality by @swati510 in #3715
  • fix(answer): grade confidence on whether the top hit covers the question by @swati510 in #3716
  • fix(security): honour the repository's .gitleaks.toml path allowlist by @swati510 in #3709
  • fix(risk): keep repowise's own output out of working-tree change risk, and count untracked files the same everywhere by @swati510 in #3712
  • fix(mcp): say which checkout and commit change risk and health read by @swati510 in #3719
  • fix(impacted-tests): a comment or docstring mention no longer names a file by @swati510 in #3720
  • fix(mcp): treat tree-sitter query and history-tier files as what they are by @swati510 in #3723
  • fix(why): rank rationale comments by weighted coverage and serve a card's best commits by @swati510 in #3724
  • docs(commercial): state which part of change policy is open source by @RaghavChamadiya in #3714
  • feat(registry): discover plugins from entry points and add named seams by @RaghavChamadiya in #3717
  • feat(types): renderer-neutral evidence cards with a validator and web renderer by @RaghavChamadiya in #3718
  • feat(components): Backstage-shaped component model with derived defaults and rollups by @RaghavChamadiya in #3722
  • fix(impacted-tests): derive the prose suffixes from DOC_EXTENSIONS by @RaghavChamadiya in #3729
  • feat(types): chat view parts (table, chart, section) with validator and server twin by @RaghavChamadiya in #3728
  • feat(attribution): three-state AI labels with coverage, and a switch to turn attribution off by @RaghavChamadiya in #3732
  • feat(server): authenticate REST, MCP HTTP and webhooks to a principal with repo and tool scope by @RaghavChamadiya in #3725
  • fix(mcp): share a running test selection instead of answering busy by @swati510 in #3727
  • fix(why): dedupe a card's commits by full sha, not a seven-character prefix by @swati510 in #3726
  • fix(graph): bind Kotlin operator invoke calls and multiplatform declarations by source set by @swati510 in #3733
  • fix(change-risk): scope every per-file block to include_paths, not only the health delta by @swati510 in #3730
  • fix(impacted-tests): a conftest reading a literal constant reaches only its module by @swati510 in #3731
  • fix(graph): type Kotlin, Swift and Dart locals from the call that assigns them by @swati510 in #3734
  • fix(graph): read a Kotlin library import's last name through bare_type_name by @swati510 in #3737
  • fix(coverage): give files changed since a stale coverage report no figures by @swati510 in #3735
  • fix(answer): reach function bodies by rare terms and literals, and stop trusting an off-topic exact name by @swati510 in #3736
  • feat(mcp): route workspace targets to the repo that owns them by @RaghavChamadiya in #3740
  • feat(chat): server-built tables and charts from tool results via show_view by @RaghavChamadiya in #3743
  • feat(mcp): run repo="all" through one federation helper with partial results by @RaghavChamadiya in #3742
  • feat(changes): Change Records reconstructed from git, with CLI, REST and a web page by @RaghavChamadiya in #3745
  • feat(chat): headless chat sessions on one transport-neutral engine by @RaghavChamadiya in #3746
  • feat(attribution): opt-in edit capture for Claude Code, Codex and Cursor by @RaghavChamadiya in #3744
  • fix(mcp): check caller definition lines live and fold plurals in symbol search by @swati510 in #3741
  • fix(persistence): chain the chat sessions migration after change records as 0111 by @RaghavChamadiya in #3763
  • fix(attribution): read YAML capture: off, keep hook stdout clean, skip stub lines, keep the bound model by @RaghavChamadiya in #3765
  • fix(graph): give Kotlin overloads and same-named extensions their own ids by @swati510 in #3766
  • fix(change-risk): treat text templates as data, not unanalysed code by @swati510 in #3767
  • fix(why): govern a target only by exact scope, and word the reason from the basis by @swati510 in #3769
  • fix(change-risk): keep repowise's own output out of test selection by @swati510 in #3770
  • fix(answer): serve a body the question names only as context as evidence, not as the answer by @swati510 in #3771
  • fix(impacted-tests): a conftest calling a self-contained function reaches only its module by @swati510 in #3772
  • fix(search): score hybrid symbols on content words when there is no identifier by @ozenyunus35 in #3677
  • fix(health): require recent commits for developer_congestion by @ozenyunus35 in #3675
  • fix(health): count AVA's t.* assertions in JS/TS tests by @ozenyunus35 in #3674
  • fix(answer): keep one best_guesses row per file by @ozenyunus35 in #3673
  • fix: correct opportunity pluralization, ordinal labels, and step guidance by @ozenyunus35 in #3465
  • fix(search): scan code-punctuation literals and keep them out of path mode by @Aman-goel-04 in #3721
  • fix(public-api): flag exported Go identifiers outside internal packages by @Aman-goel-04 in #3537
  • fix(coverage): let any unapplied gate give way to the project verdict by @Aman-goel-04 in #3519
  • fix(health): give --refactoring-targets --recompute plans their findings (#3496) by @am1rqr in #3521
  • fix(dataflow): a write in a TypeScript, Go or Python switch arm is a may-def by @ybai08 in #3522
  • fix(health): exclude C# type arguments from callee names by @ningkexin96 in #3475
  • feat(perf): say whether Pascal perf loops grow with the data by @Laex in #3517
  • fix(refactoring): a write that may not run does not cover a later read in the span by @ybai08 in #3589
  • fix(health): break the worth -> complexity -> perf import cycle by @cestercian in #3538
  • fix(health): let a keyed loop call clear key_unused for its line by @cestercian in #3539
  • fix(embedding): scale the default Ollama timeout with the batch size by @cestercian in #3578
  • fix(cli): print each why history commit once by @kocaemre in #3608
  • fix(cli): report git's message for an unknown ref in repowise risk by @ColumbusLabs in #3622
  • fix(git_indexer): count 'Fixed', 'Fixes', 'Fixing', 'hotfix' and 'bugfix' as bug fixes (#3564) by @rishu685 in #3567
  • fix(mcp): state get_risk's churn rank as a rank in risk_summary by @PragalvaXFREZ in #3560
  • fix(chat): keep the URL bare on a new conversation by @harisawan-bit in #3576
  • fix(cpp): discover project export macros in headers beside target sources by @Aman-goel-04 in #3706
  • fix(dead-code): recognize Kotlin operator functions as contract methods by @dev-ploy in #3695
  • fix(core): classify C# files in test projects as test material (#3233) by @rishu685 in #3586
  • fix(ingestion): re-include pruned directories via '!' negation rules (#3238) by @rishu685 in #3563
  • fix(graph): resolve Python test paths anchored at Path(file) ancestors (#3245) by @rishu685 in #3518
  • fix(ingestion): handle relative paths in Gradle module indexing by @ASVLCII in #3587
  • fix(answer): constructors, project-name words and module names stop steering retrieval; ruled-out files drop by @swati510 in #3773
  • test(health): check that an arms-only stage is not served by @RaghavChamadiya in #3774
  • fix: preserve C# using declaration scope in Extract Method by @ozenyunus35 in #3463
  • fix(tests): close the sqlite connection before renaming the folder by @X77seven in #3696
  • fix(health): report no hotspot figure for an empty trend history by @h55n in #3705
  • fix(ui): say a repository has no hotspot files instead of blaming the scope by @Imad2702 in #3713
  • fix: scope superseded decision references by @KeuqS in #3748
  • fix(opencode): drop --dir for OpenCode CLI v2 compatibility by @hirawat-ll in #3572
  • fix(ui): let taps through the hidden conversation row toolbar by @ynaamane in #3764
  • docs: make the layer pages scannable and move method detail to architecture docs by @RaghavChamadiya in #3777
  • feat(check): local change policy with repowise check (policies.yaml, SARIF, JUnit) by @RaghavChamadiya in #3779
  • feat(chat): render tables and charts from view parts in the web chat by @RaghavChamadiya in #3780
  • feat(mcp): serve Change Records and attribution through MCP and chat views by @RaghavChamadiya in #3784
  • feat(workspace): derived workspace store, and route bare symbol names across repos by @RaghavChamadiya in #3786
  • docs: add layer pages for AI attribution and Change Records by @RaghavChamadiya in #3775
  • fix(cli): offer the changes and provenance blocks in repowise context --include by @RaghavChamadiya in #3790
  • test(health): record the workspace store as hotspot_health plumbing by @RaghavChamadiya in #3795
  • feat(components): compare declared owners with recent activity per component by @RaghavChamadiya in #3781
  • feat(chat): check each figure in an answer against the turn's tool results by @RaghavChamadiya in #3793
  • feat(changes): evidence checklist on Change Records by @RaghavChamadiya in #3791
  • feat(attribution): backfill past commits from local agent transcripts by @RaghavChamadiya in #3792
  • feat(events): component snapshots per index run and typed events between them by @RaghavChamadiya in #3799
  • feat: group the Commits page by change, with each change's evidence checklist by @RaghavChamadiya in #3803
  • fix(update): name the attribution backfill as the reason for a git history re-read by @RaghavChamadiya in #3804
  • feat(report): repowise report assessment, an evidence pack per repo or workspace by @RaghavChamadiya in #3805
  • feat(inventory): package usage, component inventory, CycloneDX export and advisory-source seam by @RaghavChamadiya in #3806
  • fix(events): take component snapshots on repos with git owners by @RaghavChamadiya in #3808
  • fix(components): name derived components past route params and qualify collisions by parent by @RaghavChamadiya in #3809
  • feat(changes): outcomes on Change Records from explicit links only by @RaghavChamadiya in #3812
  • feat(suspects): rank recent changes against a symptom, with the evidence for each by @RaghavChamadiya in #3813
  • fix: make the change, events, chat and docs surfaces read what they mean by @RaghavChamadiya in #3814
  • feat(report): change evidence pack for a period by @RaghavChamadiya in #3815
  • fix(dead-code): see C# scanned plugins, Swift cross-file uses and Java classes named in resources by @RaghavChamadiya in #3832
  • fix(git): read the newest 5,000 commits by default instead of 500 by @RaghavChamadiya in #3833
  • fix(chat): views cite results across the conversation, and setup failures end as chat errors by @RaghavChamadiya in #3834
  • fix(health): hold findings on vendored and generated files and history markers on tests at serving by @RaghavChamadiya in #3840
  • feat(chat): a chart view built from a small spec over any result by @RaghavChamadiya in #3843
  • fix(web): show sync failures and provider problems with a way to fix them by @RaghavChamadiya in #3838
  • refactor(dead-code): split the C# scan and Swift reachability readers into helpers by @RaghavChamadiya in #3846
  • refactor(providers): one resolver for LLM and embedder configuration by @RaghavChamadiya in #3847
  • feat(settings): set model and base URL from the dashboard, with live model lists by @RaghavChamadiya in #3849
  • feat(chat): a chart tool that draws any repository dataset in one call by @RaghavChamadiya in #3860
  • fix(events): measure contract events after extraction and drop the attribution_jump kind by @RaghavChamadiya in #3861
  • refactor(events): split the contract-facts refresh into small helpers by @RaghavChamadiya in #3863
  • feat(gates): serve every language, with a preview label where precision is below the bar by @RaghavChamadiya in #3867
  • fix(chat): draw one column per field when a chart field plays two roles by @RaghavChamadiya in #3865
  • feat(providers): support GPT-6 and refresh model lists and prices by @RaghavChamadiya in #3868
  • feat(chat): suggest the charts chat can draw by @RaghavChamadiya in #3869
  • feat(ui): one colour palette for every chart by @RaghavChamadiya in #3871
  • feat(web): show events as a view of the Commits page by @RaghavChamadiya in #3872
  • fix(ui): render MetricCard label and description as blocks by @RaghavChamadiya in #3875
  • fix(ingestion): support Swift optional-binding call assignments by @RinZ27 in #3768
  • fix(bug):Rust single-segment, grouped and aliased use declarations ar… by @Soham05Hanchate in #3575
  • refactor(ui): share one median helper and one effort label map by @PragalvaXFREZ in #3561
  • fix(ui): portal the docs Export menu so the header doesn't clip it by @ozenyunus35 in #3778
  • fix(analysis): unify git cat-file --batch reader across analysis consumers (#3332) by @rishu685 in #3702
  • fix(health): don't plan Extract Method spans over match arms, and bind pattern captures by @ozenyunus35 in #3782
  • fix(distill): preserve failure messages for verbose go test runs (#3596) by @rishu685 in #3627
  • fix(dataflow): taking a variable's address in Go is a write of it by @ybai08 in #3474
  • fix(ingestion): record Kotlin calls whose only argument is a trailing lambda by @ozenyunus35 in #3783
  • fix(ui): open the stored plan from a plan-led Fix first finding by @Imad2702 in #3662
  • test(web): align fix-first-section scope and exclusions assertions (#3336) by @Fire162 in #3339
  • docs: say semantic search uses LanceDB on every SQL backend by @SatvikMishra08 in #3155
  • test(workspace): ceiling the workspace walk inside unit tests by @ump45nose in #3417
  • fix(generate): seed --unwritten from model-written pages only by @ozenyunus35 in #3811
  • fix(analysis): weight reviewer recency by each author's own recent commits by @Aman-goel-04 in #3074
  • fix(ingestion): exclude shallow-clone boundary lines from blame ownership by @Aman-goel-04 in #3073
  • fix(graph): bind Kotlin multiplatform calls only to declarations their source set sees by @Aman-goel-04 in #3831
  • feat(server): add Gitea and Forgejo webhook endpoint by @coffeehorn in #3797
  • fix(code-origin): classify Visual C++ resource headers as generated by @Yushu-Li in #3842
  • fix(code-origin): recognise SwiftPM version-specific manifests as build files by @aazminu in #3841
  • feat(web): what's new after every upgrade, with highlights and the numbers by @RaghavChamadiya in #3874
  • fix(code-origin): class the Dart SDK headers under dart-sdk/ as vendored by @MohitBareja16 in #3652
  • fix(server): send preview only on preview cells on every surface, and resync the bundled changelog by @RaghavChamadiya in #3877
  • fix(ingestion): skip Unity state dirs only inside a Unity project by @Sriram-PR in #3866
  • fix(ingestion): read every module of a Groovy settings.gradle include by @Susheonnn in #3626
  • fix(security): ignore uppercase identifier values by @Kumar-Abhimanyu in #3420
  • fix(ingestion): resolve Dart call chains of three or more links (#3755) by @Enard52 in #3794
  • fix(security): deduplicate history findings across file versions by @arnavsx3 in #3631
  • feat(ingestion): Astro at the Full tier via a byte-scanned TS projection by @nightious in #3164
  • fix(ingestion): type a Kotlin local assigned from a call with a trailing lambda by @ozenyunus35 in #3785
  • feat(workspace): MassTransit message contracts for C# and VB.NET by @MadalinNov in #3070
  • fix(health): count declared parameters across languages by @PHJ2000 in #3848
  • fix(dead-code): lead with deletion-ready lines and link packages that import their own directory by @RaghavChamadiya in #3884
  • chore(core): remove an unused decision gate shim and three unused helpers by @RaghavChamadiya in #3883
  • feat(code-health): a clearer map, file drawer and trend for every repo size by @RaghavChamadiya in #3879
  • fix(suspects): keep git off the MCP stdin pipe so suspects cannot hang by @RaghavChamadiya in #3888
  • fix(mcp): reject option-like revspecs in get_change_risk by @RaghavChamadiya in #3893
  • fix(wiki): retire a symbol spotlight when its symbol leaves a live file by @RaghavChamadiya in #3892
  • fix(health): test-quality markers read the stamped test flag, not the file name by @RaghavChamadiya in #3898
  • fix(mcp): restore an oversized omission ref in pages that make progress by @RaghavChamadiya in #3899
  • fix(mcp): report the repowise version in the MCP handshake by @RaghavChamadiya in #3900
  • fix(changes): look a change up by the forge ref that listings print by @RaghavChamadiya in #3904
  • fix(doctor): leave tombstoned pages out of the store reconciliation by @RaghavChamadiya in #3907
  • fix(mcp): name unknown get_overview include values in ignored_arguments by @RaghavChamadiya in #3916
  • fix(distill): run a forward-slash program path through cmd.exe on Windows by @RaghavChamadiya in #3918
  • fix(health): drop replayed function hotspots whose function no longer clears the complexity floor by @RaghavChamadiya in #3891
  • fix(core): keep SyntaxWarnings from analysed Python source off the console by @RaghavChamadiya in #3890
  • fix(cli): status sync totals agree with the pages table by @RaghavChamadiya in #3889
  • fix(deps): patch fsspec, Mako, multidict, source-map-js, postcss-selector-parser and KaTeX advisories by @RaghavChamadiya in #3887
  • fix(ingestion): skip git-ignored manifests when discovering third-party packages by @RaghavChamadiya in #3894
  • fix(workspace): detect src-layout packages as service boundaries by @RaghavChamadiya in #3897
  • fix(mcp): list each consuming repo once in dead-code cross-repo notes by @RaghavChamadiya in #3895
  • fix(git): keep non-code co-change partners when update re-walks history by @RaghavChamadiya in #3896
  • fix(report): report changes covers the last 90 days unless --since says otherwise by @RaghavChamadiya in #3924
  • perf(change-risk): skip the change blocks on a finding_id drill-down by @RaghavChamadiya in #3925
  • perf(impacted-tests): stop redoing per-file work on every selection by @RaghavChamadiya in #3927
  • perf(suspects): read each change's git text once per server by @RaghavChamadiya in #3928
  • release: v0.57.0 · Change Records with evidence, change policy, charts in chat, models from Settings by @RaghavChamadiya in #3885

New Contributors

Full Changelog: v0.56.0...v0.57.0