1. Headline Features
1.1. All Host index page improvements
The experimental new All Hosts index page gets some major improvements with this release. To use the new page by default, in Settings, set Show new host overview page to Yes. The legacy All Hosts page and the new All Hosts page now have links to each other, so you can switch between them easily regardless of the setting value.
Host bulk actions - You can now select one or more hosts and click the vertical ellipsis menu to perform the following actions: Build management, Change host group, and Delete
Single-host actions - Additionally, you can click the vertical ellipsis in the rightmost table column (without selecting the host) and perform actions on a single host: Edit, Clone, and Delete
Column selector - You can now click Manage Columns and customize columns displayed in the table. The column options are the same as those on the legacy All Hosts page. Any changes made here will also reflect on the legacy All Hosts page, and vice versa.
1.2. Puppet 8 support
Foreman 3.12 now fully supports Puppet 8. While Foreman 3.11 unofficially supported Puppet 8, Puppet’s official puppetserver RPMs are known to break on Java. The installer now handles this for users. For more information, see #37686. Users are encouraged to upgrade since Puppet 7 is expected to go end of life in February 2025.
3. Deprecations
3.1. Running Foreman on Ubuntu 20.04 (Focal) is deprecated, planned removal in Foreman 3.13
Foreman supports running on Ubuntu 22.04 LTS (Jammy Jellyfish) since 3.11, therefore running on 20.04 is deprecated. We plan to drop support for running on 20.04 in Foreman 3.13, so users are encouraged to plan their upgrade.
Note this is for running Foreman itself. Clients will remain supported.
4. Foreman 3.12.1
A full list of changes is available on Redmine
4.1. Foreman
4.1.1. Templates
-
Fix CVE-2024-8553 - #37978
5. Foreman 3.12.0
A full list of changes is available on Redmine
5.1. Foreman
5.1.2. Compute resources - VMware
-
Feature Request: Support of NVMe controllers for VMware - #34839
5.1.3. Compute resources - libvirt
-
Drop CPU model for libvirt VM creation - #36999
5.1.5. Facts
-
Fix parsing of Ubuntu version in fact parsers - #36547
5.1.6. Host creation
-
Host create form - UI improvements - #37519
5.1.7. Host registration
-
Host remains in build mode during registration when setup_insights is set to true - #37720
-
Provide methods to find taxonomies in host registration for use in plugins - #37702
-
Curl command cannot be rendered during host registration due to Loc/Org mismatch - #37640
-
Unify sending built status in host_init_config - #37495
5.1.8. Inventory
-
Add button linking to new All Hosts UI - #37690
-
Change All Hosts kebab menu to match mockup - #37675
-
Invalid MAC address error message appears twice while editing interface - #37651
-
Append domain setting results in broken host details page with long hostnames or hosts without domain - #37584
-
use textarea in host comment edit - #37582
-
Content Columns can disappear from the Manage Columns widget on the redesigned All Hosts Page - #37553
-
As a web UI user, I can select multiple hosts and perform a bulk change of the hostgroup - #37551
-
HostsIndex page should gracefully handle when 'Any organization' is selected - #37548
-
New All Hosts page ignores pagination url params on first load - #37485
-
Add Power Status column to new All Hosts page - #37478
-
Extend TableIndexPage and TableHooks with new capabilities for All Hosts page - #37398
-
As a web UI user, I can select multiple hosts and perform build actions - #37395
5.1.11. Packaging
-
FFI 1.17.0+ requires Rubygems 3.3.22+ for installation, breaking Ruby 2.7 source installs - #37607
5.1.12. Plugin integration
-
Plugins are finalized before seeds are executed - #37503
5.1.13. Proxy gateway
-
Test Connection' button in 'New HTTP Proxy' returns success with invalid URL - #36919
5.1.14. Reporting
-
Add product host count to 'Subscription - General Report' - #37756
5.1.17. Tests
-
intermittent host_js integeration test failure: test_0002_correctly override global params " Expected false to be truthy." - #37774
-
nic_managed factory can create an IP outside of its subnet - #37711
-
Report renderer tests fail depending on the libyaml version - #37613
-
with_temporary_settings test helper doesn't clean up properly - #37558
-
Possibility to use selenium remote driver - #36978
5.1.18. Unattended installations
-
Use SHA512 for root password hashing when no OS is set - #37614
-
HostCommon.crypt_passwords reencrypts Base64 based passwords for Grub, leading to errors - #37610
-
Monitor -> Host statusses shows "Pending Installation" instead of Installed - #37589
-
Provisioning Templates or RHEL 9 should have option timesource - #37581
-
Improved "EFI local chainloading" on SecureBoot enabled hosts not working for all distribution - #37562
-
RHEL registration template ignores host_parm subscription_manager_org - #37496
-
Improve "EFI local chainloading" on SecureBoot enabled hosts - #37345
-
Upload facts after host provisioning - #36886
-
Template render error when no PXELoader is selected - #36626
-
Extend Windows support in templates - #36495
5.1.19. Web Interface
-
Pagination doesn't re-render a table when switching pages - #37770
-
Show complete hostgroup name in host overview and table - #37648
-
Tab title missing in tableindexpage - #37645
-
Pagination doesnt always update between react pages - #37644
-
Template render error when host has .ics domain name - #37623
-
remove space between table buttons - #37578
-
Foreman Table columns sort is inconsistent - #37575
-
Cancel build shows notification with host id instead of hostname on the new UI of Red Hat Satellite - #37556
-
Help page should not link libera chat anymore after the migration to matrix - #37086
5.2. Installer
5.2.1. External modules
-
Could not find template 'mosquitto/mosquitto.conf' when executing the installer in certain directories - #37799
5.2.2. Foreman modules
-
Custom certificates will override server CA with default CA on foreman-proxy-content scenario - #37817
-
CVE-2024-7923: Authentication bypass in Pulpcore - #37787
-
CVE-2024-7012: Authentication bypass in Foreman - #37786
-
Cockpit integration fails with AH: Unsafe URL with %3f URL rewritten without UnsafeAllow3F in foreman-ssl_error_ssl.log - #37761
-
Pasing --foreman-proxy-content-enable-docker false can leave smart_proxy_container_gateway in an inconsistent state - #37707
-
Correct docroot for Content Proxies's Apache vhost - #37620
-
DNS forwarders aren't validated - #37604
5.3. Packaging
5.3.1. RPMs
-
Make foreman-installer-katello pull in foreman-maintain - #37663
5.4. SELinux
-
websockify doesn't work with SELinux enabled - #37791
5.4.1. Plugins
-
Boot disk based Provisioning fails to generate ISO image for instance client.example.com: ERF42-8093 [Foreman::Exception: ISO build failed] - #37497
5.5. Smart Proxy
5.5.1. BMC
-
Maximum sessions limit reached on iDRAC using Redfish as BMC provider - #37486
5.5.2. DHCP
-
invalid value for Integer(): “#Resolv::DNS::Resource::IN::A:0x00007fnnnnnnnnn” - #37621
5.5.3. Packaging
-
Pin FFI to < 1.17 on Ruby 2.x - #37624
5.5.4. Registration
-
Host registration with repositories fails because smart-proxy cannot convert arrays to string - #37631
Appendix A: Foreman Contributors
We’d like to thank the following people who contributed to the Foreman 3.12 release:
Adam Lazik, Adam Růžička, Aneta Šteflová Petrová, Archana Kumari, Beat Gaetzi, Bernhard Suttner, Chris Roberts, Cole Higgins, Dirk Götz, Eric Helms, Evgeni Golov, Ewoud Kohl van Wijngaarden, Girija Soni, Griffin-Sullivan, Jan Löser, Jason, Jeremy Lenz, Joniel Pasqualetto, Laurent Bigonville, Leos Stejskal, Manisha Singhal, Marek Hulán, Maria Agaphontzev, Markus Reisner, Martin Alfke, Maximilian Kolb, Mike Massonnet, Nadja Heitmann, Nofar Alfassi, Oleh Fedorenko, Partha Aji, Patrick Creech, Pavel Moravec, Quinn James, RhinoX, Richard Stempfl, Romuald Conty, Samir Jha, Sayan Das, Shimon Shtein, Tim Meusel, William Bradford Clark, dosas, gardar, kmalyjur, omahs
As well as all users who helped test releases, report bugs and provide feedback on the project