1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-10-27 11:02:16 +01:00
Commit Graph

1362 Commits

Author SHA1 Message Date
Thomas Heartman
b2c58102dd
chore(unl-204): remove uses of toast text and confetti (#8941)
As of PR #8935, we no longer support both text and title, and confetti
has been removed.

This PR:
- removes `confetti` from the toast interface
- merges `text` and `title` into `text` and updates its uses across the
codebase.
- readjusts the text where necessary.
2024-12-10 13:38:04 +00:00
Thomas Heartman
f833cf58eb
1-3060: remove features export import flag (#8890)
This PR removes all references to the `featuresExportImport` flag.

The flag was introduced in [PR
#3411](https://github.com/Unleash/unleash/pull/3411) on March 29th 2023,
and the flag was archived on April 3rd. The flag has always defaulted to
true.

We've looked at the project that introduced the flag and have spoken to CS about it: we can find no reason to keep the flag around. So well remove it now.
2024-12-02 09:26:06 +00:00
Nuno Góis
f75cf1dc60
chore: release plans small misc improvements (#8879)
https://linear.app/unleash/issue/2-3038/release-plans-misc-ux-improvements

Includes various UX improvements focused on release plans:
- **New milestone status:** Introduced a "Paused" status for milestones.
A milestone is marked as "Paused" when it is active but the associated
environment is disabled.
- **Status display:** Paused milestones are labeled as "Paused (disabled
in environment)" for clarity.
- **Styling cleanup:** Removed unused disabled styling in the release
plan component.
- **Accordion stability:** Fixed visual shifting in milestone accordions
when toggling.
- **Strategy count:** Updated the "View Strategies" label to reflect the
total number of strategies in the milestone.
- **Edge case handling:** Improved rendering for milestones without
strategies.
- **Component extraction:** Refactored milestone status into a
standalone component.
- **Component organization:** Grouped milestone-specific components
under a `ReleasePlanMilestone` parent folder.
- **Template card cursor enhancement:** Set the cursor on the template
card to "pointer", so we better reflect the interactivity of the
element.
- **Template card created by enhancement:** Added an avatar for the
"Created by" field in release plan template cards, replacing the
creator's ID.
- **Navigation improvement:** After creating or editing a release plan
template, users are now redirected back to the release management page.


![image](https://github.com/user-attachments/assets/b0717dc6-3049-4612-9b46-f37a4fa887a3)


![image](https://github.com/user-attachments/assets/a17daafa-f961-4269-9522-39769912752c)
2024-11-28 15:18:27 +00:00
Mateusz Kwasniewski
570f8d2c34
feat: Change request applied diff for update strategy (#8859) 2024-11-27 12:51:11 +01:00
Nuno Góis
14403d7836
chore: release plans flow in flag environments (#8843)
https://linear.app/unleash/issue/2-2816/add-release-plan-to-feature-flag-from-release-template

https://linear.app/unleash/issue/2-2818/list-release-plan-with-milestones-in-feature-flag-environment-section

https://linear.app/unleash/issue/2-2819/removing-release-plan-from-feature

Implements the release plan flow in the feature flag environment.

You can now manage release plans in a feature flag environment by adding
or removing them, as well as start milestones.


https://github.com/user-attachments/assets/24db9db4-7c3a-463e-b48a-611358f2b212
2024-11-26 09:15:24 +00:00
Jaanus Sellin
7906bfb177
chore: rename toggle to flag (#8854) 2024-11-26 09:57:43 +02:00
Mateusz Kwasniewski
cf741c6845
chore: update utm links (#8835) 2024-11-22 10:04:41 +01:00
Jaanus Sellin
b72ce90102
feat: archived tooltip alignment (#8820)
From


![image](https://github.com/user-attachments/assets/168cd7ef-6976-47a3-9d2b-e12e45161039)


To


![image](https://github.com/user-attachments/assets/2c2c9593-7079-40b7-ab32-0f9d21c0f9e2)

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-11-21 14:12:14 +02:00
Mateusz Kwasniewski
8e7c63ac68
feat: upgrade change requests (#8812) 2024-11-20 15:16:28 +01:00
David Leek
0ce976a0d5
feat: implement call to add release-plan to feature environment (#8778) 2024-11-18 09:30:29 +01:00
Thomas Heartman
3bc9fe9a9a
[wip] add data to ui (#8710)
Hooks up the project status lifecycle data to the UI. Adds some minor
refactoring as part of that effort.

## Other files

There's been some small changes to
`frontend/src/component/feature/FeatureView/FeatureOverview/FeatureLifecycle/FeatureLifecycleStageIcon.tsx`
and `frontend/src/hooks/useLoading.ts` as well to accommodate their
usage here and to remove unused stuff. The inline comments mention the
same thing but for posterity (especially after this is merged), the
comments are:

For
`frontend/src/component/feature/FeatureView/FeatureOverview/FeatureLifecycle/FeatureLifecycleStageIcon.tsx`:

> The icon only needs the name to pick.
https://github.com/Unleash/unleash/pull/7049 deliberately changed the
logic so that the completed stage gets the same icon regardless of its
status. As such, to make the icon easier to use other places (such as in
the lifecycle widget), we'll only require the name.

For `frontend/src/hooks/useLoading.ts`:
> There's no reason we should only be able to put refs on divs, as far
as I'm aware. TS was complaining that that a `ul` couldn't hold a div
reference, so I gave it a type parameter that defaults to the old
version.
2024-11-12 11:35:42 +01:00
Nuno Góis
044e61454b
chore: list release templates in strategy popover (#8703)
https://linear.app/unleash/issue/2-2817/expand-the-strategy-dropdown-with-release-plan-templates

Does what it says on the tin, lists release plan templates in the
strategy popover.

I think we should improve this popover soon, at least behind the
`flagOverviewRedesign` flag, but not in this PR.


![image](https://github.com/user-attachments/assets/6f91175f-f941-4566-b56b-24007d5077da)
2024-11-08 14:26:01 +00:00
Nuno Góis
b4fde58fa0
chore: flag overview page redesign - environments (#8683)
https://linear.app/unleash/issue/2-2826/enabling-environment-via-feature-flag-environment-section-header

https://linear.app/unleash/issue/2-2825/feature-flag-list-bottom-left-to-be-a-nav-section

Follow-up to: https://github.com/Unleash/unleash/pull/8663

Implements most of the remaining work for our flag overview page
redesign.

Most of the code you see is a straight copy/paste from our older
existing components, with the slight improvement here and there.

Includes some improvements to our vertical tabs component to suit our
use case.
Also updates the Demo flow accordingly. I did some manual tests and it
seems to work decently in both scenarios, whether `flagOverviewRedesign`
is enabled or not. The demo needs some love but that's a story for a
different PR and a different time.

Once again, due to the duplicate file pattern, we should remember to
clean this up if we decide to remove the flag.

<img width="1086" alt="image"
src="https://github.com/user-attachments/assets/0c375e34-cbb5-4ac4-a764-39a36b6c6781">
2024-11-08 09:56:46 +00:00
Tymoteusz Czech
656483d819
chore: remove stale flags (#8689)
- `projectOverviewRefactorFeedback`
- `featureSearchFeedbackPosting`
- `featureSearchFeedback`
2024-11-08 09:40:17 +01:00
Nuno Góis
f669d9622e
fix: console warnings and errors related to event timeline and strategy form (#8692)
Fixes browser console warnings and errors related to the event timeline
and strategy form.

- **Event Timeline**: Addressed a warning where the environment filter
rendered with a default environment value (production) before
environments were fully loaded.
- **Strategy Form**: Resolved an error caused by forwarding the enabled
prop as a boolean.
2024-11-08 08:18:30 +00:00
Nuno Góis
328fac39a2
fix: console errors from highlight component and tag key prop placement (#8669)
Addressing some oversights that led to browser console errors.

This PR fixes console errors related to the recently introduced
highlight component (#8643) and tag row component in the new flag
metadata panel (#8663).
2024-11-06 11:09:33 +00:00
Nuno Góis
314a4d7113
chore: new feature flag overview metadata panel (#8663)
https://linear.app/unleash/issue/2-2920/update-the-flag-overview-metadata-properties-to-match-the-new-design

Updates the feature flag overview metadata panel to match the new
design.

This redesign is behind a feature flag, so we opted to go with a
duplicate file approach. We should remember to clean this up if we
decide to remove the flag.


![image](https://github.com/user-attachments/assets/0eb8464c-8279-46a8-9f64-9d914f56db36)
2024-11-06 10:41:39 +00:00
Christopher Kolstad
8d4e3efbc5
chore: upgrade to biome 1.9.4 (#8616)
The two lints being turned off are new for 1.9.x and caused a massive
diff inside frontend if activated. To reduce impact, these were turned off for
the merge. We might want to look at turning them back on once we're
ready to have a semantic / a11y refactor of our frontend.
2024-10-31 15:24:22 +01:00
Mateusz Kwasniewski
a8d608792d
feat: track personal dashboard seen (#8539) 2024-10-25 09:29:14 +02:00
Mateusz Kwasniewski
b7b5a8ae48
fix: stretch strategies underlying root cause (#8520) 2024-10-23 16:24:15 +02:00
Mateusz Kwasniewski
74a87f0e26
fix: stretch strategies (#8519) 2024-10-23 14:15:07 +02:00
Thomas Heartman
fe09ae214f
chore: fix "key" prop issues in front end tests (#8459)
Fixes all warnings about the "key" prop. The majority of the fixes fall
into one of the following categories:

- Extracting "key" props in tables (you're not allowed to just spread
them in)
- Adding "key" props to autocomplete options and chips
- fixing test data that didn't contain ids
2024-10-16 14:57:43 +02:00
Melinda Fekete
c580e762b3
Restructure features documentation (#8394) 2024-10-16 13:59:30 +02:00
Thomas Heartman
abef5deaef
chore: remove all deprecated imports of act (#8398)
don't use `act` from `react-dom`. Instead, use act from `react`
directly, as advised by the deprecation notice.

This PR fixes all of the deprecated import warnings, updates some
testing libraries we use (and tests), and fixes one or two other
warnings.
2024-10-15 13:53:26 +02:00
Thomas Heartman
23b0401381
feat: make panels collapsible (#8395)
This PR makes the projects and flags panels collapsible. The panels are
expanded by default and can be collapsed by clicking on the panel
header. The state of the panels is saved in localstorage.

As part of this, it also:
- moves the flag exposure metrics next to the metric selectors
- fixes the alignment of the "no exposure" line


![image](https://github.com/user-attachments/assets/b41ca808-f5f0-4e17-8bb1-b1388256354d)

Line alignment:
before:

![image](https://github.com/user-attachments/assets/119320d6-d39d-4c34-815a-8a25c6856ad6)

after:

![image](https://github.com/user-attachments/assets/f5b0fe51-1cda-49f9-8b22-e03988429799)
2024-10-09 14:25:58 +02:00
Mateusz Kwasniewski
ec1fe6278a
feat: make personal dashboard UI more compact (#8359) 2024-10-03 16:20:45 +02:00
Thomas Heartman
5abc3b4732
a11y: add labels to env/period selectors (#8329)
This PR adds labels to the environment and period selectors for the flag
metrics chart on the personal dashboard page. Because the period
selector is also used on the flag metrics page, I've also updated its
use there by removing a previous text label (which was just text, not an
associated `label` element).

Before:
Chart:

![image](https://github.com/user-attachments/assets/e150d786-3c00-4b49-851b-8073c4b97f4f)

Flag metrics:

![image](https://github.com/user-attachments/assets/de7f533d-d945-425b-ae6c-6eda02cea995)


After:
Chart:

![image](https://github.com/user-attachments/assets/a3336a8e-9745-4509-90e8-df999edec3fa)

Flag metrics:

![image](https://github.com/user-attachments/assets/ac2bf7bf-6454-4c63-a680-db4d1d4fb4b9)
2024-10-02 12:57:01 +02:00
Mateusz Kwasniewski
a1a24ea0b1
feat: flag exposure in personal dashboard (#8247) 2024-09-25 11:11:30 +02:00
Mateusz Kwasniewski
54432f3f31
feat: personal flag metrics display (#8232) 2024-09-24 13:47:21 +02:00
Mateusz Kwasniewski
e8fee92838
feat: explain complete feature name (#8120) 2024-09-06 12:45:06 +02:00
Thomas Heartman
f0ba4e5180
fix: allow you to save default strategies with the right permissions (#8114)
Allow you to edit default strategies in the UI if you have the
update_project or project_default_strategy_write permissions. These are
the same permissions that we use in the API.

Previously, we used the update_feature_strategy permission here, but
that one is intended to be used for updating strategies belonging to
actual flags.

One of the trickier bits here is that we use the `StrategyVariants`
component, which previously had baked in the permission required
(update_feature_environment_variants). Because the permissions are
different for the default strategy, I updated the component to make it
configurable, but for the default to be the old permission (so that
other uses aren't affected).
2024-09-06 12:00:46 +02:00
Tymoteusz Czech
6030900b40
refactor: replace IProjectCard with openapi type (#8043)
Makes type consistent between frontend and schema generated from backend.
2024-09-02 13:25:28 +00:00
Mateusz Kwasniewski
09e619ee25
fix: copy strategy should always add a new strategy (#7994) 2024-08-28 08:23:30 +02:00
Mateusz Kwasniewski
c69036c5a9
feat: new in unleash tooltip (#7991) 2024-08-27 15:47:55 +02:00
Tymoteusz Czech
742504793c
refactor: make avatar group more customizable (#7989) 2024-08-27 14:37:45 +02:00
Tymoteusz Czech
80a9591d37
Fix/metrics chip adhock improvement (#7976)
On flag metrics page
2024-08-26 12:28:21 +02:00
Jaanus Sellin
f7d5c8e12d
feat: introduce new icons for import/export (#7970)
We found good one for export from MUI, but needed to created similar one
for import.


![image](https://github.com/user-attachments/assets/f8ed2f07-5c8b-4829-a298-4b5e7311b059)
2024-08-22 15:04:50 +03:00
gitar-bot[bot]
4615ff40ce
[Gitar] Cleaning up stale flag: resourceLimits with value true (#7964)
[![Gitar](https://raw.githubusercontent.com/gitarcode/.github/main/assets/gitar-banner.svg)](https://gitar.co)
  
  ---
This automated PR was generated by [Gitar](https://gitar.co). View
[docs](https://gitar.co/docs).

---------

Co-authored-by: Gitar <noreply@gitar.co>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-08-22 13:20:53 +02:00
Jaanus Sellin
4a4dafcc3f
chore: remove create feature component (#7959)
After we implemented new feature flag creation flow, this are not used
anymore.

Creation is now handled by **CreateFeatureDialog**.

Also edit component can be minified, because it does not need so many
fields anymore.
2024-08-22 11:30:41 +03:00
Tymoteusz Czech
6c5ce52470
Refactor: Remove react-timeago (#7943)
Remove dependency 🫡
2024-08-21 12:03:03 +02:00
Tymoteusz Czech
0d97f8b7c1
fix: react-timeago issue (#7936) 2024-08-20 14:03:05 +02:00
Thomas Heartman
5e82e47d94
fix: add collaborators to ignored props for feature diff notif (#7877)
Fixes a problem with demo saying you've got outdated data when someone
else has worked with ya
2024-08-14 13:46:03 +02:00
Thomas Heartman
245bdeae1e
chore: generate orval for event creators (#7823)
Updates our orval config to include event creator data
2024-08-12 15:07:26 +02:00
Tymoteusz Czech
8091987aaa
manually clear DependencyActions (#7827) 2024-08-12 12:00:46 +02:00
gitar-bot[bot]
5aaa4920dd
chore: [Gitar] Cleaning up stale flag: featureCollaborators with value true (#7820)
[![Gitar](https://raw.githubusercontent.com/gitarcode/.github/main/assets/gitar-banner.svg)](https://gitar.co)
  
  ---
This automated PR was generated by [Gitar](https://gitar.co). View
[docs](https://gitar.co/docs).

---------

Co-authored-by: Gitar <noreply@gitar.co>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-08-09 11:12:26 +02:00
Mateusz Kwasniewski
b65e593c23
chore: remove featureLifecycle and featureLifecycleMetrics flags (#7808) 2024-08-08 13:45:23 +02:00
Mateusz Kwasniewski
3fe385e127
chore: remove flagCreator flag (#7807) 2024-08-08 12:19:32 +02:00
Tymoteusz Czech
4daede8e1c
fix: allow for empty groupId in form (#7798)
`groupId` parameter because of the change in validation wasn't parsed
correctly. Intent was to fill it when it is empty, when the form is loaded.
By mistake the same logic applies when you manually remove all
characters from the text field.
2024-08-07 16:34:30 +02:00
Thomas Heartman
dd71fe32bb
Update front end schemas for new event search (#7758)
Updates the orval spec for the new event search.
2024-08-05 12:48:01 +00:00
Thomas Heartman
f89b8249f7
fix: decrease collaborator font size (#7754)
Decreases the collaborator font size to make it less eye-catching.

Before:

![image](https://github.com/user-attachments/assets/9a55d7fc-13eb-4656-aead-ca9e25100a63)

After:

![image](https://github.com/user-attachments/assets/3b1e0f26-9fa7-4ae2-ad2c-dc68839c8197)
2024-08-05 09:48:57 +00:00
Thomas Heartman
0284daf2ba
fix: Avoid collaborators being smooshed together (#7741)
Fixes an issue where the collaborator component would be smooshed
together when you have too many collaborators and too many flag tab
items.

The primary things I have done are:
1. Limit the amount of collaborators we show to 6 instead of 8. I
believe the number 8 was arbitrary, so let's go with 6 for now.
2. Instead of using a fixed gap, use a separator element that grows up
to a certain limit. I've added a `Separator` component, which is an
empty div with flex-grow. It feels like you should be able to do that
with gap too, but I can't think of how right now.
3. Don't allow collaborator component text (or avatars) to wrap. We
don't have a lot of space in this header, so let's keep it tight.

Additionally, I've added the `className` prop to the AvatarGroup
component so that it can be styled externally. I also cleaned up some
naming that was left in while I was at it.

Before:

![image](https://github.com/user-attachments/assets/98525a23-c086-433a-8f60-3e281805409f)


After:

![image](https://github.com/user-attachments/assets/559f8975-9cbe-4260-ba5a-409a303375ed)
2024-08-05 10:33:10 +02:00
Tymoteusz Czech
301454838b
fix: strategy edit required param error (#7747)
Fixing error "Missing required path param: featureId", on editing
default project strategy.
2024-08-03 10:03:10 +02:00
Tymoteusz Czech
ebd9c5111e
tests: flexible strategy component stickiness and groupId (#7735)
Follow-up for #7713
2024-08-02 18:52:44 +00:00
Tymoteusz Czech
a676b1bc20
fix: strategy parameters UI (#7713)
Old versions of Unleash allow for creating "Gradual Rollout" strategies
without `groupId` or `stickiness`. UI will now populate those fields,
not getting stuck when editing strategies without said fields.
2024-08-02 11:11:58 +02:00
Mateusz Kwasniewski
5cd657065f
feat: copy strategy to current environment (#7730) 2024-08-02 09:46:57 +02:00
Thomas Heartman
f1e95108d1
Wip: split out avatar group; use same tooltip for all avatars (#7681)
Extracts the Avatar Group component into a `common` component and adds a
standard tooltip to all avatars.

Relates to linear issue 1-2606

This is a suggestion / proof of concept for how we can solve it. While I
think we can merge this as is, I'd also be happy to take any discussions
on other ways to approach it etc.

## Why are these changes made together?

Because extracting the avatar group without adding the new tooltip data
made the existing tooltip misbehave (it'd show up in the top left of the
screen, not synced to the avatar in any way).

I probably could have (and still can if you think it's prudent) split it
out such that the avatar gets a standardized tooltip first (and disable
it for the group card avatars), and split out the avatars in a
follow-up. Happy to do that if you think it's better.

## What does this mean? 

It used to be that we had no consistent way of dealing with avatars and
tooltips. Some places had them, some places didn't. This change makes it
so that all avatars that we can show tooltips for will get the same
tooltip.

Previously, we had at least 4 different ways of dealing with tooltips:
- The HTML tooltip (that would be standardized with this PR) in the
project flags table

![image](https://github.com/user-attachments/assets/91098d31-a5e3-4091-9125-332fe5d106fd)
- The "title" that you'd get on your user avatar

![image](https://github.com/user-attachments/assets/39062b61-db8c-4bd5-9fa3-3ecc9bc192ee)
- The group card list tooltip

![image](https://github.com/user-attachments/assets/0d4a696a-e944-446c-8bff-4dcec02d8afb)
- And sometimes you'd get nothing at all

![image](https://github.com/user-attachments/assets/8975afaf-9ca1-4eb6-b443-9ab94b52bbd8)

with this change, we'll always show the same kind of tooltip if we can:


![image](https://github.com/user-attachments/assets/974c592c-c844-4b65-8a55-05e84d3df130)

## What goes in the tooltip? 

We use the `UserAvatar` component for a fair few different things and I
didn't want to extract separate components for all the different use
cases. Instead, I wanted to get an overview over what we use it for and
what is relevant info to show.

I found all the places we used it and tried to form an opinion. 

This tooltip will work with a user's email, name, username, and id. If
there is no user (such as for empty avatars and avatars displaying only
"+n" for remaining members), we show no tooltip.

Following the example set by the group card avatars, we'll try to use
email or username (in that order) as the main bit of text. If the user
has an email or a username and also a name, the name will be used as
secondary text.

If the user does not have an email or username, but has a name, we'll
use the name as the main text.

If the user does not have an email, a username, or a name, we'll try to
show "User ID: N" if they have an id.

If they do not have a username, a name, an email, or an ID, we bail out
and show nothing.

## Why can you disable the tooltip?

In some cases, you might want to disable the tooltip because you have
more information to feed into it. An example of that is in the project
flags table, where we want to show more information in cases where the
user is 'unknown':


![image](https://github.com/user-attachments/assets/758b4e86-e934-47e3-91ce-ce900f76bc54)


## Additional fixes

This PR also adds a few lines of CSS to fix a minor avatar layout bug.

Before:

![image](https://github.com/user-attachments/assets/0150efbf-c51a-40bb-898f-7ddd3565ce21)


After:

![image](https://github.com/user-attachments/assets/f337cf68-c572-4610-b1de-a27749325da8)
2024-08-01 10:45:24 +02:00
Thomas Heartman
2822746fc1
refactor: Make event log look and act like other pages (#7704)
Updates the way the event log works. Previously, we'd use the
`displayInline` parameter to disable padding and border. However,
recent pages (including project overview etc) have moved away from
this look.

By bringing the event log into line with how those other pages look,
it'll be easier to make designs for the new filtering capability align
with other Unleash filters.

## Changes

The eventlog is used in three places. In two of them, it used to not
have a separating border. However, when we look at other screens that
have seen recent work (such as feature flags), we see that they *do*
have a separator, so bringing the event log in line seems like a
reasonable change.

Project flags list (notice the separator):

![image](https://github.com/user-attachments/assets/9b56a53d-38ef-4492-b1f8-f40ad5f3b6eb)


Here's what they look like before and after the change:

### Global event log
Before: 

![image](https://github.com/user-attachments/assets/ccf428f6-3491-4c60-a853-13c50ae771f0)

After (no change):

![image](https://github.com/user-attachments/assets/cfc74538-285c-4565-bd38-dfb5e421e966)


### Project event log

Before:

![image](https://github.com/user-attachments/assets/80ef1a36-3b13-4e76-8d59-534d63f0e6bd)


After:

![image](https://github.com/user-attachments/assets/7380518c-f6dc-4d4f-b085-48ed3761bb20)


### Flag event log

Before:

![image](https://github.com/user-attachments/assets/345a5d72-d358-49fd-967c-f6cb0706a4f6)


After:

![image](https://github.com/user-attachments/assets/b4e0d8e9-e79c-477e-8fc4-181c366207fc)
2024-07-31 09:46:47 +02:00
Thomas Heartman
08aba91832
fix: flex layout used the wrong axes for layout. (#7696)
This change fixes an issue where the flex layouts for collaborator
info used the wrong axes for layout (row instead of column and vice
versa), causing the component to look wonky.

Before:

![image](https://github.com/user-attachments/assets/695a9f67-ef07-4b3c-936f-69b2f2d62a28)

After:

![image](https://github.com/user-attachments/assets/a0a2c73a-2787-4985-807b-012bb4db94a4)
2024-07-30 09:17:02 +02:00
Thomas Heartman
0fe0079053
fix: use nested flexboxes instead of grid area (#7654)
This change removes the use of grid area from the collaborators
component, replacing it with a nested flexbox setup.
2024-07-29 12:55:52 +02:00
Tymoteusz Czech
5c4bc6f7a0
fix: FeatureForm - not jsx comment (#7689) 2024-07-29 11:32:14 +01:00
Jaanus Sellin
4df8fd3810
feat: redirect to new feature flag creation (#7679)
Currently found only one instance that is using `create-toggle`. So
changed behaviour for that.
2024-07-26 14:27:02 +03:00
Thomas Heartman
c0d7be040d
fix: make config dropdown list generic over values (#7676)
This PR makes the config dropdown list generic over its values, so that
you can pass stuff that isn't strings.

It also updates the existing impression data button to use booleans
instead.
2024-07-26 11:38:29 +02:00
Jaanus Sellin
b55d6f46d0
feat: add tags selection to feature creation (#7674)
![image](https://github.com/user-attachments/assets/539bd2a0-d036-4a8d-9752-fd60c7e4bf24)
2024-07-26 12:13:56 +03:00
Thomas Heartman
dc37503b7d
fix: Capitalize input labels (#7667)
This change makes it so that all form input labels start with a
capital letter, regardless of the data we use to generate them.

Also fixes a leftover toggle -> flag renaming.
2024-07-25 12:27:46 +00:00
Thomas Heartman
e2b90ae91d
fix: add workaround for tooltip (#7649)
This PR adds the UI part of feature flag collaborators. Collaborators are hidden on windows smaller than size XL because we're not sure how to deal with them in those cases yet.
2024-07-24 09:33:29 +00:00
Thomas Heartman
e43109a2cb
fix: prevent long names from breaking form layouts (#7591)
This PR fixes a couple instances where long resource names would break
form and input layouts.

I've added comments to the various files to explain what they're doing
and why.

## Discussion point:

I've now set the width of project selector to be as narrow as it can
with wrapped text. In the main interfaces, it's much better, but on the
page where you can move a flag, it is quite narrow. However, I still
think it's better (no chance of it being wider than the whole screen).
We might want to find another way, but regardless, it'll only show up
with real edge cases.

## Fixes (screenies)

### API token creation form

**Files**:
- `frontend/src/component/common/FormTemplate/FormTemplate.styles.ts`
- `frontend/src/component/common/FormTemplate/FormTemplate.tsx`

Before:

![image](https://github.com/user-attachments/assets/cef31208-2cce-479e-902e-ed7d3c3c9571)

After:

![image](https://github.com/user-attachments/assets/b0832193-11f5-427d-9df1-d9baca0a91e7)


### New feature flag form

**Files**:
- `frontend/src/component/common/GeneralSelect/GeneralSelect.tsx`

Before:

![image](https://github.com/user-attachments/assets/2ac6f791-af19-4f7e-a8ea-2fc356f18fb2)

After:

![image](https://github.com/user-attachments/assets/13b91812-c00a-49e8-9409-67fab4eaaf01)

### Project select popover

**Files**

- `frontend/src/component/common/GeneralSelect/GeneralSelect.tsx`
-
`frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureProjectSelect/FeatureProjectSelect.tsx`

Before:

![image](https://github.com/user-attachments/assets/e81a4cef-1402-4b9c-b1a8-c22493c794bd)

After:

![image](https://github.com/user-attachments/assets/604dada9-6555-48e3-a81d-dda72bd9ccf0)

But also:

![image](https://github.com/user-attachments/assets/7e935fe5-b7f0-4674-8d94-a8c8a6176a3c)
2024-07-16 10:47:46 +02:00
Thomas Heartman
8f8ff13cc5
feat: add limit warning for feature flags (#7556)
This PR adds the Limit component to the feature flag creation form.

At the limit: 

![image](https://github.com/Unleash/unleash/assets/17786332/86f17565-5c75-4265-8e3b-5200222345ec)

Approaching the limit:

![image](https://github.com/Unleash/unleash/assets/17786332/af041d78-fcd3-4aa6-b415-9738cbfbae1b)

Below the limit threshold (no change):

![image](https://github.com/Unleash/unleash/assets/17786332/79ddc3ee-6e52-44d3-8d0b-0ebae90707a7)
2024-07-08 15:06:21 +02:00
Mateusz Kwasniewski
5ed4ccc981
feat: constraints limit in a strategy UI (#7555) 2024-07-08 13:10:00 +02:00
Thomas Heartman
ef80d7f81e
ui limits for flags (#7541)
This PR disables the "create feature flag" button when you've reached
the limits.

This one is a little more complex than the other UI limits, because we
also have to take into account the project feature limit. I've tried to
touch as little as possible, but I _have_ extracted the calculation of
both limits into a single hook.
2024-07-08 10:27:01 +02:00
Mateusz Kwasniewski
963d051632
feat: Limit environments component (#7548) 2024-07-05 13:03:51 +02:00
Mateusz Kwasniewski
cad8a3c2df
feat: limit component used in strategies (#7542) 2024-07-05 09:09:28 +02:00
Mateusz Kwasniewski
3525928fea
feat: configurable strategies limit (#7488) 2024-07-01 10:03:26 +02:00
Mateusz Kwasniewski
5bd32f264d
feat: strategy limit to 30 (#7473) 2024-06-28 11:18:44 +02:00
Christopher Kolstad
f4e3388606
task: Yarn v4 (#7457)
Moves to Yarn v4

---------

Co-authored-by: Alvin Bryan <107407814+alvinometric@users.noreply.github.com>
2024-06-27 12:52:43 +02:00
Tymoteusz Czech
083273b49b
fix: prevent strategy variant weight from going into negative numbers on Frontend (#7460)
Added validation if sum goes over 100%. Remaining split is never negative
2024-06-27 09:06:59 +00:00
Tymoteusz Czech
1cdbd21212
fix: strategy form buttons spacing (#7468) 2024-06-27 11:04:06 +02:00
Tymoteusz Czech
4c1d8dd423
fix: banner duplication on strategy edit with change requests (#7452)
## About the changes
Only one banner info about the outcome of strategy edit should appear
when change requests are enabled.


![image](https://github.com/Unleash/unleash/assets/2625371/72e734b4-14b2-4179-9d31-6382f4c9575d)


[issue/1-2292](https://linear.app/unleash/issue/1-2292/bug-do-not-show-feature-toggle-is-currently-enabled-banner-when-change)
2024-06-27 10:04:02 +02:00
Mateusz Kwasniewski
7e5ce08ea8
fix: long project name display (#7435) 2024-06-25 12:22:03 +02:00
Thomas Heartman
8ef59cd45d
chore: change "toggle updated" to "flag updated" in toast message (#7439)
This message appears to have been missed when we did the previous
migration from "toggle" to "flag".
2024-06-25 09:34:44 +02:00
Mateusz Kwasniewski
7e565760f6
fix: lifecycle button permissions (#7395) 2024-06-14 10:26:54 +02:00
Tymoteusz Czech
582b33e121
Feat: feature view created by field - frontend (#7382)
add "Created by:" to feature overview meta and align other items
2024-06-13 13:00:57 +02:00
Mateusz Kwasniewski
1c2aa128be
fix: exclude lifecycle from stale checks (#7386) 2024-06-13 12:37:29 +02:00
Jaanus Sellin
21088b745d
feat: search features from command bar (#7378)
Now searching works in command bar

1. Currently piggybacking on the search hook, but I think it is not fast
enough, and also it is using the query params as the global search. This
causes some weird behaviour in UI. This probably means we will create
separate endpoint for this.


![image](https://github.com/Unleash/unleash/assets/964450/a24f41ae-93d7-4ebe-a92b-c20dfe7cb666)
2024-06-12 21:24:22 +03:00
Gastón Fournier
a0fce0ec12
Revert "fix: yarn v4 requires prepack instead of prepare script when building…" (#7373)
Reverts Unleash/unleash#7371
2024-06-12 13:25:51 +02:00
Jaanus Sellin
ffe1305934
feat: extract global feature search (#7372)
We need global search for command menu, so extracting into separate
hook.
2024-06-12 13:32:13 +03:00
Christopher Kolstad
a971c770e9
task: Yarn v4 (#7345)
Trying again, this time with correct .gitignore already setup, and a
workflow configured to try what was failing prior to our revert.
2024-06-12 11:18:21 +02:00
Jaanus Sellin
3acb3ad2c2
feat: upgrade from react v17 to v18 (#7265)
**Upgrade to React v18 for Unleash v6. Here's why I think it's a good
time to do it:**
- Command Bar project: We've begun work on the command bar project, and
there's a fantastic library we want to use. However, it requires React
v18 support.
- Straightforward Upgrade: I took a look at the upgrade guide
https://react.dev/blog/2022/03/08/react-18-upgrade-guide and it seems
fairly straightforward. In fact, I was able to get React v18 running
with minimal changes in just 10 minutes!
- Dropping IE Support: React v18 no longer supports Internet Explorer
(IE), which is no longer supported by Microsoft as of June 15, 2022.
Upgrading to v18 in v6 would be a good way to align with this change.

TS updates:
* FC children has to be explicit:
https://stackoverflow.com/questions/71788254/react-18-typescript-children-fc
* forcing version 18 types in resolutions:
https://sentry.io/answers/type-is-not-assignable-to-type-reactnode/

Test updates:
* fixing SWR issue that we have always had but it manifests more in new
React (https://github.com/vercel/swr/issues/2373)

---------

Co-authored-by: kwasniew <kwasniewski.mateusz@gmail.com>
2024-06-11 13:59:52 +03:00
Mateusz Kwasniewski
76c8cbad0c
feat: global search by flag type (#7346) 2024-06-11 10:14:29 +02:00
Jaanus Sellin
f0f339ead3
fix: revert yarn4 (#7334)
Reverting yarn4, because we are stuck on broker build for couple of days
now.
2024-06-10 14:35:18 +03:00
Christopher Kolstad
57ddfc9255
fix: yarnv4 requires shebangs in shell scripts to allow execution (#7323) 2024-06-07 14:29:00 +00:00
Thomas Heartman
3039fc3d59
fix: trying to create a tag that's too short gives errors (#7269)
1. Only suggest to create a tag value if the input is more than two
characters after trimming.
2. Ignore trailing and leading whitespace when considering which
autocomplete options to show
2024-06-05 08:47:50 +02:00
Thomas Heartman
257cd5513f
fix: display previously selected tags in dialog (#7271)
When opening a dialog where there's previously selected tags, also
render the previously selected tags.

This is consistent with how we do it for bulk tags.

So instead of showing this when you open the tag manager on a flag with
existing tags:

![image](https://github.com/Unleash/unleash/assets/17786332/c82393f6-9561-4f71-a64e-8537f10400d2)

We show this:

![image](https://github.com/Unleash/unleash/assets/17786332/8ae8acb7-fc13-4289-bae8-d58545f704f3)
2024-06-05 08:13:16 +02:00
Christopher Kolstad
0db5bc193f
task: upgraded semver dependency (and biome) (#7272)
Sorry for the extra noise here, but this seems to be the biome upgrade
altering formatting slightly.
2024-06-04 15:01:43 +02:00
Mateusz Kwasniewski
7021763973
feat: explain stickiness (#7248) 2024-06-03 13:54:06 +02:00
Mateusz Kwasniewski
95f5f7a20b
feat: Recent flags (#7211) 2024-05-29 16:01:52 +02:00
Simon Hornby
f16f8594f5
chore: deprecate custom strategies (#7186) 2024-05-28 12:33:53 +02:00
David Leek
9ea66e8850
chore: remove deprecated legacy features endpoint (#7129)
This PR is part of #4380 - Remove legacy `/api/feature` endpoint.

## About the changes

### Frontend
- Removes the useFeatures hook
- Removes the part of StrategyView that displays features using this
strategy (not been working since v4.4)
- Removes 2 unused features entries from routes 

### Backend
- Removes the /api/admin/features endpoint
- Moves a couple of non-feature related tests (auth etc) to use
/admin/projects endpoint instead
- Removes a test that was directly related to the removed endpoint
- Moves a couple of tests to the projects/features endpoint
- Reworks some tests to fetch features from projects features endpoint
and strategies from project strategies
2024-05-27 09:24:09 +02:00
Jaanus Sellin
b3dd460d2f
chore: rename toggle to flag #7 (#7125) 2024-05-23 13:19:49 +03:00
Jaanus Sellin
2fb95339ef
chore: change toggle to flag #3 (#7101) 2024-05-22 09:58:53 +03:00
Jaanus Sellin
8542cafc9f
chore: rename toggle to flag #2 (#7097) 2024-05-22 08:20:11 +03:00
Mateusz Kwasniewski
ce67c4d944
fix: no requests before project loaded (#7096) 2024-05-21 15:54:09 +02:00
Jaanus Sellin
8897f2ea75
chore: rename toggle to flag #1 (#7092)
Rename feature toggle to feature flag in the UI and code.
Starting with low hanging fruits.
Trying to keep these ~100 LoC.
2024-05-21 15:18:00 +03:00
Mateusz Kwasniewski
8a6daeee1e
refactor: replace useProject with useProjectOverview (#7087) 2024-05-20 15:15:24 +02:00
Mateusz Kwasniewski
50ee7fa779
fix: new strategy using default strategy (#7075) 2024-05-20 09:50:44 +02:00
Mateusz Kwasniewski
08e05141f3
chore: remove e2e tests for legacy env variants (#7071) 2024-05-17 10:55:22 +02:00
Mateusz Kwasniewski
88e3b1b79e
feat: deprecate feature toggle variants at environment level (#7058) 2024-05-16 10:57:32 +02:00
Mateusz Kwasniewski
701c845f09
feat: uncomplete tracking (#7053) 2024-05-14 15:04:31 +02:00
Mateusz Kwasniewski
668cb81384
fix: omit yes no from stale data comparison (#7052) 2024-05-14 12:42:39 +02:00
Mateusz Kwasniewski
b2b8d94617
feat: lifecycle column extracted (#7049) 2024-05-14 09:24:54 +02:00
Mateusz Kwasniewski
56f2dd658e
feat: track complete event (#7047) 2024-05-13 14:51:28 +02:00
Mateusz Kwasniewski
dfc065500d
feat: kept and discarded read model (#7045) 2024-05-13 14:24:31 +02:00
Jaanus Sellin
4241e36819
fix: lifecycle improvements/fixes (#7044)
1. Now completed modal works from project view
2. Changed text for modal
3. Now variant selection will only appear if there are any variants
2024-05-13 13:41:36 +03:00
Mateusz Kwasniewski
56ae53a4da
feat: pre-live should include disabled prod (#7031) 2024-05-10 13:53:01 +02:00
Mateusz Kwasniewski
60a67d4775
fix: Adjust meta data icons (#7026) 2024-05-10 11:46:32 +02:00
Jaanus Sellin
3f983d061a
feat: mark completed ui selector (#7025)
![image](https://github.com/Unleash/unleash/assets/964450/c6baa90b-5abb-4ba4-a3d9-36af6b426ed6)
2024-05-09 16:55:09 +03:00
Mateusz Kwasniewski
3fc7714e78
feat: Lifecycle in project overview (#7024) 2024-05-09 13:38:18 +02:00
Mateusz Kwasniewski
476959df8e
refactor: extract feature lifecycle component (#7023) 2024-05-09 12:19:24 +02:00
Ivar Conradi Østhus
ea9a232acc
fix: removed dupliacted component (#7013) 2024-05-08 14:44:21 +02:00
Ivar Conradi Østhus
64c10f9eff
poc: many strategies pagination (#7011)
This fixes the case when a customer have thousands of strategies causing
the react UI to crash. We still consider it incorrect to use that amount
of strategies and this is more a workaround to help the customer out of
a crashing state.

We put it behind a flag called `manyStrategiesPagination` and plan to
only enable it for the customer in trouble.
2024-05-08 14:20:51 +02:00
Jaanus Sellin
81439d23f3
feat: lifecycle is now navigatable by tab (#7005)
![image](https://github.com/Unleash/unleash/assets/964450/ef5677e0-36c7-4cd6-a908-baa164190367)
2024-05-08 15:19:12 +03:00
Mateusz Kwasniewski
f6e85171d9
feat: completed stage lists all environments (#7007) 2024-05-08 14:16:10 +02:00
Jaanus Sellin
b69c294272
feat: pass metrics to feature component (#6994)
![image](https://github.com/Unleash/unleash/assets/964450/39bb4551-dc03-4931-8a7f-cd9c0ceda056)
2024-05-07 11:52:38 +03:00
Mateusz Kwasniewski
a45be8d10c
test: move tests from cypress to rtl (#6987) 2024-05-07 09:03:40 +02:00
Jaanus Sellin
233b882c7b
feat: merge feature toggle details with feature meta info box (#6977)
![image](https://github.com/Unleash/unleash/assets/964450/5286eb36-311d-42f9-90da-832724cc41d0)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: andreas-unleash <andreas@getunleash.ai>
2024-05-06 12:17:54 +03:00
Thomas Heartman
bd0cd018c9
support setting mode and stickiness in new project form (#6972)
This PR is a combination of two PRs:

This PR adds a functioning environment selection button to the new project creation form. Selected environments are added to the payload and to the API preview.

The implementation is mostly lifted from the existing FilterItem component we have for search filters. However, our need here is less complex, so I've removed some of the things we don't need. There is still more cleanup to be done, however, but I'd like to implement the rest of the submenus first, to see what we really do need in the end.

---

This PR adds support for stickiness and project mode in the new project
creation form.

Achieve this, it does a few things:

1. Moves `resolveStickinessOptions` from
`frontend/src/component/feature/StrategyTypes/FlexibleStrategy/StickinessSelect/StickinessSelect.tsx`
and into a separate hook. This component was used by the old project
creation form. Because the new form has a different input, but needs the
same option, moved that code into a reusable hook.
2. It adds functioning buttons for project stickiness and mode.
3. It adds labels to the search inputs for the dropdowns. Inputs *must*
have labels to meet a11y requirements. However, the designs don't have
labels, so we can hide them visually. Though that leads to another issue
(refer to the screen shot below).
4. It updates the `SelectionButton` component to handle both single- and
multiselect cases. It instead exports these two subcomponents. These are
currently in one file, but I'll split them out into their separate files
in a later PR.

As a side effect of working with the selection buttons, it also improves
how we handle keyboard interaction for these buttons.

Here's what it looks like for single-select lists. Notice the missing
part of the input's border around the top (where the label *would* be if
we showed it). We should figure out how best to handle it. I've done
like this for now, but we can sort it out later.


![image](https://github.com/Unleash/unleash/assets/17786332/5af979c2-6635-481e-8d3e-5aad1c0ab46f)
2024-05-03 07:27:13 +02:00
Tymoteusz Czech
b6865a5a9d
feat: Project owners UI (#6949)
---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-04-29 11:51:44 +02:00
Jaanus Sellin
9f6badf5df
feat: add ui test for mark completed button (#6953)
Co-authored-by: kwasniew <kwasniewski.mateusz@gmail.com>
2024-04-26 14:31:20 +02:00
Jaanus Sellin
7022ce8afb
feat: rever to live connected to backend (#6951)
![Screenshot from 2024-04-26
13-30-48](https://github.com/Unleash/unleash/assets/964450/03c57c62-bf51-440b-935d-46da729e3157)
![Screenshot from 2024-04-26
13-15-45](https://github.com/Unleash/unleash/assets/964450/c5ac44be-39dc-4b6c-97ec-5fc56b0cc111)
2024-04-26 13:43:38 +03:00
Jaanus Sellin
7d01dbb748
feat: feature completed connected to backend (#6947)
Connects feature complete to backend
2024-04-26 12:20:34 +03:00
Mateusz Kwasniewski
675e1a9f8b
feat: archive feature from lifecycle (#6938) 2024-04-26 09:29:07 +02:00
Mateusz Kwasniewski
19055b1e33
test: lifecycle tooltip (#6932) 2024-04-25 15:22:59 +02:00
Mateusz Kwasniewski
0eaf725e82
feat: lifecycle stage dates (#6926) 2024-04-25 13:30:00 +02:00
Mateusz Kwasniewski
44521c1c74
chore: remove variant dependencies flag (#6896) 2024-04-25 11:07:16 +02:00
Mateusz Kwasniewski
e6355f4676
feat: connect feature lifecycle to real API (#6921) 2024-04-25 09:18:05 +02:00
Mateusz Kwasniewski
9c883ca37d
feat: Completed stage UI (#6917) 2024-04-24 11:00:21 +02:00
Mateusz Kwasniewski
e91d471d17
feat: completed stage button (#6914) 2024-04-24 10:30:50 +02:00
Mateusz Kwasniewski
f63bae21f5
feat: live and pre-live stages UI (#6913) 2024-04-24 08:29:52 +02:00
Mateusz Kwasniewski
bf3366434c
feat: improve feature overview styling (#6910) 2024-04-23 15:08:59 +02:00
Mateusz Kwasniewski
18d317f1ff
feat: pass lifecycle stage to tooltip (#6904) 2024-04-23 11:19:24 +02:00
Mateusz Kwasniewski
d59f1adfe5
feat: Stage timeline styling (#6903) 2024-04-23 10:15:01 +02:00
Mateusz Kwasniewski
131e9dd6d6
feat: initial sketch for the lifecycle tooltip (#6899) 2024-04-23 08:56:18 +02:00
Jaanus Sellin
0572d37181
feat: restyle the project meta box (#6880)
Old:


![image](https://github.com/Unleash/unleash/assets/964450/14b1b2d4-ab54-4027-902c-f1a3028e7ab4)


New:


![image](https://github.com/Unleash/unleash/assets/964450/8eb07085-e253-4fb4-acf0-2ace2cc4ad2f)
2024-04-18 11:55:15 +03:00
Fredrik Strand Oseberg
a979ad802a
fix: replace true on important create screens (#6822)
This adds replace: true to navigate on the create feature toggle screen
and create project screen. This will make it so you don't go back to the
form after you have created the resource, replacing the entry in the
history with the new url. We can do this in more places, but some of
them require a bit more thought. For example when creating a user, you
navigate from the admin screen to the user page, and then back to the
same screen. Adding `{ replace: true }` in this context makes it so that
when you press back you end up on the same screen, because it's recorded
twice in history.

Another discussion point: 
* Would you expect the edit screens to also replace the history?
2024-04-11 09:20:33 +02:00
David Leek
f29ecaf3c0
fix: strategy targeting numeric also check value field (#6774)
API returns both value and values fields. Empty values array causes ui
to think constraint doesnt have a value

This PR checks if value field exists and is empty before returning check
on values and length
2024-04-04 11:48:51 +02:00
Jaanus Sellin
a664a449ef
chore: remove strategy form feedback (#6769) 2024-04-03 12:16:58 +02:00
Mateusz Kwasniewski
d5b73694fa
test: manage variant dependency UI (#6756) 2024-04-02 13:52:47 +02:00
Mateusz Kwasniewski
7f043c7cab
feat: variant dependencies ui (#6739) 2024-03-29 19:28:49 +01:00
Mateusz Kwasniewski
664ceaea09
feat: disabled feature dependency (#6731) 2024-03-28 16:02:25 +01:00
Mateusz Kwasniewski
99935fec94
feat: keep parent selection in edit dependency dialogue (#6727) 2024-03-28 11:15:26 +01:00
Jaanus Sellin
f89c2aa829
chore: useProject cleanup (#6700) 2024-03-27 10:28:43 +02:00
Jaanus Sellin
20c41ca148
refactor: remove quering old features endpoint from BulkEnableDialog (#6698)
This was meant to repull the features, but we are using search, so it
was doing nothing.
I tested and features are still updated after removal.
2024-03-26 22:16:23 +02:00
Mateusz Kwasniewski
6762703db9
chore: remove extended usage metrics ui flag (#6701) 2024-03-26 15:14:39 +01:00
Jaanus Sellin
dc64a81bb9
feat: last usage metrics in project table (#6692)
![image](https://github.com/Unleash/unleash/assets/964450/342f43ed-ab81-4875-b855-5e59329288d8)
2024-03-26 14:50:37 +02:00
Nuno Góis
a00c17ba3d
chore: upgrade typescript in frontend to 5.4.2 (#6673)
Follow up to https://github.com/Unleash/unleash/pull/6605

This upgrades TypeScript in frontend to `5.4.2`, matching the version we
have on the server.
Only 2 things broke with this upgrade, so the changes are related to
fixing the types in those places.

This fixes https://github.com/Unleash/unleash/pull/6659
2024-03-22 10:13:44 +00:00
Christopher Kolstad
53354224fc
chore: Bump biome and configure husky (#6589)
Upgrades biome to 1.6.1, and updates husky pre-commit hook.

Most changes here are making type imports explicit.
2024-03-18 13:58:05 +01:00
Fredrik Strand Oseberg
f381718fd6
fix: icon imports (#6499)
Based on this article:
https://mui.com/material-ui/guides/minimizing-bundle-size/ importing
from `'@mui/icons-material'` instead of specifying the actual path to
the icon like `import Delete from '@mui/icons-material/Delete';` can be
up to six time slower. This change changes all named imports in Unleash
referencing the `@mui/icons-material` to default imports.

This reduced the amount of modules we had to process when building the
frontend from 15206 to 4746

Before:
<img width="1016" alt="Skjermbilde 2024-03-11 kl 14 19 58"
src="https://github.com/Unleash/unleash/assets/16081982/f137d24a-6557-4183-a40f-f62a33524520">

After:
<img width="1237" alt="Skjermbilde 2024-03-11 kl 14 20 32"
src="https://github.com/Unleash/unleash/assets/16081982/05a27d6a-2c3f-4409-9862-7188ab4b9c72">

Build time locally decreased by around 50%

Before:
<img width="1504" alt="Skjermbilde 2024-03-11 kl 14 31 45"
src="https://github.com/Unleash/unleash/assets/16081982/bc931559-b022-47ed-9f8f-c87401578518">


After:
<img width="1219" alt="Skjermbilde 2024-03-11 kl 14 27 00"
src="https://github.com/Unleash/unleash/assets/16081982/3c3a8d6b-576d-45c3-aa40-cc5f95d9df2b">
2024-03-12 10:56:10 +01:00
Mateusz Kwasniewski
4392fa5890
fix: break on words not on all (#6370) 2024-02-28 14:18:21 +01:00
andreas-unleash
9101c39eb7
chore: remove scheduledConfigurationChanges flag (#6360)
What is says on the box

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2024-02-27 14:57:34 +02:00
Mateusz Kwasniewski
20a9e1d725
refactor: remove unused components and rename new (#6357) 2024-02-27 12:22:47 +01:00
Mateusz Kwasniewski
c049374a25
chore: remove new strategy configuration flag (#6335) 2024-02-27 11:23:49 +01:00
andreas-unleash
4c340a5224
fix: track conflicts in new strategy screen (#6337)
Fixes a bug where the conflict tracking was only in the old feature
strategy edit screen.
- Ports the conflict tracking to the NewFeatureStrategyEdit screen

Closes #
[1-2093](https://linear.app/unleash/issue/1-2093/cr-conflict-detection-in-new-strategy-edit-screen)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2024-02-26 13:59:47 +02:00
Nuno Góis
12ff4abe6a
chore: incoming webhook events UI (#6317)
https://linear.app/unleash/issue/2-1937/incoming-webhook-events-ui

This PR implements the UI for incoming webhook events.

We're also introducing a new `SidePanelList` component that we'll be
able to reuse when we tackle action set events. This PR also promotes
`ReactJSONEditor` to a common component and adapts it slightly for this
use case.


![image](https://github.com/Unleash/unleash/assets/14320932/b1abc2e0-3971-4882-b6f6-0ae48d1523d5)


![image](https://github.com/Unleash/unleash/assets/14320932/ce5c31e4-650a-4df5-a966-2ce06fd6baa8)

We're refreshing the events view every 5s, so if you're monitoring
events for a specific incoming webhook you can see the latest ones
coming in.
We load 20 (configurable through the hook) events by default. Everytime
you reach the end of the list you can load 20 more events until you
reach the end of the event list.


![image](https://github.com/Unleash/unleash/assets/14320932/94f187a1-8b0f-4138-8dbc-d3ebc9914bfd)
2024-02-23 11:01:27 +00:00
Thomas Heartman
64a6af2858
feat: show info on what would be deleted (#6235)
This PR updates the way we show deleted strategies in the CR UI. Instead
of showing just the strategy name and a diff on hover, we show the same
strategy config as we do for new and updated strategies.

This makes it easier to see what you have deleted.

In doing so, it also fixes two issues:
1. inconsistent border radius for segment changes listed. Due to an
override in `frontend/src/themes/theme.ts`, these would get a border
radius of `theme.shape.borderRadiusLarge` instead of
`theme.shape.borderRadiusMedium`. It does this by adding a class and
making the selector more specific.
2. The background was unset for the strategy rollout box and constraint
item boxes.

It looks like this:

<img width="728" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/7cba28ac-0454-444d-8cfa-f46543ccf2dc">

<img width="728" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/832be653-3def-4afc-b72f-36fcd76ad83d">

Or with more kinds of strategies:
<img width="454" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/f18e5482-7d2e-4cbd-8177-9de6dfb10307">


Note: I'm happy to isolate the color changes to a separate PR if that's
preferable.
2024-02-16 04:13:40 +00:00
Mateusz Kwasniewski
b48d25a226
feat: default stickiness explanation (#6201) 2024-02-12 13:16:51 +01:00
Mateusz Kwasniewski
11bfcd605a
fix: overflowing description (#6150) 2024-02-07 12:51:10 +01:00
Mateusz Kwasniewski
3d1e0a6312
chore: upgrade to msw 2.x with new response declaration (#6148) 2024-02-07 11:33:55 +01:00
Fredrik Strand Oseberg
6a70ba0cd0
fix: add new steps to demo guide (#6112)
This PR adds the necessary steps for the demo guidance to work properly
with the new form
2024-02-05 11:36:15 +01:00
Mateusz Kwasniewski
1834f9f8bc
fix: show all selected application names (#6110) 2024-02-02 11:35:00 +01:00
Jaanus Sellin
bb02ffd8c4
feat: A/B test search feedback variants (#6085)
Search was not getting any feedback. We introduced 3 different variants
to compare conversion rate.


![image](https://github.com/Unleash/unleash/assets/964450/9c4fbcd6-c6d9-4570-9a08-9321087f609a)

![image](https://github.com/Unleash/unleash/assets/964450/6d643d48-1dcb-4a67-9951-7f0c6865f31d)

![image](https://github.com/Unleash/unleash/assets/964450/423dbd54-5dd1-409c-9cd5-295edb9453d9)
2024-01-31 14:32:23 +02:00
Jaanus Sellin
0f901bbe12
fix: fix skeleton not appearing on feature toggle list (#6093)
The `FeatureToggleListTable` is nested directly within `PageContent`.
`PageContent` was cause for removing the skeleton from the table.
However, this is unnecessary because the table has its own loader that
manages the skeletons. Therefore, `PageContent` does not require a
loader.
2024-01-31 13:26:39 +02:00
Thomas Heartman
5417662f5a
chore: add metrics for conflict creation detection (#6022)
This PR adds a 'change-request-conflict-created' event whenever someone
save a strategy update for a strategy that's used in either pending or
scheduled change requests.

Data for pending change requests will only be sent if change requests
are enabled. Data for scheduled change requests will be sent regardless.

Getting this data is somewhat involved, so I've extracted as much of the
logic into a separate file as possible.

The event re-uses the existing `change_request` metric and sends the
following data for each change request that we discover conflicts on:

```ts 
{
  state: ChangeRequestState,
  changeRequest: string, // <unleash identifier>#<change request id>
  action: 'edit-strategy',
  eventType: 'conflict-created'
}
```

There's only one action for this for now, but we could expand this event
to things such as strategy deletion, feature archival, in the future.
That said, I'd be happy to take it out.

## Discussion points

### Has the strategy actually been updated?

This does not check whether a strategy has actually changed before
emitting the event, only that you save your strategy changes.

This assumes that most people will simply close the modal by
clicking/tapping outside it or using the escape key instead of pressing
save.

However, it will likely lead to some false positives. If we think that
is an issue, I would suggest adding a check that something in the
strategy has actually changed in a follow-up PR.
2024-01-31 18:56:56 +09:00
Jaanus Sellin
c6a2303026
chore: remove featureSearchFrontend flag (#6066) 2024-01-31 09:22:26 +02:00
Mateusz Kwasniewski
8a7e65eaa6
refactor: cleanup fix for persistent set (#6060) 2024-01-29 12:33:01 +01:00
Mateusz Kwasniewski
ce219f1b74
fix: hidden envs (#6050) 2024-01-26 17:03:10 +01:00
Jaanus Sellin
e4ca8a3e6c
feat: track search bar events (#6021)
Adding tracking for 2 views, when users use the new search. 

For features view and project view.
2024-01-24 14:23:23 +02:00
Mateusz Kwasniewski
48ef88b4fa
test: variant edit corner cases (#5998) 2024-01-23 10:38:31 +01:00
Mateusz Kwasniewski
3fd735ac7e
fix: move useEffect before renders (#5995) 2024-01-23 09:32:48 +01:00
Mateusz Kwasniewski
5305c868e5
fix: update stickiness between tabs (#5991)
Fixes a bug where stickiness update to the main strategy would not propagate to strategy variants
2024-01-23 08:58:06 +01:00
Mateusz Kwasniewski
84e341bbb7
feat: show select all button when more than 1 item (#5965) 2024-01-19 11:26:03 +01:00
Mateusz Kwasniewski
22037cb0f2
fix: normalize hours back to prevent freezing UI (#5953) 2024-01-19 09:27:31 +01:00
Mateusz Kwasniewski
1fd7749ae7
fix: prevent jumping columns in search view (#5950) 2024-01-18 14:37:57 +01:00
Mateusz Kwasniewski
d3215335c9
feat: metrics periods expressed in days (#5928) 2024-01-18 11:54:20 +01:00
Mateusz Kwasniewski
f5cf118b12
fix: precise selected all chips check (#5945) 2024-01-18 11:53:56 +01:00
andreas-unleash
60813acb09
fix: make the conflcit email template button conditionally render (#5931)
Makes the schedule conflict email button conditional to having the link
present.

Closes #
[1-1950](https://linear.app/unleash/issue/1-1950/modify-the-template-to-make-the-new-button-conditional)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2024-01-17 13:26:07 +00:00
Fredrik Strand Oseberg
1deee10317
Feat/disabled strategies (#5930)
This PR makes disabled strategies more prominent in the UI:

<img width="1031" alt="Skjermbilde 2024-01-17 kl 11 26 11"
src="https://github.com/Unleash/unleash/assets/16081982/4a07c0aa-8f86-4854-829e-1088abecfb4e">
2024-01-17 13:20:39 +01:00
Mateusz Kwasniewski
5fb2ac8054
fix: select default application based on timespan (#5927) 2024-01-17 12:15:03 +01:00
Mateusz Kwasniewski
6a55964ce8
fix: metrics apps should be selected from the longest time span (#5923) 2024-01-17 09:51:59 +01:00
Fredrik Strand Oseberg
9d32bf53eb
fix: refactor autosave to use the id to resolve the constraint (#5917)
Use id to resolve autosave constraints now that we have consistent id
references
2024-01-17 08:51:54 +01:00
Mateusz Kwasniewski
3bebc11fb2
feat: adjust height on applications list in metrics (#5918) 2024-01-16 16:21:55 +01:00
Fredrik Strand Oseberg
967ee13e62
fix: add symbols as constraint ids (#5913)
This PR adds uuids as ids using a symbol in order to make sure we only
use this to keep internal order in the viritual DOM. This makes us able
to have predictable mutable lists on the frontend, and makes it easy to
not pass this property along to the backend.
2024-01-16 13:47:04 +01:00
Mateusz Kwasniewski
dfeaea8ee9
feat: hours back feature metrics tracking (#5904) 2024-01-16 10:30:06 +01:00
Fredrik Strand Oseberg
9d370ad85d
Fix/autosave on delete (#5899)
This PR will make FeatureStrategyConstraints use the value coming from
the setState function instead of closing over a stale value.
2024-01-16 09:23:35 +01:00
Mateusz Kwasniewski
6cfb7b4fb8
feat: feature metrics table timezone (#5880) 2024-01-15 15:31:10 +01:00
Mateusz Kwasniewski
9ac8a466ab
feat: select all applications (#5897) 2024-01-15 15:30:35 +01:00
Fredrik Strand Oseberg
f7b285d340
feat: add undo (#5879)
This PR adds undo functionality so you can restore the state of your
constraint if you make a mistake. We also amend the autosave
functionality to only apply when values are changed and you have a valid
value. See demo:

https://www.loom.com/share/da704da8aee94ac18d4caae697426802
2024-01-15 08:47:59 +01:00
Mateusz Kwasniewski
c816ffd49d
feat: aggregate metrics for the same timestamp (#5876) 2024-01-12 12:19:30 +01:00
Christopher Kolstad
5a3bb1ffc3
Biome1.5.1 (#5867)
Lots of work here, mostly because I didn't want to turn off the
`noImplicitAnyLet` lint. This PR tries its best to type all the untyped
lets biome complained about (Don't ask me how many hours that took or
how many lints that was >200...), which in the future will force test
authors to actually type their global variables setup in `beforeAll`.

---------

Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2024-01-12 09:25:59 +00:00
Mateusz Kwasniewski
e27a578fab
feat: separate UI flag and backend flag for extended metrics (#5875) 2024-01-12 10:20:03 +01:00
Thomas Heartman
39145e2617
refactor: use union types for change request types (#5870)
This changes the two interfaces IChangeRequest and
IChangeRequestSchedule to be union types instead of interfaces. It also
extracts the constituents of those union types into proper types
themselves (so that they can be used in function type signatures etc).
It also updates the type names.

This turned out to be more work than I had imagined, but I think the end
result pays off, giving us more type safety and control.

I wanted to use just `ChangeRequest` for the IChangeRequest type, but
that caused issues due to naming collisions with the `ChangeRequest`
component that we have, causing tests to fail. I've named it
`ChangeRequestType` as a potential solution, but suggestions are
welcome.

The relevant changes are in
`frontend/src/component/changeRequest/changeRequest.types.ts`.
Everything else is updated references and some necessary refactoring to
respect the new types.
2024-01-12 13:15:43 +05:30
Mateusz Kwasniewski
6ba4591c7f
feat: select multiple apps (#5860) 2024-01-12 08:33:52 +01:00
Nuno Góis
b496990f79
chore: add no unused imports biome rule (#5855)
Adds a Biome rule for "no unused imports", which is something we
sometimes have trouble catching.

We're adding this as a warning for now. It is safely and easily fixable
with `yarn lint:fix`.


![image](https://github.com/Unleash/unleash/assets/14320932/fd84dea8-6b20-4ba5-bfd8-047b9dcf2bff)

![image](https://github.com/Unleash/unleash/assets/14320932/990bb0b0-760a-4c5e-8136-d957e902bf0b)
2024-01-11 12:44:05 +00:00
Fredrik Strand Oseberg
2a723ea9e8
fix: remove empty variants when changing tabs (#5850)
This PR makes a change to how variants work in the new setup. Variants
will now:

* Be removed if you change tab or unmount the component and it has no
name
* Moved StrategyVariants into a separate component to isolate this
change
* Add error handling around onSubmit and only trigger feedback if it's
successful
2024-01-11 10:43:29 +01:00
Mateusz Kwasniewski
3a2d4ae60b
feat: daily metrics display (#5836) 2024-01-11 10:39:58 +01:00
renovate[bot]
2bff3f010b
chore(deps): update material-ui monorepo (#4403)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@mui/icons-material](https://mui.com/material-ui/material-icons/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-icons-material))
| [`5.11.9` ->
`5.15.2`](https://renovatebot.com/diffs/npm/@mui%2ficons-material/5.11.9/5.15.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2ficons-material/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2ficons-material/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2ficons-material/5.11.9/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2ficons-material/5.11.9/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@mui/lab](https://mui.com/material-ui/about-the-lab/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-lab))
| [`5.0.0-alpha.120` ->
`5.0.0-alpha.158`](https://renovatebot.com/diffs/npm/@mui%2flab/5.0.0-alpha.120/5.0.0-alpha.158)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2flab/5.0.0-alpha.158?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2flab/5.0.0-alpha.158?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2flab/5.0.0-alpha.120/5.0.0-alpha.158?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2flab/5.0.0-alpha.120/5.0.0-alpha.158?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@mui/material](https://mui.com/material-ui/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-material))
| [`5.11.10` ->
`5.15.2`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/5.11.10/5.15.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fmaterial/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fmaterial/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fmaterial/5.11.10/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fmaterial/5.11.10/5.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@mui/x-date-pickers](https://mui.com/x/react-date-pickers/)
([source](https://togithub.com/mui/mui-x/tree/HEAD/packages/x-date-pickers))
| [`6.18.3` ->
`6.18.6`](https://renovatebot.com/diffs/npm/@mui%2fx-date-pickers/6.18.3/6.18.6)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fx-date-pickers/6.18.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fx-date-pickers/6.18.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fx-date-pickers/6.18.3/6.18.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fx-date-pickers/6.18.3/6.18.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mui/material-ui (@&#8203;mui/icons-material)</summary>

###
[`v5.15.2`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#5152)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.15.1...v5.15.2)

<!-- generated comparing v5.15.1..master -->

*Dec 25, 2023*

A big thanks to the 13 contributors who made this release possible. Here
are some highlights :

- 🚀 Added support for callbacks in the [variant's props
definition](https://mui.com/material-ui/customization/theme-components/#creating-new-component-variants)
([#&#8203;40094](https://togithub.com/mui/material-ui/issues/40094))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- 💫 Published a
[blogpost](https://mui.com/blog/2023-material-ui-v6-and-beyond/) for the
2024's plan about Material UI

##### `@mui/material@5.15.1`

- ​<!-- 31 -->\[Badge] Use the variants API in the styled call
([#&#8203;40213](https://togithub.com/mui/material-ui/issues/40213))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 04 -->\[Paper] Add missing Paper classes descriptions
([#&#8203;40300](https://togithub.com/mui/material-ui/issues/40300))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### `@mui/system@5.15.1`

- ​<!-- 03 -->Support props callback in the variant's definition
([#&#8203;40094](https://togithub.com/mui/material-ui/issues/40094))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### `@mui/base@5.0.0-beta.29`

- ​<!-- 29 -->\[Popup] Use context-based transition API
([#&#8203;39326](https://togithub.com/mui/material-ui/issues/39326))
[@&#8203;michaldudak](https://togithub.com/michaldudak)
- ​<!-- 28 -->\[Popup] Popup no longer opens outside viewport
([#&#8203;39827](https://togithub.com/mui/material-ui/issues/39827))
[@&#8203;adamhylander](https://togithub.com/adamhylander)
- ​<!-- 27 -->\[useSelect] Refactor to use DOM focus management instead
of active descendant
([#&#8203;39675](https://togithub.com/mui/material-ui/issues/39675))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)

##### `@mui/material-next@6.0.0-alpha.115`

- ​<!-- 15 -->\[material-next]\[Divider]Divider ts support
([#&#8203;40307](https://togithub.com/mui/material-ui/issues/40307))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### Docs

- ​<!-- 30 -->\[base-ui] Fix form submission Select demo
([#&#8203;40014](https://togithub.com/mui/material-ui/issues/40014))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 24 -->\[blog] Add Material UI v6 and beyond blog post
([#&#8203;40242](https://togithub.com/mui/material-ui/issues/40242))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 10 -->\[material-ui] Fix broken links in the All components page
([#&#8203;40303](https://togithub.com/mui/material-ui/issues/40303))
[@&#8203;muazaqdas](https://togithub.com/muazaqdas)
- ​<!-- 09 -->\[material-ui] Fix broken links on the All components page
([#&#8203;40279](https://togithub.com/mui/material-ui/issues/40279))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 08 -->\[material-ui] Add aria-current for nav tabs demo
([#&#8203;39594](https://togithub.com/mui/material-ui/issues/39594))
[@&#8203;Kimzify](https://togithub.com/Kimzify)
- ​<!-- 07 -->\[material-ui] Add an "All components" page
([#&#8203;40256](https://togithub.com/mui/material-ui/issues/40256))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 06 -->\[material-ui]\[Tooltip] Add demo to show how to change
distance between tooltip and its anchor
([#&#8203;40087](https://togithub.com/mui/material-ui/issues/40087))
[@&#8203;anle9650](https://togithub.com/anle9650)

##### Core

- ​<!-- 26 -->\[blog] Fix 301 redirection
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 25 -->\[blog] Reduce max image size
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 23 -->\[code-infra] Extract Babel macro from mui-utils
([#&#8203;40262](https://togithub.com/mui/material-ui/issues/40262))
[@&#8203;michaldudak](https://togithub.com/michaldudak)
- ​<!-- 22 -->\[core] Simplify a bit the release instructions
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 21 -->\[core] Push force to deploy is not unexpected
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 20 -->\[core] Fix CSS2 vs. CSS3 ::after syntax
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 19 -->\[core] Fix CSS2 vs. CSS3 ::before syntax
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 05 -->\[core] Use direct import from utils package
([#&#8203;40254](https://togithub.com/mui/material-ui/issues/40254))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 18 -->\[core] Yaml format match most common convention
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 17 -->\[core] Polish docs-feedback issue template
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 16 -->\[core] Pin Node version on GitHub Actions to 18.18
([#&#8203;40187](https://togithub.com/mui/material-ui/issues/40187))
[@&#8203;michaldudak](https://togithub.com/michaldudak)
- ​<!-- 14 -->\[docs] Fix SEO regression
([#&#8203;40306](https://togithub.com/mui/material-ui/issues/40306))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 13 -->\[docs] Fix docs redirections
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 12 -->\[docs] Update the Contributing guide to give more
guidance on documentation
([#&#8203;40274](https://togithub.com/mui/material-ui/issues/40274))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- ​<!-- 11 -->\[docs-infra] Add polish to the inline code block
([#&#8203;40260](https://togithub.com/mui/material-ui/issues/40260))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 02 -->\[website] Update Gold sponsors: add RxDB, standardize
formatting
([#&#8203;40273](https://togithub.com/mui/material-ui/issues/40273))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- ​<!-- 01 -->\[website] Revert change to homepage SEO attributes
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)

All contributors of this release in alphabetical order:
[@&#8203;adamhylander](https://togithub.com/adamhylander),
[@&#8203;anle9650](https://togithub.com/anle9650),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai),
[@&#8203;Kimzify](https://togithub.com/Kimzify),
[@&#8203;michaldudak](https://togithub.com/michaldudak),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;muazaqdas](https://togithub.com/muazaqdas),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.15.1`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#5151)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.15.0...v5.15.1)

<!-- generated comparing v5.15.0..master -->

*Dec 19, 2023*

A big thanks to the 15 contributors who made this release possible.
This release was mostly about 🐛 bug fixes and 📚 documentation
improvements.

##### `@mui/material@5.15.1`

- ​<!-- 13 -->\[CardActions]\[DialogActions] Apply margin for all
children except for 1st child
([#&#8203;40168](https://togithub.com/mui/material-ui/issues/40168))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 03 -->\[TablePagination] Add ability to change icons in
TablePaginationActions using `slots` and `slotProps`
([#&#8203;33797](https://togithub.com/mui/material-ui/issues/33797))
[@&#8203;pratikkarad](https://togithub.com/pratikkarad)
- ​<!-- 13 -->\[CssVarsProvider] Fix HSL breaking button styles
([#&#8203;39869](https://togithub.com/mui/material-ui/issues/39869))
[@&#8203;gitstart](https://togithub.com/gitstart)

##### `@mui/joy@5.0.0-beta.19`

- ​<!-- 05 -->\[FormControl] Fix issue with the conditional setting of
`htmlFor` and `id` attributes not functioning properly for form labels
([#&#8203;40180](https://togithub.com/mui/material-ui/issues/40180))
[@&#8203;ReaZzy](https://togithub.com/ReaZzy)
- ​<!-- 04 -->\[typescript] Address TypeScript issue with custom zIndex
not functioning
([#&#8203;40133](https://togithub.com/mui/material-ui/issues/40133))
[@&#8203;qiweiii](https://togithub.com/qiweiii)

##### `@mui/styled-engine-sc@6.0.0-alpha.9`

- ​<!-- 02 -->\[typescript] Fix `theme` being of type any
([#&#8203;40200](https://togithub.com/mui/material-ui/issues/40200))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### Docs

- ​<!-- 09 -->\[joy-ui] Fix typo in the CSS baseline page
([#&#8203;40222](https://togithub.com/mui/material-ui/issues/40222))
[@&#8203;possibilities](https://togithub.com/possibilities)
- ​<!-- 08 -->\[joy-ui] Document missing Autocomplete props
([#&#8203;39979](https://togithub.com/mui/material-ui/issues/39979))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 10 -->\[joy-ui] Fix typo about Typography levels
([#&#8203;40230](https://togithub.com/mui/material-ui/issues/40230))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 07 -->\[material-ui] Update the related projects page to list
`mui-tiptap` for rich text
([#&#8203;40216](https://togithub.com/mui/material-ui/issues/40216))
[@&#8203;sjdemartini](https://togithub.com/sjdemartini)
- ​<!-- 06 -->\[material-ui] Fix typo in the Next.js integration page
([#&#8203;40209](https://togithub.com/mui/material-ui/issues/40209))
[@&#8203;s8990](https://togithub.com/s8990)

##### Core

- ​<!-- 14 -->\[blog] Fix access to Notion without an account
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 12 -->\[core] Update workflows and issue templates to reflect
the updated label
([#&#8203;40197](https://togithub.com/mui/material-ui/issues/40197))
[@&#8203;MBilalShafi](https://togithub.com/MBilalShafi)
- ​<!-- 11 -->\[docs] Replace Twitter with X
([#&#8203;40193](https://togithub.com/mui/material-ui/issues/40193))
[@&#8203;mbrookes](https://togithub.com/mbrookes)
- ​<!-- 10 -->\[docs-infra] Uplift the Algolia search modal design
([#&#8203;40186](https://togithub.com/mui/material-ui/issues/40186))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 01 -->\[website] Update product descriptions and social preview
images
([#&#8203;32181](https://togithub.com/mui/material-ui/issues/32181))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)

All contributors of this release in alphabetical order:
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;gitstart](https://togithub.com/gitstart),
[@&#8203;MBilalShafi](https://togithub.com/MBilalShafi),
[@&#8203;mbrookes](https://togithub.com/mbrookes),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;possibilities](https://togithub.com/possibilities),
[@&#8203;pratikkarad](https://togithub.com/pratikkarad),
[@&#8203;qiweiii](https://togithub.com/qiweiii),
[@&#8203;ReaZzy](https://togithub.com/ReaZzy),
[@&#8203;s8990](https://togithub.com/s8990),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;sjdemartini](https://togithub.com/sjdemartini),
[@&#8203;zanivan](https://togithub.com/zanivan),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.15.0`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#5150)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.19...v5.15.0)

<!-- generated comparing v5.14.20..master -->

*Dec 11, 2023*

A big thanks to the 15 contributors who made this release possible. Here
are some highlights :

- 🚀 Added [a new package for a better Material UI integration with
Next.js](https://mui.com/material-ui/guides/nextjs)
([#&#8203;39947](https://togithub.com/mui/material-ui/issues/39947))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)

##### `@mui/material@5.15.0`

- ​<!-- 12 -->Revert "\[Select]\[material-ui] Add name to hidden input
element"
([#&#8203;40174](https://togithub.com/mui/material-ui/issues/40174))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 02 -->\[material-ui] Refactor ComponentsVariants type into a
generic
([#&#8203;39623](https://togithub.com/mui/material-ui/issues/39623))
[@&#8203;blakenetz](https://togithub.com/blakenetz)

##### `@mui/material-nextjs@5.15.0`

- ​<!-- 01 -->\[material-ui] Add new Next.js integration package
([#&#8203;39947](https://togithub.com/mui/material-ui/issues/39947))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)

##### `@mui/material-next@6.0.0-alpha.113`

- ​<!-- 11 -->\[Badge]\[material-next] Apply new OwnerState type to
Badge
([#&#8203;40119](https://togithub.com/mui/material-ui/issues/40119))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 06 -->\[material-next]\[ButtonGroup] Change `ButtonGroup` files
to ts
([#&#8203;39794](https://togithub.com/mui/material-ui/issues/39794))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### `@mui/icons-material@5.15.0`

- ​<!-- 05 -->\[icons] Add X logo
([#&#8203;38811](https://togithub.com/mui/material-ui/issues/38811))
[@&#8203;abreel](https://togithub.com/abreel)

##### `@mui/base@5.0.0-beta.27`

- ​<!-- 10 -->\[base-ui] useControllableReducer warns when controlled
props become uncontrolled (and vice versa)
([#&#8203;39096](https://togithub.com/mui/material-ui/issues/39096))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/joy@5.0.0-beta.18`

- ​<!-- 04 -->\[joy-ui]\[Radio]\[Input] Fix inheritance of disabled prop
([#&#8203;39934](https://togithub.com/mui/material-ui/issues/39934))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### `@mui/lab@5.0.0-alpha.156`

- ​<!-- 03 -->\[lab]\[LoadingButton] LoadingButton now inherits props
from ButtonGroup
([#&#8203;39679](https://togithub.com/mui/material-ui/issues/39679))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### Docs

- ​<!-- 09 -->\[docs] Fix reference to non-existent checkmark in
supported-components.md
([#&#8203;40056](https://togithub.com/mui/material-ui/issues/40056))
[@&#8203;mbrookes](https://togithub.com/mbrookes)
- ​<!-- 09 -->\[docs]\[base-ui] Add copy button & primary color picker
to the component gallery page
([#&#8203;39884](https://togithub.com/mui/material-ui/issues/39884))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 08 -->\[docs-infra] Update CodeSandbox links
([#&#8203;39992](https://togithub.com/mui/material-ui/issues/39992))
[@&#8203;anle9650](https://togithub.com/anle9650)
- ​<!-- 04 -->\[material-ui]\[docs] Fix wrong root element for emotion
styles in shadow DOM
([#&#8203;35326](https://togithub.com/mui/material-ui/issues/35326))
[@&#8203;EloB](https://togithub.com/EloB)
- ​<!-- 03 -->\[material-ui]\[docs] Move the responsive font charts from
recharts to MUI X
([#&#8203;40097](https://togithub.com/mui/material-ui/issues/40097))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 02 -->\[joy-ui]\[templates] Remove outdated code
([#&#8203;40095](https://togithub.com/mui/material-ui/issues/40095))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 05 -->\[material-ui]\[docs]\[Popper] Update Positioned Popper
demo styles
([#&#8203;40170](https://togithub.com/mui/material-ui/issues/40170))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### Core

- ​<!-- 08 -->\[blog] Add a Phuket retreat blog post
([#&#8203;40055](https://togithub.com/mui/material-ui/issues/40055))
[@&#8203;mikailaread](https://togithub.com/mikailaread)
- ​<!-- 07 -->\[blog] Adjust the latest MUI X blog post
([#&#8203;40046](https://togithub.com/mui/material-ui/issues/40046))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 05 -->\[core] Migrate from tslint to eslint
([#&#8203;40020](https://togithub.com/mui/material-ui/issues/40020))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

All contributors of this release in alphabetical order:
[@&#8203;abreel](https://togithub.com/abreel),
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;anle9650](https://togithub.com/anle9650),
[@&#8203;blakenetz](https://togithub.com/blakenetz),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;EloB](https://togithub.com/EloB),
[@&#8203;lhilgert9](https://togithub.com/lhilgert9),
[@&#8203;mbrookes](https://togithub.com/mbrookes),
[@&#8203;mikailaread](https://togithub.com/mikailaread),
[@&#8203;mj12albert](https://togithub.com/mj12albert),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;zanivan](https://togithub.com/zanivan),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.14.19`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51419)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.18...v5.14.19)

<!-- generated comparing v5.14.18..master -->

*Nov 29, 2023*

A big thanks to the 18 contributors who made this release possible. Here
are some highlights :

- 🐛 Fix Material UI Autocomplete behavior when there are duplicate
labels
([#&#8203;36426](https://togithub.com/mui/material-ui/issues/36426))
[@&#8203;islandryu](https://togithub.com/islandryu)
- 🚀 Added Material You Linear Progress to `material-next` package
([#&#8203;39807](https://togithub.com/mui/material-ui/issues/39807))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### `@mui/material@5.14.19`

- ​<!-- 44 -->\[Autocomplete] Fix behavior when there are duplicate
labels
([#&#8203;36426](https://togithub.com/mui/material-ui/issues/36426))
[@&#8203;islandryu](https://togithub.com/islandryu)
- ​<!-- 37 -->\[Box] Added boxClasses
([#&#8203;39889](https://togithub.com/mui/material-ui/issues/39889))
[@&#8203;sadik-malik](https://togithub.com/sadik-malik)
- ​<!-- 18 -->\[FilledInput] Fix slot props deepmerge order
([#&#8203;38922](https://togithub.com/mui/material-ui/issues/38922))
[@&#8203;dhaub-exelixis](https://togithub.com/dhaub-exelixis)
- ​<!-- 12 -->\[Select] Add id to hidden input element
([#&#8203;39414](https://togithub.com/mui/material-ui/issues/39414))
[@&#8203;DarhkVoyd](https://togithub.com/DarhkVoyd)
- ​<!-- 11 -->\[Select] Remove unnecessary picking of `onChange` type
from SelectInputProps
([#&#8203;39891](https://togithub.com/mui/material-ui/issues/39891))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

##### `@mui/base@5.0.0-beta.25`

- ​<!-- 46 -->\[Menu] Fix navigation of items when 1st item is disabled
([#&#8203;39828](https://togithub.com/mui/material-ui/issues/39828))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 42 -->\[Modal] Refine demos
([#&#8203;39824](https://togithub.com/mui/material-ui/issues/39824))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 41 -->\[NumberInput] Implement `numberInputReducer`
([#&#8203;38723](https://togithub.com/mui/material-ui/issues/38723))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 40 -->\[useNumberInput] Fix change handlers passed through
slotProps
([#&#8203;39407](https://togithub.com/mui/material-ui/issues/39407))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/joy@5.0.0-beta.16`

- ​<!-- 38 -->\[Box] Added boxClasses
([#&#8203;39895](https://togithub.com/mui/material-ui/issues/39895))
[@&#8203;sadik-malik](https://togithub.com/sadik-malik)

##### `@mui/system@5.14.19`

- ​<!-- 36 -->\[Box] Added boxClasses
([#&#8203;39896](https://togithub.com/mui/material-ui/issues/39896))
[@&#8203;sadik-malik](https://togithub.com/sadik-malik)
- ​<!-- 09 -->Add outlineColor to defaultSxConfig
([#&#8203;39962](https://togithub.com/mui/material-ui/issues/39962))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### `@mui/types@7.2.10`

- ​<!-- 08 -->Add `PartiallyRequired` type
([#&#8203;39939](https://togithub.com/mui/material-ui/issues/39939))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### `@mui/material-next@6.0.0-alpha.111`

- ​<!-- 47 -->\[ProgressIndicator] Apply MD3 style to `LinearProgress`
([#&#8203;39807](https://togithub.com/mui/material-ui/issues/39807))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 17 -->\[FormHelperText] Add FormHelperText component
([#&#8203;39503](https://togithub.com/mui/material-ui/issues/39503))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 16 -->\[IconButton] Copy IconButton to material-next
([#&#8203;39945](https://togithub.com/mui/material-ui/issues/39945))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 13 -->\[Switch] Copy `Switch` to material next
([#&#8203;39887](https://togithub.com/mui/material-ui/issues/39887))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)

##### Docs

- ​<!-- 19 -->\[material-ui] Fix theme prop in v5 migration guide
([#&#8203;39976](https://togithub.com/mui/material-ui/issues/39976))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 43 -->\[base-ui] Improve Next.js Link docs
([#&#8203;39838](https://togithub.com/mui/material-ui/issues/39838))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 39 -->\[base-ui] Export Base UI theme in stylesheet
([#&#8203;39694](https://togithub.com/mui/material-ui/issues/39694))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 52 -->\[joy-ui] Fix the date min & max slot props values on the
Input demo
([#&#8203;40018](https://togithub.com/mui/material-ui/issues/40018))
[@&#8203;avikalpg](https://togithub.com/avikalpg)
- ​<!-- 35 -->\[joy-ui]\[ButtonGroup] Fix orientation prop description
([#&#8203;39876](https://togithub.com/mui/material-ui/issues/39876))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 25 -->\[joy-ui] Update gif from the Dark Mode Optimization page
([#&#8203;39726](https://togithub.com/mui/material-ui/issues/39726))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 24 -->\[joy-ui] Fix h1 template
([#&#8203;40017](https://togithub.com/mui/material-ui/issues/40017))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 23 -->\[joy-ui] Fix wrong product id
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 22 -->\[joy-ui] Fixes in theme scoping documentation
([#&#8203;39899](https://togithub.com/mui/material-ui/issues/39899))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 21 -->\[joy-ui] Refine the Email, Teams and Files templates
([#&#8203;39579](https://togithub.com/mui/material-ui/issues/39579))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 15 -->\[joy-ui]\[templates] Fix layout shift on Profile template
([#&#8203;40022](https://togithub.com/mui/material-ui/issues/40022))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 14 -->\[joy-ui]\[Templates] Update thumbnails
([#&#8203;39938](https://togithub.com/mui/material-ui/issues/39938))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 20 -->\[material-next] Add contributing guide
([#&#8203;39944](https://togithub.com/mui/material-ui/issues/39944))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 51 -->End v6 blogpost notification
([#&#8203;39879](https://togithub.com/mui/material-ui/issues/39879))
[@&#8203;joserodolfofreitas](https://togithub.com/joserodolfofreitas)
- ​<!-- 31 -->Fix nested CSS warning
([#&#8203;39932](https://togithub.com/mui/material-ui/issues/39932))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- ​<!-- 30 -->Make integration searchable
([#&#8203;39967](https://togithub.com/mui/material-ui/issues/39967))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 29 -->Fix use of quote in markdown
([#&#8203;39953](https://togithub.com/mui/material-ui/issues/39953))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 28 -->Show design links on Joy UI
([#&#8203;39955](https://togithub.com/mui/material-ui/issues/39955))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 27 -->Restore Algolia results when searching for "Figma"
([#&#8203;39956](https://togithub.com/mui/material-ui/issues/39956))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 26 -->Fix two tone icon dark mode color
([#&#8203;39868](https://togithub.com/mui/material-ui/issues/39868))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### Core

- ​<!-- 45 -->Improve lerna's renovate package rules
([#&#8203;40029](https://togithub.com/mui/material-ui/issues/40029))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)
- ​<!-- 34 -->Downgrade lerna to 7.2.0
([#&#8203;40026](https://togithub.com/mui/material-ui/issues/40026))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)
- ​<!-- 32 -->Rename OpenCollective
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 48 -->\[docs-infra] Env variables should be string
([#&#8203;39991](https://togithub.com/mui/material-ui/issues/39991))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 10 -->\[Portal] Improve docs for container prop
([#&#8203;39180](https://togithub.com/mui/material-ui/issues/39180))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 50 -->\[website] Update pricing table
([#&#8203;40023](https://togithub.com/mui/material-ui/issues/40023))
[@&#8203;cherniavskii](https://togithub.com/cherniavskii)
- ​<!-- 49 -->\[website]\[docs] Update the product identifier menu and X
page
([#&#8203;39832](https://togithub.com/mui/material-ui/issues/39832))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 07 -->\[website] Mark TreeView and Charts as stable
([#&#8203;39975](https://togithub.com/mui/material-ui/issues/39975))
[@&#8203;flaviendelangle](https://togithub.com/flaviendelangle)
- ​<!-- 06 -->\[website] Update career page
([#&#8203;40015](https://togithub.com/mui/material-ui/issues/40015))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 05 -->\[website] Sync about dataset
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 04 -->\[website] Fix 301 redirection to X tree-view
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 03 -->\[website] Change redirection prefixes
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 02 -->\[website] Fix 301 link
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 01 -->\[website] Fix modal not being closed with the escape key
on the Base UI page
([#&#8203;39880](https://togithub.com/mui/material-ui/issues/39880))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

All contributors of this release in alphabetical order:
[@&#8203;avikalpg](https://togithub.com/avikalpg),
[@&#8203;brijeshb42](https://togithub.com/brijeshb42),
[@&#8203;cherniavskii](https://togithub.com/cherniavskii),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DarhkVoyd](https://togithub.com/DarhkVoyd),
[@&#8203;dhaub-exelixis](https://togithub.com/dhaub-exelixis),
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai),
[@&#8203;flaviendelangle](https://togithub.com/flaviendelangle),
[@&#8203;islandryu](https://togithub.com/islandryu),
[@&#8203;joserodolfofreitas](https://togithub.com/joserodolfofreitas),
[@&#8203;lhilgert9](https://togithub.com/lhilgert9),
[@&#8203;mj12albert](https://togithub.com/mj12albert),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;sadik-malik](https://togithub.com/sadik-malik),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;zanivan](https://togithub.com/zanivan),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.14.18`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51418)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.16...v5.14.18)

<!-- generated comparing v5.14.17..master -->

*Nov 14, 2023*

A big thanks to the 14 contributors who made this release possible. Here
are some highlights :

- 💫 Introduced new [Stepper](https://mui.com/joy-ui/react-stepper/)
component in Joy UI
([#&#8203;39688](https://togithub.com/mui/material-ui/issues/39688))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
-   other 🐛 bug fixes and 📚 documentation improvements

##### `@mui/material@5.14.18`

- ​<!-- 32 -->\[Autocomplete] Add `defaultMuiPrevented` to onKeyDown
type
([#&#8203;39820](https://togithub.com/mui/material-ui/issues/39820))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 31 -->\[Autocomplete] Fix React key warning in Next.js
([#&#8203;39795](https://togithub.com/mui/material-ui/issues/39795))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 24 -->\[Checkbox] Asterisk placement aligned correctly
([#&#8203;39721](https://togithub.com/mui/material-ui/issues/39721))
[@&#8203;axelbostrom](https://togithub.com/axelbostrom)
- ​<!-- 04 -->\[Rating] Fix the hover highlighting for spaced icons
([#&#8203;39775](https://togithub.com/mui/material-ui/issues/39775))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 03 -->\[TablePagination] Implement `slotProps` pattern for the
actions and the select slots
([#&#8203;39353](https://togithub.com/mui/material-ui/issues/39353))
[@&#8203;anle9650](https://togithub.com/anle9650)
- ​<!-- 02 -->\[TextField] Fix padding on small filled multiline
TextField
([#&#8203;39769](https://togithub.com/mui/material-ui/issues/39769))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/joy@5.0.0-beta.15`

- ​<!-- 11 -->\[Stepper] Add new `Stepper` component
([#&#8203;39688](https://togithub.com/mui/material-ui/issues/39688))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 12 -->\[Select] Fix displaying placeholder when multiple is true
([#&#8203;39806](https://togithub.com/mui/material-ui/issues/39806))
[@&#8203;sai6855](https://togithub.com/sai6855)

##### `@mui/material-next@6.0.0-alpha.110`

- ​<!-- 26 -->\[ButtonGroup] Copy `ButtonGroup` to material next
([#&#8203;39739](https://togithub.com/mui/material-ui/issues/39739))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 09 -->\[ProgressIndicator] Change `CircularProgress` files to ts
([#&#8203;39791](https://togithub.com/mui/material-ui/issues/39791))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 08 -->\[ProgressIndicator] Change `LinearProgress` files to ts
([#&#8203;39793](https://togithub.com/mui/material-ui/issues/39793))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 07 -->\[ProgressIndicator] Copy `LinearProgress` to material
next
([#&#8203;39779](https://togithub.com/mui/material-ui/issues/39779))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 06 -->\[ProgressIndicator] Copy `CircularProgress` to material
next
([#&#8203;39780](https://togithub.com/mui/material-ui/issues/39780))
[@&#8203;lhilgert9](https://togithub.com/lhilgert9)
- ​<!-- 05 -->\[TextField] Add FormLabel and InputLabel components
([#&#8203;39483](https://togithub.com/mui/material-ui/issues/39483))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

###
[`v5.14.16`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51416)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.15...v5.14.16)

<!-- generated comparing v5.14.15..master -->

*Oct 31, 2023*

A big thanks to the 19 contributors who made this release possible. Here
are some highlights :

-  New highly requested Joy UI component:
[Snackbar](https://mui.com/joy-ui/react-snackbar)
([#&#8203;38801](https://togithub.com/mui/material-ui/issues/38801))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

##### `@mui/material@5.14.16`

- ​<!-- 03 -->Fix ownerstate being propagated to DOM node when using
styled-components v6
([#&#8203;39586](https://togithub.com/mui/material-ui/issues/39586))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### `@mui/base@5.0.0-beta.22`

- ​<!-- 28 -->\[Autocomplete] Standardize box shadow on demos
([#&#8203;39519](https://togithub.com/mui/material-ui/issues/39519))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 27 -->\[useSelect] Support browser autofill
([#&#8203;39595](https://togithub.com/mui/material-ui/issues/39595))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)
- ​<!-- 30 -->\[base-ui] Fix mergeSlotProps className join order
([#&#8203;39616](https://togithub.com/mui/material-ui/issues/39616))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/joy@5.0.0-beta.13`

-   ​<!-- 29 -->\[Accordion] Add type button to accordion
- ​<!-- 28 -->\[Card] Fix CardOverflow in nested cards
([#&#8203;39668](https://togithub.com/mui/material-ui/issues/39668))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp) summary
([#&#8203;39532](https://togithub.com/mui/material-ui/issues/39532))
[@&#8203;Popppins](https://togithub.com/Popppins)
- ​<!-- 08 -->\[Menu] Fix closing of listbox in `MenuList` demo
([#&#8203;39459](https://togithub.com/mui/material-ui/issues/39459))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 07 -->\[Progress] Revamp Linear and Circular progress variants
([#&#8203;39492](https://togithub.com/mui/material-ui/issues/39492))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 06 -->\[Select] Support selection of `multiple` options
([#&#8203;39454](https://togithub.com/mui/material-ui/issues/39454))
[@&#8203;sai6855](https://togithub.com/sai6855)
- ​<!-- 05 -->\[Textarea] Add ref usage instructions
([#&#8203;39615](https://togithub.com/mui/material-ui/issues/39615))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 10 --> Fix sticky hover media query issue on mobile
([#&#8203;37467](https://togithub.com/mui/material-ui/issues/37467))
[@&#8203;gitstart](https://togithub.com/gitstart)
- ​<!-- 09 --> Add Snackbar component
([#&#8203;38801](https://togithub.com/mui/material-ui/issues/38801))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

##### `@mui/material-next@6.0.0-alpha.108`

- ​<!-- 04 -->\[theme] Update Material You typescale tokens
([#&#8203;39514](https://togithub.com/mui/material-ui/issues/39514))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### Docs

- ​<!-- 22 -->Fix 301 link to Primer design system
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 19 -->\[joy-ui] Revise the CSS vars page
([#&#8203;39335](https://togithub.com/mui/material-ui/issues/39335))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 18 -->\[joy-ui] Add docs for changing styles based on states
([#&#8203;39597](https://togithub.com/mui/material-ui/issues/39597))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 17 -->\[joy-ui] Fix wrong messages
([#&#8203;39602](https://togithub.com/mui/material-ui/issues/39602))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 16 -->\[material-ui] Include link to bundler how-to for Styled
Components users
([#&#8203;39620](https://togithub.com/mui/material-ui/issues/39620))
[@&#8203;jcoyle37](https://togithub.com/jcoyle37)
- ​<!-- 15 -->\[material-ui] Improve Dialog demos
([#&#8203;39642](https://togithub.com/mui/material-ui/issues/39642))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 14 -->\[material-ui] Add stray design fine-tuning to the example
collection
([#&#8203;39581](https://togithub.com/mui/material-ui/issues/39581))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 13 -->\[system] Clean up `@mui/styles` docs and discourage users
from installing it
([#&#8203;39644](https://togithub.com/mui/material-ui/issues/39644))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- ​<!-- 12 -->\[examples] Upgrade Remix to v2
([#&#8203;39229](https://togithub.com/mui/material-ui/issues/39229))
[@&#8203;Nkzn](https://togithub.com/Nkzn)
- ​<!-- 11 -->\[examples]\[material-ui] Remove hardcoded `color="black"`
from Next.js App Router layout
([#&#8203;39577](https://togithub.com/mui/material-ui/issues/39577))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)

##### Core

- ​<!-- 26 -->\[core] Setup vale for enforcing style guides
([#&#8203;39633](https://togithub.com/mui/material-ui/issues/39633))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 25 -->\[core] Remove unused use client
([#&#8203;38967](https://togithub.com/mui/material-ui/issues/38967))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 24 -->\[core] Remove duplicate export
([#&#8203;39346](https://togithub.com/mui/material-ui/issues/39346))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 23 -->\[core] Remove not used `@types/loader-utils` package from
`zero-next-plugin`
([#&#8203;39609](https://togithub.com/mui/material-ui/issues/39609))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 21 -->\[docs-infra] Add meta charset in codesandbox examples
([#&#8203;39424](https://togithub.com/mui/material-ui/issues/39424))
[@&#8203;Janpot](https://togithub.com/Janpot)
- ​<!-- 20 -->\[docs-infra] Fix settings drawer accessibility issues
([#&#8203;39589](https://togithub.com/mui/material-ui/issues/39589))
[@&#8203;emamoah](https://togithub.com/emamoah)
- ​<!-- 02 -->\[website] Add stray adjustments and clean-ups
([#&#8203;39673](https://togithub.com/mui/material-ui/issues/39673))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 01 -->\[website] Open the `Design Engineer - xGrid` role
([#&#8203;39375](https://togithub.com/mui/material-ui/issues/39375))
[@&#8203;DanailH](https://togithub.com/DanailH)

All contributors of this release in alphabetical order:
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar),
[@&#8203;DanailH](https://togithub.com/DanailH),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai),
[@&#8203;emamoah](https://togithub.com/emamoah),
[@&#8203;gitstart](https://togithub.com/gitstart),
[@&#8203;Janpot](https://togithub.com/Janpot),
[@&#8203;jcoyle37](https://togithub.com/jcoyle37),
[@&#8203;mj12albert](https://togithub.com/mj12albert),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;Nkzn](https://togithub.com/Nkzn),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;Popppins](https://togithub.com/Popppins),
[@&#8203;sai6855](https://togithub.com/sai6855),
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;zanivan](https://togithub.com/zanivan),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

###
[`v5.14.15`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51415)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.14...v5.14.15)

<!-- generated comparing v5.14.14..master -->

*Oct 24, 2023*

A big thanks to the 17 contributors who made this release possible.

##### `@mui/material@5.14.15`

- ​<!-- 24 -->\[Checkbox]\[Radio] Fix theme style overrides not working
for different sizes
([#&#8203;39377](https://togithub.com/mui/material-ui/issues/39377))
[@&#8203;gitstart](https://togithub.com/gitstart)
- ​<!-- 12 -->\[InputLabel] InputLabel supports ownerState.focused for
styleOverrides
([#&#8203;39470](https://togithub.com/mui/material-ui/issues/39470))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 07 -->\[ToggleButton] Add `fullWidth` to `toggleButtonClasses`
and `toggleButtonGroupClasses`
([#&#8203;39536](https://togithub.com/mui/material-ui/issues/39536))
[@&#8203;Semigradsky](https://togithub.com/Semigradsky)

##### `@mui/base@5.0.0-beta.21`

- ​<!-- 29 -->\[useAutocomplete] Correct keyboard navigation with
multiple disabled options
([#&#8203;38788](https://togithub.com/mui/material-ui/issues/38788))
[@&#8203;VadimZvf](https://togithub.com/VadimZvf)
- ​<!-- 28 -->\[Select] Standardize box shadow on demos
([#&#8203;39509](https://togithub.com/mui/material-ui/issues/39509))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 27 -->\[Slider] Refine demos
([#&#8203;39526](https://togithub.com/mui/material-ui/issues/39526))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 34 -->\[Input] Update and port additional tests from material-ui
([#&#8203;39584](https://togithub.com/mui/material-ui/issues/39584))
[@&#8203;mj12albert](https://togithub.com/mj12albert)

##### `@mui/material-next@6.0.0-alpha.107`

- ​<!-- 16 -->\[FilledInput] Add FilledInput component
([#&#8203;39307](https://togithub.com/mui/material-ui/issues/39307))
[@&#8203;mj12albert](https://togithub.com/mj12albert)
- ​<!-- 13 -->\[InputAdornment] Fix unstable_capitalize import
([#&#8203;39510](https://togithub.com/mui/material-ui/issues/39510))
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai)
- ​<!-- 08 -->\[Snackbar] copy files to mui-material-next
([#&#8203;39232](https://togithub.com/mui/material-ui/issues/39232))
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar)
- ​<!-- 33 -->\[Menu] Use useMenu hook
([#&#8203;38934](https://togithub.com/mui/material-ui/issues/38934))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### `@mui/joy@5.0.0-beta.12`

- ​<!-- 26 -->\[Button] Fix button size being a decorator
([#&#8203;39529](https://togithub.com/mui/material-ui/issues/39529))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 25 -->\[CardOverflow] Remove conditional CSS to support Next.js
App dir
([#&#8203;39101](https://togithub.com/mui/material-ui/issues/39101))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 11 -->\[Link] Apply `userSelect: none` only when it's a button
([#&#8203;39486](https://togithub.com/mui/material-ui/issues/39486))
[@&#8203;mwskwong](https://togithub.com/mwskwong)

##### `@mui/lab@5.0.0-alpha.150`

- ​<!-- 09 -->Update peer dep of
[@&#8203;mui/material](https://togithub.com/mui/material)
([#&#8203;39398](https://togithub.com/mui/material-ui/issues/39398))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### `@mui/zero-runtime@0.0.1-alpha.0`

- ​<!-- 06 -->Implement typings for public runtime API
([#&#8203;39215](https://togithub.com/mui/material-ui/issues/39215))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### `@mui/zero-vite-plugin@0.0.1-alpha.0`

- ​<!-- 05 -->Modify plugin to transform node_modules
([#&#8203;39517](https://togithub.com/mui/material-ui/issues/39517))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### Docs

- ​<!-- 31 -->\[base-ui] Standardize grey palette across demos
([#&#8203;39504](https://togithub.com/mui/material-ui/issues/39504))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 30 -->\[base-ui] Overall demos design review
([#&#8203;38820](https://togithub.com/mui/material-ui/issues/38820))
[@&#8203;zanivan](https://togithub.com/zanivan)
- ​<!-- 19 -->\[joy-ui] Adjust the responsiveness of the template card
([#&#8203;39534](https://togithub.com/mui/material-ui/issues/39534))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 18 -->\[material-ui] Typo fixes in overview page
([#&#8203;39540](https://togithub.com/mui/material-ui/issues/39540))
[@&#8203;Evan151](https://togithub.com/Evan151)
- ​<!-- 35 -->\[material-ui] Add stray design tweaks to the templates
collection
([#&#8203;39583](https://togithub.com/mui/material-ui/issues/39583))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 17 -->\[system] Revise the Box page
([#&#8203;39159](https://togithub.com/mui/material-ui/issues/39159))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 22 -->Fix git diff format
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 15 -->\[I10n] Add Norwegian (nynorsk) (nn-NO) locale
([#&#8203;39481](https://togithub.com/mui/material-ui/issues/39481))
[@&#8203;hjalti-lifekeys](https://togithub.com/hjalti-lifekeys)
- ​<!-- 10 -->\[l10n] Fix double space typo in ar-EG
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 14 -->\[I10n] Additions to Icelandic (is-IS) locale
([#&#8203;39480](https://togithub.com/mui/material-ui/issues/39480))
[@&#8203;hjalti-lifekeys](https://togithub.com/hjalti-lifekeys)

##### Core

- ​<!-- 23 -->\[core] Replace a `useCallback` by `useRef` in
useEventCallback
([#&#8203;39078](https://togithub.com/mui/material-ui/issues/39078))
[@&#8203;romgrk](https://togithub.com/romgrk)
- ​<!-- 21 -->\[docs-infra] Prevent docs crash
([#&#8203;39214](https://togithub.com/mui/material-ui/issues/39214))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 20 -->\[docs-infra] Fix no-op autoprefixer warning
([#&#8203;39385](https://togithub.com/mui/material-ui/issues/39385))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 32 -->\[docs-infra] Refine the API page design
([#&#8203;39520](https://togithub.com/mui/material-ui/issues/39520))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 25 -->\[docs-infra] Fix cut-off sponsors
([#&#8203;39572](https://togithub.com/mui/material-ui/issues/39572))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 04 -->\[website] Add missing h1 on page
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 03 -->\[website] Fix unrecognized prop warning
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 02 -->\[website] Store Engineer role filled
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 01 -->\[website] Add stray design adjustments
([#&#8203;39496](https://togithub.com/mui/material-ui/issues/39496))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)

All contributors of this release in alphabetical order:
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar),
[@&#8203;brijeshb42](https://togithub.com/brijeshb42),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DiegoAndai](https://togithub.com/DiegoAndai),
[@&#8203;Evan151](https://togithub.com/Evan151),
[@&#8203;gitstart](https://togithub.com/gitstart),
[@&#8203;hjalti-lifekeys](https://togithub.com/hjalti-lifekeys),
[@&#8203;mj12albert](https://togithub.com/mj12albert),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;mwskwong](https://togithub.com/mwskwong),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;romgrk](https://togithub.com/romgrk),
[@&#8203;Semigradsky](https://togithub.com/Semigradsky),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;VadimZvf](https://togithub.com/VadimZvf),
[@&#8203;zanivan](https://togithub.com/zanivan)

###
[`v5.14.14`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#51414)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.14.13...v5.14.14)

<!-- generated comparing v5.14.13..master -->

*Oct 17, 2023*

A big thanks to the 24 contributors who made this release possible. Here
are some highlights :
This release was mostly about 🐛 bug fixes and 📚 documentation
improvements.

##### `@mui/material@5.14.14`

- ​<!-- 29 -->\[material-ui]\[AppBar] Support all default palette colors
in TypeScript
([#&#8203;39389](https://togithub.com/mui/material-ui/issues/39389))
[@&#8203;BreakBB](https://togithub.com/BreakBB)
- ​<!-- 28 -->\[material-ui]\[AvatarGroup] Add `renderSurplus` prop
([#&#8203;39283](https://togithub.com/mui/material-ui/issues/39283))
[@&#8203;uuxxx](https://togithub.com/uuxxx)
- ​<!-- 25 -->\[material-ui]\[Box] Fix system properties has incorrect
`Theme` interface when applied directly
([#&#8203;39404](https://togithub.com/mui/material-ui/issues/39404))
[@&#8203;Semigradsky](https://togithub.com/Semigradsky)
- ​<!-- 04 -->\[material-ui]\[Pagination] Update `type` parameter of
`getItemAriaLabel` prop
([#&#8203;39390](https://togithub.com/mui/material-ui/issues/39390))
[@&#8203;Simer13](https://togithub.com/Simer13)
- ​<!-- 06 -->\[material]\[tab] Show/hide scroll buttons for dynamically
added children
([#&#8203;39415](https://togithub.com/mui/material-ui/issues/39415))
[@&#8203;brijeshb42](https://togithub.com/brijeshb42)

##### `@mui/base@5.0.0-beta.20`

- ​<!-- 26 -->\[base-ui]\[Menu] Do not reopen the menu after clicking on
a trigger in Safari
([#&#8203;39393](https://togithub.com/mui/material-ui/issues/39393))
[@&#8203;michaldudak](https://togithub.com/michaldudak)

##### `@mui/material-next@6.0.0-alpha.106`

- ​<!-- 23 -->\[Divider]\[material-next] Add Divider component
([#&#8203;39179](https://togithub.com/mui/material-ui/issues/39179))
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar)

##### `@mui/joy@5.0.0-beta.11`

- ​<!-- 08 -->\[joy-ui]\[List] Add the `marker` prop
([#&#8203;39313](https://togithub.com/mui/material-ui/issues/39313))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)
- ​<!-- 07 -->\[joy-ui]\[Skeleton] Fix semi-transparent scenario when
with surface components and color inversion
([#&#8203;39400](https://togithub.com/mui/material-ui/issues/39400))
[@&#8203;TheNatkat](https://togithub.com/TheNatkat)
- ​<!-- 06 -->\[joy-ui]\[Textarea] Fix focus ring for error state
([#&#8203;39391](https://togithub.com/mui/material-ui/issues/39391))
[@&#8203;vineetjk](https://togithub.com/vineetjk)

##### `@mui/icons-material@5.14.14`

- ​<!-- 09 -->\[icons] Fix VoiceChatOutlined showing the wrong icon
([#&#8203;39418](https://togithub.com/mui/material-ui/issues/39418))
[@&#8203;devuser200](https://togithub.com/devuser200)

##### `@mui/system@5.14.14`

- ​<!-- 03 -->\[mui-system]\[style] bug fix for style value check color
in nullable object
([#&#8203;39457](https://togithub.com/mui/material-ui/issues/39457))
[@&#8203;DarhkVoyd](https://togithub.com/DarhkVoyd)

##### `@mui/styled-engine-sc@6.0.0-alpha.2`

- ​<!-- 05 -->\[styled-engine-sc] Fix TS issues because of missing types
([#&#8203;39395](https://togithub.com/mui/material-ui/issues/39395))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### Docs

- ​<!-- 27 -->\[docs]\[base-ui] Renaming demos to BaseXxx
([#&#8203;39104](https://togithub.com/mui/material-ui/issues/39104))
[@&#8203;christophermorin](https://togithub.com/christophermorin)
- ​<!-- 26 -->\[docs] Accessibility in Base UI
([#&#8203;39264](https://togithub.com/mui/material-ui/issues/39264))
[@&#8203;michaldudak](https://togithub.com/michaldudak)
- ​<!-- 22 -->\[docs] Fix 301 redirection
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 21 -->\[docs] Improve Base UI table of contents for APIs
([#&#8203;39412](https://togithub.com/mui/material-ui/issues/39412))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 20 -->\[docs] Adjust design kits-related content
([#&#8203;39367](https://togithub.com/mui/material-ui/issues/39367))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 19 -->\[docs] Revise the Contributing Guide
([#&#8203;39190](https://togithub.com/mui/material-ui/issues/39190))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- ​<!-- 12 -->\[docs]\[joy-ui] Fix row hover prop name in the Table page
([#&#8203;39431](https://togithub.com/mui/material-ui/issues/39431))
[@&#8203;adrienbrault](https://togithub.com/adrienbrault)
- ​<!-- 11 -->\[docs]\[joy-ui] Fix color inversion demos
([#&#8203;39403](https://togithub.com/mui/material-ui/issues/39403))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 10 -->\[docs]\[material-ui] Remove irrelevant TODO from Snackbar
demo
([#&#8203;39396](https://togithub.com/mui/material-ui/issues/39396))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- ​<!-- 06 -->\[docs]\[material-ui]\[Table] Bug in "Sorting & Selecting"
demo
([#&#8203;39426](https://togithub.com/mui/material-ui/issues/39426))
[@&#8203;codewithrabeeh](https://togithub.com/codewithrabeeh)
- ​<!-- 05 -->\[docs]\[joy-ui]\[typography] Update docs after lineHeight
changes
([#&#8203;39366](https://togithub.com/mui/material-ui/issues/39366))
[@&#8203;zanivan](https://togithub.com/zanivan)

##### Core

- ​<!-- 24 -->\[core] Fix multiple typos across the repo
([#&#8203;39422](https://togithub.com/mui/material-ui/issues/39422))
[@&#8203;parikshitadhikari](https://togithub.com/parikshitadhikari)
- ​<!-- 18 -->\[docs-infra] Add refinements to the API content design
([#&#8203;39425](https://togithub.com/mui/material-ui/issues/39425))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 17 -->\[docs-infra] Add a min height to the layout component
([#&#8203;39416](https://togithub.com/mui/material-ui/issues/39416))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 16 -->\[docs-infra] Prevent horizontal scroll in the TOC
([#&#8203;39417](https://togithub.com/mui/material-ui/issues/39417))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 15 -->\[docs-infra] Add a collapsible list & table views to the
API content display
([#&#8203;38265](https://togithub.com/mui/material-ui/issues/38265))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- ​<!-- 14 -->\[docs-infra] Adjust the `kbd` tag styles
([#&#8203;39397](https://togithub.com/mui/material-ui/issues/39397))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 13 -->\[docs-infra] Fix strong style regression
([#&#8203;39384](https://togithub.com/mui/material-ui/issues/39384))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 04 -->\[website] Add the LinkedIn profile to the contributors
section on the About page
([#&#8203;39455](https://togithub.com/mui/material-ui/issues/39455))
[@&#8203;chhawinder](https://togithub.com/chhawinder)
- ​<!-- 03 -->\[website] Update new role template
([#&#8203;39386](https://togithub.com/mui/material-ui/issues/39386))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- ​<!-- 02 -->\[website] Add stray design fine-tunning to the Pricing
page
([#&#8203;39472](https://togithub.com/mui/material-ui/issues/39472))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- ​<!-- 01 -->\[website] Fix career anchor link to perks & benefits
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)

All contributors of this release in alphabetical order:
[@&#8203;adrienbrault](https://togithub.com/adrienbrault),
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;Best-Sardar](https://togithub.com/Best-Sardar),
[@&#8203;BreakBB](https://togithub.com/BreakBB),
[@&#8203;brijeshb42](https://togithub.com/brijeshb42),
[@&#8203;chhawinder](https://togithub.com/chhawinder),
[@&#8203;christophermorin](https://togithub.com/christophermorin),
[@&#8203;codewithrabeeh](https://togithub.com/codewithrabeeh),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;DarhkVoyd](https://togithub.com/DarhkVoyd),
[@&#8203;devuser200](https://togi

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzcuMTIxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2024-01-11 08:17:10 +00:00
Fredrik Strand Oseberg
78fa122604
Fix/banner placement (#5833)
This PR determines where we show the banners in the new strategy
configuration:

<img width="1166" alt="Skjermbilde 2024-01-10 kl 14 46 35"
src="https://github.com/Unleash/unleash/assets/16081982/db2cd3aa-9de5-4095-873f-33e09610c74f">
2024-01-10 16:08:56 +01:00
Fredrik Strand Oseberg
d6afe69a0f
Fix/constraint accordion autosave (#5825)
This PR adds autosave to the constraint accordion which means that when
you add values to it, it will automatically save the constraint locally.
If you unmount the constraint component without any valid values, it
will remove the constraint from the list.
2024-01-10 11:48:15 +01:00
Mateusz Kwasniewski
8955a9906d
feat: extended metrics options ui (#5786) 2024-01-08 14:49:41 +01:00
Fredrik Strand Oseberg
04814bfc63
fix: add condition to show variants tab (#5775)
Adds a conditional check so we don't display this tab for strategies
that don't support it.
2024-01-05 11:05:58 +01:00
Fredrik Strand Oseberg
de7f6e035e
feat: add badges to the new strategy configuration form (#5773)
This PR adds badges to display the amount of variants and constraints /
segments.

<img width="778" alt="Skjermbilde 2024-01-05 kl 10 12 39"
src="https://github.com/Unleash/unleash/assets/16081982/3a188d46-7d2f-4fa2-b2a9-e64a59d5ef09">
2024-01-05 10:28:27 +01:00
Fredrik Strand Oseberg
46ecce49a8
fix: add checks to remove warnings on project settings (#5766)
This PR removes warning on the project settings by always making sure we
have the project before rendering the settings and do a conditional
check on the featureLimit number field.
2024-01-05 09:23:12 +01:00
Jaanus Sellin
77074a26de
refactor: now always show feedback button for search page (#5765) 2024-01-04 14:59:45 +02:00
Jaanus Sellin
b24471c1b4
feat: add dont ask me again button (#5753) 2024-01-04 14:10:01 +02:00
Fredrik Strand Oseberg
70600552d2
Feat/add feedback to new strategy form (#5745)
This PR adds the feedback form to the new create / edit strategy form
behind a feature flag.

* Add feedback form
* Minor refactor to useFeedback
2024-01-03 15:43:22 +01:00
Jaanus Sellin
a73d87a943
feat: make feedback available for OSS (#5748) 2024-01-03 15:08:01 +02:00
Fredrik Strand Oseberg
049c5b9afa
feat: variant name change on create (#5742)
This PR refactores the StrategyVariants component to be passed in from
the outside to the new form component. This allows us to pass in the
StrategyVariants with an "editable" property in the create form which we
use to determine the editable state of the name input field. If the
editable field is not passed in we keep the old behavior.

Notable changes:
* StrategyVariants is now passed in from the outside, allowing us to
define different props at call time
* Added tests for the new behavior, and for keeping the old behavior
(such as in edit strategy)
* Added tracking
2024-01-02 13:53:04 +01:00
Jaanus Sellin
55bd0a6760
feat: keep feedback submission in local storage (#5737)
Now it will track if feedback has been submitted in local storage.
2023-12-29 10:08:19 +02:00
Jaanus Sellin
86da11015c
feat: ui now connects to backend, full e2e (#5736)
Added API hooks and now frontend actually sends data to database.
2023-12-28 14:31:53 +02:00
Jaanus Sellin
3926ec6c51
feat: tracking feature buttons clicks (#5714) 2023-12-21 11:01:16 +02:00
Fredrik Strand Oseberg
59a6ef46e8
fix: separate concerns for ConstraintAccordionList (#5701)
## Problem

The ConstraintAccordionList component was used in multiple places: 
* Playground
* Segment form
* StrategyExecution
* Change requests
* Create strategy
* Edit strategy

This is problematic because some of the views are just pure visual
representations, and other views allow you to interact with and edit the
constraints. This causes a situation where the visual representation
needs to be aware of the implementation details of editing and mutating
constraints. In addition the ConstraintAccordionList is not just a pure
rendering of the list, it also keeps internal state on when to show the
create button and optional headers. This is makes it hard to make
changes when stylings need to be subtly different across components.

## Solution

Taking on the full refactor for this is out of scope, but it's
unfortunate that the ConstraintAccordionList needs all this internal
state. For now I split out the list into it's own component called
ConstraintList. I gathered the functions needed for editing and mutating
the constraints in a reusable hook and isolated the version of the list
used in the new feature strategy edit / create components into it's own
component so that the changes in layout will not affect anything else.

Ideally we should try to move towards a future where the components
don't keep internal state like this but clear boundaries and purposes
for the use.
2023-12-20 15:36:23 +01:00
Mateusz Kwasniewski
f3ca4f0c54
chore: upgrading vite to newer version (#5703) 2023-12-20 14:48:18 +01:00
Jaanus Sellin
bb5b322475
fix: now project overview has skeleton instead of placeholders (#5696)
Removed `ref` dependency from `useLoading` hook, it was being overly
reactive and breaking skeleton.
2023-12-20 14:59:41 +02:00
Fredrik Strand Oseberg
5a263ee35c
Feat/new strategy configuration tests (#5692)
Does what it says
2023-12-20 09:16:45 +01:00
Mateusz Kwasniewski
8306073e1f
feat: keep filter order (#5688) 2023-12-19 15:35:39 +01:00
Jaanus Sellin
8e09f08a05
feat: rebrand feature toggle list as search (#5675) 2023-12-19 13:42:14 +02:00
Mateusz Kwasniewski
7800d9d1b4
feat: export all features in project (#5677) 2023-12-19 08:57:10 +01:00
Mateusz Kwasniewski
cc01971ff0
feat: update message with no feature toggles (#5663) 2023-12-18 09:05:58 +01:00
Tymoteusz Czech
50ff36cbce
feat: feature table tags (#5659)
- tags on project overview
- refactor of tags cell
2023-12-15 16:22:19 +01:00
Fredrik Strand Oseberg
864ae4530b
Feat/new strategy configuration header (#5655)
This PR adds more information to the header of the strategy according to
the new designs:

<img width="1298" alt="Skjermbilde 2023-12-15 kl 13 31 26"
src="https://github.com/Unleash/unleash/assets/16081982/73a3bc6b-c78b-4f24-b9f3-8a4b2c14e39c">
2023-12-15 14:09:47 +01:00
Mateusz Kwasniewski
8283edfc0a
feat: Sort by stale (#5653) 2023-12-15 11:56:06 +00:00
Mateusz Kwasniewski
bf4d37fded
feat: disable sorting on selected columns (#5652) 2023-12-15 12:47:00 +01:00
Fredrik Strand Oseberg
cbd6aa1324
Feat/new strategy variants tab (#5649)
This PR sets up the variants tab for the new strategy configuration.
Also some minor adjustments to the new form:

* Change where padding is controlled to allow us to have more granular
control over how the buttons width and border should look and have the
tabs have full-width borders across the form
* Move the buttons to be absolutely positioned at the bottom of the page
* Move where we display banners to avoid clutter

<img width="1284" alt="Skjermbilde 2023-12-14 kl 21 17 53"
src="https://github.com/Unleash/unleash/assets/16081982/45e6a364-e4aa-47ac-b420-f3be9b39a15e">
2023-12-15 12:26:13 +01:00
Jaanus Sellin
848415c5ca
feat: add history for search (#5651)
This is simple refactor. Just moving history part out of suggestions
component.
2023-12-15 13:22:19 +02:00
Tymoteusz Czech
203d6ac848
refactor: paginated project table cleanup (#5646)
- added `getRowId` - fix row selection
- move and rename paginated table
2023-12-15 11:37:49 +01:00
Mateusz Kwasniewski
0726887bb8
feat: reset persistent table offset on change (#5650) 2023-12-15 10:20:55 +01:00
Fredrik Strand Oseberg
53b32db278
Feat/new strategy configuration targeting tab (#5643)
This PR sets up the new targeting tab for strategy configuration:

<img width="1292" alt="Skjermbilde 2023-12-14 kl 11 24 11"
src="https://github.com/Unleash/unleash/assets/16081982/5c2d8f02-b3ec-49d4-b8bd-90f93ef3931c">
2023-12-15 10:20:34 +01:00
Jaanus Sellin
fbb5dd9022
feat: add icons to filters (#5640) 2023-12-14 15:06:26 +02:00
Mateusz Kwasniewski
772682176e
feat: pagination reset on feature list (#5644) 2023-12-14 13:44:27 +01:00
Jaanus Sellin
1191094981
feat: add tests for filters component (#5632) 2023-12-13 16:05:09 +02:00
Fredrik Strand Oseberg
c552f3ae72
Feat/new strategy configuration general tab (#5628)
* Adds the new general tab settings behind a feature flag
* Adds a test for the FlexibleStrategy component
2023-12-13 12:34:43 +01:00
Jaanus Sellin
ed4a182e7e
refactor: filter abstraction (#5625) 2023-12-13 11:43:02 +02:00
Jaanus Sellin
c0c1dba9b0
refactor: simplify configuration for filters (#5622)
This is building block of abstraction for filters.
2023-12-13 10:23:59 +02:00
Mateusz Kwasniewski
2b7e127680
test: feature toggle list table (#5618) 2023-12-13 08:13:19 +01:00
Jaanus Sellin
4f207f18e6
feat: filters for project overview (#5620) 2023-12-12 22:50:49 +02:00
andreas-unleash
4376697250
feat: show Changes scheduled in feature variants even when CR are dis… (#5613)
show Changes scheduled in feature variants even when CR are disabled

Modifies existing hook to call the new `change-requests/scheduled`
endpoint that returns the relevant scheduled change requests even when
change requests are disabled

Rename the ChangeRequestIdentityData to ScheduledChangeRequestViewModel
for consistency (finalised schemas will replace the BE and FE types in a
follow up PR)

Closes #
[1-1746](https://linear.app/unleash/issue/1-1746/show-change-scheduled-badge-in-feature-environment-variants-even-if)

<img width="1486" alt="Screenshot 2023-12-12 at 14 24 44"
src="https://github.com/Unleash/unleash/assets/104830839/7c4e92ef-81d8-423e-8b78-9015ede59952">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 15:34:32 +02:00
Jaanus Sellin
386c4baa86
feat: keep filters ordered based on user selection (#5609) 2023-12-12 13:01:23 +02:00
andreas-unleash
e02c252636
fix: show Changes scheduled badge for strategies even if change reque… (#5599)
show Changes scheduled badge for strategies even if change requests are
disabled

Closes #
[1-1745](https://linear.app/unleash/issue/1-1745/show-changes-scheduled-badge-in-strategy-item-even-if-change-requests)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 09:30:57 +02:00
Jaanus Sellin
74f6f15247
feat: do not show project if not multiple projects exist (#5598) 2023-12-11 16:02:10 +02:00
Fredrik Strand Oseberg
9dbb7ea9a9
feat: add initial setup for tabs (#5586)
This PR sets up the initial tab structure for the new strategy form
2023-12-11 13:39:21 +01:00
Mateusz Kwasniewski
ba50d1ef69
feat: adjust styling for search filters (#5587) 2023-12-11 13:11:26 +01:00
Jaanus Sellin
9bae14a2cc
feat: add tags filter (#5584) 2023-12-11 14:10:03 +02:00