Skip to content

upgrade file - #262

Merged
jonasdekeukelaere merged 5 commits into
masterfrom
upgrade-file
Oct 16, 2026
Merged

jonasdekeukelaere merged 5 commits into
masterfrom
upgrade-file

Conversation

@jonasdekeukelaere

@jonasdekeukelaere jonasdekeukelaere commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

UPGRADE.md only had notes for 19.2 and a mislabelled "18.1" section. It now has a section per version line from 10.0 to 19.2, newest first, with patch releases folded into their line.

  • The "To 18.1" content (Lato, dark-mode #e1e1e1) moved to 19.0: there is no 18.1 tag and it shipped in 19.0.1. Added the AssetMapper font path step it needs.
  • Notes per version come from commit history, composer.json diffs and spot-checked code diffs. Biggest actions: 11.0 (Encore → AssetMapper), 14.0 (CSP config → NelmioSecurityBundle, FOS JS routing removed, async mail), 15.0 (style-dark.scss and ux-toggle-password removed), 16.0 (Bootstrap Icons), 18.0 (MatchAgainst removed, typed constants).
  • The old Dutch migration guide is translated to English under "Upgrading legacy projects".

Not reviewed line by line: every template and SCSS change in 11.0 and 15.0, so a missing step is most likely there.

Summary by Sourcery

Bring UPGRADE.md up to date with comprehensive release-by-release guidance and translated legacy migration documentation.

Enhancements:

  • Expand the upgrade guide with version-specific migration notes from 10.0 through 19.2, ordered newest first and including patch-release changes.

Documentation:

  • Translate and preserve legacy-project migration guidance in English, covering Bootstrap, Symfony, bundle, pagination, enum, attribute, security, and configuration migrations.

@sourcery-ai

sourcery-ai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Reviewer's Guide

UPGRADE.md was rewritten as a comprehensive newest-first guide covering every version line from 10.0 to 19.2, correcting release attribution and documenting version-specific migration steps, while also translating and preserving the legacy-project migration guidance in English.

File-Level Changes

Change Details Files
Reorganized the upgrade documentation into a complete, newest-first version-line history from 10.0 through 19.2.
  • Added upgrade guidance for each minor/patch line, including dependency requirements, removed features, migration actions, and no-action notes.
  • Corrected the former 18.1 entry by moving its Lato and dark-mode changes to 19.0 and documenting the required AssetMapper font path.
  • Highlighted major migrations such as Encore to AssetMapper, CSP to NelmioSecurityBundle, async mail, Bootstrap Icons, and dark-mode/toggle-password changes.
UPGRADE.md
Expanded the documented migration guidance for legacy applications.
  • Translated the legacy Dutch migration content into English.
  • Retained guidance for Bootstrap data attributes, upgrade strategies, namespaces, breadcrumbs, pagination, enums, annotations, security, and Sentry configuration.
UPGRADE.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 3 issues

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="UPGRADE.md" line_range="144-145" />
<code_context>
+  `$menu-active-color`, plus their `-dark` variants.
+- **`symfony/ux-toggle-password` removed.** The bundle ships its own `TogglePasswordTypeExtension`, on by default for
+  every password field. Remove the UX package and its importmap/`controllers.json` entry, and register the bundle's
+  controller: importmap `sumocoders/TogglePassword` pointing to `controllers/toggle_password_controller.js`, and
+  `app.register('toggle-password', TogglePassword)`.
+- Navigation is now an offcanvas. The user menu, the theme toggler and the new language toggler live in it.
+- The `logo_image` block moved from `navigation.html.twig` to `base.html.twig`, and there are new blocks
</code_context>
<issue_to_address>
**Password controls stop working**

When a project follows the 15.0 instructions without importing `TogglePassword`, `app.register('toggle-password', TogglePassword)` evaluates an undeclared identifier, so the Stimulus bootstrap throws and password visibility controls stop working.

Import `TogglePassword` from the registered controller module in the bootstrap file before calling `app.register`.

Also at `UPGRADE.md:146`.
</issue_to_address>

### Comment 2
<location path="UPGRADE.md" line_range="137-139" />
<code_context>
+Layout and dark-mode rework.
+
+- **`style-dark.scss` removed**, together with `themes/_dark.scss`, `_bootstrap-colors.scss` and `dark/*`. Dark mode
+  now uses Bootstrap color modes: `_bootstrap-variables-dark.scss` and `@include color-mode(dark)`. Move project dark
+  overrides into the main stylesheet and remove the second stylesheet `<link>`. To turn dark mode off, set
+  `$enable-dark-mode: false`.
+- New SCSS variables for the menu and top bar: `$top-color`, `$menu-bg`, `$menu-color`, `$menu-active-bg`,
+  `$menu-active-color`, plus their `-dark` variants.
</code_context>
<issue_to_address>
**Dark stylesheet breaks Sass builds**

When an upgrading project still has the old dark stylesheet entry in its Sass configuration, a stale `style-dark.scss` entry in `config/packages/symfonycasts_sass.yaml` makes `sass:build` resolve the removed stylesheet and fail, blocking the upgrade build.

Tell readers to remove the `style-dark` entry from `config/packages/symfonycasts_sass.yaml` along with the stylesheet link.
</issue_to_address>

### Comment 3
<location path="UPGRADE.md" line_range="227" />
<code_context>
+  form-collection, password-strength-checker, popover, scroll-to-top, sidebar-collapsable, tabs, theme, toast,
+  tooltip) and the helpers `js/toast.js` (`sumocoders/addToast`), `js/cookie.js` and `js/debounce.js`. Removed:
+  SelectSearch, Popover.js, Tooltip.js, Theme.js, Flash.js, Form.js, and the goback and scrolling JS. Markup using
+  `data-role=...` hooks must switch to `data-controller`.
+- Add `vendor/sumocoders/framework-core-bundle/assets-public/` to the asset_mapper paths. Each controller is added with
+  `symfony console importmap:require sumocoders/<Name> --path "./vendor/sumocoders/framework-core-bundle/assets-public/<path>"`
</code_context>
<issue_to_address>
**Form collections stop recognizing items**

When a project applies the data-role migration instruction to form-collection child hooks, when a project replaces collection child hooks as instructed, `FormCollectionController` still queries `[data-role="collection-item"]` and `[data-role="collection-item-change-order"]`; it then misses the items and drag handles, breaking collection add, delete, and sorting behavior.

Clarify that only legacy controller-entry hooks should migrate, and that data-role attributes queried by the current Stimulus controllers must remain.
</issue_to_address>

Sourcery assessment

Approval pending. 3 findings to address first.

Blocking findings: UPGRADE.md:145, UPGRADE.md:139, UPGRADE.md:227


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

Comment thread UPGRADE.md Outdated
Comment thread UPGRADE.md Outdated
Comment thread UPGRADE.md Outdated

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sourcery assessment

Approved.

@jonasdekeukelaere
jonasdekeukelaere merged commit f84990f into master Oct 16, 2026
13 of 14 checks passed
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.

2 participants