Rails 7.1 adds *_deliver callbacks to Action Mailer
Rails 7.1 enables detailed query plan analysis with options in ActiveRecord::Relation#explain
Rails 7.1 adds ActiveRecord::Base::normalizes
Rails 7.1 adds support for logging background job enqueue callers
Rails 7.1 adds ActiveJob.perform_all_later
Rails 7.1 adds adapter option to disallow foreign keys
Rails 7.1 allows using aliased attributes with insert_all/upsert_all
How we upgraded from Rails 6 to Rails 7
Three case studies of debugging redis running out of memory
Rails 7.1 allows infinite ranges for LengthValidators and Clusivity validators
Rails 7.1 raises RuntimeError if Active Storage service is not specified
Rails 7.1 adds callbacks for Action Cable commands at the connection level
Rails 7.1 allows audio_tag and video_tag to receive Active Storage attachments
Rails 7.1 returns the Active Storage attachment(s) after saving the attachment
Handling SIGHUP error from Heroku
Rails 7 adds only_numeric option to numericality validator
Rails 7 adds Pathname#existence
Fix slow page loads in a Ruby on Rails application by identifying n+1 queries
Rails 7 adds accepts_nested_attributes_for support for delegated_type
Rails 7 Adds from option to ActiveSupport::TestCase#assert_no_changes
Rails 7 replaced byebug with ruby/debug
Rails 7 adds weekday_options_for_select and weekday_select
Rails 7 adds ActiveRecord::Base#previously_persisted?
Rails 7 adds ActiveRecord::QueryMethods#in_order_of
Rails 7 adds disable_joins for associations
Rails 7 adds the ability to use pre-defined variants
Rails 7 adds setting for enumerating columns in select statements
Reducing memory bloat of a Ruby on Rails application
Rails 7 adds ComparisonValidator to ActiveRecord
Rails 7 adds ActiveRecord::Relation#structurally_compatible?
Rails 7 deprecates Enumerable#sum and Array#sum
Rails 7 adds method calls for nested secrets
Rails 7.0 adds encryption to Active Record models
Rails 6.1 adds invert_where method
Rails 7 adds Enumerable#sole
Rails 6.1 adds support for validating numeric values that fall within a specific range using the `in:` option
Rails 7 allows constructors (build_association and create_association) on has_one :through associations
Rails 6.1 adds delegated_type to ActiveRecord
Rails 7 adds Enumerable#in_order_of
Rails 7 adds ActiveRecord::Relation#excluding
Rails 6.1 adds nulls_first and nulls_last methods to Arel for PostgreSQL
Rails 7.0 adds ActiveRecord::FinderMethods 'sole' and 'find_sole_by'
Rails 7 adds Enumerable#maximum
Rails 6.1 adds support for PostgreSQL interval data type
Rails 6.1 allows per environment configuration support for Active Storage
Rails 6.1 adds support for belongs_to to has_many inversing
Additional database-specific rake tasks for multi-database users
Rails 6.1 adds strict_loading to warn lazy loading associations
Rails 6.1 allows default_scope to be run on all queries
Rails 6.1 adds where.associated to check association presence
Rails 6.1 raises an error for impossible camelcase inflections
Rails 6.1 allows associations to be destroyed asynchronously
Reduce asset delivery time from 30 to 3 seconds with CDN
Rails 6.1 adds values_at attribute method for Active Record
Database tasks can skip test database using SKIP_TEST_DATABASE
Rails 6.1 supports ORDER BY clause for batch processing methods
Rails 6.1 deprecates structure:dump/load rake tasks
Rails 6.1 adds --minimal option support
Rails 6 adds support to persist timezones of Active Job
Rails 6 adds including & excluding method on Enumerables
Rails 6.1 raises error on rollback when using multiple database
Render a liquid template when the template is a liquid template
Rails 6.1 deprecates the use of exit statements in transaction
Rails 6.1 creates abstract classes in multiple database mode
Rails 6.1 adds annotate_rendered_view_with_filenames for views
Rails 6.1 allows configuring default value of enum attributes
Rails 6.1 adds support for where with a comparison operator
Rails 6.1 tracks Active Storage variant in the database
Rails 6 fixes after_commit callback invocation bug
Rails 6.1 introduces class_names helper
Rails Multiple Polymorphic Joins
Rails 6 adds rails db:prepare to migrate or setup a database
Rails 6.1 adds *_previously_was attribute methods
Rails 6 adds guard against DNS Rebinding attacks
Rails 6 adds ActiveStorage::Blob#open
Rails 6 adds ActionMailer#email_address_with_name
Rails 6 raises ArgumentError if param contains colon
Rails 6 introduces new code loader called Zeitwerk
Rails 6 adds ActiveSupport::ActionableError
Rails 6 add_foreign_key & remove_foreign_key SQLite3
Rails 6 adds ActionDispatch::Request::Session#dig
Marking arrays of translations safe using html suffix
Rails 6 adds filter_attributes on ActiveRecord::Base
ArgumentError for invalid :limit & :precision Rails 6
Rails 6 Pass custom config to ActionCable::Server::Base
Rails 6 adds support of symbol keys
Rails 6 preserves status of #html_safe?
Recyclable cache keys in Rails
Rails 6 deprecates where.not as NOR & Rails 6.1 as NAND
Rails 6 adds support for Optimizer Hints
Rails 6 reports object allocations while rendering
Rails 6 adds ActiveRecord::Relation#annotate
Rails 6 adds hook to Active Job for retry & discard
Rails 6 adds support for Multi Environment credentials
Rails 6 adds before? and after? to Date and Time
Rails 6 adds Array#extract!
Rails 6 adds Enumerable#index_with
Rails 6 adds private option to delegate method
Rails 6 allows spaces in postgres table names
Rails 6 adds if_not_exists option to create_table
Rails 6 has added a way to change the database of the app
Rails 6 adds parallel testing
Rails 6 improves ActiveSupport::Notifications::Event
Rails 6 allows configurable attribute on #has_secure_password
Rails 6 allows overriding ActiveModel::Errors#full_message
Rails 6 adds ActiveRecord::Relation#extract_associated
Rails 6 adds implicit_order_column
Bulk insert support in Rails 6
Rails 6 drops support for PostgreSQL version less than 9.3
Rails 6 requires Ruby 2.5 or newer
Rails 6 database seed uses inline Active Job adapter
Rails 6 adds ActiveRecord::Relation#reselect
Rails 6 adds ActiveModel::Errors#of_kind?
Rails 6 shows routes in expanded format
Rails 6 adds ActiveModel::Errors#slice!
Rails 6 adds create_or_find_by and create_or_find_by!
Rails 6 raises ActiveModel::MissingAttributeError
Rails 6 ActiveRecord::Base.configurations
Rails 6 shows unpermitted params in logs in color
Rails 6 delete_by, destroy_by ActiveRecord::Relation
Rails 6 adds ActiveRecord::Relation#touch_all
Rails 6 adds negative scopes on enum
Replacing PhantomJS with headless Chrome
Rails 5 Active Record attributes API
Passing current_user by default in Sidekiq
Skipping devise trackable module for API calls
Rails 5.2 DSL for configuring Content Security Policy
Rails 5.2 stops some raw SQL, prevents SQL injections
Use parametrized containers to deploy Rails microservices
Upload direct to S3 with Pre-signed POST request
Setting up a high performance Geocoder
Speed up Docker image build process of a Rails app
Rails 5.2 added method write_multi to cache store
Rails 5.2 uses AES-256-GCM authenticated encryption
Using Concurrent Ruby in a Ruby on Rails Application
Rails 5.2 adds allow_other_host to redirect_back method
Faster JSON generation using PostgreSQL JSON function
Rails 5.2 fixes query caching in MySQL & PostgreSQL adapters
How to mitigate DDoS using Rack::Attack
Increase reliability using super_fetch of Sidekiq Pro
Rails 5.2 sets version in Gemfile & adds .ruby-version
Rails 5.2 Date#prev_occurring & Date#next_occurring
Gpg decryption without pin entry pop up using GPGME
Setup path based routing for a Rails app with HAProxy Ingress
Rails 5.2 default option to module & class attribute accessors
Rails 5.2 specifying default value for class_attribute
Rails 5.2 allows mailers to use custom Active Job class
Rails 5.2 supports descending indexes for MySQL
Rails 5.2 pass request params to Action Mailer previews
Rails 5.2 adds bootsnap to the app to speed up boot time
Rails 5.2 fetch_values for HashWithIndifferentAccess
Rails 5.1 doesn't load all records on calling Model.all#inspect
Rails adds accurate numerical validation
Integrate SAML with many IDPs with Devise & OmniAuth
Rails 5.2 expiry option for signed & encrypted cookies
New Syntax for HTML Tag helpers in Rails 5.1
Rails 5.1 enhances ActiveSupport::TimeZone.country_zones
Rails 5.1 dropped jQuery dependency in default stack
Rails using db:migrate & db:seed on Kubernetes
Rails 5.1 adds delegate_missing_to
Rails 5.1 adds support for limit in batch processing
Rails 5.1 doesn't share thread_mattr_accessor variable
Rails 5.1 introduced assert_changes and assert_no_changes
Forward ActiveRecord::Relation#count to Enumerable#count
Rails 5.1 has introduced Date#all_day helper
Rails 5 blogs and the art of story telling
Rails 5 Create module and class level variables
Rails 5 silences assets logs in dev mode by default
Rails 5 disables autoloading while app in production
Rails 5 adds more control to fine tuning SSL usage
Rails 5 Discard some flash messages to trim storage
Rails 5 deprecates alias_method_chain
New framework defaults in Rails 5 to make upgrade easier
Rails 5 Wildcard for specifying template dependencies
Rails 5 Passing records to fresh_when and stale?
Set model name in fixtures as metadata
ActionController::Parameters in Rails 5
Rails 5 solves ambiguous column issue
Rails 5 Expression Indexes & Operator Classes support
Attach arbitrary metadata to an Active Job in Rails 5
Partial template name without Ruby identifier Rails 5
Rails 5 Passing current record for custom error
Skip mailers while generating Rails 5 app
Errors can be indexed with nested attributes in Rails 5
Rails 5 Conversion when deep munging params
Specific mime types in controller tests in Rails 5
Default response with 204 No Content in Rails 5
Rails 5 ensures compatibility with Rack frameworks
Rails 5 supports logging errors with tagged logging
Rails 5 makes sql statements even more colorful
Rails 5 adds helpers method in controllers for ease
Rails 5 supports adding comments in migrations
Rails 5 allows UUID as column type in create_join_table
Rails 5 adds another base class Application Job for jobs
Rails 5 Updating records in AR Relation
Rails 5 prevents destructive action on production database
Rails 5 adds finish option in find_in_batches
Rails 5 introduces country_zones helper method
Rails 5 provides fragment caching in Action Mailer views
Rails 5 adds OR support in Active Record
Rails 5 ArrayInquirer and checking array contents
Rails 5 Renaming transactional fixtures to tests
Rails 5 adds ignored_columns for Active Record
Rails 5 adds a hidden field on collection radio buttons
Rails 5 Attributes from Active Record to Active Model
Rails 5 Configure Active Job backend adapter for jobs
Rails 5 accepts 1 or true for acceptance validation
Rails 5 supports bi-directional destroy dependency
Rails 5 adds after_commit callbacks aliases
Rails 5 Updating a record without updating timestamps
Rails 5 Retrieving info of failed validations
Rails 5 - What's in it for me?
Rails 5 officially supports MariaDB
Changes to test controllers in Rails 5
accessed_fields to find active fields in application
Rails 5 Warning when fetching with Active Record
Rails 5 Sending STDOUT via environment variable
Validate multiple contexts together in Rails 5
Rails 5 changes protect_from_forgery execution order
Rails 5 provides config to use UUID as primary key
Rails 5 changed Active Job default adapter to Async
Support for left outer join in Rails 5
has_secure_token for unique random token in Rails 5
Suppress save events in Rails 5
Rails 5 improves rendering partial from cache
Rails 5 switches from strong etags to weak etags
Parameter filtering enhancement in Rails 5
Rails 5 adds http_cache_forever
Better exception responses in Rails 5 API apps
Use file_fixture to access test files in Rails 5
Migrations are versioned in Rails 5
Rails 5 improves redirect_to :back method
Rails 5 allows configuring queue name for mailers
Rails 5 handles DateTime with better precision
Active Support Improvements in Rails 5
Rails 5 improves route search with advanced options
Rails 5 makes belongs_to association required by default
Rails 5 doesn't halt callback chain if false is returned
Configuring bundler using bundle config
Caching result sets and collection in Rails 5
Caching in development environment in Rails 5
Rails 5 wraps all rake commands using rails
Each form gets its own CSRF token in Rails 5
Rendering views outside of controllers in Rails 5
Not using https might be breaking file uploads
Test runner in Rails 5
ApplicationRecord in Rails 5
How constant lookup and resolution works in Ruby on Rails
Rails 5 allows setting custom HTTP Headers for assets
Migrating Rails app from postgresql to sql server
Using ReactJS with Rails Action Cable
Verifying PubSub Services from Rails using Redis
Voice based phone verification using twilio
Gotcha with after_commit callback in Rails
Phone verification using SMS via Twilio
Migrating existing session cookies while upgrading
Rails Girls Pune 2014
DRYing up Rails Views with View Carriers and Services
Make Outbound calls to a phone using Twilio and Rails
Tricks and Tips for using Fixtures effectively in Rails
DeccanRubyConf 2014. Hou De!
Flash access changes in Rails 4.1
Issue with Delayed Job lifecycle and Postgres Errors
RedDotRubyConf 2014
Six Year Old Optional / Keyword Arguments bug
How to add additional directories to test
Configuring Log Formatting in Rails
Displaying non repeating random records
Active Record is still magical
Visitor pattern and double dispatch in ruby
Preload, Eagerload, Includes and Joins
Cookies on Rails
Understanding instance exec in ruby
Rex, Rexical and Rails routing
Rails Routing -- a comprehensive look at routing
Life of save in ActiveRecord
Redirect to www for heroku with SSL
Solr, Sunspot, Websolr and Delayed job
Test factories first
Data-behavior is for JavaScript developers
XSS and Rails
CSRF and Rails
tsort in ruby and rails initializers
Mime type resolution in Rails
I am not seeing hoptoad messages. Now I know why.
Order of format matters in respond_to block
Determining if commits are executed in a transaction
Restful architecture does not mean one to one mapping
Configure local_request
Override automatic updated_at in ActiveRecord/Rails
Under the hood how named_scope works