Foreman 3.10 has (mostly) branched and 3.10.0 RC1 is being released. See Release Team Meeting 2024-02-21 - #2 by ekohl as well. There are 2 remaining issues:
- Fixes #37134 - upgrade to node 18 and npm 8 by MariaAga · Pull Request #10016 · theforeman/foreman · GitHub
- Fixes #37065 - Call report_row with kwargs in Host Statuses report by jeremylenz · Pull Request #10047 · theforeman/foreman · GitHub
They aren’t blockers for RC1, but we should aim to get both resolved for RC2.
To be explicit: the Foreman 3.10 goal is experimental support. We won’t provide a migration path from EL8. We expect it to largely work, but it’s a large upgrade and we may have missed things. Foreman 3.11 aims to complete the work. This means:
- Upgrade all platforms to NodeJS 18 (instead of just EL9)
- Upgrade EL8 to PostgreSQL 13 for a smooth migration path to EL9 (which also has PG 13): Fixes #37177 - Upgrade PostgreSQL to 13 on EL8 by evgeni · Pull Request #913 · theforeman/foreman-installer · GitHub
- Support upgrades using leapp: Foreman/Satellite el8toel9 upgrade by evgeni · Pull Request #1181 · oamg/leapp-repository · GitHub
Then within the project there are 2 types of issues remaining: GitHub Actions migration and RuboCop changes. For the former Support setting arbitrary environment variables in foreman_plugin · Issue #44 · theforeman/actions · GitHub is an issue that popped up.
For both I’m tempted to split them off to a separate project and rename the existing one to EL9 support, just to keep things clear.
Other follow ups for 3.11 include:
- Start building for Ubuntu 22.04, which includes Ruby 3.0 so it should just work
- Start the Zeitwerk migration to get us on a path to Rails 7, opening Ruby 3.1+
Ruby 3.1+ is important, because Debian 12 and Ubuntu 24.04 both ship Ruby 3.1. Right now CentOS Stream 10 is also being branched. Depending on which Fedora version they base it on, I’d expect Ruby 3.2 or 3.3 (with the latter being more likely).
As a last note we’ve started to discuss EL8 server support deprecation. We want to give users a smooth, well tested path so we’re currently looking at 3.13 to drop EL8. This will be communicated in the 3.10+ release notes.