| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Roadmap v6.0.0 upgrades the application to Ruby 3.4 and Rails 8.1, with compatible dependency updates and changes to support the new framework. This release introduces no new product features or API versions.
Update deployment and development environments to the runtime versions listed above. Install the updated Ruby and JavaScript dependencies, run database migrations, and rebuild application assets as part of the upgrade.
Development workflows that invoke Spring should use the Rails and RSpec commands directly.
The primary change in this major DMPRoadmap release is the upgrade from Rails 6.1 to Rails 7.1. As part of this upgrade, the handling of conditional questions was updated, including a migration that converts the Condition.option_list and Condition.remove_data fields to proper JSON types (#3497).
In addition to the framework upgrade, this release includes a number of refactors, bug fixes, dependency updates, and performance optimisations. For further details, please refer to the pull requests and issues listed below:
Note this upgrade is mainly a migration from Bootstrap 3 to Bootstrap 5.
Note that this will have a significant impact on any scss and html customizations you may have made to your fork of this project.
The following links will be helpful:
Get started with Bootstrap v5.2.3
Migrating to v4
How to Migrate from Bootstrap Version 3 to 4
Migrating to v5
How to Migrate from Bootstrap Version 4 to 5
Use Bootstrap 5 with Ruby on Rails 6 and webpack
What happened to $grid-float-breakpoint in Bootstrap 4. And screen size breakpoint shift from 3 -> 4
What are media queries in Bootstrap 4?
In app/assets/stylesheets/application.scss:
The order of the import statements have been changed to import the blocks/ and utils/ after the default bootstrap stylesheets
In app/assets/stylesheets/blocks/:
@media (max-width: $grid-float-breakpoint-max) {}
with
@include media-breakpoint-down(md){}
@media (max-width: $grid-float-breakpoint-max) {}
with
@include media-breakpoint-down(md) {}
Deleted app/javascript/src/utils/popoverHelper.js.
Note many of these Bootstrap changes has required us to rewrite or change some of the Javascript files.
When we use a native DOM element in Javascript, we obtain it by applying get() to the Jquery element (cf., https://api.jquery.com/get/).
We sometimes use the button native Dom element to programmatically click, as the Jquery button element with trigger('click') won't work because the trigger() function cannot be used to mimic native browser events, such as clicking (cf., https://learn.jquery.com/events/triggering-event-handlers/ )
Note this upgrade is a migration from Ruby v2.7.6 to v3.0.5. Note that this could have an impact on any customizations you may have made to your fork of this project. Please see https://www.fastruby.io/blog/ruby/upgrades/upgrade-ruby-from-2.7-to-3.0.html for further information on what to check. In particular, please note the changes to the way Ruby 3 handles keyword arguments
Note that the Webpacker gem has been removed in favor of jsbundling-rails. This was done in preparation for the future migration to Rails 7. See issue #3185 for more details on this change. If, after migrating to this version, you see 'Sprockets' related errors in your application you will need to rebuild you asset library. To do this run bin/rails assets:clobber && bin/rails assets:precompile from the project directory.
All gem and JS dependencies were also updated via bundle update && yarn upgrade
When running the application on your development machine, run bin/dev instead of the old rails s approach. This will kick off 'foreman' which will startup jsbuilding and cssbuilding so that they watch your CSS and JS files for changes.
Pay close attention to your customizations in the app/views/branded/ directory and any custom JS or CSS you may have for your instance. You may need to make modifications to work with the new JS/CSS Bundling methods. Most notably:
As Webpacker is no longer maintained by the Rails community, we have replaced it by jsbundling-rails and cssbundling-rails for the Javascript & CSS compilation.
With the removal of Webpacker, the Javascript/SASS code is no longer automaticaly compiled when using the rails server command. It has been replaced by the bin/dev command that launch the rails server and the processes that watch for changes in the SASS and Javascript code.
With the removal of the webpacker gem, the DartSass package has been installed to ensure the compilation of the Sass stylesheet and with it, an update to the Sass version used by the code :
Rack Attack is middleware that can be used to help protect the application from malicious activity. You can establish white/black lists for specific IP addresses and also define rate limits.
| Back | FazBrowse Home | New Git URL |