Skip to content

Commit 91f9d64

Browse files
committed
Edit pass over the 7.2 release notes
1 parent bb3da87 commit 91f9d64

File tree

1 file changed

+34
-35
lines changed

1 file changed

+34
-35
lines changed

guides/source/7_2_release_notes.md

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@ guide.
2626
Major Features
2727
--------------
2828

29-
### Development Containers configuration for applications
29+
### Development containers configuration for applications
3030

3131
A [development container](https://containers.dev/) (or dev container for short) allows you to use a container
3232
as a full-featured development environment.
3333

3434
Rails 7.2 adds the ability to generate a development container configuration for your application. This configuration
3535
includes a `.devcontainer` folder with a `Dockerfile`, a `docker-compose.yml` file, and a `devcontainer.json` file.
3636

37-
By default the dev container contains the following:
37+
By default, the dev container contains the following:
3838

39-
* A redis container for use with Kredis, Action Cable etc.
39+
* A Redis container for use with Kredis, Action Cable, etc.
4040
* A database (SQLite, Postgres, MySQL or MariaDB)
41-
* A Headless chrome container for system tests
41+
* A Headless Chrome container for system tests
4242
* Active Storage configured to use the local disk and with preview features working
4343

4444
To generate a new application with a development container, you can run:
@@ -55,7 +55,7 @@ rails devcontainer
5555

5656
For more information, see the [Getting Started with Dev Containers](https://edgeguides.rubyonrails.org/getting_started_with_devcontainer.html) guide.
5757

58-
### Add browser version guard by default
58+
### Browser version guards
5959

6060
Rails now adds the ability to specify the browser versions that will be allowed to access all actions
6161
(or some, as limited by `only:` or `except:`).
@@ -92,20 +92,20 @@ documentation.
9292

9393
### Make Ruby 3.1 the new minimum version
9494

95-
Until now, Rails only droped compatibility with older Rubies on new majors version.
95+
Until now, Rails only dropped compatibility with older Rubies on new majors version.
9696
We are changing this policy because it causes us to keep compatibility with long
9797
unsupported versions of Ruby or to bump the Rails major version more often, and to
9898
drop multiple Ruby versions at once when we bump the major.
9999

100100
Now we are going to drop Ruby versions on minor versions, following the recommendation
101-
from th Ruby team at the time of the release.
101+
from the Ruby team at the time of the release.
102102

103103
For Rails 7.2, Ruby 3.1 is the new minimum version.
104104

105105
### Default Progressive Web Application (PWA) files
106106

107-
In preparation to better support creating PWA applications with Rails, we now generate default PWA files for manifest
108-
and service-worker that are served from `app/views/pwa` and can be dynamically rendered through ERB. Those files
107+
In preparation to better supporting the creation of PWA applications with Rails, we now generate default PWA files for the manifest
108+
and service worker, which are served from `app/views/pwa` and can be dynamically rendered through ERB. Those files
109109
are mounted explicitly at the root with default routes in the generated routes file.
110110

111111
For more information, see the [pull request adding the feature](https://github.com/rails/rails/pull/50528).
@@ -119,7 +119,7 @@ diversity. It was never meant as a language to be written exclusively in a singl
119119
frameworks, or applications. If you or your team has developed a particular house style that brings you joy,
120120
you should cherish that.
121121

122-
This collection of Rubocop styles is for those who haven't committed to any specific dialect already. Who would just
122+
This collection of RuboCop styles is for those who haven't committed to any specific dialect already. Who would just
123123
like to have a reasonable starting point, and who will benefit from some default rules to at least start a consistent
124124
approach to Ruby styling.
125125

@@ -134,9 +134,9 @@ we've done since the start with unit tests.
134134

135135
It's of course true that GitHub Actions are a commercial cloud product for private repositories after you've used the
136136
free tokens. But given the relationship with GitHub and Rails, the overwhelming default nature of the platform for
137-
newcomers, and the value of teaching newcomers good CI habits, We find this to be an acceptable trade-off.
137+
newcomers, and the value of teaching newcomers good CI habits, we find this to be an acceptable trade-off.
138138

139-
### Add Brakeman by default to new apps
139+
### Add Brakeman by default to new applications
140140

141141
[Brakeman](https://brakemanscanner.org/) is a great way to prevent common security vulnerabilities in Rails from going
142142
into production.
@@ -148,10 +148,10 @@ every push.
148148

149149
Rails changed the default number of threads in Puma from 5 to 3.
150150

151-
Due to the nature of well optimized Rails applications, with quick SQL queries and slow 3rd party calls running via jobs,
151+
Due to the nature of well-optimized Rails applications, with quick SQL queries and slow 3rd-party calls running via jobs,
152152
Ruby spends most of its time waiting for the Global VM Lock (GVL) to release when the thread count is too high.
153153

154-
After careful consideration, investigation and based on battle tested experience from applications running in
154+
After careful consideration, investigation, and based on battle-tested experience from applications running in
155155
production, we decided that a default of 3 threads is a good balance between concurrency and performance.
156156

157157
You can follow a very detailed discussion about this change in [the issue](https://github.com/rails/rails/issues/50450).
@@ -181,6 +181,8 @@ class NewTopicNotificationJob < ApplicationJob
181181
end
182182
```
183183

184+
### Per transaction commit and rollback callbacks
185+
184186
This is now possible due to a new feature that allows to register transaction callbacks outside of a record.
185187

186188
`ActiveRecord::Base.transaction` now yields an `ActiveRecord::Transaction` object, which allows to register callbacks
@@ -217,15 +219,12 @@ def publish_article(article)
217219
end
218220
```
219221

220-
See the related pull requests for more information:
221-
222-
https://github.com/rails/rails/pull/51474
223-
https://github.com/rails/rails/pull/51426
222+
See [#51474](https://github.com/rails/rails/pull/51474) and [#51426](https://github.com/rails/rails/pull/51426) for more information:
224223

225224
### Enable YJIT by default if running Ruby 3.3+
226225

227-
YJIT in Ruby's JIT compiler that is available in CRuby since Ruby 3.1. It can provide significant performance
228-
improvements for Rails applications, ranging 15-25% latency improvements.
226+
YJIT is Ruby's JIT compiler that is available in CRuby since Ruby 3.1. It can provide significant performance
227+
improvements for Rails applications, offering 15-25% latency improvements.
229228

230229
In Rails 7.2, YJIT is enabled by default if running Ruby 3.3 or newer.
231230

@@ -245,31 +244,31 @@ consistent, clear, and up-to-date, it was time to tackle the design of the guide
245244
and fresh.
246245

247246
We worked with UX designer [John Athayde](https://meticulous.com/) to take the look and feel of the homepage and
248-
transfer that over to the Rails Guide to make it clean, sleek, and up-to-date.
247+
transfer that over to the Rails guides to make them clean, sleek, and up-to-date.
249248

250-
The layout will remain the same, but from today you will see the following changes reflected in the Guides:
249+
The layout will remain the same, but from today you will see the following changes reflected in the guides:
251250

252251
* Cleaner, less busy design.
253252
* Fonts, color scheme, and logo more consistent with the home page.
254253
* Updated iconography.
255254
* Simplified navigation.
256-
* Sticky ‘Chapter’ navbar when scrolling.
255+
* Sticky "Chapters" navbar when scrolling.
257256

258257
See the [announcement blog post for some before/after images](https://rubyonrails.org/2024/3/20/rails-guides-get-a-facelift).
259258

260259
### Setup jemalloc in default Dockerfile to optimize memory allocation
261260

262-
[Ruby's use of malloc can create memory fragmentation problems, especially when using multiple threads](https://www.speedshop.co/2017/12/04/malloc-doubles-ruby-memory.html)
261+
[Ruby's use of `malloc` can create memory fragmentation problems, especially when using multiple threads](https://www.speedshop.co/2017/12/04/malloc-doubles-ruby-memory.html)
263262
like Puma does. Switching to an allocator that uses different patterns to avoid fragmentation can decrease memory usage
264263
by a substantial margin.
265264

266-
Rails 7.2 now includes jemalloc in the default Dockerfile to optimize memory allocation.
265+
Rails 7.2 now includes [`jemalloc`](https://jemalloc.net/) in the default Dockerfile to optimize memory allocation.
267266

268267
### Suggest puma-dev configuration in bin/setup
269268

270-
puma-dev is the golden path for developing multiple Rails applications locally, if you're not using Docker.
269+
[Puma-dev](https://github.com/puma/puma-dev) is the golden path for developing multiple Rails applications locally, if you're not using Docker.
271270

272-
Rails now suggests how to get that setup for apps with bin/setup.
271+
Rails now suggests how to get that setup in a new comment you'll find in `bin/setup`.
273272

274273
Railties
275274
--------
@@ -286,21 +285,21 @@ Please refer to the [Changelog][railties] for detailed changes.
286285

287286
* Remove deprecated `find_cmd_and_exec` console helper.
288287

289-
* Remove support for `oracle`, `sqlserver`, and JRuby specific database adapters from the rails new
290-
and rails db:system:change commands.
288+
* Remove support for `oracle`, `sqlserver`, and JRuby specific database adapters from the `new`
289+
and `db:system:change` `rails` commands.
291290

292291
* Remove `config.public_file_server.enabled` option from the generators.
293292

294293
### Deprecations
295294

296295
### Notable changes
297296

298-
* Add `RuboCop` with rules from [rubocop-rails-omakase](https://github.com/rails/rubocop-rails-omakase)
297+
* Add RuboCop with rules from [rubocop-rails-omakase](https://github.com/rails/rubocop-rails-omakase)
299298
by default in both new applications and plugins.
300299

301-
* Add `Brakeman` with default configuration for security checks in new applications.
300+
* Add Brakeman with default configuration for security checks in new applications.
302301

303-
* Add GitHub CI files for `Dependabot`, `Brakeman`, `RuboCop`, and running tests by default for new applications and plugins.
302+
* Add GitHub CI files for Dependabot, Brakeman, RuboCop, and running tests by default for new applications and plugins.
304303

305304
* YJIT is now enabled by default for new applications running on Ruby 3.3+.
306305

@@ -312,10 +311,10 @@ Please refer to the [Changelog][railties] for detailed changes.
312311

313312
* Introduce `Rails::Generators::Testing::Assertions#assert_initializer` to test initializers.
314313

315-
* System tests now use headless Chrome by default for new applications.
314+
* System tests now use Headless Chrome by default for new applications.
316315

317316
* Support the `BACKTRACE` environment variable to turn off backtrace cleaning in normal server runnings.
318-
Previously, this was only available for the testing.
317+
Previously, this was only available for testing.
319318

320319
* Add default Progressive Web App (PWA) files for the manifest and service worker, served from `app/views/pwa`,
321320
and make them dynamically renderable through ERB.
@@ -363,7 +362,7 @@ Please refer to the [Changelog][action-view] for detailed changes.
363362

364363
### Removals
365364

366-
* Remove deprecated `@rails/ujs` in favor of `Turbo`.
365+
* Remove deprecated `@rails/ujs` in favor of Turbo.
367366

368367
### Deprecations
369368

0 commit comments

Comments
 (0)