Skip to content

MFDoctor 1.0.0-rc.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Aug 19:46
· 58 commits to main since this release
a7afb02

What's Changed

Maintenance

  • chore(deps): upgrade UI to Vite 8 and latest packages by @dependabot[bot] in #6
  • chore(deps): bump @rspress/core from 2.0.18 to 2.0.19 by @dependabot[bot] in #239
  • chore(deps-dev): bump @types/node from 26.1.1 to 26.1.2 by @dependabot[bot] in #241

Other changes

  • fix(ci): unblock Quality typecheck and Package preview by @tonoizer in #1
  • feat(examples): intentional finding showcases for CLI demos by @tonoizer in #2
  • chore: upgrade to pnpm 11 and refresh dependencies by @tonoizer in #3
  • feat(ui): add read-only --ui dashboard with federation graphs by @tonoizer in #4
  • fix(ui-server): clear CodeQL shell-command alert by @tonoizer in #7
  • docs: consolidate root docs into the Rspress site by @tonoizer in #8
  • docs: upgrade Rspress site to v2 with Doctor branding by @tonoizer in #9
  • feat: add overrideable performance asset budgets by @tonoizer in #21
  • feat(examples): add red mixed federation and themed showcases by @tonoizer in #19
  • feat: add opt-in browser runtime trace import and correlation by @tonoizer in #22
  • docs: link remaining follow-ups to GitHub issues by @tonoizer in #23
  • docs: drop name-required showcase as plugin hard-fail by @tonoizer in #20
  • docs: align roadmap with v1.0 milestone by @tonoizer in #31
  • docs: make private MF plugin fields a permanent non-goal by @tonoizer in #35
  • docs: mark runtime-only MF (no bundler plugin) out of scope (MFDOCTOR-117) by @tonoizer in #36
  • feat: make bundler plugins the primary Doctor DX by @tonoizer in #24
  • feat: guarantee Doctor is build-time only (MFDOCTOR-115 / #32) by @tonoizer in #37
  • feat: complete v1 dynamic-import analysis (MFDOCTOR-105) by @tonoizer in #39
  • feat: add Webpack adapter (MFDOCTOR-101 / #10) by @tonoizer in #38
  • feat: fingerprint baselines and suppressions (MFDOCTOR-111) by @tonoizer in #40
  • feat: add workspace federation gate for CI (MFDOCTOR-109) by @tonoizer in #41
  • docs: ship v1 compatibility matrix with CI cells (MFDOCTOR-106) by @tonoizer in #42
  • feat: shareable policy packs and named presets (MFDOCTOR-110) by @tonoizer in #43
  • fix: uppercase Webpack adapter export to ModuleFederationDoctorPlugin by @tonoizer in #44
  • chore: add Module Federation agent skill by @tonoizer in #45
  • ci: wire showcase demos into PR CI (MFDOCTOR-127) by @tonoizer in #62
  • docs: suppressions and allowlists (MFDOCTOR-124) by @tonoizer in #64
  • fix: clear Dependabot alert — bump react-router to ≥8.3.0 by @tonoizer in #65
  • fix: clean UI debris and changelog honesty before publish by @tonoizer in #68
  • fix: stabilize mixed-federation Playwright e2e by @tonoizer in #63
  • fix: harden probe redirects against SSRF (MFDOCTOR-129) by @tonoizer in #67
  • feat: agent-friendly post-build Doctor output (#46, #54) by @tonoizer in #69
  • test: enforce published JSON schemas against Doctor output by @tonoizer in #66
  • chore: remove Codex mfdoctor skill after agent-complete CLI by @tonoizer in #70
  • docs: slim Get Started IA and clear Rules nav (MFDOCTOR-121) by @tonoizer in #71
  • feat: nested multi-bundler federation showcase by @tonoizer in #74
  • fix: reduce heuristic shared/config false-positive noise by @tonoizer in #72
  • feat: per-bundler standalone findings demos (#48) by @tonoizer in #73
  • feat: cover Rolldown and Vite Plus Vite lifecycles by @tonoizer in #75
  • feat: shared-usage governance gaps from shared-inspector by @tonoizer in #77
  • feat: add Modern.js adapter without hiding direct Rspack by @tonoizer in #78
  • feat: topology and production governance rules by @tonoizer in #76
  • fix: correct federation topology and DTS findings by @tonoizer in #79
  • feat: harden Evidence Protocol v2 contract by @tonoizer in #88
  • feat: add scoped evidence rollout controller by @tonoizer in #90
  • feat: preserve exact artifact records by @tonoizer in #89
  • test: add runtime Observability contract fixtures by @tonoizer in #91
  • feat: add evidence-aware rule contract by @tonoizer in #92
  • feat: add safe runtime capture contract by @tonoizer in #94
  • feat: add canonical Module Federation config contract by @tonoizer in #93
  • feat: add semantic identity contract for correlation by @tonoizer in #95
  • fix: gate releases on ordered checks by @tonoizer in #108
  • feat: MFDOCTOR-134 Stage 1B reader/migration by @tonoizer in #109
  • test: expand packed consumer smoke coverage by @tonoizer in #112
  • test: add adversarial privacy fixtures for #104 by @tonoizer in #113
  • feat: add evidence parity drift checks by @tonoizer in #115
  • fix: replace regex import scanning with syntax-aware analysis by @tonoizer in #114
  • fix: normalize observability runtime reports by @tonoizer in #110
  • feat(vite): record exact per-output build evidence by @tonoizer in #111
  • fix: match trailing-slash share keys in shared/unused by @tonoizer in #146
  • fix: correct doctor/partial-analysis Vite artifact suggestions by @tonoizer in #149
  • fix: adapter-aware manifest defaults and emit evidence gate by @tonoizer in #154
  • fix: skip [external] path rewrites in implementation-suspicious by @tonoizer in #151
  • fix: quiet Vite/Nuxt artifact false positives by @tonoizer in #155
  • docs: ADR hybrid plugin-primary + CLI complementary (#137) by @tonoizer in #158
  • docs: document per-bundler manifest/stats matrix by @tonoizer in #159
  • feat: Vite remotes typing dialect (#141) by @tonoizer in #157
  • feat: add offline federation health score by @tonoizer in #160
  • feat: add first React Bridge rule slice (#121) by @tonoizer in #156
  • test: add in-repo mf-toolkit shape fixtures by @tonoizer in #162
  • feat: versioned typed finding detail payloads by @tonoizer in #161
  • feat: Vite SSR inject dialect (#142) by @tonoizer in #164
  • feat: runtime plugin contract checks by @tonoizer in #163
  • feat: Vite dialect follow-ons + share-rewrite helper (#143) by @tonoizer in #165
  • feat: Bridge error rules batch 2 (#139) by @tonoizer in #169
  • feat: transformImport share conflict (#138) by @tonoizer in #167
  • feat: recognize mf-toolkit bridge/ssr/shared-inspector shapes by @tonoizer in #171
  • feat: add copyable agent fix prompts by @tonoizer in #168
  • feat: add Bridge advisory rules (#140) by @tonoizer in #170
  • feat: add SSR dual-env rules (#122) by @tonoizer in #172
  • feat: add Vue Bridge rules (#135) by @tonoizer in #173
  • fix(rules): disable synthetic external evidence by @tonoizer in #174
  • feat: add evidence-aware runner bridge by @tonoizer in #175
  • feat(runtime): import bounded runtime capture files (#105) by @tonoizer in #176
  • perf: bound source and workspace analysis costs by @tonoizer in #177
  • fix: align offline remote recovery detection (#129) by @tonoizer in #178
  • fix(shared): warn React hosts with missing shared runtime by @tonoizer in #179
  • fix(runtime): neutralize ambiguous exact attribution by @tonoizer in #180
  • feat: bridge canonical declared config (#106) by @tonoizer in #182
  • feat(evidence): add legacy compatibility projections by @tonoizer in #181
  • feat: record Webpack and Rspack build evidence by @tonoizer in #183
  • feat: add monorepo identity and dependency resolution by @tonoizer in #184
  • perf: bound discovered artifact analysis by @tonoizer in #188
  • ci: generate GitHub release files automatically by @tonoizer in #190
  • feat(policy): add demo and production profiles by @tonoizer in #189
  • feat(config): add version-aware capability pack resolver (#85) by @tonoizer in #186
  • feat(runtime): validate imported project evidence by @tonoizer in #185
  • fix(rsbuild): preserve parent and child build evidence by @tonoizer in #187
  • fix(policy): scope demo noise suppression to local runs by @tonoizer in #192
  • feat(runtime): route project imports through evidence reader by @tonoizer in #191
  • feat(policy): clarify manifest and dts recommendations by @tonoizer in #193
  • fix(rsbuild): reject unsafe output roots by @tonoizer in #194
  • feat(modern): capture public build context by @tonoizer in #196
  • perf: bound imported evidence analysis by @tonoizer in #197
  • feat(config): add Enhanced Webpack browser capability pack by @tonoizer in #198
  • fix(cli): import reports through evidence reader by @tonoizer in #195
  • chore: harden pnpm supply chain policy by @tonoizer in #199
  • feat: bound evidence analysis budgets by @tonoizer in #201
  • perf: bound analysis collection and reuse by @tonoizer in #202
  • fix(modern): rename Doctor plugin factory by @tonoizer in #204
  • ci: verify deterministic analysis regression contract by @tonoizer in #203
  • fix: restore exit-2 contract for source read failures by @tonoizer in #205
  • fix: preserve incomplete analysis and Bridge evidence by @tonoizer in #206
  • fix: update vulnerable dependency chains by @tonoizer in #207
  • feat: harden v1 federation validation by @tonoizer in #210
  • fix: support Nitro Vite output pairing by @tonoizer in #212
  • fix: ignore federation-owned Vite chunk hooks by @tonoizer in #213
  • docs: add code of conduct and contributing guide by @tonoizer in #214
  • feat: add issue #133 recommendation profiles and nudges by @tonoizer in #215
  • feat: model multiple Module Federation instances by @tonoizer in #216
  • test(e2e): verify multiple Webpack federation instances by @tonoizer in #220
  • test: cover recommendation profiles end to end by @tonoizer in #221
  • fix: ignore unconstrained observability versions by @tonoizer in #217
  • docs: update Modern.js core soak status by @tonoizer in #219
  • test(e2e): cover multi-instance federation matrix by @tonoizer in #222
  • fix: make macOS E2E gate runnable by @tonoizer in #218
  • chore: restrict Dependabot to security updates by @tonoizer in #236
  • chore: scope Dependabot away from compatibility fixtures by @tonoizer in #237
  • docs: credit Rsdoctor inspiration by @tonoizer in #246
  • docs: expand Rsdoctor inspiration by @tonoizer in #248
  • docs: standardize Rsdoctor links by @tonoizer in #250
  • refactor: clean up diagnostics maintenance paths by @tonoizer in #252
  • feat: wire evidence-aware rules into V1 analysis by @tonoizer in #238
  • feat: migrate Group 1 core config rules by @tonoizer in #247
  • feat: migrate Bridge SSR and runtime plugin rules by @tonoizer in #249
  • feat: migrate Group 2 artifact rules by @tonoizer in #251
  • fix: require imports.sourceScan for absence-sensitive config rules by @tonoizer in #254
  • feat: migrate Group 3 source and package heuristic rules (#226) by @tonoizer in #255
  • feat: migrate Group 4 federation workspace rules through evidence bridge (#234) by @tonoizer in #256
  • feat: migrate Group 5 runtime-correlated rules (#228) by @tonoizer in #257
  • Evaluate Group 4 federation rules per shared-package/remote subject (#258) by @tonoizer in #260
  • feat: migrate Group 6 reliability and Vite dialect rules (#235) by @tonoizer in #259
  • fix: treat moduleFederation as optional for doctor/partial-analysis by @tonoizer in #261
  • chore: close out V1 evidence-aware rule inventory, parity, and legacy cleanup (#232) by @tonoizer in #262
  • feat: prepare independent v1 release by @tonoizer in #266
  • fix: make release preparation rerunnable by @tonoizer in #268
  • fix: run the Changesets version script by @tonoizer in #269
  • fix: use signed Changesets API commits by @tonoizer in #270
  • feat: align MFDoctor branding and Nuxt API by @tonoizer in #272
  • chore: version packages (rc) by @github-actions[bot] in #271

New Contributors

  • @dependabot[bot] made their first contribution in #6
  • @github-actions[bot] made their first contribution in #271

Full Changelog: https://github.com/tonoizer/module-federation-doctor/commits/1.0.0-rc.0