Keeping gems up to date
Introduction
Nothing to fancy here. Just the process I use to keep my gems up to date.
When
I have a recurring task in my calendar that reminds me to update the gems in my projects. It is set to repeat itself every 3 months.
Why
Of course there are many reasons like security, performance, bug fixes, etc. But the main reasons for me are:
- Pay the technical debt in comfortable installments. This way when the next Ruby or Rails version is released I will have less work to do.
 - Check for dependencies to remove. Dependency minimalism brings me peace of mind.
 - Discover new functionalities. Sometimes I find out that a gem I use has a new feature that I was not aware of.
 
How
First I run bundle outdated --only-explicit to see which gems have new versions available.
Gem             Current  Latest  Requested           Groups
faker           3.3.0    3.3.1   ~> 3.3              default
pagy            7.0.11   8.0.2   ~> 7.0, >= 7.0.11   default
rake            13.1.0   13.2.1  ~> 13.0, >= 13.0.6  default
rubocop         1.62.1   1.63.0  ~> 1.62, >= 1.62.1  development
Then, for each gem I:
- Look for it in the RubyGems website.
 - Check the CHANGELOG.
 - Update the gem in the 
Gemfile. - Run 
bundle update gem_name. - Run the tests.
 
Usually it is a smooth process. But sometimes I have to fix some deprecation warnings or even some tests.
Conclusion
I told you, nothing fancy. It is a simple process that I do not mind doing. It is a way to keep my projects up to date and to learn new things.