The SplendidBear website
New version has been released on the backend's engine, the Symfony 8.1. So, I decided that, I am going to do my first upgrade on my portfolio projects.
| Area | Package Group | Before | After | Notes |
|---|---|---|---|---|
| JS (Admin) | TanStack Query | @tanstack/query-core ^5.100.10<br>@tanstack/react-query 5.100.10 | @tanstack/query-core ^5.100.14<br>@tanstack/react-query 5.100.14 | Query stack upgraded |
| JS (Admin) | React Admin + Router | react-admin ^5.14.6<br>react-router ^7.15.1<br>react-router-dom ^7.15.1 | react-admin 5.14.6<br>react-router 7.15.1<br>react-router-dom 7.15.1 | Pinned to exact versions to avoid router-context mismatch |
| JS (Admin) | RA i18n packages | ra-i18n-polyglot ^5.14.6<br>ra-language-english ^5.14.6 | ra-i18n-polyglot 5.14.6<br>ra-language-english 5.14.6 | Pinned for consistency with react-admin |
| JS (Admin) | UI + tooling bumps | MUI X (9.2.0 / 8.28.5), @uiw/react-md-editor ^4.1.0, date-fns ^4.1.0, react/react-dom ^19.2.6, react-hook-form ^7.76.0, eslint 10.4.0, sass ^1.99.0, vite ^8.0.13 | MUI X (9.3.0 / 8.28.7), @uiw/react-md-editor ^4.1.1, date-fns ^4.4.0, react/react-dom ^19.2.7, react-hook-form ^7.77.0, eslint 10.4.1, sass ^1.100.0, vite ^8.0.16 | General frontend refresh |
| PHP (Composer constraints) | Symfony line | 8.* | 8.1.* | Applied across Symfony packages + extra.symfony.require |
| PHP (Lockfile resolved) | API Platform | 4.3.5 | 4.3.7 | Full API Platform 4.3 patch-line bump |
| PHP (Lockfile resolved) | AWS SDK | 3.381.2 | 3.383.1 | Latest 3.x patch update |
| PHP (Lockfile resolved) | Doctrine ORM | 3.6.5 | 3.6.7 | Patch update |
| PHP (Lockfile resolved) | WebAuthn lib | 5.3.2 | 5.3.5 | Patch update |
| Config | LiipImagine | default | liip_imagine.twig.mode: lazy | Added to avoid deprecated templating mode noise |
Firstly I upgraded the Symfony engine from 8.0 to 8.1 with a simple composer command
1$ composer update "symfony/*" --with-all-dependenciesAfter making sure that the upgrade was successful without any regression, I upgraded all other packages to the latest available version.
1$ composer upAfter that the backend's status is clear.
1$ composer outdated
2Color legend:
3- patch or minor release available - update recommended
4- major release available - update possible
5
6Direct dependencies required in composer.json:
7Everything up to date
8
9Transitive dependencies not required in composer.json:
10doctrine/collections 2.6.0 3.1.0 PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.1$ bun outdated
2bun outdated v1.3.14 (0d9b296a)
3[0.08ms] ".env"
4┌─────────────────────┬─────────┬────────┬────────┐
5│ Package │ Current │ Update │ Latest │
6├─────────────────────┼─────────┼────────┼────────┤
7│ @mui/icons-material │ 7.3.11 │ 7.3.11 │ 9.0.1 │
8├─────────────────────┼─────────┼────────┼────────┤
9│ @mui/material │ 7.3.11 │ 7.3.11 │ 9.0.1 │
10├─────────────────────┼─────────┼────────┼────────┤
11│ @mui/system │ 7.3.11 │ 7.3.11 │ 9.0.1 │
12├─────────────────────┼─────────┼────────┼────────┤
13│ @mui/utils │ 7.3.11 │ 7.3.11 │ 9.0.1 │
14├─────────────────────┼─────────┼────────┼────────┤
15│ @mui/x-date-pickers │ 8.28.7 │ 8.28.7 │ 9.3.0 │
16├─────────────────────┼─────────┼────────┼────────┤
17│ ra-i18n-polyglot │ 5.14.6 │ 5.14.6 │ 5.14.7 │
18├─────────────────────┼─────────┼────────┼────────┤
19│ ra-language-english │ 5.14.6 │ 5.14.6 │ 5.14.7 │
20├─────────────────────┼─────────┼────────┼────────┤
21│ react-admin │ 5.14.6 │ 5.14.6 │ 5.14.7 │
22├─────────────────────┼─────────┼────────┼────────┤
23│ react-router │ 7.15.1 │ 7.15.1 │ 7.16.0 │
24├─────────────────────┼─────────┼────────┼────────┤
25│ react-router-dom │ 7.15.1 │ 7.15.1 │ 7.16.0 │
26└─────────────────────┴─────────┴────────┴────────┘The website's Next.js engine did not changed too much, only some minor updates has been came in the last few weeks. After I upgraded it w/
bun it is on the latest version just like the backend.
The MineSeeker Game
I migrated the last pain-in-the-*ss of the project: the Google ReCaptcha v3 to an open-source, self-hostable & more reliable service: the
Cap. The dependency managers' output speaks for themself. The Symfony is on its latest LTS, but I think I am going to upgrade to the latest mainstream version when I have enough time.
1$ bun outdated
2bun outdated v1.3.14 (0d9b296a)
3[0.03ms] ".env"
4
5$ bun run lint
6$ eslint assets/js/
7
8$ composer outdated
9Color legend:
10- patch or minor release available - update recommended
11- major release available - update possible
12
13Direct dependencies required in composer.json:
14symfony/browser-kit 7.4.8 8.1.0 Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically
15symfony/console 7.4.13 8.1.0 Eases the creation of beautiful and testable command line interfaces
16symfony/css-selector 7.4.9 8.1.0 Converts CSS selectors to XPath expressions
17symfony/dotenv 7.4.11 8.1.0 Registers environment variables from a .env file
18symfony/form 7.4.9 8.1.0 Allows to easily create, process and reuse HTML forms
19symfony/framework-bundle 7.4.13 8.1.0 Provides a tight integration between Symfony components and the Symfony full-stack framework
20symfony/http-client 7.4.13 8.1.0 Provides powerful methods to fetch HTTP resources synchronously or asynchronously
21symfony/mailer 7.4.12 8.1.0 Helps sending emails
22symfony/security-bundle 7.4.13 8.1.0 Provides a tight integration of the Security component into the Symfony full-stack framework
23symfony/stopwatch 7.4.8 8.1.0 Provides a way to profile code
24symfony/translation 7.4.10 8.1.0 Provides tools to internationalize your application
25symfony/twig-bundle 7.4.8 8.1.0 Provides a tight integration of Twig into the Symfony full-stack framework
26symfony/validator 7.4.10 8.1.0 Provides tools to validate values
27symfony/web-profiler-bundle 7.4.13 8.1.0 Provides a development tool that gives detailed information about the execution of any request
28symfony/yaml 7.4.13 8.1.0 Loads and dumps YAML files
29
30Transitive dependencies not required in composer.json:
31doctrine/collections 2.6.0 3.1.0 PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.
32symfony/asset 7.4.8 8.1.0 Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files
33symfony/cache 7.4.13 8.1.0 Provides extended PSR-6, PSR-16 (and tags) implementations
34symfony/clock 7.4.8 8.1.0 Decouples applications from the system clock
35symfony/config 7.4.10 8.1.0 Helps you find, load, combine, autofill and validate configuration values of any kind
36symfony/dependency-injection 7.4.13 8.1.0 Allows you to standardize and centralize the way objects are constructed in your application
37symfony/doctrine-bridge 7.4.9 8.1.0 Provides integration for Doctrine with various Symfony components
38symfony/dom-crawler 7.4.12 8.1.0 Eases DOM navigation for HTML and XML documents
39symfony/error-handler 7.4.8 8.1.0 Provides tools to manage errors and ease debugging PHP code
40symfony/event-dispatcher 7.4.9 8.1.0 Provides tools that allow your application components to communicate with each other by dispatching events and listening to them
41symfony/filesystem 7.4.11 8.1.0 Provides basic utilities for the filesystem
42symfony/finder 7.4.8 8.1.0 Finds files and directories via an intuitive fluent interface
43symfony/http-foundation 7.4.13 8.1.0 Defines an object-oriented layer for the HTTP specification
44symfony/http-kernel 7.4.13 8.1.0 Provides a structured process for converting a Request into a Response
45symfony/mime 7.4.13 8.1.0 Allows manipulating MIME messages
46symfony/monolog-bridge 7.4.12 8.1.0 Provides integration for Monolog with various Symfony components
47symfony/options-resolver 7.4.8 8.1.0 Provides an improved replacement for the array_replace PHP function
48symfony/password-hasher 7.4.8 8.1.0 Provides password hashing utilities
49symfony/process 7.4.13 8.1.0 Executes commands in sub-processes
50symfony/property-access 7.4.8 8.1.0 Provides functions to read and write from/to an object or array using a simple string notation
51symfony/property-info 7.4.8 8.1.0 Extracts information about PHP class' properties using metadata of popular sources
52symfony/routing 7.4.13 8.1.0 Maps an HTTP request to a set of configuration variables
53symfony/security-core 7.4.13 8.1.0 Symfony Security Component - Core Library
54symfony/security-csrf 7.4.8 8.1.0 Symfony Security Component - CSRF Library
55symfony/security-http 7.4.13 8.1.0 Symfony Security Component - HTTP Integration
56symfony/serializer 7.4.10 8.1.0 Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.
57symfony/string 7.4.13 8.1.0 Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way
58symfony/twig-bridge 7.4.12 8.1.0 Provides integration for Twig with various Symfony components
59symfony/type-info 7.4.9 8.1.0 Extracts PHP types information.
60symfony/uid 7.4.9 8.1.0 Provides an object-oriented API to generate and represent UIDs
61symfony/var-dumper 7.4.8 8.1.0 Provides mechanisms for walking through any arbitrary PHP variable
62symfony/var-exporter 7.4.9 8.1.0 Allows exporting any serializable PHP data structure to plain PHP code
63symfony/web-link 7.4.8 8.1.0 Manages links between resourcesCheers! 🚀 🎉
— Lang

