Hi Foreman developers and plugin maintainers,
As part of the Foreman 5.0 branching process (branched 2026-08-11), it’s time to remove the deprecations that have reached their deadline from develop — following on from the 3.19 cleanup.
Core Foreman
These have passed their deadline and should be removed:
Long overdue (3.3–3.4):
app/services/proxy_api/resource.rb:70— ProxyApi headers deprecation (deadline 3.3)app/models/setting.rb:203— Setting subclassing deprecation (deadline 3.4)db/seeds.rb:10—format_errorsdeprecation (deadline 3.4)
Since 3.12:
app/helpers/reactjs_helper.rb:24—webpacked_plugins_css_forapp/helpers/reactjs_helper.rb:71—css_tags_forapp/helpers/layout_helper.rb:120and:126—webpack_asset_paths(JS/CSS)app/services/owner_classifier.rb:16—user_or_usergroup
Since 3.18:
app/controllers/concerns/foreman/controller/parameters/auth_source_ldap.rb:37—use_netgroupsparameter
API deprecations without an explicit deadline (worth a look too):
operatingsystems_controller.rb— bootfiles endpointregistration_commands_controller.rb/registration_controller.rb—repo/repo_gpg_key_urlparamsconfig_reports_controller.rb— old/reportsendpointcompute_resources_controller.rb(storage domain) and#L179(storage pod)
All verified against develop on 2026-08-18.
Plugins
I checked all 49 plugins in the plugin overview for Foreman::Deprecation usage. Five have deprecated code worth a look:
- foreman_ansible — 4 API deprecations (
import/obsoleteon roles and variables, dating to 2021), all pointing atsyncinstead - foreman_google —
emailandprojectcompute-resource params (now loaded automatically from the JSON credential file) - foreman_puppet — legacy
environment_*/puppetclass_*/config_group_*host & hostgroup params, plus the old/api/v2/*routes now served under/foreman_puppet/api/v2/* - foreman_remote_execution — the job template
/exportendpoint (superseded by core’s own export endpoint) - foreman_statistics — the old
/api/v2/statisticsand/api/v2/trendsendpoints (moved under/foreman_statistics)
None of these carry an explicit version deadline, so it’s each plugin’s call whether to remove them now — flagging them so they’re on your radar. foreman-tasks has no outstanding deprecations. The remaining 44 plugins have no Foreman::Deprecation usage at all.
How to help
Search your own plugin with:
grep -rE "deprecation_warning" --include="*.rb" .
- Core contributors: remove the deprecated code and its warning, update callers, adjust tests, open a PR against
develop. - Plugin maintainers: decide whether the deprecations above are safe to remove for your plugin, and check whether your plugin depends on any of the core methods being removed here.
Thanks for helping keep develop clean!