Hello! This is Greg bringing you latest news from the world of Rails. This is the last issue of the year, so we will look back at the interesting changes we had this year! I would like to take the chance and say thanks to my fellow editors for the work they put into the newsletter this year!
After a period of betas Rails 5.0 has been released this June. The headline features are Action Cable and a mode primed for API-only apps. For the new major release, DHH brought us an updated look at Rails in the form of a video tutorial.
Before the the latest major release of Rails, we got a new website and logo and... doctrine? Yes! See, Rails has been going strong for over 10 years, the Rails Doctrine just captures that magic and spells it out. Thus Rails is ready to roll on for the next decade. The blog post dishes on the new design's backstory.
Do you remember the old Welcome aboard page? It's now replaced by Yay! You are on Rails! The welcome page got a big facelift in Rails 5, gone are the needless links and extra data. It's compact and mentions only relevant things.
“System tests have finally taken strong hold at @Basecamp. Can't wait for us to level-up @Rails with great defaults for it in 5.1!” The work being done is soon to be bundled into a new gem inside of Rails, that will hopefully be part of Rails 5.1!
Building on an implementation proposal by DHH, new syntactical sugar has been introduced for tag helpers that supports HTML5 markup by default and avoids positional parameters. See the PR for details and code examples as well as #25289 for the groundwork and discussion.
New APIs retry_on and discard_on have been added to Active Job. These provide hooks for a job class to perform some additional functionality when exceptions occur. The PR for this feature has some nice discussion, check it out!
The Rails test runner switched to using minitest's autorun across the board, as such it gained support for Minitest.after_run hooks. autorun also guards against running tests twice, which could happen in some cases. But that's now fixed too.
Friends don't let friends use INT as a primary key – your app might hit Webscale™ before you know it, resulting in much sadness when your primary key column overflows. To help put you on the right path, Rails 5.1 will default to using BIGINTs for primary key columns in MySQL and PostgreSQL.
That's it from This Year in Rails! There were many other great contributions, so please feel free to check them out yourself!
As I already mentioned we had a great year with a lot of improvements and great new features!