Skip to content

Releases: moduloTech/modulorails

v1.7.1

28 Apr 13:47

Choose a tag to compare

The boot-resilience release. Hardens the gem against several boot-time crash paths so that information gathering and configuration generation can never prevent the host application from starting.

Fixes

  • Fix initialize_from_database when the database is unreachable on Rails 7.1+. Connections are now established lazily at query time, so errors surface from select_value as ActiveRecord::StatementInvalid or adapter-level errors (e.g. PG::ConnectionBad) that don't inherit from ActiveRecordError. The rescue is broadened to StandardError so that DB metadata collection never prevents the application from booting (e.g. running bin/rails db:create on a fresh checkout).
  • Guard Modulorails::Data#initialize_from_configuration against a missing config.name: fall back to the Rails application class name and use safe navigation when deriving @environment_name, so a forgotten config.name '...' no longer crashes the boot with NoMethodError: undefined method 'parameterize' for nil.
  • Move the body construction in Modulorails.send_data inside its begin/rescue block so that an unexpected failure in Modulorails::Data.new (e.g. a malformed configuration) is caught instead of bubbling out of after_initialize and breaking Rails boot.

v1.7.0

28 Apr 10:19

Choose a tag to compare

Improvements

  • Make the Rubocop generator idempotent: .rubocop.yml is no longer rewritten on every Rails boot. Like the other generators, RubocopGenerator now uses the .modulorails.yml keepfile and a VERSION constant — the config is only (re)generated on the first run or when the generator's version is bumped.

Fixes

  • Fix initialize_from_git when the git repository is not available (no .git, missing git binary, or no origin remote): rescue the error, warn, and leave repository as nil instead of crashing the application boot.
  • Fix send_data and self_update crashing with NoMethodError when Rails.logger is nil (e.g. early initialization or minimal apps): use safe navigation on debug logging.

Internal

  • Add release-modulorails Claude Code skill (.claude/skills/release-modulorails/) to standardize the gem release workflow.