|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Rails Luminary 2025, dynamic rate-limiting options, performance optimizations and more!" |
| 4 | +categories: news |
| 5 | +author: Greg |
| 6 | +og_image: assets/images/this-week-in-rails.png |
| 7 | +published: true |
| 8 | +date: 2025-11-14 |
| 9 | +--- |
| 10 | + |
| 11 | + |
| 12 | +Happy Friday! This is [Greg](https://greg.molnar.io), bringing you the latest changes from the Rails codebase. |
| 13 | + |
| 14 | +[The 2025 Rails Luminary nominations are open.](https://rubyonrails.org/2025/11/14/2025-rails-luminary-nominations) |
| 15 | +If you know of someone who has consistently gone above and beyond to contribute to the framework, triaging bugs, improving performance, adding helpful features or documentation, creating or maintaining gems, etc. please nominate them for the 2025 Rails Luminary Award by Dec 3. |
| 16 | + |
| 17 | +[Remove explicit _--config_ from RuboCop binstub templates](https://github.com/rails/rails/pull/56154) |
| 18 | +By removing the explicit config flag from the RuboCop binstub templates, this |
| 19 | +change allows RuboCop's cascading config feature to work properly, enabling |
| 20 | +subdirectory-specific configurations. |
| 21 | + |
| 22 | +[Enhance rate limiting to support dynamic _to:_ and _within:_ options](https://github.com/rails/rails/pull/56128) |
| 23 | +This pull request changes the `to` and `within` options of the rate limiter to |
| 24 | +accept static values(as before), instance method names as symbols, and |
| 25 | +callables(lambdas/procs) that are evaluated in the controller context. |
| 26 | + |
| 27 | +[Optimize _String#strip_heredoc_](https://github.com/rails/rails/pull/56126) |
| 28 | +This pull request speeds up `String#strip_heredoc` by 1.5x to 5x when yjit is enabled. |
| 29 | +The new version doesn't allocate any strings to find the `minimum_indent` to be stripped. Instead uses `StringScanner#skip` per each line to count whitespace char length. |
| 30 | + |
| 31 | +[Reset parallel test tables by deleting](https://github.com/rails/rails/pull/56097) |
| 32 | +With this change, on MySQL parallel test database table reset will use `DELETE` instead of `TRUNCATE`. Truncating on MySQL is very slow even on empty or nearly empty tables. |
| 33 | +As a result of this change auto increment counters are now no longer reset between test runs on MySQL and the `SKIP_TEST_DATABASE_TRUNCATE` environment variable no longer has any effect. |
| 34 | + |
| 35 | + |
| 36 | +_You can view the whole list of changes [here](https://github.com/rails/rails/compare/@%7B2025-11-07%7D...main@%7B2025-11-14%7D)._ |
| 37 | +_We had [22 contributors](https://contributors.rubyonrails.org/contributors/in-time-window/20251107-20251114) to the Rails codebase this past week!_ |
| 38 | + |
| 39 | +Until next time! |
| 40 | + |
| 41 | +_[Subscribe](https://world.hey.com/this.week.in.rails) to get these updates mailed to you._ |
0 commit comments