Skip to content

fix(deps): upgrade default template to Bootstrap 5.3.8 - #11103

Open
vicancy wants to merge 21 commits into
mainfrom
vicancy-upgrade-all-dependencies
Open

fix(deps): upgrade default template to Bootstrap 5.3.8#11103
vicancy wants to merge 21 commits into
mainfrom
vicancy-upgrade-all-dependencies

Conversation

@vicancy

@vicancy vicancy commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Upgrade the default template from Bootstrap 3.4.1 to 5.3.8 because the affected Bootstrap 3 advisories have no patched 3.x release.
  • Upgrade twbs-pagination 1.3.1 → 1.4.2 for Bootstrap 5 page-item and page-link markup while retaining the existing search flow.
  • Migrate default and statictoc navbar, dropdown, breadcrumb, TOC, collapse, alert-icon, filtering, and article-navigation behavior to Bootstrap 5 APIs and classes.
  • Adopt native Bootstrap 5 presentation rather than recreating Bootstrap 3: 16px body text, 40px H1, underlined content links, Bootstrap 5 container widths/gutters, regular table spacing, and unstyled blockquotes are intentional.
  • Keep only functional layout safeguards: measured fixed-header offsets, footer clearance, overflow-driven navbar collapse, mobile TOC/dropdown behavior, and robust anchors for dynamic, numeric, dotted, and Unicode heading IDs.
  • Leave all unrelated npm packages, NuGet packages, GitHub Actions, and Dependabot policy unchanged.

⚠️ Breaking changes for custom templates

This is an intentional breaking change for custom templates layered on default or statictoc. Docfx merges templates by file name, with later templates replacing earlier files in full. A custom template that overrides an old Bootstrap 3 partial, stylesheet, or script can therefore combine Bootstrap 3 markup with Bootstrap 5 assets and lose navbar, dropdown, collapse, TOC, or affix behavior.

Custom templates need migration if they override files such as:

  • layout/_master.tmpl
  • partials/navbar.tmpl.partial
  • partials/toc.tmpl.partial
  • partials/li.tmpl.partial or dropdown partials
  • styles/docfx.css
  • styles/docfx.js

Common Bootstrap 3 → 5 replacements include:

Bootstrap 3 Bootstrap 5
data-toggle data-bs-toggle
data-target data-bs-target
.collapse.in .collapse.show
.navbar-toggle .navbar-toggler
.navbar-inverse .navbar-dark.bg-dark
.pull-right .float-end
.hidden-* / .visible-* responsive .d-* utilities
.table-condensed .table-sm
Glyphicons Bootstrap Icons or another icon source

Bootstrap 5 no longer exposes Bootstrap components as jQuery plugins. Custom JavaScript using calls such as $(...).collapse(), $(...).tab(), or $(...).dropdown() must use the Bootstrap 5 APIs. Bootstrap 3 affix and scrollspy assumptions also require migration.

Visual assumptions may change because this PR adopts Bootstrap 5 typography, link decoration, table spacing, responsive containers, gutters, breakpoints, blockquotes, navbar, breadcrumbs, and pagination.

Custom templates that are fully standalone, or that only override tokens/localization, preprocessors, data-model extensions, or CSS/JavaScript that does not depend on Bootstrap markup, are not expected to require migration.

Before upgrading, run docfx template export default and reconcile any overridden files with the new Bootstrap 5 versions. This change should be called out in release notes and is best reviewed for a prerelease or explicitly breaking release.

Bootstrap 5 preview

Video walkthrough

35-second walkthrough covering desktop styling, Markdown/tables, tabs, Bootstrap components, search/pagination, footer clearance, and mobile navbar/TOC:

bootstrap5-migration-demo.mp4

Screenshots

Bootstrap 5 default-template overview

Expanded screenshots

Native Bootstrap 5 content styling

Bootstrap 5 typography, links, lists, blockquotes, code, tables, images, tabs, and article navigation

Bootstrap components

Buttons, badges, forms, cards, list groups, collapse, dropdowns, tabs, progress, pagination, and responsive media

Mobile navigation

Bootstrap 5 mobile navbar and table of contents

Footer clearance

Final content remains above the footer

Validation

  • Default and statictoc builds complete with warnings treated as errors.
  • Native Bootstrap 5 metrics verified: 16px body, 40px H1, underlined links, 8px table cells, and 540/720/960/1140/1320px responsive containers.
  • Header and footer bounds verified with zero content overlap; mobile footer detection uses the visual viewport.
  • Navbar overflow/collapse, dropdowns, mobile TOC, TOC filtering, tabs, dynamic refresh, numeric/dotted/Unicode anchors, search, and pagination exercised in-browser.
  • Full multi-target .NET warning-as-error build, formatting verification, cross-platform CI, and Percy visual review.

vicancy and others added 5 commits August 11, 2026 18:15
Upgrade NuGet, npm, and GitHub Actions dependencies and migrate affected APIs and templates.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Avoid shared registry collisions when schema tests and document builds run concurrently.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Capture separate member pages and updated PDF output from the dependency migrations.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Normalize repository paths and compiler-generated source locations across CI platforms.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
vicancy and others added 4 commits August 11, 2026 19:25
Use an explicit update flag so Verify accepts snapshots only in the snapshot workflow.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Regenerate PDF snapshots on the canonical Ubuntu snapshot workflow.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep platform-specific browser PDF layout out of macOS and Windows snapshot comparisons.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Replace the broad breaking-version sweep with vulnerability remediations only. Bootstrap moves to 5.3.8 because no patched Bootstrap 3 release exists; other breaking majors remain unchanged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@vicancy vicancy changed the title chore(deps): upgrade repository dependencies fix(deps): apply focused security updates Aug 11, 2026
vicancy and others added 2 commits August 11, 2026 20:52
Remove the overlapping NuGet update block while retaining daily coverage for Verify packages.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Restore the creator-selected consolidated NuGet, npm, and GitHub Actions upgrade, including major-version migrations and generated snapshots. Retain only compatibility holds proven by restore or peer/runtime failures.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@vicancy vicancy changed the title fix(deps): apply focused security updates chore(deps): upgrade repository dependencies Aug 11, 2026
vicancy and others added 2 commits August 11, 2026 21:51
Keep the platform-sensitive PDF and Seed output comparison on the canonical Linux job while other snapshot suites still run on every OS.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep only validated npm vulnerability remediations and the required Bootstrap migration; leave NuGet, Actions, and unrelated breaking majors unchanged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@vicancy vicancy changed the title chore(deps): upgrade repository dependencies fix(deps): apply focused security updates Aug 11, 2026
vicancy and others added 4 commits August 12, 2026 13:35
Keep the existing pagination flow with twbs-pagination 1.4.2, migrate statictoc controls and dropdowns, preserve navbar ordering, and replace removed Glyphicon alert icons.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Restore the repository's existing Dependabot policy and document the Bootstrap 3 utility compatibility retained by the Bootstrap 5 security migration.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c89e7293-53c2-42c4-9127-1d7bd345542f
Explain why the legacy utility rules remain after the Bootstrap 5 security migration.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c89e7293-53c2-42c4-9127-1d7bd345542f
Remove unrelated npm security upgrades and keep only Bootstrap 5.3.8, twbs-pagination 1.4.2, and their required template compatibility changes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c89e7293-53c2-42c4-9127-1d7bd345542f
@vicancy vicancy changed the title fix(deps): apply focused security updates fix(deps): upgrade default template to Bootstrap 5.3.8 Aug 12, 2026
Bootstrap 5 renders nav lists as wrapping flex rows, so preserve the default template's vertical side-affix layout.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c89e7293-53c2-42c4-9127-1d7bd345542f
Restore the default and statictoc layout, typography, navigation, filtering, anchors, breakpoints, and footer behavior while using Bootstrap 5 components and APIs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c89e7293-53c2-42c4-9127-1d7bd345542f
Drop the Bootstrap 3 visual compatibility layer while retaining functional navbar, TOC, anchor, header, and footer migrations for Bootstrap 5.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c89e7293-53c2-42c4-9127-1d7bd345542f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant