Rails 7 adds AudioAnalyzer to ActiveStorage

Rails 7 adds AudioAnalyzer to ActiveStorage to extract audio duration and bit_rate.

Rails 7 generators will raise errors if an attribute type is invalid

Rails 7 generators will validate the type by checking if it is of a default migration type and will raise an error if it is invalid.

Babel 7.14 enables class fields & private methods by default in @babel/preset-env

Starting from Babel 7.14 @babel/plugin-proposal-class-properties and @babel/plugin-proposal-private-methods plugins are enabled by default in @babel/preset-env.

Rails 7 allows passing raw SQL as `on_duplicate` value to `#upsert_all`

Rails 7 allow passing raw SQL statements to `on_duplicate` and `returning` option as value to ActiveRecord `#upsert_all` method.

Rails now serves files via proxy

Rails 6.1 has added support to ActiveStorage that serves files via proxying.

Back to Office- The Remote Work edition

As the pandemic enters into a stage where some companies are retracting Work from Home, lets look at some alternatives.

ES 12/2021 introduces new logical assignment operators

ES 12/2021 introduces new logical assignment operators for nullish(??=), AND(&&=) and OR(||=).

Rails 7 provides context when logging unpermitted parameters

Rails 7 enables passing context to ActionController::Parameters providing more information to the developer.

Ruby 3.1 adds Enumerable#compact and Enumerator::Lazy#compact

Ruby 3.1 adds Enumerable#compact and Enumerator::Lazy#compact to return a copy of `self` with all `nil` elements removed.

React 17 runs useEffect cleanup functions asynchronously

React 17 executes useEffect cleanup functions asynchronously, improving the performance of large applications.