1. Headline Features

1.1. Plugin translation infrastructure in frontend

With this release it’s possible for plugins to use translations in Javascript. Since the front end is largely moving towards Javascript, this is a great improvement for who care about an internationalized application. Note that having the infrastructure in place doesn’t guarantee everything is translated.

1.2. Puma 6

Puma has been updated to version 6, featuring improved performance compared to Puma 5.

2. Upgrade Warnings

After a deprecation in Foreman 3.6, Puppet 6 is no longer supported. The installer will require at least 7.0.0. On the Smart Proxy side no changes have been made, but it is still recommended to upgrade. Note that Puppet 6 is end of life and no longer receives security updates.

3. Foreman 3.7.1

A full list of changes is available on Redmine

3.1. Foreman

  • Wrong initrd extension for preseed_default_ipxe - #36847

3.1.1. Host groups

  • 500 error when loading Hostgroups page for Ansible Roles Manager user - #36703

3.1.2. Host registration

  • Global registration should not create hosts as "managed" or "to be built" - #36393

3.1.3. JavaScript stack

  • "Scrollbar test exception: TypeError" when loading any page - #36093

3.1.4. Reporting

  • "Applicable errata" and "registered content hosts" reports syntax highlighting broken + applicable errata name needs changing - #36587

3.1.5. Tests

  • Pin minitest < 5.19 to resolve test failures - #36617

  • Add missing ouia-ids to all pf4 components - #36470

3.2. Installer

3.2.1. foreman-installer script

  • katello-certs-check does not cause the installer to halt execution on failure - #36567

4. Foreman 3.7.0

A full list of changes is available on Redmine

4.1. Foreman

  • "Add parameter" button's data-ouia-component-id is changing - #36481

4.1.1. Authentication

  • Foreman caps ldap auth source password length at 60 - #36309

4.1.2. DB migrations

  • Upgrade fails on db:seed step with error GraphQL::InvalidNameError: Names must match /^[_a-zA-Z][_a-zA-Z0-9]\*$/ but 'RHEL OpenStack Platform' does not - #36371

4.1.3. Development tools

  • Document ansible-runner-env path config in Ansible development docs - #36339

4.1.4. Facts

  • Drop the socket fact chart - #36058

4.1.5. Host groups

  • Changing OS in hostgroup edit form reset partition table and media even when it is not necessary - #36280

4.1.6. Host registration

  • Register Host contains an invalid field error on user's arrival to the form - #36312

  • Register Host page contains * on non-mandatory fields - #36307

4.1.7. Internationalization

  • Generate locale js files as pretty for smaller diffs on updates - #36419

  • Translated strings are not loaded for plugins into the browser, leading to react-based frontend not having translations - #36330

  • Reduce number of strings to translate - #36321

  • Setting descriptions are not translated - #36088

4.1.8. Inventory

  • Legacy Hosts UI loaded when you navigate from the Host's VMRC Console button - #36450

  • show "not available" for Owner type in host details - #36292

  • Redirect when editing a host is not reliable - #36265

  • hosts names are hidden in small screens - #36263

  • Host Detail button landed to old Host UI page - #36225

4.1.9. JavaScript stack

  • Move JS scripts to the layout's Body - #36342

  • Allow to pass custom error handler for submitForm - #36232

  • Replace the PF3 Spinner in common/LoadingPage with a PF4 one - #36199

4.1.10. Packaging

  • Allow apipie-rails 0.9/1.x - #36375

  • Upgrade Puma to 6.x - #36357

  • Pin sass version to 1.60.z to avoid node 14 dependency - #36305

  • allow newer prometheus-client gem versions - #36262

4.1.11. Parameters

  • Have a fixed-width font (Monospaced) for variables that need correct indentation - #36366

4.1.12. Plugin integration

  • Make translation domain registration part of plugin dsl - #36331

4.1.13. Reporting

  • Host installed packages report includes YAML document separator in CSV - #36408

  • Add installable errata to report templates - #36228

  • Include erratum issued date in Hosts Applied report template - #36190

  • Passing invalid value to infrasturcture_facet search key leads to PG::InvalidTextRepresentation error - #36394

  • Searching hosts should be possible by PXE loader - #35846

4.1.15. Security

  • User without view_provisioning_templates permission is able to see the rendered template - #36097

4.1.16. Settings

  • Missing Tooltip in EditorNavbar - #36192

  • Input field for "Trusted hosts" rejects multiple values - #36017

4.1.17. Templates

  • Replace old buttons with PF4 buttons in template editor - #36050

4.1.18. Unattended installations

  • Ubuntu installs do not enable upgrade repos by default anymore - #36229

  • iPXE provisioning template for Ubuntu autoinstall - #36180

  • Add parameter to install additional packages during kickstart/autoyast - #36177

  • Expired token should return 401 instead of 412 - #35068

4.1.19. VM management

  • Can't query plugin CRs via GraphQL - #36370

4.2. Installer

  • Sunsetting foreman_column_view because functionality being integrated in Foreman itself - #36377

  • Drop Puppet 6 support - #36345

  • Install Foreman Proxmox plugin using foreman-installer - #36319

4.2.1. Foreman modules

  • configure pulpcore-api with --max-requests to recycle workers before they leak too much memory - #36438

  • configure pulpcore gunicorn with --preload - #36437

  • Update documentation for change from puppet master to server - #35933

4.2.2. foreman-installer script

  • Installer --reset-data fails on an external DB setup - #36238

4.3. Packaging

4.3.1. Debian/Ubuntu

  • ruby-foreman-templates DEB package includes old versions of git and diffy GEMs - #36405

4.3.2. RPMs

  • Depend on grub2-efi-x64 in foreman_bootdisk - #36223

4.4. Smart Proxy

  • Logging to journal causes duplicate log entries to appear - #35921

4.4.1. TFTP

  • tftp initrd/vmlinux generation: curl malformed - #36209

4.4.2. Templates

  • Return Foreman's API status code instead of 500 for proxies requests - #36243

Appendix A: Foreman Contributors

We’d like to thank the following people who contributed to the Foreman {{page.version}} release:

Adam Hosek, Adam Ruzicka, Alex Fisher, Alexey Masolov, Andrew Teixeira, Antonin Dvorak, Archana Kumari, Areyus, Bastian Schmidt, Bernhard Suttner, Damon Clinkscales, Daniel Alley, Dirk Götz, Eric Cook, Eric D. Helms, Erik Berg, Evgeni Golov, Ewoud Kohl van Wijngaarden, Girija Soni, Gordon Bleux, Griffin Sullivan, Ian Ballou, Jan Klare, Jerome Charaoui, Joshua Hoblitt, Leos Stejskal, Lior Keren, Lucy Fu, Marek Hulán, Maria Agaphontzev, Markus Bucher, Maximilian Kolb, Nagoor Shaik, Nofar Alfassi, Oleh Fedorenko, Pat Riehecky, Peter Bittner, Peter Koprda, Romain Tartière, Ron Lavi, Samir Jha, Sebastian Bublitz, Tim Meusel, Trey Dockendorf, Vijaykumar Sawant, William Clark, chr1s692, jc

As well as all users who helped test releases, report bugs and provide feedback on the project.