Rails Latest Version: The changes introduced in Rails 7.0.4

Tags
6 October 2022
Complete Guide for CTO & IT Directors
Microservices under X-Ray Three books image Download free ebook

On the 9th of September 2022 the latest version of rails, 7.0.4, was released. It was released alongside rails versions 6.1.7, and 6.0.6, and delivered some bug fixes (only for the 7.0.4 version, as the 6.0.x and 6.1.x aren’t supported for further bug fixes), better compatibility, and improvement to the performance.

As a platform designed specifically for web application development, Rails is known for its convention over configuration approach. This means that Rails focuses on simplifying the development process by relying on a set of default conventions. This directly translates to quicker development because you don’t have to configure every and each aspect of an application manually. The built-in testing support also helps produce the applications faster and less buggy.

These features make Ruby on Rails ideal for prototyping, so any development team should consider building their product in Ruby on Rails.

However, like with everything else, there are disadvantages to Ruby on Rails. For one, Rails isn’t that fast. Being written as a framework for Ruby (an object-oriented scripting language) it falls behind other compiled programming languages. Moreover, Ruby on Rails might be quite difficult and costly to scale. As it wasn’t designed with large applications in mind, it will require a lot of additional work if you want to properly scale a large Ruby on Rails application.

What the Rails latest stable version has to offer for web developers

The current stable version of rails, 7.0.4, brought a number of changes which we will go through below.

Active Support

Two changes here. Redis cache store is now compatible with the Ruby client redis-rb in version 5.0. The second change is a fix to the behavior of NoMethodError on custom ActiveSupport::Deprecation. The arity restriction on custom behaviors is now removed.

Active Model

Fixed name clashes in attribute methods code generation cache. Before, when two different methods had generated similarnames the first implementation would be re-used.

Active Record

A lot of changes and fixes here.

Firstly, symbol is by default allowed for YAML columns. Moreover, a number of smaller fixes such as ActiveRecord::Store serializing as a regular Hash, fixed lead_async scheduling AND using the query, fixing eager loading for models devoid of primary keys, and Hstore deserialized regression.

PostgreSQL time zone away type timestaptz was also added and is required for correctly parsing some of the values in your database.

Additionally, an issue with a stale relation cache_cersion was also fixed. Before the latest version of rails, when reset was called on a relation object it didn’t correctly reset the cache_version ivar. This could lead to a situation in which a correct data still were reported as a stale cache_version.

Action View

Two changes here. First is a guard against ActionView::Helpers::FormTagHelper#field_name calls with nil object_name. The second is the correct tagging of html_safe? strings returned from strip_tags which helps in avoiding double-escaping entities. As these strings contain no HTML there are safe to be included as PCDATA in HTML content.

Action Pack

The existing values in Server-Timing cannot be now overwritten by ActionDispatch::ServerTiming.

Active Job

One change: the deprecation warning was removed from ActiveJob::QueueAdapters::QueAdapter.

Action Cable

Just like with the cashe mentioned in Active Support, the Redis adapter is now compatible with reddis-rb 5.0 version. Moreover, redis-rb 3.x compatibility was dropped.

You can now mount the Action Cable server with anchor: true. The routes that start with /cable won’t clash with Action Cable.

Active Storage

A single change that foxes proxy downloads for files over 5Mb as before trying to view and download larger files from services like S3 via proxy mode could result in returning corrupted files.

Railties

Some of the changes introduced to the core of the Rails framework are skipping Action Mailer and Active Storage in a case when the Active Job is skipped or checking if the framework is disabled while running app:update.

If you wish to read more about the latest versions of Ruby on Rails, please see the official documentation for the complete list of the changes in the latest release. Moreover, the Rails community can surely provide details about some of the new features.

Latest Posts
bots with python

Bots with Python 101

As we continue to embrace the digital age, we encounter countless innovative solutions that improve our daily lives, making mundane tasks more efficient, or even automating them entirely. One such innovative solution is the ‘bot’, a broad term that has various definitions depending on the context in which it is used. In its essence, a […]

/
product roadmap example

Which Way To Go – Product Roadmap Example And Insights

A quick overview of product roadmaps, not only for product managers. Briefly, What Is A Product Roadmap? A product roadmap is a visual representation that outlines a product development and evolution over a defined period, serving as a communication tool to align stakeholders around the product’s direction, goals, and milestones. In general terms, the roadmap […]

/
how to secure bluetooth devices

How to Secure Bluetooth Devices?

In today’s interconnected digital era, our lives are continuously shaped, molded, and improved by the innovative technologies we embrace. Every once in a while, a technological advancement emerges that becomes so deeply embedded in our routines that it’s hard to imagine a world without it. Bluetooth, a wireless communication protocol, is certainly one such marvel. […]

/
ux review

UX review: How to Perform a Usability Audit and Why it’s Important

User experience is crucial for the success of any digital product. A properly conducted UX review can help you identify flaws in your app’s or website’s design and fix them. Find out how a usability audit works and what you can gain from it. It’s hard to overestimate the impact UX has on business. According […]

/
prototype vs proof of concept

Prototype vs Proof of Concept: A Dive into Digital Product Development

In the realm of product development and innovation, two terms are often bandied about with great fervor – ‘Prototype’ and ‘Proof of Concept’ (POC). These methodologies play pivotal roles in transforming an abstract idea into a tangible product, serving as critical stages in the pathway to commercialization. However, these terms are frequently misunderstood, often interchanged […]

/
What is Python Used for in Finance

What is Python Used for in Finance?

As we delve into the digital age, the fields of finance and technology have become intricately intertwined, birthing an innovative hybrid sector known as financial technology, or “Fintech.” As this sector expands and evolves, one programming language stands at its epicenter, powering the development and execution of numerous innovative applications — Python. In a world […]

/
Related posts
prototype vs proof of concept

Prototype vs Proof of Concept: A Dive into Digital Product Development

In the realm of product development and innovation, two terms are often bandied about with great fervor – ‘Prototype’ and ‘Proof of Concept’ (POC). These methodologies play pivotal roles in transforming an abstract idea into a tangible product, serving as critical stages in the pathway to commercialization. However, these terms are frequently misunderstood, often interchanged […]

/
angular advantage

Advantages of Angular in Web Development

Angular is one of the most widely used frameworks for building amazing UIs. It can speed up the development process and save a lot of costs. Find out about its features, key advantages, and limitations. Angular is a leading open-source front-end framework for developing web applications and one of the most popular software development tools […]

/
django vs flask

Django vs. Flask. Which framework will work better for your web development project?

Flask and Django are the top two Python frameworks for web development. They are different in many ways, but both can provide great results in the hands of skilled software engineers. We’ve compared Flask vs. Django to figure out what their superpowers are. The Python programming language has been experiencing a rapid rise in popularity […]

/
project manager vs product manager

Product Manager vs Project Manager: Main Differences and Similarities

In today’s fast-paced and highly competitive business world, organizations need to have a clear understanding of the differences between a product manager and a project manager. While both roles are critical to the success of a company, they have distinct roles and responsibilities. In this article, we will explore the similarities, differences, and roles of […]

/
invision vs figma

InVision vs. Figma: Key Features, Differences, and Similarities.

Figma and InVision rank among the best UI design tools. Learn about their key features and how they can speed up front-end development. It’s hard to overstate the importance of UI design in web and mobile development. To be successful a digital product needs to be an eye-pleaser and a UX gem, in addition to […]

/
flutter logo

Flutter: the number one framework for building cross-platform apps

Flutter is an SDK for building fast apps for different platforms. It comes with comprehensive development tools and streamlines designing high-performance UIs. Find out why Flutter is a top-quality and cost-effective alternative to native app development. Flutter is Google’s open-source toolkit for developing high-fidelity cross-platform applications. It allows you to create native software for Android […]

/
Talk with experts

We look forward to hearing from you to start expanding your business together.

Email icon [email protected] Phone icon +1 (888) 413 3806