Skip to content

Add application setting for What's new [RUN ALL RSPEC] [RUN AS-IF-FOSS]

What does this MR do?

There's the What's new feature:

With each monthly release, GitLab includes some of the highlights in the What's new feature. To access it, select the ? icon and select What's new from the menu.

Regarding the What's new feature, two wishes were expressed in issues:

  • #325151 (closed): It should be possible to disable this feature.
  • #322862 (closed): Only new features for the current tier should be displayed. New features of higher tiers should be hidden.

So this MR implements a new application setting (Admin Area > Settings > Preferences > What's new) to choose between three variants:

  • Enabled: all tiers (default)
  • Enabled: current tier only
  • Disabled

Resolves #325151 (closed) #322862 (closed)

Screenshots

Admin Area > Settings > Preferences > What's new

Whats_new_application_setting

What's new drawer

Enabled: all tiers Enabled: current tier only Disabled
Menu Whats_new_menu_enabled_all Whats_new_menu_enabled_current Whats_new_menu_disabled
Drawer (current tier: Free) new features for non-free tiers also shown:
Whats_new_drawer_enabled_all
new features for non-free tiers hidden:
Whats_new_drawer_enabled_current
no access

🛠 with at Siemens

/cc @bufferoverflow

Database Review

DB Migration: Output
rails db:migrate VERSION=20210407111027 RAILS_ENV=development
== 20210407111027 AddWhatsNewApplicationSetting: migrating ====================
-- add_column(:application_settings, :whats_new_variant, :integer, {:limit=>2, :default=>0})
   -> 0.0120s
== 20210407111027 AddWhatsNewApplicationSetting: migrated (0.0122s) ===========
DB Rollback: Output
rails db:rollback STEP=1  RAILS_ENV=development
== 20210407111027 AddWhatsNewApplicationSetting: reverting ====================
-- remove_column(:application_settings, :whats_new_variant, :integer, {:limit=>2, :default=>0})
   -> 0.0087s
== 20210407111027 AddWhatsNewApplicationSetting: reverted (0.0118s) ===========

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Jonas Wälter

Merge request reports