Ruby on Rails 8.1 : CI local, rendu markdown, 2500 commits

Par:
francoistonic

lun, 27/10/2025 - 15:14

Ruby on Rails est disponible en version 8.1. Plus de 2500 commits ont été intégrés depuis la dernière version majeure. Pour mettre à jour vos apps Rails, migrez tout d'abord en 8.0 si ce n'est pas déjà le cas. 

Active Jobs Continuations : les tâches longues peuvent être découpées en étape plus petites pour les rendre plus souples et résilientes en cas de crash. La tâche reprend à l'étape où le crahs s'est déroulé et non depuis le début.

class ProcessImportJob < ApplicationJob
  include ActiveJob::Continuable
  def perform(import_id)
    @import = Import.find(import_id)
    # block format
    step :initialize do
      @import.initialize
    end
    # step with cursor, the cursor is saved when the job is interrupted
    step :process do |step|
      @import.records.find_each(start: step.cursor) do |record|
        record.process
        step.advance! from: record.id
      end
    end
    # method format
    step :finalize
  end
  private
    def finalize
      @import.finalize
    end
end

Rapport d'événements structurés : le logger actuel n'est pas forcément adapté à du post-traitement. Event Reporter fournit une interface pour créer des événements structurés dans les apps Rails. 

CI locale : les postes de développement possèdent souvent plusieurs coeurs et peuvent supporter une CI locale, Rails 8.1 permet ce fonctionnement et supprime une CI dans le cloud.

Rendu Markdown :  l'autre nouveauté est l'adoption de markdown pour le reundu. 

Il est maintenant possible de récupérer les secrets des credentials directement en ligne de commande (KAMAL). La 8.1 retire plusieurs éléments : fiichier methods.rb, commande rake stats et stats_directories

Note de version complète : https://guides.rubyonrails.org/8_1_release_notes.html