1. Foreman 3.0 Release Notes

1.1. Headline Features

1.1.1. Puppet ENC functionality extracted to foreman_puppet plugin

Foreman without the plugin no longer includes Puppet environments, config groups, Puppet classes and smart class parameters. It is still possible to assign Puppet environment to a host using the puppet_environment parameter. This is also the case for setting Puppet server and Puppet CA server for provisioning, which can be defined using the puppet_server and puppet_ca_server. A rake task will be provided to allow automatically migrating these values to parameters for users who do not wish to continue using the plugin. By default, this plugin is still installed in 3.0 both on fresh installs and upgrades, but will default to off in future releases. More information can be found on our Discourse in thread Puppet ENC plugin development and Puppet in 3.0 release.

1.1.2. Kerberos authentication using mod_auth_gssapi

The installer will now deploy mod_auth_gssapi instead of mod_auth_kerb if called with --foreman-ipa-authentication=true. Existing installations will be upgraded to use mod_auth_gssapi too. This allows deploying Kerberos authentication on CentOS 8, which lacks mod_auth_kerb. Debian and Ubuntu also provide mod_auth_gssapi and the installer can now deploy Kerberos authentication there too.

1.1.3. Fact parsers are included in core

Fact parsers for Ansible, Chef, Salt and Subscription Manager were moved to the Foreman core. This is the first step in refactoring fact handling in Foreman to be simpler, faster and easily extendable. Thanks to that it’s now possible to upload facts from these tools even if the respective plugin is not installed.

1.2. Upgrade Warnings

  • The view_bookmarks permission has been removed. All users are able to see their own bookmarks and any public bookmark defined by others.

  • The enable-epel parameter now defaults to false. If you still want to enable EPEL at provisioning time, you will need to explicitly set the parameter to true.

  • The host_param_true? and host_param_false? macros changed the meaning of the default_value parameter. The value is now used for the comparison if the parameter is not set on the host, instead of returing the value directly. Please update your templates accordingly.

  • The Debian packages are signed with a new key 5B7C3E5A735BCB4D615829DC0BDDA991FD7AAC8A. Please import it to verify the packages.

  • Foreman 2.5 for Debian/Ubuntu had briefly wrong versioned Ansible and Remote Execution plugins published, please read our blog post how to properly upgrade these.

1.3. Deprecations

1.3.1. Running Foreman on Ubuntu 18.04

Foreman 2.5 introduced support to run on Ubuntu 20.04. Foreman 3.0 deprecates support for running on Ubuntu 18.04 and Foreman 3.1 will drop it. Users are encouraged to upgrade to Ubuntu 20.04 either on Foreman 2.5 or 3.0 but Ubuntu 18.04 will remain supported until Foreman 2.5 and 3.0 are end of life.

Note that this is only support to run Foreman and Foreman Proxy themselves on Ubuntu 18.04. Managing Ubuntu 18.04 systems remains supported. See the RFC for more information.

1.3.2. Running Foreman on EL7

Foreman 2.1 introduced EL8 support and Katello 4.0 (on Foreman 2.4) followed. While it’s currently undecided when EL7 support will be dropped exactly, this is an early notice given the considerable number of EL7 deployments. For fresh installations, EL8 should considered the preferred target. Existing installations should start thinking about a migration plan.

Note that this is only support to run Foreman and Foreman Proxy themselves on EL7. Managing EL7 systems remains supported. See the RFC for more information.

2. Katello 4.2 Release Notes

2.1. Headline Features

For the full list of changes, see the Changelog.

  • New Experimental Content View UI Features:

  • Publish & Promote

  • Add component CVs to composite CVs

  • Pulp’s mirorred metadata is now used to speed up repo syncs

  • Upgrade to Pulp 3.14 (This was backported to Katello 4.1)

  • support deleting RH repos from the repositories details

2.2. Upgrade Warnings

  • upstream_subscriptions apis have been removed in favor of apis rooted at /katello/api/v2/organizations/:organization_id/simple_content_access/

3. Foreman 3.0.1

A full list of changes is available via Redmine

3.1. Foreman

  • The new host detail page enhancements tracker - #33499

  • app/models/concerns/orchestration/compute.rb:93 rescue ends up with error (ArgumentError): too few arguments - #32273

3.1.1. Settings

  • Improve caching of SettingRegistry#load_values - #33640

  • Settings search is broken in hammer - #33347

3.1.2. Facts

  • Reduce allocations in FactImporter#update_facts - #33639

3.1.3. Web Interface

  • Remove experimental host wizard page - #33621

  • "All audits" link in host details page doesnt workt work - #33617

  • Adding a banner for the experimental host details page - #33597

  • There should be buttons to link in between the old host page and the new host detail page - #33507

  • The new host detail page audits card gets misaligned - #33505

  • The new host detail page hostname should never be split to two lines - #33504

  • Mac Address label should have capital letters in the word MAC on the new host detail page - #33503

  • The host owner name should be expanded to the full width as it typically takes more than a one line - #33502

  • New host detail page MAC should remain on one line if theres a long host group next to its a long host group next to it - #33501

  • Experimental host page kebab menu buttons do nothing - #33491

  • Edit button in experimental host page doesnt workt work - #33490

3.1.4. Templates

  • Provisioning of EL no longer writes to tty3 - #33426

3.1.5. Compute resources - VMware

  • Compute Resource cannot list the VMs if any VMs in the datacenter has config.instanceUuid set to ' - #33396

3.1.6. Host registration

  • Use PF4 styling for warning in registration form - #33390

  • Make the registration form more compact - #33389

3.1.7. Reporting

  • Improve job invocation report template - #33223

3.1.8. Tests

  • capybara 3.32.1 breaks ReportTemplateJSIntegrationTest - #29481

3.2. Installer

3.2.1. foreman-installer script

  • Foreman Puppet plugin is enabled in the migration even if Foreman is disabled - #33577

3.3. Packaging

  • katello-agent on EL7 depends on python2-qpid from the qpid copr - #33497

4. Katello 4.2.0

A full list of changes is available via Redmine

4.1. Katello

  • Change ImportersCoreImportsApi to ImportersPulpImportsApi - #33006

  • Crane support is no longer needed by the RegistryResource - #32972

  • Parse Amazon distribution properly - #32807

  • Deb repo calls pulp2 when checking published during matching content check - #32761

  • Katello:delete_orphaned_content still checking for pulp2 services and failing with 404s. - #32740

  • Pin qpid_proton to "< 0.34" - #32619

  • Fix pulpcore smart proxy error message - #32613

  • Remove content view publishing/promoting/removal support for pulp2 repos in actions - #32580

  • Changing the HTTP proxy for a repository that doesn’t have an upstream URL causes an error (nightly) - #32578

  • Remove rhsm parser and importer - #32524

  • Make helper methods public for webhooks context - #32523

  • Add support for AlmaLinux OS - #32510

  • Use Foreman client certificates to communicate with Pulp 3 API - #32487

  • katello:clean_backend_objects still attempts to connect to Pulp 2 - #32475

  • CV UI - Add Publish workflow to new CV UI (Component CVs) - #32441

  • Errata installation via Host Collection Remote Execution Only Sends First Page of Errata Ids - #32436

  • Permit use of version 2.11 of the pulp_deb_client - #32429

  • [BUG] Non-Admin users cannot generate the command for registration while having "Register hosts" role associated in Satellite 6.9 - #32425

  • Package dependency is wrong on Katello UI - #32358

  • Possible file descriptor leaks - #32262

  • Modify 'Media Selection' string of Operating System’s hostgroup page - #32237

  • Hanging task when restarting services during pulp2 to pulp3 migration - #32119

  • Unable to set HostGroup content source to capsule that isn’t synced - #32100

  • Pulpcore integration test CI reports - #32079

  • Add auditing for pulp3 import/export - #32039

  • "Failed to discover docker repositories because 'Content Default HTTP Proxy' is not used to connect to the registry." - #32036

  • Katello 4.0 - decide the fate of un-versioned deprecations - #31760

4.1.1. Client/Agent

  • via Katello-agent option is not clickable on content host errata page - #33036

  • katello-agent uses incorrect ping mechanism - #32591

  • katello-agent actions can prematurely time out - #32569

  • Katello agent tasks that error prevent re-running due to locked tasks - #32447

  • Potential race condition in katello-agent dynflow actions - #32351

  • Dynflow error output when performing katello-agent action - #31853

4.1.2. Subscriptions

  • Not possible to remove subscriptions from 'WebUI --> Content --> Subscriptions' page if the user doesn’t have 'Setting' permissions." - #33000

  • Disconnected satellite’s subscription page missing the checkbox/select column - #32815

  • Shorten or handle "410 Gone" errors rather than printing a page-long trace for each - #32726

  • Prevent re-register unless host is in build mode - #32406

  • Permit DMI change when host is in build mode - #32405

  • Subscriptions and Pools can be associated across organizations - #32334

  • "Current organization has no manifest imported" error when trying to import a manifest - #32320

  • Auto-attaching subscriptions on a host triggers pool import for all organizations - #32267

  • Manifest deletion indexes subscriptions for all organizations - #32261

  • Syspurpose role is showing empty in the subscription page and rest api even it has a role - #30708

4.1.3. Tooling

  • Http Proxy passwords are not making it to candlepin properly - #32998

  • Make with_ansible? check more precise - #32839

  • Drop Passenger specific code - #32318

  • upgrade to pulpcore 3.11 - #32234

  • Support correlation id with pulp3 - #29912

4.1.4. Repositories

  • Enabling a RH repo is not reflected in the list of enabled repos - #32997

  • pulp_rpm_client 3.13 throws uninitialized constant PulpRpmClient::OneOfMetadataChecksumTypeEnumNullEnum - #32974

  • Deleting repository shows success toast notification but repositories remain on the page - #32965

  • Upgrade Pulpcore and plugins to 3.14 for Katello master - #32933

  • Creating ansible collection repo fails with: "Invalid URL Ensure the URL ends '/'" but repo gets created - #32867

  • support deleting RH repos from the repositories details - #32800

  • [pulp3] aborting pulp3 content-migration step fails with "NoMethodError: undefined method fetch_from_list" - #32786

  • Create/Read/Update/Destroy Python repository with generic content type registration - #32712

  • Katello 3.18 changed the way RH operating systems are named after sync - #32699

  • Remove references to Pulp 2 from new/update repository UI - #32658

  • Problems when creating a new repository with Chrome - #32626

  • Client receives 403 forbidden when fetching RHEL content when using custom certificates - #32624

  • katello:delete_orphaned_content fails on Katello 3.18 with "backend service pulp3: 503 Service Unavailable" - #32623

  • Unable to delete Red Hat repository due to "bad" root repo data from older Katello - #32582

  • Katello 3.16 to 3.17 upgrade fails at the db:migrate stage with error "ERROR: insert or update on table "katello_hostgroup_content_facets" violates foreign key constraint" - #32498

  • cannot create a repository with an http proxy set with auth credentials - #32422

  • Need to remove background download policy message from the repo creation page - #32402

  • Deb-content should also publish original structure - #32393

  • katello pulp url setting in katello.yaml is no longer set by the installer and the default uses localhost rather than FQDN - #32362

  • Package matching query does not exist when syncing TimeScaleDB repo after migration - #32232

  • Pulp 3 migration abort fails with 409 - #32226

  • "podman search returns 'archived/versioned' repos, but ISE is returned when pulling them" - #32159

  • deb repo - Verify Content Checksum - undefined method `repair' - #32144

  • Provide repository architecture via medium provider - #32077

  • Unsetting repository architecture restriction doesn’t reach clients - #32008

  • remove old pulp2-based upgrade tasks (warnings on 4.0 install) - #32007

  • separator for releases in deb repository is whitespace, not comma - #31999

  • Remove Puppet content support - #31997

  • support new 'feature' names in pulp3 - #31968

  • pulp3 task group actions 'end' as soon as one subtask fails - #31905

  • update references to content (/pulp/repos/ /pulp/isos/ /pulp/deb) to point to /pulp/content/ - #31867

  • Katello not able to handle kickstarts with multiple variants effectively - #31801

  • Remove content_types requirement in katello.yaml and use of it - #31616

  • change bulk_load_size within katello -> pulp SETTING to use a Setting - #31323

  • Pulp download timeouts should be configurable - #17423

  • Limit packages to sync. - #16154

4.1.5. Hosts

  • Add extensions for Packages/Errata/Module streams - #32938

  • Error when trying to restart Traces: TypeError in Katello::RemoteExecutionController#create no implicit conversion of nil into String - #32936

  • Move the host comment from the Katello Jail to the core - #32862

  • Host registration - :rhsm_base_url helper - #32841

  • Manage Errata from Content Host Page does not provide link to view list of content hosts affected by an Errata. - #32806

  • Old hostgroup with kickstart repository id aren’t migrated to the new hostgroup content facet table. - #32661

  • Add Rocky Linux parsing support - #32515

  • Inherited hostgroup values are not set when creating host - #32464

  • Report Templates Host - Applied Errata report is empty. - #32312

  • Content Source missing in Katello 4 RC3 - #32298

  • Hypervisor task failed with NoMethodError: undefined method `split' for nil:NilClass - #32150

  • Default registration method - #32106

  • GR template - add --force option for Sub-man to re-register a host - #31820

  • Host Registration - Activation key field improvement - #31809

  • Show Candlepin version in /rhsm/status API - #31706

  • Actions::Katello::Applicability::Hosts::BulkGenerate called many times with only a single host after sync plan runs - #31411

  • Enable goferless builds by default - #31023

4.1.6. Web UI

  • CV UI - Add filters to CV - #32932

  • Change text on Component/Composite tiles in Create CV modal form - #32895

  • Red Hat repositories page filtering dropdowns do not work in production - #32711

  • CV UI - Add component CVs to composite CVs - #32698

  • use-deep-compare to replace usage of JSON.stringify in effect hooks - #32621

  • Update Composite and Component View icons on UI - #32349

  • New Content View Page - CV List page env and version expandable columns - #32283

  • New Content View Page - Versions tab - #32281

  • New Content View page: Back button doesn’t work to return to list - #32162

  • Deprecate package groups UI on content host detail page - #32137

  • [sat-e-613] Update UI to hide k-agent dep warnings if it is disabled - #31910

4.1.7. Tests

  • Drop puppetclass and environment usage from host tests - #32923

  • Drop Foreman::Environment::Destroy action - #32922

  • Use unsafe_load in tests - #32604

  • npm install error on nightly - #32531

  • Transient package groups test - #32527

  • SubscriptionsTable failing test - #32340

  • Intermittent module stream clause generator test - #32231

  • test failure due to template kinds - #32087

  • bulk_host_extensions transient test failure - #31911

  • Module stream copying tests need to be un-skipped after Pulpcore 3.9.1 is released - #31704

4.1.8. Content Views

  • Create content view button doesn’t work after the first time - #32911

  • Incremenal Update doesn’t run MetadataGenerate or IndexContent for Pulp 3 yum content - #32901

  • Add functionality to publish and promote content view in one API call - #32574

  • Duplicate YumMetadata index entries in content view repositories causing unneeded capsule sync - #32533

  • Add a show_all endpoint for content view components - #32303

  • Navigation doesn’t display Content views (within Lab Features) without admin rights - #32138

  • New Content View Page - Add filter RPM detail pages - #31969

  • New Content View Page - view added CVs for Composite Content View - #31827

  • New Content View Page - Add breadcrumbs - #31825

  • New Content View Page - History Tab - #31804

  • available_for content_view_version parameter to /katello/api/packages or /katello/api/errata is slow - #31764

4.1.9. Lifecycle Environments

  • Use correct inverse association for kt_environment -> organization association - #32905

4.1.10. Foreman Proxy Content

  • pulp3 remote smart proxies do not show download policy - #32882

  • Error: undefined methodpulp_href’ for nil:NilClass` when syncing capsule - #32784

  • Katello 4.0 can’t sync to a 3.18 proxy - #32275

4.1.11. SElinux

  • Allow katello ping controller to check pulpcore-api - #32765

  • Prevent calling systemctl from RoR process - #32724

4.1.12. Errata Management

  • repo package upload & package remove doesn’t trigger applicability regen for hosts - #32601

  • Removal applicabilty code including event queue event, profile uploadings, applicability actions, config - #32459

  • applicability should run once for a sync plan instead of after every repo - #29898

4.1.13. Upgrades

  • 20210119162528_delete_puppet_and_ostree_repos.rb fails to remove puppet repos in CVs, leading to upgrade errors - #32590

4.1.14. Inter Server Sync

  • Auto-import/create RH repos/Products on disconnected Katello - #32528

  • hammer export fails with super large chunk size (change chunk-size-mb to gb) - #32421

  • import/export metadata.json needs to be trimmed - #32407

  • Auto-import custom repos - Disconnected - #32333

  • Auto create cv on import - #32241

  • Can Import/Export file type - #32187

  • Need a dry run option to see content is importable - #31955

4.1.15. Container

  • katello should pass Docker-Content-Digest from pulp3 to the container client - #32426

  • Katello should send user to repo permissions mapping to container gateway - #32233

  • syncing pulp3 to pulp2 container content sometimes fails with PLP0000: 'fsLayers - #32230

4.1.16. Roles and Permissions

  • Permissions for import/export - #32396

4.1.17. Notifications

  • Error performing CreatePulpDiskSpaceNotifications NameError (undefined local variable or method `percentage' for Katello::UINotifications::Pulp::ProxyDiskSpace:Class) - #32380

  • Expose Katello events for Webhooks - #32224

4.1.18. API

  • Use public API to update Setting values - #32285

  • "Unable to print debug information" log message from Katello::HttpResource.print_debug_info - #32249

  • Deprecate agent-based APIs - #32156

  • Remove unused import/export end points - #32000

  • Remove deprecated API params - #31996

4.1.19. Organizations and Locations

  • Seed fails with PG::ForeignKeyViolation: ERROR: insert or update on table "foreman_tasks_tasks" violates foreign key constraint "fk_rails_a56904dd86" - #32277

4.1.20. Hammer

  • hammer activation-key/content-host product-content not working correctly - #32259

4.1.21. Activation Key

  • Activation Key details always asking for content view - #32225

  • Activation Key Repository Set page not functioning correctly - #32067

4.1.22. Provisioning

  • Remove auto-assign of registration template to OS - #32093

4.1.23. Ansible Collections

  • Ansible collection remotes need auth_url, token fields exposed - #31928

  • upgrade pulp ansible plugin to 0.5.0 - #31197

4.1.24. Documentation

  • Add documentation for template macros - #31859

5. Foreman 3.0.0

A full list of changes is available via Redmine

5.1. Foreman

  • provide a list of JavaScript dependencies that can be ignored during package building - #33318

5.1.1. JavaScript stack

  • don’t run npm-fix-foreman-stories.sh on every npm install - #33319

  • Toast message is hidden - #33316

  • Add useCallback to RegistrationCommandsPage - #33161

  • Slot registry isn’t singleton - #33153

  • Refactor FactChart to use slice pattern - #33003

  • Slot warning is not explicit - #32948

  • update js vendor to 8.6 - #32904

  • Add Redux toolkit - #32899

  • trigger toast notification from the root of the app - #32860

  • PF4 Toast alerts - #32756

  • Drop flot charts - #32584

  • storybook failed to compile - #32505

  • API redux’s store cannot be altered - #31781

  • Implement timseries area chart in React - #31596

  • deprecate flot_chart (timeseries area chart) - #31595

  • CSS files need optimizations (removing duplicates, minifying) - #31277

  • Use Patternfly charts in Runtime - #23665

5.1.2. Web Interface

  • host details overview cards grid isn’t aligned nor responsive - #33311

  • Host details page - react warnings should be cleaned - #33110

  • Menu::Item doesn’t use the ':if' option - #32883

  • The new host details page should support secondary tabs - #32828

  • Recent audits card needs a design - #32820

  • Update all freenode references to point to https://theforeman.org/support.html#IRClivechat or libera.chat - #32809

  • Host details cards should support dropdown menu - #32692

  • card props in host details page should be overridable - #32691

  • Webpack DEV server minimal logs - #32499

  • Host Add-Parameter button should not float down page as new params are added. - #32013

  • Documentation Button on the Error Page needs correct alignment - #31915

  • Add host’s statuses including sub-statuses to the host details page - #31444

  • Replace the new host details properties card with pf4 extension component - #31128

  • Create PF4 Bookmarks dropdown - #31100

  • Drop jquery-ui spinners in favor of React imlementation - #21641

5.1.3. Host registration

  • The katello-ca-consumer is not being removed when the force option is checked in the 'Advanced' tab under Hosts -> Register Host - #33305

  • Hammer --setup-insights false | no|0 is not working - #33121

  • Content host registration using command generated from global registration form fails if activation key name contains ' (single quote) in it. - #33033

  • Refresh subscription data - #33004

  • Registration migration - Unassign OS from registration templates - #32959

  • Update packages - #32918

  • Default packages are overridden by host package even if not specified registration form - #32780

  • Missing validation in API for OS & host_init_config template when creating command - #32625

  • Support Oracle Linux registration - #32589

  • Normally Inherited fields are not inherited upon host registreation - #32457

  • Parent host groups are not respected in the registration form - #32456

  • The host registration form uses host group names which don’t contain parent names - #32452

  • Global Registration: Build status gets set to Pending installation when running script from Registration Tab - #32322

  • Add support for AlmaLinux 8 as a client - #31787

5.1.4. BMC

  • undefined method `bmc' for nil:NilClass - #33229

5.1.5. Compute resources - VMware

  • Creating compute resource (VMware) with incorrect credentials claims successfull test connection - #33197

  • API available_networks by cluster no longer working - #32855

  • MAC Adress gets removed when using VM Import - #32842

  • Can not modify associated hosts if connection to vCenter is down - #31307

5.1.6. Puppet integration

  • Add task to set host parameters from Puppet data - #33180

  • Drop puppet_host_overview_fields - #32091

  • Extract Puppet Classes tab to a plugin - #31160

  • Extract Environments change multiple host action - #31136

  • Extract Puppetclass parameter filter - #31130

  • Extract Puppetclass API - #31129

  • Extract Environment parameters filter - #31114

  • Extract ConfigGroup Controllers - #31106

  • Extract ConfigGroup API - #31094

  • Extract ConfigGroup UI - #31093

  • Extract Puppetclass UI controllers - #31092

  • Extract Puppetclass views+helpers - #31089

  • Remove puppet bits from non puppet related tests - #31073

  • Extract Environments API - #31062

  • Extract Environments UI view+helpers - #31058

  • Extract Environments UI logic - #31057

  • Extract puppet from SmartProxy integration - #31056

  • Extract LookupValue puppet extension - #31013

  • Extract PuppetLookupKey UI - #31009

  • Extract SmartClassParameters API - #31007

  • Extract puppet from Host(group) form and details - #30913

5.1.7. Compute resources

  • Drop Spice XPI support - #33155

  • Add Associate VM to virtual machine dropdown - #33048

  • Spice connection with websockets encryption - #22801

5.1.8. API

  • Add GraphQL type and queries for permissions - #33123

  • bmc_avialable should be visible in API host show - #33038

  • Add graphql types for permissions - #32825

  • Add types and queries for Lookup Values - #32782

  • Correctly resolve global id when primary key is not integer - #32767

  • hammer user list --help has invalid --order example - #32703

  • API has inconsistent behavior with taxable parameters - #32695

  • Add 'resource_type' for the role filter in API - #32650

  • Add descendants field to hostgroup graphql type - #32645

  • Wrong error message when one attempts to create second primary/provision interface via API - #10236

5.1.9. Packaging

  • Update fog-libvirt to 0.9.0 - #33098

  • bundler warns /usr/share/foreman is not writable - #33013

5.1.10. Development tools

  • container builds are broken - #33093

  • JS sprintf mock does not correctly handle string interpolation - #32843

  • Webpack-dev-server doesn’t support http2 - #32437

5.1.11. Templates

  • AIX PXE attributes loading does not work - #33090

  • Install salt-minion is done twice - #33042

  • Latest preseed_networking_setup template snippet does not work Ubuntu 18.04+ with multiple nics - #32981

  • Allow templates to hide preview button - #32928

  • Allow using host comment in the safe mode - #32858

  • Add parameter to provisioning templates to run attach --auto after registering - #32852

  • Add the ability to add custom steps to the Default Finish template at early and late stages - #32715

  • Avoid echo statements without quotes in Grub - #32681

  • Link to templates_doc - #32674

  • Clean up host_param_(true|false)? - #32540

  • kickstart_kernel_options doesn’t handle properly tagged vlan over bond device - #32497

  • Ansible callback doesn’t run because the file is not executable - #32490

  • Fedora 34 / RHEL 9 - Ignore Anaconda kernel boot parameters without 'inst.' prefix - #32486

  • Do not use upstream repos for Ubuntu and Debian hosts that use Katello for content - #32290

  • Automated Fedora provisioning fails with Kickstart default due to the missing redhat-lsb-core - #31978

  • The default kickstart template installs EPEL by default - #31751

  • Remove spaces from snapshot tests - #31407

  • Template snapshot multi-host render tests - #31370

  • Foreman doesn’t support Netplan on Ubuntu - #30748

  • Search in Template editor doesn’t work at all - #29614

  • Snippet template may render incorrect result when non-default scope class is used to render the main template - #28221

5.1.12. Inventory

  • Make name_column helper defensive with displaying statuses - #33049

  • Add visual Amazon support - #32808

  • Host api request fails when thin=true and per_page=all - #32776

  • API - ISE when using invalid status type - #32536

  • Add Rocky Linux support to Foreman - #32516

  • Interface modal - incorrect alignment for error message

5.1.13. Users, Roles and Permissions

  • Navigation doesn’t display Host Wizard (within Lab Features) without admin rights - #33011

  • wrong error message when failing to create an external user - #32942

  • Non-admin user can not revoke user access token, attempt ends with 404 - #32826

  • Revoking Personal Access token should ask for confirmation - #32770

  • The /api/usergroups/:usergroup_id/external_usergroups API is not accepting 1-group as the name of usergroup - #32704

  • 50/50 chance to create role filter with non-admin user and enough permissions - #30394

  • User can view bookmarks without assigning view_bookmarks permission in a role - #30387

5.1.14. Database

  • switch to sql schema in order to better support custom types - #33008

  • PG::AmbiguousColumn when listing domains - #32641

5.1.15. Settings

  • Load only core setting values the first time we load them - #32963

  • Fix the creation of missing settings - #32953

  • Add strong typing to Setting DSL - #32894

  • Setting values have duplicate tooltips in Firefox - #32840

  • Overwrite outofsync_interval in host parameters - #32805

  • CVE-2021-3584: Remote code execution through Sendmail configuration - #32753

  • clicking on a read-only setting still opens an edit dialog - #32752

  • Setting registry doesn’t reload properly on autoreload - #32489

  • Use only SettingRegistry to read and update the settings - #32415

  • Load Setting index page from memory registry - #32287

  • Create a new setting definition DSL - #32286

5.1.16. Tests

  • setting lower version of rake to avoid test failures - #32952

5.1.17. Host groups

  • It is possible to specify a compute profile without any attributes in a hostgroup - #32924

5.1.18. TFTP

  • DHCP next-server option is "false" when tftp-servername was not provided - #32921

5.1.19. Proxy gateway

  • Drop unwanted URI parsing from NetHttpExtension - #32837

5.1.20. Facts

  • reported.virtual in scoped search not working properly - #32833

  • Move Chef parser to core - #32558

  • Move Salt parser to Core - #32548

  • Move Ansible Parser to Core - #32518

  • Move RHSM parser to Core - #32517

  • Unify excluded_facts and ignored_interface_identifiers - #32166

  • puppet facts exclude filter star wildcard not working as expected - #29681

5.1.21. Audit Log

  • Documentation button on Audits page opens in same tab - #32821

5.1.22. Parameters

  • add merge-option for variables of type "yaml" (Ansible/Salt/Puppet) - #32741

5.1.23. DB migrations

  • Migrations fail with 'could not create unique index "index_lookup_values_on_lookup_key_id_and_match"' error - #32673

  • Editing an existing bookmark should respect the current visibility - #32662

  • Allow searching hosts by attributes of the reported data facet - #32140

5.1.25. Logging

  • Allow relative values in filename log setting - #32636

  • Warning message during startup: already initialized constant Facets::SUPPORTED_CORE_OBJECTS - #32635

5.1.26. Internationalization

  • The Settings page tooltip texts are untranslated - #32484

  • FastGettext initialization is slow - #31717

  • Localized string broken into two separate lines, at Hosts -> All Hosts. - #30047

5.1.27. Host creation

  • Confirming interface modal by enter causes whole Host form to get confirmed - #32397

  • MAC address should be normalized - #31132

  • Create Host password field should indicate if a password is already set globally or in a Hostgroup - #27812

5.1.28. Network

  • When creating a HTTP proxy the username and password is used verbatim, leading to issues if they contain special characters - #32192

5.1.29. Reporting

  • As a user I should receive a notification after a report generation is complete - #32141

5.1.30. E-Mail

  • Add instance title to the subject and body of the email notifications - #32139

5.1.31. Unattended installations

  • Support RedHat CoreOS and Fedora CoreOS as operating systems - #27604

5.1.32. Compute resources - EC2

  • Add support for ec2 tags during instance creation - #2170

5.2. Installer

  • Determine if puppet user should be in foreman user groups dynamically - #32885

  • Support Puppet 7 - #32659

  • Add puppet provider and types in puppet-certs - #32506

  • Use Foreman client certificates for communication with Artemis broker in Candlepin - #32382

5.2.1. Foreman modules

  • Change Puma defaults to match recommendations from Puma documentation - #33277

  • Roles imported from a collection installed to /etc/ansible/collections are not found when run on hosts - #33162

  • Move more variables from in puppet-foreman to globals.pp - #33106

  • Don’t store plugin_prefix (and hammer_plugin_prefix) in answers - #33089

  • support remove_old_repodata options in yum_distributor for puppet-pulp - #32966

  • IPA Authentication is not properly deployed on Debian - #32947

  • Provide ability to configure content caching in Pulpcore - #32910

  • puppet-pulpcore should support enabling and disabling the new tasking system - #32891

  • Set sendmail location and arguments via puppet/installer - #32827

  • Disable SSLInsecureRenegotiation by default - #32762

  • Tftp support for Rocky Linux and AlmaLinux - #32710

  • Additional RPMs in /pub directory break latest symlink - #32700

  • Password diffs from puppet-certs should not show up in Puppet logs - #32647

  • Add Puppet provider to manage a truststore - #32637

  • Add keystore certificate puppet provider - #32631

  • Add a function to extract the certificate subject DN to determine artemis client DN programmatically - #32585

  • If bootstrap RPM symlink is removed the installer does not repair it - #32567

  • remove md5 from allowed content types for pulpcore - #32553

  • The installer does not update the katello-ca-consumer-latest symlink to the latest RPM once the bootstrap RPM’s release is greater than 9. - #32529

  • Add puppet type to manage an nssdb - #32511

  • Use Foreman client certificates to communicate with Pulp - #32383

  • mod_auth_kerb has been replaced by mod_auth_gssapi - #32352

  • The system does not seem to be IPA-enrolled - #29649

5.2.2. foreman-installer script

  • Support automatic reinstallation of puppet-agent-oauth on Debian - #33191

  • Add puppet plugin to answer files - #32914

  • Drop Puppet 5 from version check - #32610

5.3. Packaging

5.3.1. RPMs

  • Add a logrotate entry for /var/log/foreman-maintain - #33193

  • katello-change-hostname assumes answers file location - #32743

  • katello-change-hostname should handle --no-enable-puppet properly - #32725

5.4. Smart Proxy

  • Trusted hosts test fails with IPv6 address with interface - #32164

5.4.1. TFTP

  • Download of OS specific kernel and initrd files should verify certificates - #18936

Appendix A: Foreman Contributors

  • Adam Ruzicka

  • Adi Abramovich

  • Adi Abramovitch

  • Amir Fefer

  • Amit Upadhye

  • Andrea Perotti

  • Artur Obolewicz

  • Bas Roos

  • Bernhard Suttner

  • Chris Roberts

  • Dominik Matoulek

  • Dominique Quatravaux

  • Eric D. Helms

  • Evgeni Golov

  • Ewoud Kohl van Wijngaarden

  • Greg Cox

  • Hao Yu

  • Ian Ballou

  • James Jeffers

  • Jaskaran

  • Jaskaran Singh Narula

  • Jeremy Lenz

  • Jonas Trüstedt

  • Jonathon Turel

  • Justin Sherrill

  • Karl vollmer

  • Learloj

  • Leos Stejskal

  • Lucy Fu

  • Lukáš Zapletal

  • Manfred Pusch

  • Marek Hulán

  • Maria Agaphontzev

  • Markus Bucher

  • Martin Schlossarek

  • Maximilian

  • Maximilian Kolb

  • Melanie Corr

  • Nacho Barrientos

  • Oleh Fedorenko

  • Ondřej Ezr

  • Ondřej Pražák

  • Peter Bray

  • Rahul Bajaj

  • Ranjan Kumar

  • Ron Lavi

  • Samuli Seppänen

  • Scott Lindeneau

  • Shimon Shtein

  • Shira Maximov

  • Simon Peeters

  • Spencer

  • Stefan Lasiewski

  • Sureshkumar Thirugnanasambandan

  • Tim Meusel

  • Tomer Brisker

  • Vitaly Pyslar

  • William Clark

  • Yifat Makias

  • Zach Huntington-Meath

  • aabramov

  • mzima

  • nadjaheitmann

  • pheeeter

  • sandstrom

Appendix B: Katello Contributors

  • Andrew Dewar

  • Andrew Lukoshko

  • Bernhard Suttner

  • Chris Roberts

  • Dominik Matoulek

  • Eric D. Helms

  • Hao Yu

  • Ian Ballou

  • James Jeffers

  • Jeremy Lenz

  • Jonathon Turel

  • Justin Sherrill

  • Leos Stejskal

  • Lucy Fu

  • Lukas Zapletal

  • lumarel

  • Marek Hulán

  • Markus Bucher

  • Oleh Fedorenko

  • Ondřej Ezr

  • Partha Aji

  • Pat Riehecky

  • Paul Donohue

  • Ryan Verdile

  • Samir Jha