1. Foreman 3.16 release notes

1.1. Headline features

1.1.1. User interface & experience

  • All Hosts Page Redesign - Continued modernization of the All Hosts page with enhanced functionality, including changing owner, location/organization, disassociating VMs, and other improvements.

1.1.2. Infrastructure & platform updates

  • NodeJS 22 Upgrade - Updated UI build stack to NodeJS 22, extending lifecycle support to April 2027

  • PatternFly 5 Migration - Modernization of UI components by upgrading our PatternFly 4 UI components to PatternFly 5.

1.1.3. Networking & connectivity

  • Dual-Stack IPv4/IPv6 Registration Support - Full support for client registration in dual-stack environments, enabling seamless registration over both IPv4 and IPv6 networks.

1.1.4. Documentation & tooling

  • Provisioning Documentation Improvements - Enhanced documentation for provisioning workflows and best practices.

1.1.5. Resource Quota plugin

If you use the Resource Quota plugin on Foreman 3.15, Foreman will automatically assign all existing hosts to the Unassigned resource quota during the upgrade to Foreman 3.16. For more information, see Limiting host resources in Administering Foreman.

1.2. Upgrade warnings

1.2.1. RHV/oVirt support removal

RHV/oVirt Support Completely Removed - Red Hat Virtualization (RHV) and oVirt compute resource support has been fully removed in Foreman 3.16.

  • Previous Deprecation: Feature was deprecated in Foreman 3.15

  • Impact: Users with RHV/oVirt compute resources will lose this functionality unless they install the new ForemanOvirt plugin

  • Alternative Solution: Install the new ForemanOvirt plugin to maintain oVirt functionality

  • Action Required: If using RHV compute resources, plan migration to alternative platforms or install the ForemanOvirt plugin before upgrading. Users who want to keep oVirt support must install the ForemanOvirt plugin before upgrading. Users who do not want oVirt support are advised to run foreman-rake ovirt:drop before upgrading.

1.3. Deprecations

1.3.1. UI component phase-outs

  • Legacy AngularJS Pages - Continued elimination of AngularJS-based UI components as part of All Hosts page redesign

2. Katello 4.18 release notes

2.1. Headline features

2.1.1. Flatpak UI

This introduces a new user interface for managing Flatpak remotes and repositories directly within the UI. Users can now create, edit, and scan Flatpak remotes, as well as mirror Flatpak repositories through intuitive visual workflows. This significantly reduces reliance on CLI tools and streamlines the Flatpak content management experience across the organization.

By integrating these capabilities into the UI, administrators gain a more accessible and efficient way to manage Flatpak content, aligning with modern content delivery needs.

2.1.2. Certificate authentication for container and flatpak content

Certificate-based authentication is now supported for both container and Flatpak repositories. Hosts can securely consume content using certificates, removing the need for traditional username/password-based login credentials.

This enhancement enables seamless, automation-friendly access to protected content while improving overall security across deployment workflows.

2.1.3. New Hosts UI improvements

The redesigned All Hosts page now supports managing content overrides and Repository Sets for multiple hosts at once.

These enhancements further improve usability and scalability when managing large host inventories through the Katello UI.

2.2. Upgrade warnings

There are no upgrade warnings with Katello 4.18.

2.3. Deprecations

There are no deprecations with Katello 4.18.

3. Foreman 3.16.0

A full list of changes is available on Redmine

3.1. Foreman

  • Use GPG key for SLES during host registration - #38608

  • Settings UI fixes - #38606

  • remove react-ellipsis-with-tooltip in foreman - #38601

  • Update Foreman Dev Setup guide in developer docs - #38580

  • Host registration on Debian based systems fail because dpkg options are improperly formatted - #38554

  • Tooltip for "Specify Matchers" misleading - #38552

  • parameter for NTP server for Debian and ubuntu is ignored - #38551

  • Make the new host overview page default - #38543

  • Correctly set line breaks in reports - #38529

  • cloud-init passes users as a dict instead of a list - #38519

  • Update BookmarkForm + Modal to PF5 - #38475

  • Notification cleanup rake task fails - #38473

  • HTTP Proxy "test connection" ignores passwords - #38469

  • common/DocumentationLink deprecate - #38464

  • As a user I want to be able to disassociate multiple hosts - #38456

  • ISE when incorrect content-type used for organization creation through API - #38439

  • dont show select2 tooltips - #38435

  • Render template on host page doesn't respect safemode setting - #38417

  • Add ForemanSetContext to test_setup.js - #38394

  • Add @testing-library/user-event to devDependencies - #38393

  • GET request for /api/v2/hosts/:id/enc fails after adding a new interface to an existing host - #38391

  • Password from HTTP(S) proxy Setting is logged in plaintext to production.log - #38386

  • Remove oVirt / RHV integration - #38266

  • update SettingUpdateModal to pf4 -> update settings page to pf5 - #38255

  • update EditorModal to use pf5 - #38249

  • Packages wizard on new "All Hosts Page" removes host filter if hosts are re-sorted - #38216

  • New host overview page: Make Last Report a link to the report page - #37956

  • Hosts breadcrumb doesn't respect new host overview Setting - #37196

3.1.1. Authentication

  • When using foreman-rake command to reset the password, if the user is not a valid account, the same will be created with admin privileges - #38619

3.1.2. Compute resources - VMware

  • Getting "uninitialized constant Fog::Vsphere::Compute::ResourcePool" error - #38509

3.1.3. Compute resources - libvirt

  • image_exists? for Libvirt compute resource - #38535

3.1.4. Host creation

  • Host form - Selecting the image resets the volume type - #38511

  • Create Host Form - Improvements for templates resolve - #38423

  • Use the system's SSH instead of net/ssh for provisioning - #38361

3.1.5. Host registration

  • Host Registration - use --fail-with-body for curl - #38458

  • Add support for setting up container certs during global registration. - #38454

  • Host Registration Form - Permission denied - #38403

3.1.6. Internationalization

  • Update locales for 3.16 - #38643

3.1.7. Inventory

  • Host details kebab inconsistent ui - #38663

  • Properly translate host details status - #38575

  • As a user I want to be able to change the location and organization of multiple hosts - #38416

3.1.8. JavaScript stack

  • Update pf charts to Patternfly 5 - #38581

  • adding scalprum to shared webpack - #38570

  • pass args to plugin lint proccess - #38501

  • fail js plugins test process on error - #38500

  • Remove unused code in late_load.js - #38485

  • Support node22 - #38459

  • move css from vendor to foreman - #37904

  • Remove @theforeman/vendor - #37882

  • Use own lint instead of @theforeman/eslint-plugin-foreman - #37639

  • Test plugins from foreman core - #37637

  • remove "@theforeman/test" imports - #37636

  • Replace all PF3 components in AuditsList with PF5 components - #36200

3.1.9. Orchestration

  • Host Orchestration - Renderability checks for templates - #38422

3.1.10. Rails

  • Host form - Update of host without hostname fail in ugly error - #38622

3.1.11. Rake tasks

  • Command rake apipie:static raises an error - #38434

3.1.12. Settings

  • In setting value error, show error.errors.value instead of full_messages - #38661

  • settings error on url values - #38633

3.1.13. Templates

  • preseed network setup gateway differs between IPv4 and IPv6 - #38524

  • Add '/EFI/os/shimx64.efi/ paths to pxegrub2 chainload template - #38462

  • cloud-init template YAML is invalid if realm feature is enabled - #38442

3.1.14. Tests

  • fix FiltersForm.test.js - #38472

3.1.15. Unattended installations

  • Provisioning templates use host_enc macro to determine the realm - #38688

  • Kickstart default - kdump-options does not work - #38564

  • Support timesource --ntp-pool for kickstart - #38172

3.1.16. Users, roles and permissions

  • Users are not added to groups based on LDAP group membership - #9494

3.1.17. Web UI

  • If Login page footer text(login_text attribute in admin settings) is too lengthy white block appears and cuts off footer message - #38627

  • Inconsistent Collapse/Expand Behavior Caused by "Config Management" in Left Navigation - #38616

  • Error on build host modal open - #38563

  • As a user I want to be able to change the owner of multiple hosts - #38538

  • As a user I want to be able to see the virtual column on the new hosts UI - #38520

  • Only load Statuses which are "relevant" in Hosts Status Page - #38505

3.2. Installer

  • Configure Redis timeout for idle connections - #38553

  • Remove oVirt installer options - #38293

3.2.1. Foreman modules

  • Installer sets up deprecated ANSIBLE_COLLECTIONS_PATHS env var instead of ANSIBLE_COLLECTIONS_PATH - #38642

  • Support setting key-algorithm for DHCP - #38567

  • Redis isn't started before running db:migrate - #38517

3.2.2. foreman-installer script

  • Database reset fails on external DB when evr extension is present - #38533

  • Passing --certs-certs without --certs-update-server doesn't reset Apache and Foreman Proxy certs - #38516

  • Printing output in profile.d breaks local DB detection - #38492

3.3. Packaging

  • Add sshpass as a dependency - #38375

3.4. SELinux

  • Allow mounting postgres as socket to container - #38583

3.5. Smart Proxy

  • Send HSTS header to satisfy braindead "security" scanners - #38432

  • Smart Proxy Userdata API does not implement MAC-based endpoint - #38241

3.5.1. DHCP

  • Support setting key-algorithm for ISC DHCP - #36325

3.5.2. Hammer CLI

  • Update field documentation to reflect replaced_by translation #38427

3.5.3. Hammer CLI - Foreman

4. Katello 4.18.0

A full list of changes is available on Redmine

4.1. Katello

  • Host#yum_or_yum_transient may return nil - #38672

  • Remove foreman settings from Katello tests - #38548

  • Async Repository::CapsuleSync tasks that don't find any relevant proxies to sync sometimes end up in failing state - #38546

  • IPv6 addresses in HTTP proxy URL breaks CDN content retrieval - #38545

  • Remove settingActions from Katello - #38490

  • Remove @theforeman/vendor-dev - #38431

4.1.1. Container

  • Flatpak - Install REX job run hangs for 10 minutes - #38638

  • Handle permissions correctly on flatpak UI + UX feedback - #38621

  • Remove "seeded" and "organization_id" from Flatpak remote search bar proposals - #38617

  • Add mirror action with a small form that selects product to mirror into - #38537

  • Add capsule URL as flatpak index endpoint - #38530

  • Add a Remote details page with a table for scanned remote repositories - #38489

  • Second container push set manifest size fields to -1, which breaks bootc - #38488

  • REX job template: As a user, I can easily setup certs in the /etc/containers/certs.d/hostname/ directory - #38457

  • Global Registration: As a user, I can easily setup certs in the /etc/containers/certs.d/hostname/ directory - #38455

  • Implement cert auth for flatpak index - #38421

  • As a registered host, I don't need to podman login to access container repositories on katello - #38407

  • Add container upstream name to repository listing API endpoint - #38392

  • Organization-label can break container image sync - #38269

4.1.2. Content uploads

  • When importing content in disconnected Satellite in syncable format via hammer, hammer content-import list is empty - #38494

  • Accept "real" file uploads to /katello/api/repositories/:repository_id/content_uploads/:id - #38482

4.1.3. Content views

  • RPM filter rule deletes existing entries when a rule is edited - #38652

  • Few PF5 widgets have dynamic OUIA IDs on Contentview Page - #38635

  • Incremental CCV updates all CV versions - #38484

  • When creating a rolling content view with repository_ids no rolling repo clones are created - #38413

  • Disallow pushing containers to rolling content views - #38285

  • Content view environments can be created without a content view version id - #38270

4.1.4. Errata management

  • Web UI shows incorrect host count when applying an erratum - #38550

  • 'Install Selected via remote execution – customize first' installs all available errata for the host collection - #38483

  • Allow for scoped search of 'other' errata types - #38135

4.1.5. Smart Proxy content

  • Code is not reloadable - #38578

  • As a registered host, I don't need to podman login to access flatpak index on the capsule. - #38572

  • Cert auth for capsule - Maintain host-repo mapping on capsule - #38514

  • Silent failure when triggering a CapsuleSync using a user without the manage_capsule_content permission - #38406

  • Point to main RHSM URL when rhsm_url is empty on Pulp Smart Proxies - #38364

4.1.6. Hosts

  • in host-details-kebab- update to non deprecated dropdown - #38666

  • Post 4.15 upgrade katello is affected with high CPU usage and Actions::Katello::Applicability::Hosts::BulkGenerate tasks getting stuck - #38576

  • After installing a package via the --transient flag on an image mode host, any template that uses bootc usr-overlay will fail to perform package actions - #38508

  • Katello 4.16 upgrade fails with ERROR: duplicate key value violates unique constraint "index_katello_installed_packages_on_nvrea" - #38504

  • subscription-manager environments --set raises Forbidden error until the user is Admin - #38448

  • As a user I want to be able to change the location and organization of multiple hosts - #38436

  • Add bulk Repository Sets wizard to new All Hosts page - #38353

4.1.7. Localization

  • Drop redundant gettext_i18n_rails dependency - #38430

4.1.8. Repositories

  • Repo discovery Registry Search Parameter Default:* (search all) can return incomplete results - #38675

  • HTTP should be allowed on Flatpak remote creation and application name should be displayed for remote repository - #38634

  • Add flatpak remote actions to Remote details page - #38596

  • Add a scan action on the flatpak remote table - #38595

  • Prevent unintentional password updates in empty edit forms - #38593

  • Add edit action to flatpak remotes page - #38590

  • Add a create button to the flatpak remotes page - #38562

  • ERROR: nextval: reached maximum value of sequence "katello_erratum_packages_id_seq" during concurrent repository sync plan executions - #38497

  • Do not delete candlepin content when deleting a rolling repo clone of a structured apt deb repository - #38440

  • Create option for default repository mirroring behavior - #38433

4.1.9. Subscriptions

  • remove react-ellipsis-with-tooltip in katello - #38602

4.1.10. Tests

  • Update CP VCR's for 4.6.3-1 - #38618

  • Make the new host overview page default - #38555

4.1.11. Tooling

  • Fix JS snapshots after scalprum addition in Foreman - #38577

4.1.12. Web UI

  • Support delete action on the remote table row - #38588

  • Fix plurality of React UI elements on the new Host details -> Content page - #38476

  • Errata page displays 'Apply Errata' even when one erratum is selected - #38466

  • Create a page with a table listing flatpak remotes in an organization. - #38385

  • move css import from vendor to foreman - #37910

  • Change content source JS console error: Cannot update a component ('ConnectFunction') while rendering a different component ('Context.Consumer') - #37256

Appendix A: Foreman contributors

We’d like to thank the following people who contributed to the Foreman 3.16 release:

Adam Lazik, Adam Růžička, Alin Cociorvan, Arvind Jangir, Bastian Blank, Bastian Schmidt, Bernhard Suttner, Chris Roberts, Cole Higgins, Corporte Gadfly, David Ochner, Eric Helms, Evgeni Golov, Ewoud Kohl van Wijngaarden, Francesco Di Nucci, Frank Wall, Hao Yu, Ian Ballou, Jonathon Turel, Leos Stejskal, Lucy Fu, Lukas Jezek, Lukáš Hellebrandt, Macley, Maria Agaphontzev, Markus Bucher, Matt Darcy, Maximilian Kolb, Nofar Alfassi, Nomen Nescio, Odilon Sousa, Oleh Fedorenko, Ondřej Gajdušek, Pablo Fernández Rodríguez, Partha Aji, Pat Riehecky, Ruediger Pluem, Samir Jha, Shimon Shtein, Usman Sunyaev, Viliam Krizan

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

Appendix B: Katello contributors

We’d like to thank the following people who contributed to the Katello 4.18 release:

Adam Růžička, Chyenne Ross, Ewoud Kohl van Wijngaarden, Hao Chang Yu, Ian Ballou, Jeremy Lenz, Jonathon Turel, Lucy Fu, Lukas Jezek, Maria, Nadja Heitmann, Pavan Soma Shekar, Quinn James, Quirin Pamp, and Samir Jha.

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

Report issue