Slide 1

Slide 1 text

Rails 7.1 Unwrapped Emmanuel Hayford @siaw23

Slide 2

Slide 2 text

The Rails Changelog, host This Week In Rails, co-editor https://www.railschangelog.com https://rubyonrails.org/newsletter

Slide 3

Slide 3 text

Rails 7.0 Highlights Autoloading with Zeitwerk Asynchronous Query Loading Active Record Encryption Webpacker removed, import-maps added Turbolinks, UJS removed, Turbo and Stimulus added

Slide 4

Slide 4 text

Number of merged PRs since 16th Dec. 2021

Slide 5

Slide 5 text

Total number of merged PRs since Rails 7.0 to date 2,335

Slide 6

Slide 6 text

Add *_deliver callbacks for Action Mailer #47630 Action Mailer

Slide 7

Slide 7 text

Introduce #deliver_enqueued_emails method to ActionMailer::TestHelper #47520 Action Mailer

Slide 8

Slide 8 text

Safer Direct Uploads in JS Libraries or Frameworks #47773 Active Storage

Slide 9

Slide 9 text

Extend audio_tag and video_tag to accept Active Storage attachments #44085 Active Storage

Slide 10

Slide 10 text

Add --parent option to job generator to specify parent class of job #45528 Active Job rails g job payment rails g job process_payment --parent=payment_job

Slide 11

Slide 11 text

Add perform_all_later to enqueue multiple jobs at once #46603 Active Job

Slide 12

Slide 12 text

Allow templates to de fi ne which locals they accept #45602 Action View

Slide 13

Slide 13 text

Let link_to infer link name from Model#to_s #42234 Action View

Slide 14

Slide 14 text

Add a picture_tag helper #48100 Action View

Slide 15

Slide 15 text

Add routes --unused option to detect extraneous routes #45701 Action Pack rails routes --unused

Slide 16

Slide 16 text

Allow CSRF tokens to be stored outside of session #44283 Action Pack

Slide 17

Slide 17 text

Add exclude? method to ActionController::Parameters #45887 Action Pack

Slide 18

Slide 18 text

Implement Object#with #46681 Active Support

Slide 19

Slide 19 text

Add TestCase#stub_const #44294 Active Support

Slide 20

Slide 20 text

Pass options accessor to Cache#fetch block #45905 Active Support

Slide 21

Slide 21 text

Add Rails.env.local? #46786 Active Support

Slide 22

Slide 22 text

Rotate Default Logs on Each 100MB #44888 Railties

Slide 23

Slide 23 text

Improve support for custom namespaces #47583 Railties

Slide 24

Slide 24 text

Common Table Expression support added "out-of-the-box" #37944 Active Record

Slide 25

Slide 25 text

Add ActiveRecord::Base::normalizes #43945 Active Record

Slide 26

Slide 26 text

Active Record API for general async queries #44446 Active Record

Slide 27

Slide 27 text

ActiveRecord::Relation#explain accepts options #47043 Active Record

Slide 28

Slide 28 text

Add drop_enum command for Postgres #45735 Active Record

Slide 29

Slide 29 text

Add #update_attribute! #44141 Active Record

Slide 30

Slide 30 text

Add destroy_association_async_batch_size con fi guration #44617 Active Record

Slide 31

Slide 31 text

Option to disable all methods that ActiveRecord.enum generates #46490 Active Record

Slide 32

Slide 32 text

Allow ActiveRecord::QueryMethods#select to accept a hash #45612 Active Record Add support for exclusion constraints (PostgreSQL-only) #40224 Introduce adapter for Trilogy, a MySQL-compatible DB client #47880 Support encrypted attributes on columns with default values #45033 * Add validity for PostgreSQL indexes #45160 * Allow unscoping of preload and eager_load associations #45147 Add a build persistence method #45696 Allow resetting singular associations #46165 Add option to con fi gure digest algorithm in Active Record Encryption #44873 Allow ErrorReporter to handle several error classes #46299 Add db_runtime to Active Job instrumentation #40058 Add support for logging background job enqueue callers #47839 Return the blob/blobs when #attach is able to save the record #44439 Fixes ActiveStorage proxy downloads of fi les over 5mb in S3-like storages Introduce html: and screenshot: kwargs for system test screenshot helper #44720 Add include_seconds option to datetime_local_ fi eld. #45188 Add default Docker fi les #46762 Use puma worker count equal to processor count in production #46838 Use puma worker count equal to processor count in production #46838

Slide 33

Slide 33 text

Active Record Thanks!