weblog.rubyonrails.org weblog.rubyonrails.org

Rails 7.0 RC1: New JavaScript Answers, At-Work Encryption, Query Origin Logging, Zeitwerk Exclusively

We’re almost ready to declare Rails 7 done! The feedback since the first alpha release has been wonderful, we’ve eliminated a slew of issues, and we’ve seen Basecamp, HEY, GitHub, and Shopify all run in production on this alpha series. So we now feel so confident that this is nearly ready that we’re skipping straight from alpha to release candidate. This is RC1. Please help us do the final testing of all this new stuff so we...

weblog.rubyonrails.org weblog.rubyonrails.org

Composable blobs, improved upsert and much more!

Hey, Wojtek here with recent additions to Rails. All of them today for FREE, for you. Thank you all the contributors for making Rails. Those from one-time to day by day committers. Add compose method to Active Storage Blob Concatenating multiple blobs is now possible. Support custom metadata on Active Storage Setting custom metadata on blobs are now persisted to remote storage. Allow to configure the list of columns to update in...

weblog.rubyonrails.org weblog.rubyonrails.org

🎃 Halloween Edition: Zeitwerk migration guide, selenium-webdriver, and some Ruby 3.1 snacks

🍭 Trick or treat, zzak here after a week off with lots of goodies! 🍬 Rails Autoloader Migration Guide: From Classic to Zeitwerk This new guide has all you need to know to switch the autoloader for Rails 6.x and 7.0 applications! Add ActiveRecord::Base.prohibit_shard_swapping This new method prohibits swapping shards within the given block. This can be useful if you’re using sharding to provide database isolation on a...

weblog.rubyonrails.org weblog.rubyonrails.org

Auto timestamps on bulk inserts, HTML safe translations in controllers and more

Hey, Wojtek here with last week updates from the Ruby on Rails world. Set timestamps on insert_all/upsert_all record creation The timestamps will be automatically set when using bulk insert/upsert. This behaviour can be disabled by the record_timestamps config on the model class. Treat html suffix in controller translation When translation key ending with _html is used it will be marked as HTML safe in the same way as in the views. Add...

weblog.rubyonrails.org weblog.rubyonrails.org

Autumn is here, and so is Rails 7 Alpha 2! 🍂

Hey! Zzak here with a JAM-PACKED edition of This Week In Rails. 🍇 Server Timing Middleware for Development This PR started nearly 2 and a half years ago, finally made its way into Rails! A really neat feature, uses the Server-Timing header to emit durations for all ActiveSupport::Notifications. You can then view these metrics in your browser’s Network Inspector.  Allow link_to helper to infer link name from Model#to_s If your...

weblog.rubyonrails.org weblog.rubyonrails.org

Bye-bye Byebug, Hello jsbundling and cssbundling!

Hi! zzak here! We’re back after a 2 week break with some of the latest changes that will land in Rails 7. DHH previews JavaScript options in Rails 7 [YouTube] If you haven’t been following along, Rails 7 will get a major facelift on the front-end. We recommend reading this blog post to learn more. Replace Byebug with ruby/debug Ruby 3.1 will launch with a new first-class debugger that works great with Rails. Let’s all appreciate...

weblog.rubyonrails.org weblog.rubyonrails.org

Good-bye classic mode, –skip-puma, –skip-gemfile.. hello weekday_options_for_select!

Hello, zzak again with the latest changes in Rails this week! DHH previews modern web apps without JavaScript bundling or transpiling In this YouTube, DHH goes through the latest changes planned for Rails 7 and how the face of front-end development has evolved. Rails 6.0.4.1 and 6.1.4.1 have been released A reminder to upgrade to the latest stable versions of Rails which includes a critical security fix for Action Pack. Dropping...

weblog.rubyonrails.org weblog.rubyonrails.org

Rails 6.0.4.1 and 6.1.4.1 have been released

Hi everyone! Rails versions 6.0.4.1 and 6.1.4.1 have been released! These releases contain important security fixes, so please update when you can! This release just contains one security fix which you can read about here: [CVE-2021-22942] Possible Open Redirect in Host Authorization Middleware Here are the checksums for the gems: $ shasum -a 256 *-6.0.4.1.gem 390edd2a66448c4ba8686c11514be45264e995304cd05095d5bc5e55126e68ef ...

weblog.rubyonrails.org weblog.rubyonrails.org

ESM importmap and Marginalia

Hi, Wojtek here introducing you to upcoming Rails 7 goodies. ESM importmap support Modern web apps without JavaScript bundling or transpiling are now possible to build in Rails. Exciting new direction of frontend tooling, that most likely Rails 7.0 will aim. Introduced by DHH in this post. Port Marginalia gem to Rails Configurable tags can be automatically added to all SQL queries generated by Active Record. By default the application,...

weblog.rubyonrails.org weblog.rubyonrails.org

Active record improvements and much more

Hi, Wojtek here presenting quite a lot of changes from the past week. Disable schema dump per database Dumping the schema is on by default for all databases in an application. To turn it off for a specific database one can now set schema_dump: false in the database config file. Add change tracking methods for belongs_to associations Two new methods were added: association_changed? and association_previously_changed? (assuming an...