The following is a quick overview of the major features relevant to our day-to-day work that you will likely use in Rails 7.
Merged:- Webpack should not be required as part of the default framework of Rails. The import mapped Hotwire allows us to easily switch between Hotwire and Webpack if necessary. There will still be the option to use webpack if you know you will need it (like when using React).
Retry jobs indefinitely from Rails 7:- Rails' Active Job framework supports asynchronous job declaration and execution on queueing backends. Background jobs can fail for a variety of reasons, including incorrect logic, database errors, network failures, and queue malfunctions. Rails 7 introduces a new option :unlimited, which allows developers to specify an indefinite runtime for a background job. Users of this functionality can be certain that the failure of the job will be resolved eventually.
PreviewError:- Easy-to-use tools are available in the ActiveStorage platform for managing media and storage. A key feature of the platform is preview generation. As a result, Poppler creates files with 0 bytes when previews cannot be generated. When you perform any action on these files, such as resizing, you may encounter a wide variety of unexpected errors. With Rails 7, a previewer child process that exits with a status code other than 0 will raise a new exception named PreviewError. As a result, developers can account for preview errors from the start rather than dealing with unpleasant surprises later.
ActiveRecord:- A total of 63 modules exist in ActiveRecord::Base.logger. Since it is implemented as a mattr_accessor, instead of a class variable, it cannot benefit from the new performance improvements in Ruby. There has been a substantial improvement using class_attribute :logger - almost 7x! The real world has been able to improve a Rails application very well.
Hotwire is without a doubt the most talked-about new feature of Rails 7 since it has drawn attention from both the Rails community and from other programming communities.