What's Changed
- release(vscode): v0.9.0 by @RaghavChamadiya in #1939
- feat(architecture): add bounded external dependency summaries by @RaghavChamadiya in #1942
- feat(ui): upgrade architecture external dependencies by @RaghavChamadiya in #1943
- feat(architecture): add focused package relationships by @RaghavChamadiya in #1946
- feat(chat): Make repository chat contextual across the app by @RaghavChamadiya in #1949
- fix(openai): support GPT-5.6 function tools in chat by @RaghavChamadiya in #1950
- feat(chat): add persistent contextual dock by @RaghavChamadiya in #1951
- fix(mcp): stop get_why shedding the lanes that answer the question by @RaghavChamadiya in #1954
- feat(chat): refine contextual chat UX and conversation lifecycle by @RaghavChamadiya in #1960
- fix(mcp): trim get_why lanes before dropping them, and name what the answer rests on by @RaghavChamadiya in #1963
- feat(chat): add durable artifact workspace by @RaghavChamadiya in #1964
- fix(coupling): stop a malformed payload blanking the architecture page by @RaghavChamadiya in #1965
- feat(core): stop example trees shaping community detection by @RaghavChamadiya in #1966
- refactor(co-change): read co-change records in one place by @RaghavChamadiya in #1967
- refactor(health): one definition of module per question by @RaghavChamadiya in #1968
- feat(coupling): say whether co-changing files should change together by @RaghavChamadiya in #1972
- feat(coupling): filter by what the graph explains, and open a pair by @RaghavChamadiya in #1973
- refactor(perf): give each opportunity rule one owner, and pin what identity means by @RaghavChamadiya in #1974
- fix(mcp): prefer most-specific workspace repo by @cipher-v in #1865
- refactor(perf): share the sink-reachability walk between crossfn and gated by @NgoQuocViet2001 in #1752
- fix(ingestion): resolve Pascal dead-code false positives and disambiguate type kinds by @Laex in #1675
- fix(ingestion): parse C++ export-macro forward declarations by @Excelius-Wang in #1913
- feat(providers): support local OpenAI-compatible gateways by @justonemorenight in #1822
- fix: support trailing globs in path search by @mikemikimike in #1881
- fix(mcp): renumber deduped guided tour steps by @mikemikimike in #1889
- fix(security): stop reporting RegExp.exec, and catch the constant secret form by @tacopiek in #1947
- feat(coupling): ask whether an edge was possible, not whether it was a node by @RaghavChamadiya in #1975
- feat(perf): name a repeated-cost cause by its caller, not just its sink by @RaghavChamadiya in #1978
- perf(cli): cut the per-call startup floor by @sloemo01 in #1833
- fix(dead-code): clamp unused-export confidence on unresolved dynamic use (#1910) by @sloemo01 in #1959
- fix(coverage): answer the Tests tab for files a partial report never named by @sloemo01 in #1805
- perf(ingestion): one repo walk per update, not one per worker by @azhard in #1926
- Add tree-sitter pattern for three-part qualified calls (#1918) by @Aman-goel-04 in #1920
- fix(tests): match the co-change edge gate the builder actually applies by @RaghavChamadiya in #1982
- feat(change-risk): lead with what the change made worse, not what the diff weighs by @RaghavChamadiya in #1980
- feat(performance): serve the opportunity queue from a materialized read model by @RaghavChamadiya in #1981
- fix(tests): regenerate the performance corpus golden for the current finding id by @RaghavChamadiya in #1983
- fix(refactoring): suppress the plans the gates cannot prove behaviour-preserving by @RaghavChamadiya in #1984
- feat(health): rebuild the Performance tab around interventions by @RaghavChamadiya in #1985
- feat(refactoring): give plans a versioned identity and a real lifecycle by @RaghavChamadiya in #1986
- feat(refactoring): compose per-file opportunities from plans by @RaghavChamadiya in #1988
- feat(health): put the performance lens on the one Galaxy by @RaghavChamadiya in #1987
- feat(refactoring): serve composed opportunities from a materialized read model by @RaghavChamadiya in #1992
- feat(health): a fill ramp for the galaxy, and a calmer file sidebar by @RaghavChamadiya in #1991
- feat(ui): move loading motion from the box to the region by @RaghavChamadiya in #1993
- feat(ui): shape components, and retire the owl from the repo routes by @RaghavChamadiya in #1994
- feat(ui): costs error states, and the sidebar's scale, reachability and rhythm by @RaghavChamadiya in #1995
- fix(tests): list the composed refactoring tables in the model table check by @RaghavChamadiya in #1997
- feat(refactoring): make the composed opportunity the unit on every surface by @RaghavChamadiya in #1998
- fix(health): rebuild the derived queues whenever the findings are replaced by @RaghavChamadiya in #2000
- docs(layers): document the security scan, floor and all by @tacopiek in #1948
- feat(performance): default the opportunity queue to production context by @RaghavChamadiya in #2003
- fix(health): stamp a full index with its commit and compose after governance by @RaghavChamadiya in #2001
- fix(cli): render a refactoring step whose plan falls outside the limit by @RaghavChamadiya in #2004
- fix(performance): require centrality for the hot-path gate by @RaghavChamadiya in #2007
- fix(ui): align the opportunity row columns below the lg breakpoint by @RaghavChamadiya in #2010
- fix(performance): solve the loop-carried must-def analysis to a fixpoint by @RaghavChamadiya in #2009
- fix(analysis): detect JSX prop-guard dead code (#1554) by @rishu685 in #1570
- fix(cli): resolve DB identity on delegated worktree updates (#746) by @paarthsikka in #841
- fix(coverage): flag severe path-mapping loss instead of treating it as success (#1746) by @sloemo01 in #1955
- fix(config): surface broken repo config instead of silently using defaults (#852) by @sloemo01 in #1958
- fix(workspace): single-flight workspace updates by @sloemo01 in #1834
- fix(providers): add codex_cli to the server provider catalog (#1530) by @sloemo01 in #1953
- fix(ui): band the workspace health score on the same ladder the repo pages use by @RaghavChamadiya in #2012
- fix(ui): lift the chat dock only where the graph controls are actually under it by @RaghavChamadiya in #2013
- fix(ui): settle the dark overlay plane and the wells nested inside it by @RaghavChamadiya in #2014
- feat(ui): give the AI prompt modal hairlines instead of a filled well by @RaghavChamadiya in #2015
- feat(ui): give model work its own accent instead of borrowing orange and green by @RaghavChamadiya in #2016
- feat(ui): let the Ask Repowise dock be dismissed, and brought back from settings by @RaghavChamadiya in #2017
- fix(persistence): give the coverage migration its own revision id by @RaghavChamadiya in #2019
- fix(tests): stop
servepinning one database for the rest of the session by @RaghavChamadiya in #2020 - release: v0.47.0 — composed refactoring opportunities, contextual chat, explained coupling by @RaghavChamadiya in #2021
New Contributors
- @mikemikimike made their first contribution in #1881
- @tacopiek made their first contribution in #1947
- @azhard made their first contribution in #1926
- @Aman-goel-04 made their first contribution in #1920
Full Changelog: v0.46.0...v0.47.0