<?xml version="1.0" encoding="UTF-8"?><urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:pagemap="http://www.google.com/schemas/sitemap-pagemap/1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://www.fastruby.io/blog</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url><url><loc>https://www.fastruby.io/blog/10-strategies-for-upgrading-ruby-or-rails-applications-with-low-test-coverage.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/Middleware-in-Rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/a-tale-of-3-aliases.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/abizzinotto/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/aisayo/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/arieljuod/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/ashwini/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/bronzdoc/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/cleiviane/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/emily/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/etagwerker/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/fbuys/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/fionadl/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/geetfun/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/gelseyt/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/hmdros/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/juanvqz/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/juliolucero/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/kaspth/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/kaysiz82/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/luciano/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/mateuspereira/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/mauro-oto/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/mtoppa/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/noahgibbs/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/planet_argon/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/rishijain/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/authors/zach/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/automated-roadmap-announcement.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/benchmark/performance/rails/present-vs-any-vs-exists.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/bundler/memory-leaks/introducing-bundler-leak.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/can-you-upgrade-in-increments.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/case-study/doxo-upgrades-ruby-on-rails-increases-application-performance.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/case-study/power-hrg-tune-report-increases-performance.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/case-study/smile.io-upgrades-ruby-on-rails-increases-speed-agility-and-revenue.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/case-study/soundcloud-upgrades-monolithic-ruby-and-rails-system.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/code-quality/an-intro-to-software-quality.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/code-quality/calculate-tech-debt-using-skunk-on-github-actions.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/code-quality/churn-vs-complexity-vs-coverage.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/code-quality/code-coverage/rubycritic-4-2-0-simplecov-support.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/code-quality/escaping-the-tar-pit-at-rubyconf.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/code-quality/introducing-skunk-stink-score-calculator.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/code-quality/intruducing-skunk-stink-score-calculator.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/common-problems-in-rails-performance.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/cracking-the-code-on-flaky-specs.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/creating-development-gemfiles.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/custom-deprecation-behavior.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/db-migrations-best-practices.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/dealing-with-schema-changes-in-rails-7.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/deploying-rails-on-fly.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/docker/docker-ssh-keys.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/dual-boot-and-docker.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/dual-boot-ruby.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/dual-boot-with-main.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/esbuild/webpacker/javascript/migrate-from-webpacker-to-esbuild.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/evolution-of-action-controller-parameters-from-rails-4-to-5.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/exploring-global-constants-and-variables.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/exploring-ruby-warnings.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/extracting-rails-deprecation-warnings.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/finishing-an-upgrade.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/fix-broken-build.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/fix-sneaky-argument-error-when-upgrading-ruby.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/fortify-rails-security-webinar.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/gem/release/automate-the-gem-release-process.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/gem/release/how-to-manually-release-a-gem-in-rubygems.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/gems/dry/ruby/gemifying-your-styleguide.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/getting-started-with-vite-on-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/getting-to-the-root-of-slow-page-loads.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/hacktoberfest-2025-open-source-contributions.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/handling-erb-syntax-changes-for-form-helpers.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/heroku/upgrades/Heroku-22-Stack-Upgrade-Guide.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/hidden-costs-of-technical-debt.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/hidden-dangers-in-your-gemfile.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-actiondispatch-response-content-type-changed-rails-5.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-do-you-know-if-app-is-noncompliant.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-outdated-are-these-popular-ruby-projects.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-check-if-a-gem-is-loaded.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-delay-a-rails-upgrade.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-fix-gem-ext-error.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-grok-an-exiting-rails-application-for-the-first-time.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-improve-debugging-skills-in-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-make-your-gem-compatible-with-next-ruby-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-reduce-the-upgrade-cost.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-replicate-types-in-opensearch.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-run-multiple-versions-of-rails-on-heroku.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-use-brakeman-to-find-rails-security-vulnerabilities.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-to-use-bundler-audit-to-keep-dependencies-secure.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/how-we-approach-refactoring-projects.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/introduction-to-rails-engines.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/is-it-expensive-to-upgrade-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/is-it-ruby-or-rails-announcement.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/lcp.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/learning/javascript/behind-the-scenes-rails-ujs.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/learning/rails/nested-forms.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/learning/webpack/webpack-vs-sprockets.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/managing-long-running-branches.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/migrate-from-heroku.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/migrate-rails-app-from-sprockets-to-esbuild.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/migrating-from-heroku-to-railway.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/monthly-maintenance-services.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/my-journey-upgrading-to-ruby-3-0.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/navigating-asset-management-madness.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/next-rails-gem.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/open-source/guide-for-unmaintained-open-source-projects.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/open-source/introducing-dotenv-validator.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/open-source/ombulabs-open-source-guidelines.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/open-source-claude-code-skill-for-rails-upgrades.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/open-source-tooling.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page10/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page11/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page12/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page13/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page14/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page15/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page2/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page3/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page4/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page5/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page6/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page7/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page8/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/page9/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/performance/monitoring/understanding-request-queue.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/performance/optimizing-images-2.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/performance/optimizing-images-part-3.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/performance/optimizing-images.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/performance/rails/writing-fast-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/performance/response-times-and-what-to-make-of-their-percentile-values.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/code-quality/An-introduction-to-race-condition.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/code-quality/how-we-estimate-rails-application-size.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/data-migrations/three-useful-data-migrations-patterns-in-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/how-to-extend-rails-associations.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/how-to-split-rails-routes.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/javascript/code-coverage/js-code-coverage-in-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/naming-things-is-hard.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/performance/benchmark/performance-improvements-using-derailed-benchmarks.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/performance/notes-from-the-complete-guide-to-rails-performance-workshop.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/performance/ruby/best-ec2-instance-for-rails-apps.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/performance/ruby/hows-the-performance-of-ruby-3.0.0-preview1.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/performance/writing-fast-rails-part-2.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/performance/writing-fast-rails-part-3.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/rails-application-with-nosql-database.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/rspec/testing-ajax-controller-requests.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/ruby/performance/how-fast-is-ruby-3-on-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/ruby/rubygems/announcing-audit-tool.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/security/dangerous-query-method-deprecation.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/security/ruby-security-toolkit.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/service-objects.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/simplecov/upgrades/merging-multiple-simpleCov-coverage-results.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/tips-for-upgrading-rails-3-2-to-4.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrade/dual-booting-with-conditionals.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrade/how-to-pitch-an-upgrade-to-your-boss.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrade/our-rails-upgrade-process.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrade/prepare-for-rails-upgrade.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrade/rails-upgrade-series.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrade/testing/how-to-upgrade-rails-without-tests.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrade/zeitwerk/upgrading-to-zeitwerk.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/7-common-mistakes-made-while-doing-rails-upgrades.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/active-record-5-1-api-changes.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/assessing-rails-upgrades.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/case-study/procore-case-study.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/case-study/upgrading-a-large-rails-application-from-4.2-to-5.2.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/case-study/upgrading-a-monolith.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/case-study/upgrading-a-rails-app.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/deprecation-warnings-rails-guide.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/how-to-migrate-from-capybara-webkit-to-webdrivers.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/how-to-stay-up-to-date.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/our-rails-upgrade-process.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/rails-merge-deprecation.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/rails-upgrade-shims.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/rails-upgrade-strategies.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/simplecov/rails-upgrades-simplecov.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/southeast-ruby-upgrade-rails-workshop.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/strong-parameters-migration-guide.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-6-1-to-7-0.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-7-0-to-7-1.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-from-3-2-to-4-0.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-from-4-0-to-4-1.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-from-4-1-to-4-2.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-from-4-2-to-5-0.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-from-5-0-to-5-1.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-from-5-1-to-5-2.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-from-5-2-to-6-0.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-from-6-0-to-6-1.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-to-rails-3-1.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-to-rails-3-2.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/upgrade-to-rails-3.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/what-i-learned-first-rails-upgrade.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/upgrades/why-upgrade-your-rails-application.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/webpack/from-sprockets-to-webpacker.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/what-does-load-defaults-do.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails/what-is-code-coverage-ruby-on-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails-8-1-local-ci.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails-eol-why.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails-event-notify.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails-multiple-database.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rails-new-maintence-policy.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/railsbump-maintained-by-fastruby-io.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/railsconf/upgrade-rails-101-the-roadmap-to-smooth-upgrades.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/railsconf-2023-upgrade-workshop.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/readonly-associations-upgrading-rails-4.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/readytech-case-study.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/refactoring-strategies-for-rails-model.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/reliable-rails-maintenance-for-solo-saas-founders.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rspec/debug/how-to-debug-non-deterministic-specs.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rspec/ruby/spy-vs-double-vs-instance-double.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rspec/ruby/using-rspecs-documentation-format.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rubocop/code-quality/create-a-custom-rubocop-cop.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/code-quality/how-we-use-rubocop-and-standardrb.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/dual-boot/dual-booting-gems.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/dual-boot/generating-gemfile-next-lock.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/heroku/versions/compatibility-table.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/performance/how-fast-are-ractors.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/performance/why-wasnt-ruby-3-faster.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/quality/code-quality-ruby-gems.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/sidekiq/versions/compatibility-table.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/upgrades/upgrade-ruby-from-2.7-to-3.0.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby/uuid/friendlier-uuid-urls-in-ruby.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby-3-3.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby-3-4-new-defaults.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby-3-i18n-gem-and-beyond.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby-conf-2023.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby-dependency-freshness.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby-hanami-compatibility-table.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby-rails-compatibility-in-2025.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/ruby-roda-compatibility-table.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/rubyconf/rubyconf-scholars-and-guides.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/segmentation-fault-in-ruby.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/serving-active-storage-attachments-through-a-cdn.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/setting-up-dev-containers-for-rails.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/sinatra-and-ruby-compatibility-table.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/speed-up-assets-precompile.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/speed-up-tests-from-40-to-4-minutes.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/staying-ahead-of-the-rails-curve.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/step-by-step-ruby-upgrade.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/strategies-to-deal-with-load-defaults.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/best-practices/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/case-study/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/compatibility/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/devops/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/javascript/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/performance/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/rails/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/railsconf/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/ruby/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/rubyconf/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/security/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/technical-debt/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/tags/upgrades/index.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/test-doubles-testing-at-the-boundaries-of-your-ruby-application.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/testing/javascript/mocking-js-requests.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/testing/the-aaa-pattern-writing-robust-tests-for-any-project-with-confidence.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/testing-for-accessibility.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/the-assets-pipeline-history.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/the-evolution-of-activemodel-error-in-rails-framework.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/the-rails-developers-reference-to-postgresql-indexes.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/troubleshooting-github-actions-with-rails-and-mysql.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/unlocking-value-with-bonsai.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/upgrade-rails/dual-boot/dual-boot-with-rails-6-0-beta.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/upgrade-rails/legacy-rails-silently-judging-you.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/upgrade-rails/workshop/workshop-rails-upgrade.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/upgrade-rails-7-1-to-7-2.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/upgrade-rails-7-2-to-8-0.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/upgrade-rails-8-0-to-8-1.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/upgrades/active-storage/gradually-migrate-from-paperclip.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/upgrades/two-different-approaches.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/usability-and-accessibility-for-better-user-experience.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/valideval-case-study.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/walkthrough-of-roadmap.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/wave-accessibility-report.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/what-is-cyclomatic-complexity-and-why-should-you-care.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/what-is-technical-debt.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/why-fixed-cost-maintenance-beats-as-needed-upgrades.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.fastruby.io/blog/why-you-might-not-want-to-run-rails-app-update.html</loc><lastmod>2026-05-29T01:25:18+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>