Rails 7 adds support for ActiveStorage expiring URLs
Rails 7 adds the `expires_in` option in the ActiveStorage URL helper for generating expiring URLs.Keep the React app responsive even during large screen updates with startTransition API introduced in React 18
The newly introduced startTransition API helps to improve the user interactions by categorizing the state updates as urgent and non-urgent.Rails 7 adds ActiveRecord::Relation#structurally_compatible?
Rails 7 adds ActiveRecord::Relation#structurally_compatible? to provide an easy way to check if two relations are structurally compatible before running `or` or `and` query on it.Rails 7 adds attributes_for_database to return attributes as they would be in the database
Before this update, serializing an ActiveRecord object led to funny outcomes. Let's dive in!Rails 7 allows anything that responds to `#to_str` into redirect_to
Rails 7 adds support for redirecting using any arguments that respond_to `#to_str`.ECMAScript 2021 introduces replaceAll method and numeric separators
ECMAScript 2021 introduces the replaceAll() method to replace all occurrences of a substring in a string with another string and numeric separators to allow a separator character between digits.Rails 7 optimizes remove_columns to use a single SQL statement when supported
Rails 7 remove_columns will now trigger a single SQL statement to remove all columns if the database supports it, instead of querying multiple SQL statements for removing individual columns.Rails 7 now consistently renders button_to
Rails 7 introduced a config that helps button_to consistently render out to the button HTML tag.Starting with Rails 7, retry failed jobs indefinitely
Pass `:unlimited` symbol to `attempts` parameter of ActiveJob's `retry_on` method, which allows a developer to specify that a job should retry forever until it succeeds.ActiveStorage now raises a PreviewError when previews fail to generate
Before this update, a failed preview generation would result in a 0-byte file being created – leading to disastrous outcomes in the views.