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

1332 Commits

Author SHA1 Message Date
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
Fredrik Strand Oseberg
ec670450fd
feat: initial setup (#5583)
This PR sets up the feature flag for the new strategy configuration and
duplicates the components for the new setup
2023-12-11 12:23:18 +01:00
Jaanus Sellin
5d80f5fa4d
feat: test filter date item (#5576) 2023-12-11 12:22:00 +02:00
Jaanus Sellin
1173b664da
feat: add created date filter component (#5569) 2023-12-08 10:07:57 +02:00
Jaanus Sellin
e89ebf358e
refactor: split filter configuration with filter visibility state (#5563)
This PR splits the filter configuration with filter visibility state.
This will simplify adding different filter types in future, for example
date filters.
2023-12-07 11:59:35 +02:00
Mateusz Kwasniewski
38d02e1a85
feat: segments operators (#5562) 2023-12-06 17:38:36 +02:00
Thomas Heartman
a228f54344
feat: show scheduled CRs using strategies when removing it (#5560)
Show a warning about how deleting a strategy might mess up scheduled
change requests.

If there are change requests, list them. If there are no conflicts, show
nothing. If we don't know (because of no successful response from the
API), say that it might cause issues.


![image](https://github.com/Unleash/unleash/assets/17786332/2c6a4257-69f5-458a-ab6f-9b2ea2f5d550)
2023-12-06 15:39:17 +01:00
Mateusz Kwasniewski
87ebbb0fa2
feat: segments filter (#5558)
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2023-12-06 14:50:18 +02:00
Jaanus Sellin
eda4186a6c
fix: state now persist to filters (#5559)
When navigating to features list, now it will respect the query params.
2023-12-06 14:17:49 +02:00
Jaanus Sellin
eb43d37379
feat: segment cell and orval types (#5543) 2023-12-06 12:51:00 +02:00
Jaanus Sellin
b8fabbd726
feat: add new filter button with state (#5556)
[Screencast from 2023-12-05
16-59-28.webm](https://github.com/Unleash/unleash/assets/964450/793c771b-6246-4e28-8c13-920696a48bd5)

---------

Co-authored-by: kwasniew <kwasniewski.mateusz@gmail.com>
2023-12-06 12:50:33 +02:00
Mateusz Kwasniewski
2dcf4af7b1
feat: filter persisted in url (#5549) 2023-12-05 17:31:23 +01:00
Tymoteusz Czech
b5122a74e7
refactor: table state management in withTableState (#5531) 2023-12-05 12:16:58 +01:00
Tymoteusz Czech
795c67306c
fix: features sidebar scroll (#5524)
Feature toggle overview screen - the sidebar getting sticky was making it hard to see many environments
2023-12-05 09:08:02 +01:00
Tymoteusz Czech
a506b92544
feat: Refactor Table State Persistence in Feature Toggle List (#5527)
new custom hook, `usePersistentTableState`

Co-authored-by: Mateusz Kwasniewski <kwasniewski.mateusz@gmail.com>
2023-12-04 13:21:03 +00:00
Tymoteusz Czech
755c22f3b9
feat: features list pagination (#5496)
New paginated table - tested on /features-new behind a flag
2023-12-01 14:53:05 +00:00
Tymoteusz Czech
f690fe86da
feat: new search for feature toggle list table (#5454)
Filtering of feature toggles list with backend
2023-11-29 10:42:35 +01:00
renovate[bot]
c7498dcac6
chore(deps): update dependency @biomejs/biome to v1.4.0 (#5288)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@biomejs/biome](https://biomejs.dev)
([source](https://togithub.com/biomejs/biome)) | [`1.3.3` ->
`1.4.0`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/1.3.3/1.4.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@biomejs%2fbiome/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@biomejs%2fbiome/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@biomejs%2fbiome/1.3.3/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@biomejs%2fbiome/1.3.3/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>biomejs/biome (@&#8203;biomejs/biome)</summary>

###
[`v1.4.0`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#140-2023-11-27)

[Compare
Source](af24597c18...889593e3f9)

##### CLI

- Remove the CLI options from the `lsp-proxy`, as they were never meant
to be passed to that command. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add option `--config-path` to `lsp-proxy` and `start` commands. It's
now possible to tell the Daemon server to load `biome.json` from a
custom path. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Add new `--diagnostic-level` option to let users control the level of
diagnostics printed by the CLI. Possible values are: `"info"`, `"warn"`,
`"hint"`. Contributed by
[@&#8203;simonxabris](https://togithub.com/simonxabris)

- Add option `--line-feed` to the `format` command. Contributed by
[@&#8203;SuperchupuDev](https://togithub.com/SuperchupuDev)

- Add option `--bracket-same-line` to the `format` command. Contributed
by [@&#8203;faultyserve](https://togithub.com/faultyserve)

- Add option `--bracket-spacing` to the `format` command. Contributed by
[@&#8203;faultyserve](https://togithub.com/faultyserve)

##### Bug fixes

- Fix the command `format`, now it returns a non-zero exit code when if
there pending diffs. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

##### Configuration

- Add option `formatter.lineFeed`. Contributed by
[@&#8203;SuperchupuDev](https://togithub.com/SuperchupuDev)
- Add option `javascript.formatter.bracketSameLine`. Contributed by
[@&#8203;faultyserve](https://togithub.com/faultyserve)
- Add option `javascript.formatter.bracketSpacing`. Contributed by
[@&#8203;faultyserve](https://togithub.com/faultyserve)

##### Formatter

##### New features

- Add a new option
[`--line-ending`](https://biomejs.dev/reference/configuration/#formatterlineending).
This option allows changing the type of line endings. Contributed by
[@&#8203;SuperchupuDev](https://togithub.com/SuperchupuDev)
- Added a new option called `--bracket-spacing` to the formatter. This
option allows you to control whether spaces are inserted around the
brackets of object literals.
[#&#8203;627](https://togithub.com/biomejs/biome/issues/627).
Contributed by [@&#8203;faultyserver](https://togithub.com/faultyserver)
- Added a new option called `--bracket-same-line` to the formatter. This
option allows you to control whether spaces are inserted around the
brackets of object literals.
[#&#8203;627](https://togithub.com/biomejs/biome/issues/627).
Contributed by [@&#8203;faultyserver](https://togithub.com/faultyserver)

##### Bug fixes

- Fix [#&#8203;832](https://togithub.com/biomejs/biome/issues/832), the
formatter no longer keeps an unnecessary trailing comma in type
parameter lists. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;301](https://togithub.com/biomejs/biome/issues/301), the
formatter should not break before the `in` keyword. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

##### Linter

##### Promoted rules

-
[a11y/noInteractiveElementToNoninteractiveRole](https://biomejs.dev/linter/rules/no-interactive-element-to-noninteractive-role)
-
[complexity/noThisInStatic](https://biomejs.dev/linter/rules/no-this-in-static)
-
[complexity/useArrowFunction](https://biomejs.dev/linter/rules/use-arrow-function)
-
[correctness/noEmptyCharacterClassInRegex](https://biomejs.dev/linter/rules/no-empty-character-class-in-regex)
-
[correctness/noInvalidNewBuiltin](https://biomejs.dev/linter/rules/no-invalid-new-builtin)
-
[style/noUselessElse](https://biomejs.dev/linter/rules/no-useless-else)
-
[style/useAsConstAssertion](https://biomejs.dev/linter/rules/use-as-const-assertion)
-
[style/useShorthandAssign](https://biomejs.dev/linter/rules/use-shorthand-assign)
-
[suspicious/noApproximativeNumericConstant](https://biomejs.dev/linter/rules/no-approximative-numeric-constant)
-
[suspicious/noMisleadingInstantiator](https://biomejs.dev/linter/rules/no-misleading-instantiator)
-
[suspicious/noMisrefactoredShorthandAssign](https://biomejs.dev/linter/rules/no-misrefactored-shorthand-assign)

The following rules are now recommended:

-   [a11y/noAccessKey](https://biomejs.dev/linter/rules/no-access-key)
-
[a11y/useHeadingContent](https://biomejs.dev/linter/rules/use-heading-content)
-
[complexity/useSimpleNumberKeys](https://biomejs.dev/linter/use-simple-number-keys)

The following rules are now deprecated:

-
[correctness/noNewSymbol](https://biomejs.dev/linter/rules/no-new-symbol)
The rule is replaced by
[correctness/noInvalidNewBuiltin](https://biomejs.dev/linter/rules/no-invalid-new-builtin)

##### New features

- Add
[noDefaultExport](https://biomejs.dev/linter/rules/no-default-export)
which disallows `export default`. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Add
[noAriaHiddenOnFocusable](https://biomejs.dev/linter/rules/no-aria-hidden-on-focusable)
which reports hidden and focusable elements. Contributed by
[@&#8203;vasucp1207](https://togithub.com/vasucp1207)

- Add
[noImplicitAnyLet](https://biomejs.dev/linter/rules/no-implicit-any-let)
that reports variables declared with `let` and without initialization
and type annotation. Contributed by
[@&#8203;TaKO8Ki](https://togithub.com/TaKO8Ki) and
[@&#8203;b4s36t4](https://togithub.com/b4s36t4)

- Add [useAwait](https://biomejs.dev/linter/rules/use-await) that
reports `async` functions that don't use an `await` expression.

- Add
[useValidAriaRole](https://biomejs.dev/linter/rules/use-valid-aria-role).
Contributed by [@&#8203;vasucp1207](https://togithub.com/vasucp1207)

- Add [useRegexLiterals](https://biomejs.dev/linter/use-regex-literals)
that suggests turning call to the regex constructor into regex literals.
COntributed by [@&#8203;Yuiki](https://togithub.com/Yuiki)

##### Enhancements

- Add an unsafe code fix for
[a11y/useAriaActivedescendantWithTabindex](https://biomejs.dev/linter/rules/use-aria-activedescendant-with-tabindex)

##### Bug fixes

- Fix [#&#8203;639](https://togithub.com/biomejs/biome/issues/639) by
ignoring unused TypeScript's mapped key. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;565](https://togithub.com/biomejs/biome/issues/565) by
handling several `infer` with the same name in extends clauses of
TypeScript's conditional types. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;653](https://togithub.com/biomejs/biome/issues/653).
[noUnusedImports](https://biomejs.dev/linter/rules/no-unused-imports)
now correctly removes the entire line where the unused `import` is.
Contributed by [@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;607](https://togithub.com/biomejs/biome/issues/609)
`useExhaustiveDependencies`, ignore optional chaining, Contributed by
[@&#8203;msdlisper](https://togithub.com/msdlisper)

- Fix [#&#8203;676](https://togithub.com/biomejs/biome/issues/676), by
using the correct node for the `"noreferrer"` when applying the code
action. Contributed by
[@&#8203;ematipico](https://togithub.com/ematipico)

- Fix [#&#8203;455](https://togithub.com/biomejs/biome/issues/455). The
CLI can now print complex emojis to the console correctly.

- Fix [#&#8203;727](https://togithub.com/biomejs/biome/issues/727).
[noInferrableTypes](https://biomejs.dev/linter/rules/no-inferrable-types)
now correctly keeps type annotations when the initialization expression
is `null`. Contributed by
[@&#8203;Conaclos](https://togithub.com/Conaclos)

- Fix [#&#8203;784](https://togithub.com/biomejs/biome/issues/784),
[noSvgWithoutTitle](https://biomejs.dev/linter/rules/no-svg-without-title)
fixes false-positives to `aria-label` and reports svg's role attribute
is implicit. Contributed by
[@&#8203;unvalley](https://togithub.com/unvalley)

- Fix [#&#8203;834](https://togithub.com/biomejs/biome/issues/834) that
made
[noUselessLoneBlockStatements](https://biomejs.dev/linter/rules/no-useless-lone-block-statements)
reports block statements of switch clauses. Contributed by
[@&#8203;vasucp1207](https://togithub.com/vasucp1207)

- Fix [#&#8203;783](https://togithub.com/biomejs/biome/issues/834) that
made
[noUselessLoneBlockStatements](https://biomejs.dev/linter/rules/no-useless-lone-block-statements)
reports block statements of `try-catch` structures. Contributed by
[@&#8203;hougesen](https://togithub.com/hougesen)

- Fix [#&#8203;69](https://togithub.com/biomejs/biome/issues/69) that
made
[correctness/noUnnecessaryContinue](https://biomejs.dev/linter/rules/no-unnecessary-continue)
incorrectly reports a `continue` used to break a switch clause.
Contributed by [@&#8203;TaKO8Ki](https://togithub.com/TaKO8Ki)

- Fix [#&#8203;664](https://togithub.com/biomejs/biome/issues/664) by
improving the diagnostic of
[style/useNamingConvention](https://biomejs.dev/linter/use-naming-convention)
when double capital are detected in strict camel case mode. Contributed
by [@&#8203;vasucp1207](https://togithub.com/vasucp1207)

- Fix [#&#8203;643](https://togithub.com/biomejs/biome/issues/643) that
erroneously parsed the option of
[complexity/useExhaustiveDependencies](https://biomejs.dev/linter/use-naming-convention).
Contributed by [@&#8203;arendjr](https://togithub.com/arendjr)

##### Parser

##### Bug fixes

- Fix [#&#8203;846](https://togithub.com/biomejs/biome/issues/846) that
erroneously parsed `<const T,>() => {}` as a JSX tag instead of an arrow
function when both TypeScript and JSX are enabled.

##### VSCode

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Christopher Kolstad <chriswk@getunleash.io>
2023-11-28 09:32:00 +00:00
Mateusz Kwasniewski
de287a75fe
chore: remove dependent feature flags (#5419) 2023-11-27 14:54:40 +01:00
Tymoteusz Czech
ffe37ac709
Basic filter label (#5387) 2023-11-24 10:07:42 +01:00
andreas-unleash
937a605888
chore: remove variantTypeNumber flag (#5382)
Closes #
[1-1648](https://linear.app/unleash/issue/1-1648/clean-varianttypenumber-flag-for-release)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-23 11:12:56 +02:00
Fredrik Strand Oseberg
5414fa6663
Refactor/remove last seen at flag (#5394)
This PR removes the feature flag for displaying the new last seen by
environments component.
2023-11-22 13:32:38 +01:00
Nuno Góis
5dc3e830a8
feat: add CREATE_TAG_TYPE permission (#5386)
https://linear.app/unleash/issue/2-1164/update-tag-type-covers-both-creation-and-update

Adds a new `CREATE_TAG_TYPE` permission instead of using
`UPDATE_TAG_TYPE` for both actions.
2023-11-22 10:20:19 +00:00
Thomas Heartman
90d6c7c0ba
chore: remove usage of feature naming pattern flag (#5364)
In preparation for this feature going GA
2023-11-20 12:42:24 +01:00
Jaanus Sellin
069d90d8cb
fix: date should sort asc/desc properly (#5335) 2023-11-14 14:47:28 +02:00
Tymoteusz Czech
fd3a7f12cb
chore: remove featureSwitchRefactor flag (#5329)
Cleanup. This change has been rolled out to significant number of
customers already, and we have another parallel version behind a flag.
2023-11-14 13:03:23 +01:00
Fredrik Strand Oseberg
ddd718fd23
refactor/reshape table (#5328)
This PR fixes a couple of issues with the pagination bar:

* Fixes an issue where padding bottom would be broken due to disabling
padding on the parent container
* Remove padding on the entire table to create more space and remove
header bar border radius as per discussion with @nicolaesocaciu
2023-11-14 08:44:36 +01:00
Fredrik Strand Oseberg
834ae1d8a4
Feat/pagination loading (#5325)
This PR makes changes to how the project overview skeleton screen works.
Important changes:

- Add skeleton screens to missing elements, creating a more
comprehensive loading screen
- Split the page into different loading sections, so that we can load
the table when we fetch the next page without affecting the rest of the
page.

https://www.loom.com/share/e5d30dc897ac488ea80cfae11ffab646

Next steps:
* Hide bar if total is less than 25
* Add FE testing
2023-11-13 14:08:48 +01:00
andreas-unleash
77db9f3258
feat: add Changes Scheduled badge to feature variants (#5312)
Adds the Changes Scheduled badge to environment variant when appropriate

Closes #
[1-1625](https://linear.app/unleash/issue/1-1625/show-a-badge-when-variant-in-scheduled-request)
<img width="1006" alt="Screenshot 2023-11-09 at 15 42 37"
src="https://github.com/Unleash/unleash/assets/104830839/118a3f0b-9acf-4a49-92d2-49bbe49a4c91">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-09 14:58:58 +00:00
andreas-unleash
100c22b42a
Feat: scheduled change request badges (#5300)
Adds a new badge to strategies that have changes in an a scheduled
change request

Closes #
[1-1620](https://linear.app/unleash/issue/1-1620/create-a-new-badge-for-flag-that-is-part-of-scheduled-change)
<img width="1671" alt="Screenshot 2023-11-09 at 11 49 53"
src="https://github.com/Unleash/unleash/assets/104830839/596abbc0-f9ab-4642-9ed2-79ef50fb6c05">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-09 13:48:29 +02:00
Fredrik Strand Oseberg
92e2b1890c
Refactor/project overview api calls (#5279)
This PR reduces the overhead of making API calls on pages with heavy
renders. We forego loading states and default error handling in favor of
more speed by avoiding triggering multiple re-renders from the API call.
2023-11-07 09:19:55 +01:00