1. Foreman 3.1 Release Notes

1.1. Headline Features

1.1.1. Improvements and additions to the new Host Details page

The new Host Details page is no longer experimental, although it is still not the default one. One can change SettingsNew hosts details UI to Yes to make it the default option. There are few new tabs added on this page,

Insights tab

The recommendations are available for the hosts in the Insights tab when using RHEL with a Red Hat cloud subscription. It is feasible to begin remediation for the suggested remedies (if any are available).

Ansible tab

It has the ability to manage Ansible roles and variables. The recurring jobs for the host can also be scheduled from the Ansible tab.

PatternFly 4 Search tab

A contemporary search experience is provided by the new search bar. It’s the beginning of an eventual transition to PatternFly 4 for many UI components in the future.

New Build button and card for BMC Power Management

New modals for a build button and BMC Power Management is available, which improves exprience of new Host Details page.

1.1.2. Descriptions for all of the provisioning templates

Over a hundred new descriptions have been added to provisioning templates, snippets, and scripts to assist users understand particular usage and use them in an effective manner.

1.1.3. New purge:puppet rake task

If you don’t intend to use the Puppet ENC functionality then this rake task can be used to purge Environments, Puppetclasses, Smartclass parameters and Config groups.

1.1.4. Cron job to clean old Audits

A new cron job has been introduced to purge the old Audits on a daily basis. The new Saved audits interval setting allows you to specify the number of days you want to save Audits for.

1.1.5. Provisioning snippets support Puppet 7

The provisioning snippets have been updated to setup Puppet 7 repositories, as well as configure and install packages from those repositories.

1.1.6. Performance improvements for index pages and Host Config Status

The new caching approach speeds up index pages loading while consuming less memory. The Host Config Status is now more efficient, using fewer requests and less memory.

1.2. Upgrade Warnings

1.2.1. Running Foreman on Ubuntu 18.04 dropped

Foreman 2.5 introduced support to run on Ubuntu 20.04. Foreman 3.0 deprecated support for running on Ubuntu 18.04 and Foreman 3.1 drops it. Users are encouraged to upgrade to Ubuntu 20.04 either on Foreman 2.5 or 3.0.

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. Deprecations

1.3.1. The :unattended Setting has been deprecated

Historically Foreman has supported the :unattended setting in settings.yaml. Setting it to false is barely tested and has seen various regressions because of that. This setting will be removed in the future and Foreman will behave as if it’s set to true.

The host registration feature can be used to register hosts on Foreman for the sole purpose of an inventory. Refer to the removal 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.3 Release Notes

2.1. Headline Features

2.2. Upgrade Warnings

2.3. Deprecations

3. Foreman 3.1.3

A full list of changes is available via Redmine

3.1. Foreman

3.1.1. JavaScript stack

  • Adding the host parameters clears the values of the prior line - #34747

3.1.2. Host registration

  • The registration database migration could fail when template is not available - #34661

3.1.3. Security

  • Settings defined by DSL are not properly encrypted - #34573

3.1.4. Inventory

  • The Submit button on a host form redirects to an invalid page - #34572

3.1.5. Web Interface

  • Add pagelet mountpoints for hosts list table - #34543

3.1.6. Templates

  • Ensure that the insights snippet is being called by honoring the value of host_registration_insights parameter - #34525

3.2. Installer

  • Installer does not restart foreman.service when changing Puma configuration - #34824

3.3. Packaging

3.3.1. Debian/Ubuntu

  • Updates oauth Gem installed by puppet-agent-oauth under Debian to a newer version (0.5.1 produces lots of warnings about URI.escape) - #34681

3.4. SELinux

3.4.1. Plugins

  • Syncing the git templates on RHEL8 raise SElinux errors - #34726

3.5. Smart Proxy

  • Set the MALLOC_ARENA_MAX variable to counter memory bloating in production environments - #34624

4. Foreman 3.1.2

A full list of changes is available via Redmine

4.1. Foreman

4.1.1. Organizations and Locations

  • Organization context fails to change in web UI - #34416

4.1.2. API

  • Change example for --order - #34381

4.1.3. Plugin integration

  • Facets do not allow emptying their relations through mass assignment - #34375

  • GraphQL types touch database in migration rakes - #34366

  • Allow Site manager role to be extended from plugins - #34351

  • Allow specific permissions to be excluded from being added to default roles - #34329

4.1.4. Host creation

  • Host form redirect does not work for unmanaged host - #34371

4.1.5. Facts

  • Fix IPv6 support in rhsm fact facter - #34330

4.2. Installer

4.2.1. foreman-installer script

  • run foreman-rake upgrade:run only conditionally - #34440

4.2.2. Foreman modules

  • Dynflow doesnt properly come back if the DB is unavailable for a brief period of timet properly come back if the DB is unavailable for a brief period of time - #34394

  • Create the Pulp group as system group - #34379

  • Candlepin errors when using an encrypted key generated with genpkey or on a FIPS enabled machine - #34189

4.3. Smart Proxy

4.3.1. DHCP

  • DHCP error with wrong number of arguments for validate_supported_address - #34359

5. Foreman 3.1.1

A full list of changes is available via Redmine

5.1. Foreman

5.1.1. Host creation

  • Host form redirect relies on the primary interface being the first interface - #34300

  • Remove workaround for root_password encoding - #34289

5.1.2. Templates

  • upgrade fails during db:seed with ActiveRecord::RecordNotDestroyed: Failed to destroy the record - #34299

  • More Anaconda kernel boot parameters without inst.' prefix template changesinst. prefix template changes prefix template changes - #34265

  • Puppet aio detection is broken in Foreman 3.1 provisioning templates, PR#8899 is full of typos - #34214

  • is_true? & is_false? template helpers - #34213

  • Include Tower extra vars feature when calling the API callback - #33942

5.1.3. Web Interface

  • Ignore URL query params when setting active tab - #34271

  • Core cards in overview tab should be arrangeable - #34142

  • Hosts UI - UX Review - Spacing - #34129

  • Host Detail Graphs VERY slow to load after upgrade to 3.0.0-rc1 - #33310

5.1.4. Host registration

  • Missing example for "Install packages" field - #34252

  • Grammatical errors with Insecure help text at Host Registration - #34250

  • Host facts are not uploaded to Foreman when host is registered with global registration - #34249

  • Fix bool params in global registration template - #34206

5.1.5. Audit Log

  • Recent audits card in new host page is missing username - #34223

5.1.6. Packaging

5.1.7. Reporting

  • Remove warning from reports page in 3.1 - #34140

  • Importing puppet report via the API does not authorize - #34026

5.1.8. Monitoring

  • Report disallowed metric labels as "other" - #34122

5.1.9. Facts

  • New OS created due to facts mismatch for operatingsystem for RHSM, Puppet and Ansible - #33981

5.1.10. Compute resources - VMware

  • Unable to create compute profile for specific vmware compute resource - #30550

  • Cannot view Compute-Profiles from a specific Compute-Resource - #28155

5.2. Installer

5.2.1. Foreman modules

  • [Custom Certs] - Failed to install the custom certs on Katello 4.3, works on 4.1 - #34317

  • Seed may not be triggered after migration - #34308

  • support KEEP_CHANGELOG_LIMIT option with pulpcore - #34298

  • Katello 4.2 to 4.3 upgrade doesnt trigger apipie:cache:index, breaking some new hammer commandst trigger apipie:cache:index, breaking some new hammer commands - #34161

5.3. Smart Proxy

5.3.1. DNS

  • Windows DNSCMD no implicit conversion of nil into String - #34226

6. Katello 4.3.0

A full list of changes is available via Redmine

6.1. Katello

  • CV UI - Bug - Content View Version Task polling doesnt stop. t stop. - #34060

  • CV UI - UX Review - Spacing - #34046

  • Fix Katello GUI issues and add debian constraints - #33702

  • Import/Export Permission Upgrade task not deleting duplicate entries - #33678

  • Add filename attribute to python packages - #33650

  • Add Github action that watches when we change dependencies - #33649

  • Unknown subscription status on Katello webui after successful host registration. - #33572

  • support dynflow 1.6.1 - #33562

  • Remove migration adding column to environments - #33561

  • As a user I can create an OSTree repository - #33557

  • Generic Content Browsing UI: Details/Repositories Tabs - #33524

  • Sync Plan Start Date Always null - #33523

  • Tooltip stays visible after clicking on next page button - #33498

  • Add component view count to versions API results - #33467

  • Foreman setting has wrong description for a couple of parameters under Content Tab on the Foreman WebUI - #33439

  • Landing page UI for browsing generic content units - #33435

  • Inject consumer uuid into REX jobs - #33410

  • Package dependency ui incorrectly displays dependency values - #33407

  • If/else statement have equal code - #33395

  • custom confirm modal is broken - #33393

  • Bad inheritance of Architecture property is causing Grayed out media selections for child hostgroup - #33385

  • Package groups that have empty package names are copied incorrectly during CV version publcation - #33365

  • Pulp-ansible binding is outdated - #33349

  • Pulp3 Dynflow Step Statuses are Inaccurate - #33315

  • Content -> Errata -> Select Hosts -> Confirm generates an exception in remote_execution controller - #33314

  • As a user I can sync an OSTree repository with the UI - #33295

  • As a user I can sync an OSTree repository with the CLI/API - #33294

  • [SAT-1790] Extend TableWrapper and MainTable to allow using PF TableComposable - #33238

  • UI Remote Options Support for Generic Content Types - #33166

  • bump pulp-rpm requires to allow 3.14.0 - #33148

  • Content View Publish for Generic Types - #33103

  • [SAT-1790] New Host details overview - Content view details card - #33084

  • [SAT-4231] Traces - Restart via remote execution - #33081

  • [SAT-4231] Traces - Bulk select & restart - #33078

  • [SAT-4231] Traces - Enable Tracer button - #33077

  • apipie cache out of date because repo_create param content_type relies on creatable_repository_types instead of defined_repository_types - #33057

  • Inheritance does not work for child hostgroups Content view, Content Source and Lifecycle environment - #33054

  • RHEL8 re-registration error shows the information about foreman rather satellite - #33031

  • Refactor DockerTag cleanup in 20200402130013_add_repsository_docker_meta_tag_f_key - #33012

  • [global registration] - Global Registration is not working w.r.t. Life Cycle Environment - #33005

  • verify if katello host tools and tracer are installed on debian / ubuntu - #32993

  • CV UI - Add Promote workflow to new CV UI (Component CVs) - #32509

6.1.1. Content Views

  • undefined local variable or method \`cv for Katello::ComponentViewPresenter:Class for Katello::ComponentViewPresenter:Class - #34147

  • CV UI - Add permissions to new CV UI workflows - #33668

  • CV UI - Support bulk adding component CVs to composite CVs - #33667

  • Composite CV publishing is broken - #33510

  • RPM include filter includes extraneous packages from package groups having only type="default" packagereqs - #33358

  • Repository Clear failed - #33354

  • Enter key doesnt work when creating a content view filtert work when creating a content view filter - #33288

  • CV Package count ok, but Errata count (huge) mismatches with pulp2 - #33254

  • Destroying tasks causes content views to disappear from new and old UI pages - #33230

  • [pulp3] CV with filter by id with empty rules fails with undefined method \`start_date for nil:NilClass for nil:NilClass - #33213

  • Remove old EnvironmentCreate action - #33020

  • Introduce a valid solution to fix the error "Katello::Errors::CandlepinError: Environment with id XXXX could not be found" - #33019

  • Capsule syncing is not triggered by CV promotion - #33014

  • Fix wording on new CV page empty state - #32788

  • CV Promotion/Composite cv publish failed with NoMethodError: undefined method \`get_status for nil:NilClass for nil:NilClass - #32556

  • improve speed of content view publish with filters - #32460

  • Excluding packages from EPEL 7 (at least) causes all errata to disappear - #32435

  • New Content View Page - Add Added/Available/All to the content view filter details page - #31970

6.1.2. Web UI

  • CV UI - UX Review 3 - Empty States - Tooltips - Assorted UI tweaks - #33969

  • Katello - Nightly failures due to package availability - #33953

  • CV UI - Add search filters with chips to errata filter page - #33638

  • Hide not finished host redesign tabs from UI - #33628

  • UI for listing generic content units at repository level + removal support - #33616

  • CV UI - Version Details - Files Tab for Table View - #33594

  • [CV UI] Version details repository drop-down selection for all associated tables - #33555

  • CV UI - Breadcrumbs for all CV Pages - #33552

  • CV UI - Switch new and old UI urls - #33547

  • CV UI - Allow editing filters (name, description) inline on Filter details page - #33546

  • [CV UI] Allow creating Errata Filter by Id and Date type - #33545

  • Add Include all Module Streams with no errata checkbox to Module Stream Filter details page. - #33537

  • Remove jQuery UI dependency - #33477

  • CV UI - ComponentView routing overhaul (hashrouter) - #33404

  • CV UI - Delete Content View - #33402

  • CV UI - Add errata filter rule by ID to CV filter - #33400

  • CV UI - Add errata filter rule by Data range to CV filter - #33399

  • Secondary tabs should be routable in the new host details - #33350

  • CV UI - Add affected repository tab to Filter details page - #33336

  • Updating per_page on table sends the page into infinite loops - #33276

  • CV UI - CV Version remove from environment - #33262

  • New Content View Page - Add module stream filter detail page - #33252

  • Add pagination component to the bottom of the table for tablewrapper - #33181

  • CV UI - Task progress bar with details to poll and track Publish/Promote tasks - #33118

  • CV UI - Implement Matching content modal for RPM Filter rules - #33117

  • CV UI - Add/Remove Package Group Filter rules to Package Group Filters - #33116

  • CV UI - Delete RPM Filter rules from RPM Filters - #33114

  • CV UI - Add RPM Filter rules to RPM Filters - #33113

  • [SAT-4231] Traces - Basic read-only table - #33076

  • Component content view > repositories checkbox selection doesnt work for bulk actions.t work for bulk actions. - #32956

  • CV UI - Delete filters from CV - #32931

  • New Content View Page - Add container tag filter detail page - #32638

6.1.3. Tests

  • Upgrading to vendor v8.16.0 cause testing to fail - #33761

  • Increase nock timeout for longer running tests and possibly slow CI - #33692

  • mailer test failures - #33412

  • transient kt_environment audit test failure - #33380

  • react failure in master - #33372

  • Intermittent Pipeline katello-master-source-release failure on contentViewDetailRepos.test.js - #33199

  • spacing issue with rubocop disablement - #33167

  • Use eslint react-hooks rules - #32221

6.1.4. Errata Management

  • Host filter on load_errata_applications macro is reverted - #33684

  • When applying an applicable errata on a host that is using a CV it does not generate a incremental CV version with REX turned on - #33382

  • Bulk generate applicability for hosts task fails with Duplicate Key error - #33287

  • bulk hosts apply errata affected count doesnt open in new tab/windowt open in new tab/window - #33237

  • Warnings should be improved for hammer host errata apply, when not passing errata_ids - #33182

  • Incorrect applicablity in katello 4 - #32739

6.1.5. Hosts

  • bThe link "here" in tabs of a content host (/content_hosts/1/…​) is not opening any page’The link "here" in tabs of a content host (/content_hosts/1/…​) is not opening any page - #33677

  • Edit hosts page not reflecting correct selections. - #33581

  • [SAT-4229] Content - Errata - Recalculate - #33516

  • Add Errata - Bulk select & apply - #33515

  • [SAT-4229] New host details Content - Errata - Table row expansion - #33485

  • Old Registration URL doesnt redirect to the new URLt redirect to the new URL - #33442

  • Katello-nightly missing content view environment attributes on Hostgroups page - #33374

  • Host Redesign - Basic Errata table - #33361

  • Noticed "event_queue_error: type=delete_host_agent_queue, object_id=XX" error logging during concurrent host build/rebuild/re-registration/deletion in Satellite 6.10 - #33348

  • Change of auto-attach' preference via subscription-manager doesn’t get reflected in Satellite WebUIauto-attach preference via subscription-manager doesn’t get reflected in Satellite WebUI preference via subscription-manager doesnt get reflected in Satellite WebUIt get reflected in Satellite WebUI - #33285

  • Incorrect search link from packages view for applicable or upgradable hosts - #33256

  • Installation source in hostgroup cannot be changed from "synced content" to local medium - #33144

  • hammer host package upgrade-all doesnt update all packagest update all packages - #33040

  • Unable to interact with appstream actions in content host > host > appstream, leads to an oops - #32943

  • Move Actions::Katello::Host::UploadPackageProfile out of dynflow - #32889

6.1.6. Repositories

  • support pulp 3.15 - #33652

  • Errata changing in the upstream repo is not being reflected in the Katello DB - #33648

  • In Katello 4.1 upgrade, installer failed with exit status 6 in the db:migrate stage. - #33629

  • bUpdate recommended repos for Satellite & Tools from 6.9 to 6.10’Update recommended repos for Satellite & Tools from 6.9 to 6.10 - #33627

  • Generic repository types dont work properly with multiple generic typest work properly with multiple generic types - #33625

  • Add download_policy setting for Deb-repositories - #33578

  • clear pulp3s checksum values on its yum repository objectss checksum values on its yum repository objects - #33567

  • Selecting certain products in "Red Hat Repositories" page renders a Blank Page in Satellite 6.10 - #33544

  • Update of the Registry Name Pattern fails - #33534

  • Make force repo/capsule sync better handle mirrored metadata - #33518

  • make metadata regeneration harder - #33517

  • show new content counts as part of sync task status - #33509

  • Selected yum metadata checksum type on is not reflected in repomd.xml on a repo creation - #33495

  • Remove OSTree filter from Red Hat Repositories drop down list - #33493

  • Total steps: 0/0 in sync status - #33472

  • Background download policy is still referenced in a number of areas - #33468

  • Add repositories node to generic content unit rabl - #33454

  • Drop rake task katello:refresh_sync_schedule - #33450

  • UI shows 0 packages\\errata\\package_groups after a bad sync followed by a successful sync for the same repo - #33443

  • Sync overview' Widget in 'Dashboard' is not showing any dataSync overview Widget in 'Dashboard' is not showing any data Widget in Dashboard' is not showing any dataDashboard is not showing any data is not showing any data - #33413

  • catch specific error from pulp and throw a better one that is katello specific - #33376

  • Could not update repository with URL (ISE 500 in logs) when url was not previously set - #33370

  • reduce code duplication by making client_module controlled entirely by the repo type class - #33359

  • "NoMethodError: undefined method \`id\' for nil:NilClass" error while creating a repository.'"NoMethodError: undefined method \`id\ for nil:NilClass" error while creating a repository.' for nil:NilClass" error while creating a repository. - #33286

  • orphan cleanup should remove orphaned root repositories - #33279

  • Integrate Pulp3 ULN support into Katello - #33250

  • Not all files are uploaded to a repository, no error is shown - #33235

  • ansible collection file upload fails with Error during upload: undefined method \`label for nil:NilClass for nil:NilClass - #33221

  • foreman-rake katello:correct_repositories is failing to create the repositories. - #33212

  • Show rhel-6-server-els-rpms under recommended repositories instead of rhel-6-server-rpms - #33189

  • Do not display Red Hat Enterprise Linux 5 Server - Extended Life Cycle Support (RPMs) repository under recommended repositories - #33188

  • unable to set SSL certs when creating Ansible Collection repository - #33171

  • attempting to delete a user name and password for "Upstream Authorization" fails - #33164

  • Ansible collection repo validate both auth url and token are supplied - #33147

  • Capsule sync failed after upgrade with missing repository type error. - #33058

  • Katello saves publication as a repos version_href at sync time if Pulp auto-creates publicationss version_href at sync time if Pulp auto-creates publications - #33044

  • Katello 4.1 journal: warning: URI.escape is obsolete - #32995

  • Sync of content from an authenticated yum repository fails - #32994

  • Sync/index python repository and handle remote options - #32802

  • Product sync-status of all repo-syncs - #32798

  • katello assumes GET params in repo url are SLES auth tokens, but may not be - #32660

  • repository details should include last changed timestamp - #31590

  • Applicability for deb packages - #27625

6.1.7. Subscriptions

  • Satellite doesnt forward the "If-Modified-Since" header for /accessible_content endpoint to Candlepint forward the "If-Modified-Since" header for /accessible_content endpoint to Candlepin - #33618

  • Navigating to Admin, Organization, and selecting an organization gives 404 - #33573

6.1.8. Tooling

  • pulpcore-resource-manager gets started after rake katello:reset - #33609

  • Add PR template to remind contributors to add context and testing steps - #33571

  • Cleanup unused methods in Candlepin Consumer resource - #33508

  • remove 4.2 deprecated functionality - #33234

  • gem build includes .edit.po files in locale - #33200

6.1.9. Inter Server Sync

  • Import/Export Permission Upgrade task not getting run - #33527

  • File units not indexed correctly on import - #33394

  • Can"t import "paid" content in disconnected mode - #33102

6.1.10. Foreman Proxy Content

  • Capsule content page shows content views as empty when they arentt - #33466

  • Default Organization View showing status as {{ historyText(version) }} when you check through Infrastructure --> Smart Proxies --> proxy --> content --> Library --> Default Organization View - #33465

  • Pulp 3 check fails if only running a single worker - #33430

  • Smart Proxy Syncing debian repositories fails with `Response body: {"distributions":["This field is required."]} (PulpDebClient::ApiError)\` - #33377

  • incorrect pulp version number after upgrade to pulp 3 - #33211

  • Cancel button should be enabled in the capsule sync until the job completions - #33037

  • container gateway updates that fail cause the entire smart proxy sync to fail - #32816

6.1.11. Ansible Collections

  • Add repository type count to cv version API and fix ansible collection cv publish - #33386

  • usability issues with updating a repository with invalid data - #33251

  • Ansible Collection - auth_token should be allowed without providing auth_url - #33208

6.1.12. Container

  • Adding ansible collection repos or debian repos to content views with filters causes failures - #33375

6.1.13. Roles and Permissions

  • Some of the "filters" permission changed after the upgrade. - #33146

6.1.14. API

  • Host registration API - activation_key & activation_keys fields - #33141

  • Expose on the Katello API the ability to sync only an individual Content View or Repository to a Smart Proxy - #33120

  • Generic content units should be uploadable, deletable, and browsable via the API - #32912

6.1.15. Client/Agent

  • No option via Katello-agent in errata installation of host-collections in UI only - #33086

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

6.1.16. Activation Key

  • ignore 404/missing id on activation key delete - #32664

6.2. Packaging

  • change hostname tries to unconditionally restart puppetserver - #34099

7. Foreman 3.1.0

A full list of changes is available via Redmine

7.1. Foreman

7.1.1. Users, Roles and Permissions

  • Authorizer cache loads all permitted resources to memory - #34093

  • Unable to assign ansible roles to a host group via hammer/api with non-admin user - #33727

  • Drop view_tasks permission in core - #33387

  • Non-admin users can not list their Personal Access Tokens - #33371

7.1.2. Templates

  • Rename enable-puppetlabs-puppetX-repo to enable-puppetofficial-puppetX-repo - #34088

  • Add current date macro - #33907

  • Job Invocation - demodulize resource type for permission - #33853

  • Package manager snippet - #33695

  • Remove CentOS 8 AppStream kickstart workaround - #33680

  • Optionally use ignoredisk in kickstart default partition template - #33666

  • Rename UNDI iPXE filename to end with zero - #33584

  • Unlocking a locked template does nothing - #33570

  • Prepare Kickstart for RHEL 9 provisioning - #33566

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

  • Add support for all RHEL derivatives in Content Host Registration - #33408

  • service network restart on EL8 doesnt workt work - #33092

  • Provide a description for shipped provisioning templates - #33034

  • AutoYaST iPXE should support static networking - #32937

  • Resource template input for job templates - #32822

  • include repo support for puppet 7 in provisioning snippets - #32602

  • save_to_file() in templates cuts off last end of line - #32461

  • Add ksvalidator and grub2 script checks to jenkins suite - #31947

  • Extract Environment from TemplateCombination model - #31732

  • Add eject cdrom snippet and call it from preseed finish script - #31454

7.1.3. JavaScript stack

  • Webpack cant find loaders for plugins in productiont find loaders for plugins in production - #34086

  • Host details active tab not set correctly when tab name contains spaces - #33894

  • The new host detail page allows me to build the host even if I have view only permissions - #33872

  • Host details page needs some integration tests - #33833

  • foreman-develop-package-release fails after removing react-intl - #33800

  • Update pf4 to 4.162.2 - #33758

  • Rename the link to old UI of Host detail - #33742

  • Refactor ToastsList to use slice pattern - #33690

  • remove snapshot testing from pf4 bookmarks - #33675

  • update Audits and Models pages buttons to pf4 after searchbar styles changed to PF4 - #33635

  • Toast type in errorToast is incorrect - #33514

  • Use gray background only for overview tab on Host detail page - #33423

  • Simplify ForemanSwitcher - #33416

  • Slot&Fill reducer doesnt remove a fill from the store after unregisteringt remove a fill from the store after unregistering - #33405

  • Toast message is hidden - #33316

  • Fix Nightly React test failures - #33265

  • Add React error boundaries - #33026

  • Add confirmation modal service - #32880

  • Add PF4 Searchbar - #32750

  • Make tabs on new Host detail page routable - #32398

  • Add action items dropdown extension mechanism in host details page - #30981

  • Add PF4 icons in empty state - #30865

7.1.4. Web Interface

  • Audit cards 'All audits' link doesn’t filter the hosts All audits' link doesn’t filter the hostAll audits link doesn’t filter the host link doesnt filter the hostt filter the host - #34085

  • New Host detail page - small screen cant see build modalt see build modal - #33955

  • Host details tabs arent clickablet clickable - #33805

  • Add report and facts to host details kebab dropdown - #33714

  • Add build review modal in the new host details page - #33696

  • After creating new host group from help page, page doesnt redirect to main landing page.t redirect to main landing page. - #33637

  • 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

  • Add setting for redirecting to the new host details page - #33484

  • "Login Page Footer Text" Blocking Login Button on Foreman UI - #33481

  • Use the new confirm modal in the host status clear - #33473

  • Host details page tabs re-render continuously - #33324

  • broken Documentation button in search for react pages - #33323

  • Add power options dropdown to details card - #33268

  • After creating new host group or Http proxy, page doesnt redirect to main landing page.t redirect to main landing page. - #33177

  • Host details tabs titles arent translatedt translated - #33151

  • Add console to the host details page - #32999

  • Add manageBookmarks to pf4 bookmarks - #32656

  • Move the host status page from foreman_wreckingball to core - #31638

  • The time ago creation line is not translated in the new host details page - #30984

7.1.5. Parameters

  • Cannot search by organization or location parameter - #34008

7.1.6. Host registration

  • Fix name & path to OS host_init_config template - #33979

  • In UI form show proxies that have enabled Registration and templates features only - #33697

  • Run subscription-manager clean' when force=truesubscription-manager clean when force=true when force=true - #33540

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

  • Make the registration form more compact - #33389

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

  • Remove hard-coded link to documentation - #33215

  • Move katello_ca_consumer to registration template - #32678

7.1.7. Settings

  • Speed up settings index page - #33935

  • Foreman wont start with old settings in DB - #33861

  • Settings defined in settings.yaml do not take precedence in the new DSL - #33791

  • Setting DSL does not use the explicit initial values - #33740

  • SettingRegistry fails on older categories if setting table is not ready - #33706

  • Improve caching of SettingRegistry#load_values - #33640

  • Use new DSL to define Puppet settings - #33607

  • Use new DSL to define Provisioning settings - #33601

  • Use new DSL to define Notification settings - #33596

  • Use new DSL to define Email settings - #33595

  • Use new DSL to define Authentication settings - #33589

  • "OAuth map users" setting has a bad explanation - #33440

  • Settings search is broken in hammer - #33347

  • Mark Settings defined by DSL as special category in DB - #33280

  • Use new DSL to define General settings - #32893

  • Add custom validations to new setting DSL - #32403

  • Extract Puppet setting - #32064

  • Add more reliable way to detect Foreman CA certificate - #31049

  • Reorder settings - #29288

7.1.8. DHCP

  • Provide a meaningful report when a subnet has an invalid address - #33929

7.1.9. Organizations and Locations

  • Mismatch report fails with uninitialized constant Environment’uninitialized constant Environment - #33897

7.1.10. Monitoring

  • forget_status doesnt update the global host’s statet update the global hosts states state - #33882

7.1.11. Rails

  • Cleanup Bullet config - #33851

  • Create proper HttpUrl validator - #32892

7.1.12. BMC

  • bmc_credentials_accessible hides BMC information in host view - #33826

7.1.13. Statistics

  • Unused leftover methods in core - #33802

7.1.14. Host creation

  • ipv4/6 auto-suggested address should be removed when the different domain and subnet with ipv6/4 are selected - #33794

  • Template is written twice when resolving provisioning templates for a host - #33793

  • The edit interface view (in interface tab) is too narrow for vmware network names - #33574

7.1.15. API

  • Drop non-standard compliant way of selecting api version - #33787

  • The default password in settings is not encoded - #33732

  • GraphQL response should return valid attribute values - #33647

  • please expose capabilities in the smart_proxies show API - #33611

  • Undefined method error when calling Api::V2::SmartProxiesController#import_puppetclasses - #33539

  • Host creation API "overwrite" parameter is not documented - #32541

  • Register query fields with custom resolvers - #32214

7.1.16. Performance

  • Drop Ruby pre-2.5 compatibility in Host#parse_ip_address - #33784

7.1.17. Facts

  • Ignore unstable legacy Facter facts - #33778

  • RHSM IPv6 fact is not being parsed for foreman hosts. - #33776

  • Cloned viewer role cannot view facts - #33656

  • Reduce allocations in FactImporter#update_facts - #33639

  • Add fact parser registry - #33419

  • foreman-rake facts:clean fails with foreign key constraint violation - #30028

  • Ansible Windows network facts fail to import - #23936

7.1.18. Inventory

  • Handle different Windows installation types - #33769

  • Distinguish between "regular" hosts and hosts on which Foreman and/or smart proxy runs - models and fact processing - #32328

7.1.19. Reporting

  • Show warning on old Reports page - #33757

  • Rename the Report template button - #33432

  • Improve job invocation report template - #33223

  • User shouldnt have a login current_usert have a login current_user - #33724

  • Add scoped search definition for arf reports that finds reports for hosts owned by current user - #33025

7.1.21. Packaging

  • Make dynflow-sidekiq@\* services part of foreman.service - #33723

7.1.22. Rake tasks

  • dont warn about apipie cache when using "rake config"t warn about apipie cache when using "rake config" - #33671

  • Add task to purge puppet data - #32652

7.1.23. Plugin integration

  • Allow foreman plugins to use webpack - #33626

  • Improve Facets registration - #31372

7.1.24. Tests

  • Fix test failures in plugins - #33560

  • Introduce skip pattern for ACL tests - #33122

  • capybara 3.32.1 breaks ReportTemplateJSIntegrationTest - #29481

7.1.25. Audit Log

  • Audits should be searchable by the current user so a role with filter to "see my audits" can be created - #33551

  • Audits cleanup - #27024

7.1.26. Puppet integration

  • Remove Puppet API endpoints - #33550

  • Extract Puppetclass migrations - #33541

  • Extract ConfigGroup migrations - #31096

  • Extract Environments migrations - #31060

7.1.27. TFTP

  • TFTP Unable to download Flatcar OS - #33469

7.1.28. Compute resources - VMware

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

  • Compute profile references wrong datacenter path after changing datacenter name - #32792

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

7.1.29. Authentication

  • Appropriate error message to be shown when creating authsource with same name as existing authsource.

7.1.30. Compute resources - oVirt

  • Foreman error on retrieving networks/vnics from oVirt if description contains non ascii characters - #32908

7.1.31. Proxy gateway

  • Drop unwanted URI parsing from NetHttpExtension - #32837

7.1.32. Compute resources

  • Associate a VM via API to a compute resource - #32769

7.1.33. Smart Proxy

  • Add information about proxy status - #32727

7.1.34. Internationalization

  • [Foreman 2.3] [zh_CN/ja_JP] Localized string broken into two separate lines, at <Administer - Locations page>, at <Administer - Organizations page> and at <Infrastructure - Domains>. - #31338

  • Remove statistics & trends API endpoints - #30504

7.1.36. Compute resources - libvirt

  • Libvirt connection leaks - #14854

7.2. Installer

  • disable registration module on smart proxies by default - #33864

  • Drop content type settings from katello module - #33830

  • Add host_reports to the installer - #33760

  • For Katello scenario, do not deploy Puppet by default - #33337

  • Foreman client certificates should be used to set up qpid queues - #33233

  • potential memory leak in puma

7.2.1. Foreman modules

  • Allow registration through content proxy via port 443 - #33863

  • Foreman Proxy Templates feature only listens to https by default - #33808

  • Mark host where the installer is running as smart-proxy when deploying smart-proxy - #33790

  • Mark host where the installer is running as foreman when deploying foreman - #33789

  • Support Pulp 3.15 - #33766

  • Support OSTree & Python content enablement - #33751

  • workaround for pulpcore-content PostgreSQL connection issue - #33744

  • need to generate private db key for pulpcore 3.15 - #33733

  • dynflow workers started before redis - #33511

  • Use OpenSSL Ruby to ensure Apache certificate bundle is in the proper format on FIPS machines - #33431

  • Candlepin.conf refers to incorrect job schedule options - #33321

  • Refer to FQDN instead of "Foreman server" in SmartProxy registration error messages - #33320

7.2.2. foreman-installer script

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

  • Date used by katello-certs-check should be formatted correctly by program - #33109

7.3. Packaging

  • clean up packaged plugins - #33867

  • Add cron to audits cleanup - #33623

7.3.1. RPMs

  • drop obsolete plugin from RPM packaging: digitalocean - #33880

  • drop obsolete plugin from RPM packaging: xen - #33879

  • katello-change-hostname should conditionally mention updating puppet-foreman-server-url - #33743

  • change hostname suggests dropped parameter foreman-proxy-content-parent-fqdn - #33719

  • Hostname change script should suggest new --puppet-server-foreman-url - #33580

7.3.2. Debian/Ubuntu

  • drop obsolete plugin from Debian packaging: xen - #33871

  • drop obsolete plugin from Debian packaging: cockpit - #33870

  • drop obsolete plugin from Debian packaging: digitalocean - #33869

  • drop obsolete plugin from Debian packaging: azure - #33868

  • Drop Ubuntu 18.04 support - #33785

7.4. Smart Proxy

  • Require templates for Registration module - #33756

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

7.4.1. Security

  • Disable Webrick client initiated renegotiation - #33452

  • native_ms/dnscmd providers should use shell escaping when running commands - #4026

7.4.2. Templates

  • Do not pass proxy in x-forwarded-for - #32607

7.4.3. DHCP

  • Add ip and mac address validations to api endpoints in dhcp api controller - #18069

7.4.4. TFTP

  • Smartproxy TFTP using wget -c to pull new PXE defaults produces errors while booting - #2412

Appendix A: Foreman Contributors

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

Adam Cecile, Adam Ruzicka, Adi Abramovich, Alexander Olofsson, Amir Fefer, Amit Upadhye, Andrew Teixeira, Anna Vitova, Antoine Beaupré, Avi Sharvit, Bernhard Suttner, Birkir Freyr, Chris Roberts, Dave Thomas, Dominik Matoulek, Eric D. Helms, Evgeni Golov, Ewoud Kohl van Wijngaarden, Gordon Bleux, Jeremy Lenz, John Mitsch, Jonathon Turel, Justin Sherrill, Kamil Szubrycht, Leos Stejskal, Lukáš Zapletal, Magnus Toneby, Marcel Kühlhorn, Marek Hulán, Maria Agaphontzev, Melanie Corr, Nacho Barrientos, Nadja Heitmann, Oleh Fedorenko, Ondřej Ezr, Ondřej Pražák, Patrick Creech, Rahul Bajaj, Romuald Conty, Ron Lavi, Samir Jha, Shimon Shtein, Shira Maximov, Tim Meusel, Tomer Brisker, Trent Anderson, William Clark, Yifat Makias, amtilghman, andrewgdewar, maccelf, rafaelguerra01

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

Appendix B: Katello Contributors